/*
Cart skin — WooCommerce BLOCK cart, CSS-only.
Compliance: no template overrides, no JS, nothing functional is hidden
or repositioned — colors, borders, and typography only, so g-FFL /
Conditional Shipping components inherit through the shared
wc-block-components-* classes they compose from. The ONE hidden element
is the cross-sells block (merchandising, not functional — per James
2026-07-25; PDPs already carry Related products).
Conditionally enqueued via is_cart() (inc/woocommerce.php).
Overrides the wc-blocks light theme; tokens from main.css :root.
All rules scoped under body.woocommerce-cart.
Patterns mirror assets/css/woo-checkout.css — keep the two in step.
*/

/* ── TOKEN GUARD (must stay first) ───────────────────── */
/* The Authorize.Net block stylesheet loads on the CART page as well as
   checkout (verified on dev 2026-08-01), and its shadcn :root block
   redefines --border as a bare HSL triplet. main.css defines
   --border:#2C3039 on :root at equal specificity, so load order decides.
   Measured order currently favours the theme, so this is insurance
   rather than a bug fix — see the fuller note in woo-checkout.css §1,
   and keep the two in step if the token value ever changes. */
body.woocommerce-cart{--border:#2C3039}

/* ── PAGE SHELL & TITLE ──────────────────────────────── */
body.woocommerce-cart .site-main > article{max-width:1320px;margin:0 auto;padding:40px 28px 100px}
body.woocommerce-cart .entry-title{font-family:var(--head);font-weight:800;color:var(--white);font-size:clamp(28px,4vw,40px);margin-bottom:28px}
body.woocommerce-cart .entry-title::before{content:'Your Order';display:block;font-family:var(--head);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}

/* ── LAYOUT ──────────────────────────────────────────── */
body.woocommerce-cart .wc-block-components-sidebar{position:sticky;top:88px;align-self:flex-start}
@media (max-width:900px){
  body.woocommerce-cart .wc-block-components-sidebar{position:static}
}

/* ── CART ITEMS TABLE ────────────────────────────────── */
body.woocommerce-cart .wc-block-cart-items{border-color:var(--border)}
body.woocommerce-cart .wc-block-cart-items th{font-family:var(--head);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border-bottom:2px solid var(--gold)}
body.woocommerce-cart .wc-block-cart-items td{border-bottom:1px solid var(--border)}
body.woocommerce-cart .wc-block-cart-item__image img{border:1px solid var(--border);border-radius:2px;background:var(--panel)}
body.woocommerce-cart .wc-block-components-product-name{color:var(--silver);font-weight:600;text-decoration:none}
body.woocommerce-cart .wc-block-components-product-name:hover{color:var(--gold-lt)}
body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-components-product-price{color:var(--white)}
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price{font-family:var(--head);font-weight:800}
body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-cart .wc-block-components-product-metadata{color:var(--mid)}
body.woocommerce-cart .wc-block-cart-item__remove-link{color:var(--mist);text-decoration:none;transition:color .15s}
body.woocommerce-cart .wc-block-cart-item__remove-link:hover{color:color-mix(in srgb,var(--red) 55%,white)}
/* Sale / discount chips (mirrors checkout's chip rule) */
body.woocommerce-cart .wc-block-components-chip,
body.woocommerce-cart .wc-block-components-sale-badge{background:var(--steel);color:var(--silver);border-color:var(--border)}

/* ── QUANTITY STEPPER ────────────────────────────────── */
body.woocommerce-cart .wc-block-components-quantity-selector{background:var(--dark);border:1px solid var(--border);border-radius:2px}
body.woocommerce-cart .wc-block-components-quantity-selector::after{border:none}
body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input{background:transparent;color:var(--white);font-weight:700}
body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input:focus{color:var(--white);outline:none;box-shadow:none}
body.woocommerce-cart .wc-block-components-quantity-selector button{color:var(--mist);transition:color .15s}
body.woocommerce-cart .wc-block-components-quantity-selector button:hover{color:var(--gold)}

/* ── COUPON ──────────────────────────────────────────── */
body.woocommerce-cart .wc-block-components-totals-coupon-link{color:var(--gold-lt)}
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input{background:var(--dark);border:1px solid var(--border);color:var(--white)}
/* color asserted on focus — Underscores/base :focus rules turn input text
   dark while typing otherwise (see memory: underscores-focus-color-trap) */
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input[type=text]:focus{border-color:var(--gold-lt);box-shadow:0 0 0 2px var(--gold-lt);outline:none;color:var(--white)}
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input label{color:var(--mid)}
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input.is-active label{color:var(--gold-lt)}

/* ── TOTALS SIDEBAR ──────────────────────────────────── */
/* Uniform panel padding replaces wc-blocks' padding-left gutter (the
   gutter otherwise shows inside the visible panel, shoving content
   right); the main column's own padding-right keeps the columns apart. */
body.woocommerce-cart .wc-block-cart__sidebar{background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:20px}
body.woocommerce-cart .wc-block-components-panel__button{color:var(--white);font-family:var(--head);font-weight:700}
body.woocommerce-cart .wc-block-components-totals-wrapper::after{border-color:var(--border)}
body.woocommerce-cart .wc-block-components-totals-item__label{color:var(--mist)}
body.woocommerce-cart .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-item__description{color:var(--silver)}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-family:var(--head);font-weight:800;font-size:16px;color:var(--white)}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-family:var(--head);font-weight:800;font-size:18px;color:var(--gold)}
/* Shipping estimate / calculator text (Conditional Shipping surfaces
   here — chrome only, never hidden) */
