/* Artefacts look for the WooCommerce basket and checkout (Twenty Twenty-Five). */
body.woocommerce-checkout, body.woocommerce-cart {
  --ano-ink: #000; --ano-paper: #fff; --ano-grey: #f5f5f5;
  background: var(--ano-ink); color: var(--ano-paper);
  font-family: "Artefacts Checkout", "Brandon Grotesque", ui-sans-serif, system-ui, sans-serif;
  font-weight: 500; font-size: 12px; line-height: 15px; letter-spacing: 0.05em;
}
/* Use the plugin's font faces, not the theme's conflicting weight assignments. */
:where(body.woocommerce-checkout, body.woocommerce-cart) * {
  font-family: inherit !important; font-weight: 500 !important; border-radius: 0 !important;
}
body.woocommerce-checkout main, body.woocommerce-cart main { color: var(--ano-paper) !important; }

/* Old snippet banner is replaced by the site's own ticker. */
body.woocommerce-checkout .top-bar-announcement, body.woocommerce-cart .top-bar-announcement { display: none !important; }
.ano-ticker { display: flex; height: 32px; align-items: center; overflow: hidden; background: var(--ano-grey); color: var(--ano-ink) !important; text-decoration: none !important; }
.ano-ticker-track { display: flex; white-space: nowrap; animation: ano-ticker 80s linear infinite; }
.ano-ticker-track span { padding-right: 160px; font-weight: 500; font-size: 12px; line-height: 15px; letter-spacing: 0.2em; text-transform: uppercase; }
.ano-ticker:hover .ano-ticker-track { opacity: 0.7; }
@keyframes ano-ticker { to { transform: translateX(-50%); } }

/* Logo: wordmark image instead of typed text. */
.wp-block-site-title a { display: block; width: 210px; aspect-ratio: 1920 / 147; background: var(--ano-paper); color: transparent !important; font-size: 0 !important; }
header.wp-block-group { padding-left: 40px !important; padding-right: 40px !important; }
header .alignwide { padding-top: 40px !important; padding-bottom: 40px !important; }
.wc-block-cart-link { color: var(--ano-paper) !important; }

/* Headings: small headings (900, uppercase, 0.2em, 12px). */
body .wc-block-components-title, body .wc-block-components-checkout-step__title,
body .wc-block-components-express-payment__title, body .wp-block-woocommerce-cart h2,
body .wc-block-components-product-name, body h1, body h2, body h3, body h4, body h5, body h6 {
  font-weight: 900 !important; font-size: 12px !important; line-height: 15px !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important; color: var(--ano-paper) !important;
}
body :is(h1, h2, h3, h4, h5, h6) * { font-weight: inherit !important; }
body .wp-block-post-title, body h1.wp-block-post-title { font-size: clamp(40px, 6vw, 110px) !important; line-height: 0.95 !important; }

/* Body copy everywhere else. */
body .wc-block-components-checkout-step__description, body .wc-block-components-product-metadata,
body .wc-block-components-totals-item, body label, body p, body input, body select, body textarea,
body .wc-block-components-radio-control__label, body .wc-block-components-checkbox__label {
  font-size: 12px !important; letter-spacing: 0.05em !important; font-weight: 500 !important;
}
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-weight: 500 !important; text-transform: uppercase; letter-spacing: 0.2em !important;
}
body .wc-block-components-product-price, body .wc-block-components-product-metadata__description { font-size: 12px !important; }

/* Fields: thin white outline, no rounding. */
body .wc-block-components-text-input input, body .wc-block-components-combobox input, body .wc-blocks-components-select__select,
body .wc-block-components-textarea, body .wc-block-components-address-form select {
  background: var(--ano-ink) !important; color: var(--ano-paper) !important; border: 1px solid var(--ano-paper) !important;
}

