/**
 * VYNE+ cart & checkout — clean, high-contrast, Shopify-style.
 *
 * Loaded only on cart/checkout/account, on top of the v2 chrome (dark topbar +
 * footer stay dark). The page content is a light, neutral surface with clear
 * dark text, bordered white inputs and a solid dark primary button — replacing
 * the old low-contrast cream/green woocommerce.css.
 *
 * Targets both the block cart/checkout (.wc-block-*) and classic WooCommerce.
 */

:root {
  --co-bg: #f4ede0;        /* page surface (v-purchase design) */
  --co-card: #faf5e9;      /* cards / inputs = paper           */
  --co-summary: #faf5e9;   /* order summary                    */
  --co-ink: #261e10;       /* primary text                     */
  --co-body: #4a3f2a;      /* secondary text                   */
  --co-muted: #7a6f5a;     /* labels / hints                   */
  --co-line: rgba(38,30,16,0.28); /* borders (line-strong)     */
  --co-gold: #8a6f33;      /* money accent (gold-deep)         */
  --co-green: #1f3522;     /* selected / accent                */
  --co-btn: #1f3522;       /* primary button = green           */
  --co-btn-h: #2d4d31;
}

/* ---- page shell ---------------------------------------------------------- */
.wc-page { background: var(--co-bg) !important; color: var(--co-ink); }
.wc-page-inner { max-width: 1180px; }
.wc-page-title { color: var(--co-ink) !important; font-style: italic; }
.wc-page a:not(.wyne-cartpage a):not(.wyne-thankyou a):not(.wyne-checkout a) { color: var(--co-gold); }

/* Normalise typography / colour inside the WC content.
   The cart page renders the design's own markup (.wyne-cartpage) rather than
   WooCommerce's, and carries its own palette — exclude it, or this blanket rule
   repaints every one of its elements and its own colours never apply. */
.wc-page .woocommerce:not(.wyne-cartpage):not(.wyne-thankyou):not(.wyne-checkout),
.wc-page .woocommerce *:not(.wyne-cartpage):not(.wyne-cartpage *):not(.wyne-thankyou):not(.wyne-thankyou *):not(.wyne-checkout):not(.wyne-checkout *),
.wc-page .wc-block-components-form, .wc-page [class^="wc-block"], .wc-page [class*=" wc-block"] {
  color: var(--co-ink);
}
/* The pages that render the v-purchase designs set their own type — this
   blanket !important was re-serifing their mono labels (e.g. the side-card
   headings on the confirmation page). */
.wc-page h1:not(.wyne-thankyou *):not(.wyne-checkout *):not(.wyne-cartpage *),
.wc-page h2:not(.wyne-thankyou *):not(.wyne-checkout *):not(.wyne-cartpage *),
.wc-page h3:not(.wyne-thankyou *):not(.wyne-checkout *):not(.wyne-cartpage *),
.wc-page h4:not(.wyne-thankyou *):not(.wyne-checkout *):not(.wyne-cartpage *),
.wc-page .wc-block-components-title, .wc-page .wc-block-components-checkout-step__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  color: var(--co-ink) !important;
  font-weight: 500 !important;
  font-style: normal !important;
}

/* ---- labels & helper text ------------------------------------------------ */
.wc-page label,
.wc-page .wc-block-components-checkout-step__title,
.wc-page .woocommerce-input-wrapper > label,
.wc-page .wc-block-components-text-input label {
  color: var(--co-ink);
}
.wc-page .wc-block-components-checkout-step__description,
.wc-page .wc-block-components-address-card,
.wc-page small, .wc-page .description { color: var(--co-body); }

/* Step titles as clean uppercase labels (contact / shipping). */
.wc-page .wc-block-components-checkout-step__title {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 12px !important; letter-spacing: 0.16em; text-transform: uppercase; color: var(--co-muted) !important;
}