body.woocommerce-cart .wc-block-components-shipping-calculator-address button,
body.woocommerce-cart .wc-block-components-totals-shipping__change-address__link{color:var(--gold-lt)}
body.woocommerce-cart .wc-block-components-shipping-rates-control__package{color:var(--silver)}

/* ── BUTTONS ─────────────────────────────────────────── */
body.woocommerce-cart .wc-block-cart__submit-button{width:100%;background:var(--gold);color:var(--ink);border:none;border-radius:2px;padding:18px;font-family:var(--head);font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:background .15s}
body.woocommerce-cart .wc-block-cart__submit-button:hover{background:var(--gold-lt);color:var(--ink)}
body.woocommerce-cart .wc-block-components-button:not(.wc-block-cart__submit-button):not(.wc-block-components-express-payment *){background:transparent;border:1px solid var(--border);color:var(--silver);border-radius:2px;transition:border-color .15s,color .15s}
body.woocommerce-cart .wc-block-components-button:not(.wc-block-cart__submit-button):not(.wc-block-components-express-payment *):hover{border-color:var(--gold);color:var(--gold-lt)}

/* ── EMPTY CART STATE ────────────────────────────────── */
body.woocommerce-cart .wc-block-cart__empty-cart__title{font-family:var(--head);font-weight:800;color:var(--white)}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block p{color:var(--mist)}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link{background:var(--gold);color:var(--ink);border-radius:2px;font-family:var(--head);font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:background .15s}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover{background:var(--gold-lt)}

/* ── NOTICES (verbatim from the checkout skin) ───────── */
body.woocommerce-cart .wc-block-components-notice-banner{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--gold-lt);border-radius:3px;color:var(--silver)}
body.woocommerce-cart .wc-block-components-notice-banner.is-error{border-left-color:var(--red)}
body.woocommerce-cart .wc-block-components-notice-banner.is-success{border-left-color:var(--gold)}
body.woocommerce-cart .wc-block-components-notice-banner a{color:var(--gold-lt)}

/* ── CROSS-SELLS — hidden (merchandising only) ───────── */
/* The single sanctioned hide on this surface: not functional, not a
   plugin/compliance component. Per James 2026-07-25. */
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block,
body.woocommerce-cart .cross-sells-product{display:none}

/* ── EXPRESS PAYMENT ─────────────────────────────────── */
/* Untouched — reserved for a staging pass alongside the checkout's
   plugin component touch-ups. Additive rules only. */