/* Buttons: square, white on black, medium text. */
body .wc-block-components-button:not(.is-link), body .wp-element-button, body .wc-block-cart__submit-button {
  min-height: 80px; background: var(--ano-paper) !important; color: var(--ano-ink) !important; border: 0 !important;
  font-weight: 500 !important; font-size: 12px !important; letter-spacing: 0.2em !important; text-transform: uppercase !important;
}
body .wc-block-components-button:not(.is-link):hover { opacity: 0.85; }

/* Notices: quiet black and white instead of green/red boxes. */
body .wc-block-components-notice-banner {
  background: var(--ano-ink) !important; color: var(--ano-paper) !important; border: 1px solid var(--ano-paper) !important; padding: 20px !important;
}
body .wc-block-components-notice-banner > svg { display: none; }
body .wc-block-components-notice-banner .wc-forward {
  min-height: 0 !important; background: none !important; color: var(--ano-paper) !important; padding: 0 !important;
  text-decoration: underline; text-underline-offset: 4px; float: right;
}
body .wc-block-components-notice-banner.is-error { border-color: #ff8a8a !important; }
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body .wc-block-components-totals-footer-item .wc-block-formatted-money-amount { font-size: 12px !important; }
body .wc-block-components-notice-banner .wc-forward { opacity: 1 !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0.2em !important; text-transform: uppercase; }

/* Quantity badge in the order summary: white square with black number. */
body .wc-block-components-order-summary-item__quantity {
  display: flex !important; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 4px;
  background: var(--ano-paper) !important; color: var(--ano-ink) !important; border: 0 !important; box-shadow: none !important;
}
body .wc-block-components-order-summary-item__quantity span { color: var(--ano-ink) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0 !important; }

/* Order summary: name, unit price and line total. Description stays hidden. */
body .wc-block-components-order-summary-item .wc-block-components-product-metadata { display: none !important; }
body .wc-block-components-order-summary-item__individual-prices {
  display: block !important; color: var(--ano-paper) !important;
  font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0.05em !important;
}

/* Unit price sits directly under the name. */
body .wc-block-components-order-summary-item__description { display: flex; flex-direction: column; gap: 0; }
body .wc-block-components-order-summary-item .wc-block-components-product-name { line-height: 15px !important; }
body .wc-block-components-order-summary-item .wc-block-components-product-name,
body .wc-block-components-order-summary-item .wc-block-cart-item__prices { margin: 0 !important; padding: 0 !important; }

/* Panel labels, prices and field text stay medium; only uppercase headings are bold. */
body .wc-block-components-panel__button, body .wc-block-components-order-summary__button-text,
body .wc-block-components-totals-item__label, body .wc-block-components-totals-item__value { font-size: 12px !important; letter-spacing: 0.05em; }

/* Delivery choice (Ship / Pickup): both pure black, selected gets white outline. */
body .wc-block-checkout__shipping-method-container { background: var(--ano-ink) !important; gap: 20px; }
body .wc-block-checkout__shipping-method-option {
  background: var(--ano-ink) !important; color: var(--ano-paper) !important;
  border: 1px solid var(--ano-paper) !important; box-shadow: none !important; opacity: 1 !important;
}
body .wc-block-checkout__shipping-method-option:not(.wc-block-checkout__shipping-method-option--selected) { border-color: transparent !important; }
body .wc-block-checkout__shipping-method-option--selected { outline: 0 !important; border: 1px solid var(--ano-paper) !important; }

/* Grand total and Place order are black (900). */
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value *,
body .wc-block-components-checkout-place-order-button,
body .wc-block-components-checkout-place-order-button * { font-weight: 900 !important; }

/* Billing toggle reads "Use a different billing address": tick shows when the address is NOT shared. */
body .ano-billing-inverted .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark { display: none !important; }
body .ano-billing-inverted .wc-block-components-checkbox__input:not(:checked) + .wc-block-components-checkbox__mark { display: block !important; }

/* Newsletter opt-in label reads as a small heading (uppercase, 900, 0.2em). */
body #contact-fields .wc-block-components-checkbox__label,
body #contact-fields .wc-block-components-checkbox__label * {
  font-weight: 900 !important; font-size: 12px !important; line-height: 15px !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
}