/* ---- inputs / selects ---------------------------------------------------- */
.wc-page input[type="text"], .wc-page input[type="email"], .wc-page input[type="tel"],
.wc-page input[type="password"], .wc-page input[type="number"], .wc-page input[type="search"],
.wc-page textarea, .wc-page select,
.wc-page .wc-block-components-text-input input,
.wc-page .wc-blocks-components-select__container,
.wc-page .components-text-control__input {
  background: var(--co-card) !important;
  color: var(--co-ink) !important;
  border: 1px solid var(--co-line) !important;
  border-radius: 0 !important;   /* the designs never round a field */
  box-shadow: none !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 15px !important;
}
.wc-page input::placeholder, .wc-page textarea::placeholder { color: var(--co-muted) !important; opacity: 1; }
.wc-page input:focus, .wc-page textarea:focus, .wc-page select:focus,
.wc-page .wc-block-components-text-input input:focus {
  border-color: var(--co-ink) !important;
  box-shadow: 0 0 0 2px rgba(32,25,20,0.12) !important;
  outline: none !important;
}
/* Floating-label inputs (block checkout): keep the label readable. */
.wc-page .wc-block-components-text-input label,
.wc-page .wc-block-components-text-input.is-active label {
  color: var(--co-muted) !important;
}
.wc-page .wc-block-components-text-input input { padding: 1.2em 1em 0.35em !important; }

/* ---- cart table (classic + block) --------------------------------------- */
.wc-page table.shop_table:not(.wyne-sum-table),
.wc-page .wc-block-cart-items, .wc-page .wc-block-cart {
  background: transparent !important; border: none !important;
}
.wc-page table.shop_table:not(.wyne-sum-table) th { color: var(--co-muted); font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; border: none; }
.wc-page table.shop_table:not(.wyne-sum-table) td, .wc-page .wc-block-cart-items__row { border-bottom: 1px solid var(--co-line) !important; }
.wc-page .wc-block-cart-item__image img, .wc-page table.shop_table .product-thumbnail img { border-radius: 0; border: 1px solid var(--co-line); background: #fff; }
.wc-page .wc-block-cart-item__product-name, .wc-page td.product-name a { color: var(--co-ink) !important; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 20px; }

/* configurator selections listed under a cart line — keep tidy */
.wc-page .wc-block-components-product-details__name,
.wc-page dl.variation dt, .wc-page .wc-block-components-product-metadata dt { color: var(--co-muted); font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; }
.wc-page dl.variation dd, .wc-page .wc-block-components-product-metadata dd { color: var(--co-body); }

/* "Edit configuration" link under a configurator cart line */
.wc-page .wyne-cart-edit {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--co-gold) !important; text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .18s ease, opacity .18s ease;
}
.wc-page .wyne-cart-edit:hover { border-color: var(--co-gold); }
.wc-page .wyne-cart-edit__ico { font-style: normal; opacity: .8; }

/* ---- money --------------------------------------------------------------- */
.wc-page .woocommerce-Price-amount, .wc-page .wc-block-formatted-money-amount,
.wc-page .wc-block-components-product-price, .wc-page .wc-block-components-totals-item__value,
.wc-page .amount:not(.wyne-thankyou .amount):not(.wyne-checkout .amount), .wc-page .price:not(.wyne-cartpage .price) {
  font-family: 'Cormorant Garamond', serif !important;
  color: var(--co-gold) !important;
  font-style: italic; font-weight: 500;
}

/* ---- order summary / totals card ---------------------------------------- */
/* ONE clean container = the sidebar. Everything nested inside it is
   borderless & transparent, so there's no "box inside a box" and no stack of
   row dividers — just a single elegant card. */
/* Not on the v-purchase checkout: there the summary card is the box, and the
   totals table inside it is bare. */
.wc-page .cart_totals, .wc-page .wc-block-components-sidebar, .wc-page .wc-block-checkout__sidebar,
.wc-page .shop_table.woocommerce-checkout-review-order-table:not(.wyne-sum-table) {
  background: var(--co-summary) !important;
  border: 1px solid var(--co-line) !important;
  border-radius: 0 !important;
  padding: clamp(22px,2.6vw,34px) !important;
}
/* Kill every nested box border/background (order-summary, panels, wrappers). */
.wc-page .wc-block-components-order-summary,
.wc-page .wc-block-components-order-summary__content,
.wc-page .wc-block-components-panel,
.wc-page .wc-block-components-totals-wrapper,
.wc-page .wc-block-components-totals-coupon {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.wc-page .wc-block-components-totals-item, .wc-page .cart-subtotal, .wc-page .order-total,
.wc-page tr { color: var(--co-ink); }

/* Product line items: a single hairline between them, none after the last. */
.wc-page .wc-block-components-order-summary-item {
  padding: 18px 0 !important; margin: 0 !important;
  border: none !important;
  border-bottom: 1px solid rgba(36,28,20,0.08) !important;
}
.wc-page .wc-block-components-order-summary-item:last-child { border-bottom: none !important; }
.wc-page .wc-block-components-order-summary-item__quantity { border-color: var(--co-line) !important; background: #fff !important; color: var(--co-ink) !important; }
.wc-page .wc-block-components-order-summary-item__description .wc-block-components-product-name { color: var(--co-ink) !important; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 19px; }

/* Totals rows: clean spacing, NO per-row dividers. */
.wc-page .wc-block-components-totals-item {
  display: flex !important; align-items: baseline; justify-content: space-between;
  padding: 8px 0 !important; margin: 0 !important;
  border: none !important;
}
.wc-page .wc-block-components-totals-item__label { color: var(--co-body); font-family: 'Cormorant Garamond', serif; font-size: 18px; }
.wc-page .wc-block-components-totals-item__description { color: var(--co-muted); font-size: 12px; }

/* One divider separates the product list from the totals block. */
.wc-page .wc-block-components-order-summary + .wc-block-components-totals-wrapper,
.wc-page .wc-block-components-panel + .wc-block-components-totals-wrapper {
  margin-top: 12px !important; padding-top: 16px !important;
  border-top: 1px solid rgba(36,28,20,0.10) !important;
}

/* Total row — emphasised, one line above it, nothing below. */
.wc-page .wc-block-components-totals-footer-item, .wc-page .order-total {
  border-top: 1px solid var(--co-line) !important; border-bottom: none !important;
  margin-top: 10px !important; padding-top: 18px !important;
}
.wc-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--co-ink); font-family: 'Cormorant Garamond', serif; font-size: 26px; font-style: italic; }
.wc-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 24px; }

/* ---- buttons ------------------------------------------------------------- */
.wc-page .button, .wc-page button.button, .wc-page input.button, .wc-page #place_order,
.wc-page a.checkout-button, .wc-page .wc-block-components-button,
.wc-page .wc-block-components-checkout-place-order-button,
.wc-page .wc-block-cart__submit-button {
  background: var(--co-btn) !important;
  color: #f5efe2 !important;
  border: 1px solid var(--co-btn) !important;
  border-radius: 0 !important;           /* standard button, not an oversized pill */
  font-family: 'Jost', sans-serif !important;
  font-weight: 500 !important; font-size: 11px !important;
  letter-spacing: 0.34em !important; text-transform: uppercase !important;
  padding: 18px 22px !important;
  box-shadow: none !important;
  transition: background 0.2s, transform 0.1s !important;
}
.wc-page .button:hover, .wc-page #place_order:hover, .wc-page .wc-block-components-button:hover,
.wc-page .wc-block-components-checkout-place-order-button:hover,
.wc-page .wc-block-cart__submit-button:hover { background: var(--co-btn-h) !important; border-color: var(--co-btn-h) !important; }
.wc-page .wc-block-components-checkout-place-order-button:active,
.wc-page .wc-block-cart__submit-button:active { transform: translateY(1px); }

/* Force the label VISIBLE: the block place-order button wraps its text (and the
   price) in nested spans that inherit a dark colour — override every descendant
   to the light ink so the button never renders as an empty dark pill. */
.wc-page #place_order, .wc-page #place_order *,
.wc-page a.checkout-button, .wc-page a.checkout-button *,
.wc-page .wc-block-cart__submit-button, .wc-page .wc-block-cart__submit-button *,
.wc-page .wc-block-components-checkout-place-order-button,
.wc-page .wc-block-components-checkout-place-order-button * {
  color: #f5efe2 !important;
}

/* Full-width, comfortably tall primary CTAs, label centred. */
.wc-page .wc-block-cart__submit-container .wc-block-components-button,
.wc-page .wc-block-cart__submit-button,
.wc-page .wc-block-components-checkout-place-order-button {
  width: 100% !important; display: flex !important; align-items: center; justify-content: center; gap: 10px; text-align: center;
  min-height: 56px; line-height: 1.2 !important;
}
.wc-page .wc-block-components-button__text { display: inline-flex; align-items: center; gap: 10px; }

/* Secondary / ghost buttons (update cart, apply coupon). */
.wc-page .wc-block-components-button.outlined, .wc-page button[name="update_cart"],
.wc-page .wc-block-components-totals-coupon__button {
  background: transparent !important; color: var(--co-ink) !important; border: 1px solid var(--co-line) !important;
}

/* ---- coupon / notices ---------------------------------------------------- */
.wc-page .woocommerce-info, .wc-page .wc-block-components-notice-banner {
  background: #fff !important; color: var(--co-ink) !important;
  border: 1px solid var(--co-line) !important; border-left: 3px solid var(--co-gold) !important; border-radius: 0 !important;
}
.wc-page .wc-block-components-notice-banner.is-error, .wc-page .woocommerce-error { border-left-color: #b5432b !important; color: #7c2a18 !important; }

/* ---- empty cart ---------------------------------------------------------- */
.wc-page .cart-empty, .wc-page .wc-block-cart__empty-cart__title { color: var(--co-ink) !important; font-family: 'Cormorant Garamond', serif; font-style: italic; }

/* ---- account / login (artist + customer) --------------------------------- */
.wc-page .woocommerce-form-login, .wc-page .woocommerce-form-register {
  background: var(--co-card); border: 1px solid var(--co-line); border-radius: 0; padding: clamp(22px,3vw,36px);
}

/* ---- My Account dashboard (customer) ------------------------------------ */
.account-page .wc-acct-kicker { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--co-gold); margin: 0 0 6px; }
.account-page .woocommerce-account { display: grid; grid-template-columns: 230px 1fr; gap: 34px; align-items: start; margin-top: 22px; }
@media (max-width: 768px) { .account-page .woocommerce-account { grid-template-columns: 1fr; gap: 20px; } }

.account-page .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--co-line); }
.account-page .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--co-line); }
.account-page .woocommerce-MyAccount-navigation li a { display: block; padding: 13px 6px 13px 14px; color: var(--co-body); font-family: 'Jost', sans-serif; font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; transition: color .15s, box-shadow .15s; }
.account-page .woocommerce-MyAccount-navigation li a:hover { color: var(--co-ink); }
.account-page .woocommerce-MyAccount-navigation li.is-active a { color: var(--co-ink); box-shadow: inset 3px 0 0 var(--co-gold); }

.account-page .woocommerce-MyAccount-content { background: var(--co-card); border: 1px solid var(--co-line); border-radius: 0; padding: clamp(20px,2.5vw,34px); color: var(--co-body); }
.account-page .woocommerce-MyAccount-content a:not(.button) { color: var(--co-gold); }
.account-page .woocommerce-MyAccount-content strong,
.account-page .woocommerce-MyAccount-content mark { color: var(--co-ink); background: transparent; }
.account-page .woocommerce-MyAccount-content h2,
.account-page .woocommerce-MyAccount-content h3 { font-family: 'Cormorant Garamond', serif !important; color: var(--co-ink) !important; font-weight: 500 !important; }
.account-page .woocommerce-MyAccount-content .woocommerce-Address { border: 1px solid var(--co-line); border-radius: 0; padding: 16px 18px; margin-top: 10px; }
.account-page form .woocommerce-form-row label,
.account-page .woocommerce-MyAccount-content label { color: var(--co-ink); }

/* ---- per-bottle QR landing ( /b/{token} ) -------------------------------- */
.wyne-bottle-page .wyne-bottle-player { position: relative; aspect-ratio: 16/9; width: 100%; max-width: 760px; margin: 8px 0 26px; border-radius: 0; overflow: hidden; border: 1px solid var(--co-line); background: #000; }
.wyne-bottle-page .wyne-bottle-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.wyne-bottle-page .wyne-bottle-note { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 20px; color: var(--co-body); max-width: 54ch; margin: 4px 0 24px; }
.wyne-bottle-page .wyne-bottle-specs { display: grid; grid-template-columns: max-content 1fr; gap: 10px 26px; max-width: 620px; }
.wyne-bottle-page .wyne-bottle-specs dt { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--co-muted); align-self: baseline; }
.wyne-bottle-page .wyne-bottle-specs dd { margin: 0; color: var(--co-ink); font-family: 'Cormorant Garamond', serif; font-size: 18px; }
/* Front-of-store QR line (order-received / my-account order) */
.wyne-qr-line .wyne-qr-link { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--co-gold); text-decoration: none; margin-left: 10px; }
.wyne-qr-line .wyne-qr-link:hover { text-decoration: underline; }

/* ---- Thank-you / order-received — premium confirmation ------------------- */
.wc-page--thankyou .wc-acct-kicker { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--co-gold); margin: 0 0 8px; }
.wc-page--thankyou .woocommerce-thankyou-order-received {
  background: none !important; border: none !important; padding: 0 !important; margin: 0 0 clamp(30px,4vw,52px) !important;
}
.wc-page--thankyou .wyne-ty-lede {
  display: block; font-family: 'Cormorant Garamond', serif; font-size: clamp(20px,2.4vw,28px); font-style: italic;
  line-height: 1.4; color: var(--co-body); max-width: 46ch;
}
/* Order overview -> a clean row of stat cards */
.wc-page--thankyou .woocommerce-order-overview.order_details {
  list-style: none; margin: 0 0 clamp(34px,5vw,60px) !important; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; border: none !important;
}
.wc-page--thankyou .woocommerce-order-overview li {
  background: var(--co-summary); border: 1px solid var(--co-line); border-radius: 0;
  padding: 18px 20px; margin: 0 !important; float: none !important; border-right: 1px solid var(--co-line) !important;
  font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--co-muted);
  text-align: left;
}
.wc-page--thankyou .woocommerce-order-overview li strong {
  display: block; margin-top: 8px; font-family: 'Cormorant Garamond', serif; font-style: italic;
  font-size: 22px; letter-spacing: 0; text-transform: none; color: var(--co-ink);
}
/* Section headings + detail/customer blocks */
.wc-page .woocommerce-order-details__title, .wc-page .woocommerce-column__title {
  font-family: 'Cormorant Garamond', serif !important; font-style: italic; color: var(--co-ink) !important;
  font-size: clamp(24px,3vw,34px); margin: clamp(30px,4vw,48px) 0 18px;
}
.wc-page .woocommerce-customer-details address {
  background: var(--co-summary); border: 1px solid var(--co-line); border-radius: 0; padding: 20px 22px;
  font-style: normal; color: var(--co-body); line-height: 1.7;
}

/* ---- shipping + payment methods as design radio-rows --------------------- *
 * Match the v-purchase "Checkout" design: each option is a bordered, selectable
 * row that turns green when chosen. Covers classic checkout (shipping_method /
 * wc_payment_methods) and the block editor equivalents.                       */
.wc-page #shipping_method,
.wc-page .wc_payment_methods.payment_methods {
  list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px;
}
.wc-page #shipping_method li,
.wc-page .wc_payment_methods li.wc_payment_method {
  display: flex; align-items: flex-start; gap: 12px; flex-wrap: wrap;
  padding: 15px 16px; border: 1px solid var(--co-line); background: #fff; border-radius: 0;
  transition: border-color .2s, box-shadow .2s; margin: 0;
}
.wc-page #shipping_method li:has(input:checked),
.wc-page .wc_payment_methods li.wc_payment_method:has(input:checked) {
  border-color: var(--co-green, #1f3522); box-shadow: 0 0 0 1px var(--co-green, #1f3522);
}
.wc-page #shipping_method li input[type="radio"],
.wc-page .wc_payment_methods li input[type="radio"] {
  width: 20px; height: 20px; flex: 0 0 auto; margin-top: 1px; accent-color: var(--co-green, #1f3522);
}
/* The gateway's own form lives inside this list too, and its fields carry their
   own labels — those keep the design's small caps (assets/css/checkout-page.css).
   This rule dresses the method's name only. */
.wc-page #shipping_method li > label,
.wc-page .wc_payment_methods li > label {
  font-family: 'Cormorant Garamond', serif !important; font-size: 18px !important; color: var(--co-ink) !important;
  text-transform: none !important; letter-spacing: 0 !important; margin: 0 !important; cursor: pointer; flex: 1;
}
.wc-page #shipping_method li label .amount { color: var(--co-gold, #8a6f33); margin-left: auto; }
.wc-page .wc_payment_methods li .payment_box {
  flex: 1 1 100%; margin-top: 8px; padding: 12px 14px; background: var(--co-summary, #faf5e9);
  border: 1px solid var(--co-line); border-radius: 0; font-family: 'Cormorant Garamond', serif; color: var(--co-body);
}
.wc-page .wc_payment_methods li .payment_box::before { display: none; }
.wc-page .wc_payment_methods li img { max-height: 26px; width: auto; margin-left: 8px; }

/* ---- BLOCK checkout → v-purchase "Checkout" design ----------------------- */
.wc-co-kicker {
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 10px; letter-spacing: 0.3em;
  text-transform: uppercase; color: var(--co-gold); margin: 0 0 22px;
}
/* Inputs: paper, square, thin strong border (design .field input). */
.wc-page .wc-block-components-text-input input,
.wc-page .wc-block-components-select input,
.wc-page .wc-blocks-components-select__container,
.wc-page .wc-block-components-combobox input {
  background: var(--co-card) !important; border: 1px solid var(--co-line) !important; border-radius: 0 !important;
  color: var(--co-ink) !important;
}
.wc-page .wc-block-components-text-input input:focus,
.wc-page .wc-block-components-combobox input:focus { border-color: var(--co-green) !important; box-shadow: none !important; }

/* Shipping + payment options as selectable radio-rows.
 * The block control positions its radio input at the row's left edge, so the row
 * needs left padding that clears it — otherwise the circle sits on top of the
 * label and the text reads as "◉S" instead of "GLS". */
.wc-page .wc-block-components-radio-control__option,
.wc-page .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option {
  border: 1px solid var(--co-line); border-radius: 0; padding: 15px 16px 15px 48px !important; margin: 0 0 10px !important;
  background: var(--co-card); transition: border-color .2s, box-shadow .2s;
}
.wc-page .wc-block-components-radio-control__option .wc-block-components-radio-control__input {
  left: 16px !important;
}
.wc-page .wc-block-components-radio-control__option--checked,
.wc-page .wc-block-components-radio-control__option:has(input:checked) {
  border-color: var(--co-green); box-shadow: 0 0 0 1px var(--co-green);
}
.wc-page .wc-block-components-radio-control__label { font-family: 'Cormorant Garamond', serif; font-size: 18px; color: var(--co-ink); }
.wc-page .wc-block-components-radio-control__secondary-label,
.wc-page .wc-block-components-radio-control__description { color: var(--co-gold); }
.wc-page .wc-block-components-radio-control__input { accent-color: var(--co-green); }

/* Sidebar order summary: bordered paper panel (not a big rounded card). */
.wc-page .wc-block-checkout__sidebar,
.wc-page .wc-block-components-sidebar {
  background: var(--co-summary) !important; border: 1px solid var(--co-line) !important; border-radius: 0 !important;
  padding: 24px !important; box-shadow: none !important;
}
.wc-page .wc-block-components-order-summary__button-text,
.wc-page .wc-block-checkout__sidebar .wc-block-components-title {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important; font-size: 10px !important; letter-spacing: 0.24em !important;
  text-transform: uppercase !important; color: var(--co-muted) !important; font-weight: 400 !important;
}
.wc-page .wc-block-components-order-summary-item__image img { border-radius: 0; }
.wc-page .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  font-family: 'Cormorant Garamond', serif !important; font-size: 21px !important; color: var(--co-ink) !important;
}
.wc-page .wc-block-components-totals-item__label { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--co-muted); }
.wc-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 30px !important; color: var(--co-gold) !important; font-family: 'Cormorant Garamond', serif !important; }

/* Place-order button = green CTA (design). */
.wc-page #place_order,
.wc-page .wc-block-components-checkout-place-order-button {
  background: var(--co-green) !important; color: #faf5e9 !important; border: none !important; border-radius: 0 !important;
  /* the design's own measure for this button: 11px, .34em, 18px 22px */
  letter-spacing: 0.34em !important; text-transform: uppercase !important; font-size: 11px !important;
  padding: 18px 22px !important;
}
.wc-page #place_order:hover,
.wc-page .wc-block-components-checkout-place-order-button:hover { background: var(--co-btn-h) !important; }
.wc-page--thankyou .woocommerce-order-details .order_details.woocommerce-table__product-name { color: var(--co-ink); }

/* WooCommerce core rounds its login / register form boxes; the account design
   is square like the rest of the site. */
.wc-page .woocommerce-form.woocommerce-form-login,
.wc-page .woocommerce-form.woocommerce-form-register,
.wc-page .woocommerce-info, .wc-page .woocommerce-message, .wc-page .woocommerce-error {
  border-radius: 0 !important;
}

/* ---- My account dashboard ------------------------------------------------
   The default tab is WooCommerce's own paragraph in WooCommerce's own voice.
   This is the shop's: a line, then the last few orders as cards. */
.wyne-acct-lede {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 21px;
  line-height: 1.5;
  color: var(--co-body);
  margin: 0 0 22px;
  max-width: 46ch;
}
.wyne-acct-orders { display: flex; flex-direction: column; gap: 10px; }
.wyne-acct-order {
  display: grid;
  grid-template-columns: 84px 1fr auto auto;
  grid-template-areas: "k d n v" "k s s v";
  gap: 2px 16px;
  align-items: center;
  padding: 15px 18px;
  border: 1px solid var(--co-line);
  background: var(--co-card);
  text-decoration: none !important;
  transition: border-color .2s, transform .2s;
}
.wyne-acct-order:hover { border-color: var(--co-gold); transform: translateY(-2px); }
.wyne-acct-order .k {
  grid-area: k;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--co-gold);
}
.wyne-acct-order .d { grid-area: d; font-family: 'Cormorant Garamond', serif; font-size: 18px; color: var(--co-ink); }
.wyne-acct-order .n { grid-area: n; font-family: 'Jost', sans-serif; font-size: 12.5px; color: var(--co-muted); }
.wyne-acct-order .s {
  grid-area: s;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--co-muted);
}
.wyne-acct-order .v {
  grid-area: v;
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 20px;
  color: var(--co-gold);
  white-space: nowrap;
}
.wyne-acct-more { margin: 18px 0 0; }
.wyne-acct-more a {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--co-gold) !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent;
}
.wyne-acct-more a:hover { border-color: var(--co-gold); }
.wyne-acct-empty { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 19px; color: var(--co-muted); margin: 0 0 18px; }

@media (max-width: 600px) {
  .wyne-acct-order { grid-template-columns: 1fr auto; grid-template-areas: "k v" "d d" "n s"; row-gap: 6px; }
}
