:root{
/* ===========================================================================
   v3 palette — derived from the brand green #3F7950.
   The whole green ramp is one hue family (OKLCH hue ~152) with #3F7950 held
   exactly at step 600; chroma peaks mid-ramp and eases off at both ends so the
   tints stay green rather than drifting grey. Lime (Men's) and clay/sand
   (Ladies') are retuned to sit with the richer spine; clay is pushed to hue ~55
   to stay clear of the brick promo accent at hue ~28.
   ========================================================================= */
/* Green spine — 600 is the base. */
--sc-green-900:#153621;--sc-green-800:#204B30;--sc-green-700:#2D623E;--sc-green-600:#3F7950;--sc-green-500:#5C926A;--sc-green-400:#7EAC88;--sc-green-300:#A5C8AC;--sc-green-200:#C5DDC9;--sc-green-100:#DEECE0;--sc-green-50:#F0F7F1;
/* Role aliases. sage-700 is the primary action colour and equals the base green;
   sage-900 is the deep green for headings and dark UI. Numeric names are legacy
   (69 + 60 call sites) — the mapping is by role, not by ramp step. */
--sc-sage-900:#204B30;--sc-sage-700:#3F7950;--sc-sage-500:#5C926A;--sc-sage-300:#A5C8AC;--sc-sage-100:#DEECE0;
/* Lime — marks the Men's range and the oil splash. Nothing else. */
--sc-lime-900:#38421B;--sc-lime-800:#4A5821;--sc-lime-700:#5D6D29;--sc-lime-600:#748736;--sc-lime-500:#8EA14A;--sc-lime-300:#C6D298;--sc-lime-100:#E8EDD4;
/* Clay + sand — mark the Ladies' range and warm accents. clay-700 is the only
   step that carries text (clay-500 fails AA at body size). */
--sc-clay-700:#8C5C3B;--sc-clay-600:#9C6846;--sc-clay-500:#B27B58;--sc-clay-300:#DBB599;--sc-sand-500:#DAC4AB;--sc-sand-300:#EBDFD0;--sc-sand-100:#F6EDE2;
/* Warm neutral — body copy, rules, hairlines. */
--sc-neutral-900:#22271E;--sc-neutral-800:#37392F;--sc-neutral-700:#4D4E43;--sc-neutral-600:#6B695E;--sc-neutral-500:#89867C;--sc-neutral-400:#A7A59A;--sc-neutral-300:#CDCBC1;--sc-neutral-200:#E6E5DD;--sc-neutral-100:#F3F2ED;--sc-neutral-50:#FBFAF7;
--sc-page-gradient:linear-gradient(315deg,#4C835A 0%,#5D9067 9%,#74A17B 20%,#8CB28F 32%,#A7C4A6 46%,#C0D5BC 60%,#D9E2CE 74%,#EEEFE3 88%,#FBFAF6 100%);
/* Surfaces. */
--sc-paper:#FBFAF6;--sc-cream:#F4F1E7;--sc-sand:#EBE2D3;--sc-sand-deep:#DAC4AB;--sc-mist:#EBF3EC;--sc-white:#FFFFFF;
--sc-ink:#22271E;--sc-muted:#6B695E;--sc-muted-light:#6B695E;--sc-muted-faint:#89867C;--sc-clay:#8C5C3B;
/* Promo accent — brick #8E2B24, reserved for the "specials" (Buy 2 Get 1 Free).
   Sits 17 degrees of hue clear of clay so a sale flag never reads as a warm accent. */
--sc-promo:#8E2B24;--sc-promo-strong:#6F1E18;--sc-promo-soft:#FDE7E4;--sc-promo-tint:#F3C4BD;--sc-promo-line:#E8ADA5;
--sc-display:'Cormorant Garamond',Georgia,serif;--sc-body:'Jost',system-ui,sans-serif;--sc-script:'Parisienne',cursive;
/* legacy aliases → new palette so retained (pre-redesign) blocks adopt the look until their phase rebuilds them */
--sc-taupe:#204B30;--sc-green-2:#2D623E;--sc-sage:#5C926A;--sc-dark:#153621;--sc-gold:#3F7950;
/* map Astra's global palette to the new tokens */
--ast-global-color-0:#3F7950 !important;--ast-global-color-1:#204B30 !important;--ast-global-color-2:#22271E !important;--ast-global-color-3:#6B695E !important;--ast-global-color-4:#FBFAF6 !important;--ast-global-color-5:#F4F1E7 !important;}
/* v2: one diagonal page gradient on the root; sections sit transparent over it */
html{background:var(--sc-page-gradient) no-repeat;min-height:100%;}
html body{background:transparent;}
body,.ast-container,.site-content,#content,.ast-container > .ast-row{background:transparent !important;}
body{font-family:var(--sc-body);color:var(--sc-ink);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,.entry-title,.widget-title,.woocommerce-loop-product__title,.product_title,.ast-site-title{font-family:var(--sc-display) !important;color:var(--sc-sage-900);font-weight:400;letter-spacing:-.01em;}
.custom-logo{max-width:200px !important;height:auto !important;}
.site-header .site-title,.ast-site-title-wrap .site-title{display:none !important;}
/* Hide Astra's auto page-title on our content pages (they carry their own headings) */
.page-id-378 .entry-title,.page-id-379 .entry-title,.page-id-380 .entry-title,.page-id-381 .entry-title,.page-id-382 .entry-title{display:none !important;}
.page-id-378 .ast-single-post-order,.page-id-378 .entry-header{margin-bottom:0 !important;}
.main-header-menu a,.ast-header-break-point .main-navigation a{color:var(--sc-taupe);text-transform:uppercase;letter-spacing:1px;font-size:.82rem;}
.main-header-menu a:hover{color:var(--sc-gold);}
.sc-topbar{background:var(--sc-taupe);color:#fff;text-align:center;font-size:.8rem;letter-spacing:1.5px;padding:9px 12px;text-transform:uppercase;}
.sc-topbar strong{color:var(--sc-gold);}
a{color:var(--sc-green-700);}a:hover{color:var(--sc-green-900);}
.wp-block-button__link,.button,.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit,.woocommerce .button.alt,.woocommerce #place_order,.woocommerce input.button,.woocommerce input.button.alt,.wc-block-components-button{background:var(--sc-sage-700) !important;color:var(--sc-cream) !important;border:0 !important;border-radius:0 !important;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:400;padding:16px 30px !important;transition:background .25s;}
.wp-block-button__link:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce #place_order:hover,.woocommerce input.button:hover,.wc-block-components-button:hover{background:var(--sc-sage-900) !important;}
input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]):not(.sc-addr-input),textarea,select,.select2-container .select2-selection{border:1px solid var(--sc-green-500) !important;border-radius:0 !important;}
input:focus,textarea:focus,select:focus{border-color:var(--sc-sage-700) !important;outline:0;box-shadow:none !important;}
:focus-visible{outline:2px solid var(--sc-sage-700);outline-offset:2px;}
@keyframes sc-veil-in{from{opacity:0}to{opacity:1}}
@keyframes sc-sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes sc-rise-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes sc-grow-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important;}}
.woocommerce ul.products li.product{text-align:center;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.3rem;padding-bottom:.25em;}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price{color:var(--sc-taupe) !important;font-weight:600;}
.woocommerce span.onsale{background:var(--sc-gold) !important;color:#fff !important;}
.woocommerce-message,.woocommerce-info,.woocommerce-notice{border-top-color:var(--sc-taupe) !important;}
.site-footer,.ast-small-footer,.footer-sml-layout-1,.site-footer .ast-footer-overlay{background:var(--sc-dark) !important;color:var(--sc-neutral-200) !important;}
.site-footer a,.ast-small-footer a{color:var(--sc-neutral-300) !important;}
.site-footer a:hover{color:#fff !important;}
.sc-footer{max-width:1200px;margin:0 auto;padding:44px 20px 8px;}
.sc-footer-inner{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;}
.sc-fcol{flex:1;min-width:180px;}
.sc-fcol h4{font-family:'Cormorant Garamond',serif !important;color:#fff !important;font-size:1.35rem;margin:0 0 .6em;letter-spacing:.5px;}
.sc-fcol p,.sc-fcol li{color:var(--sc-neutral-300) !important;font-size:.9rem;line-height:1.75;}
.sc-fcol ul{list-style:none;margin:0;padding:0;}
.sc-fcol a{color:var(--sc-neutral-300) !important;text-decoration:none;}
.sc-fcol a:hover{color:#fff !important;}
.sc-footer-disc{max-width:1160px;margin:22px auto 0;padding:16px 20px 0;border-top:1px solid rgba(255,255,255,.12);color:var(--sc-neutral-400) !important;font-size:.72rem;line-height:1.6;text-align:center;}
/* ---- Kill remaining default-blue (hamburger, focus, extra Woo buttons) ---- */
.menu-toggle,.ast-mobile-menu-trigger-minimal,.main-header-menu-toggle,.ast-button-wrap .menu-toggle,.ast-mobile-menu-buttons-minimal{color:var(--sc-taupe) !important;}
.ast-mobile-menu-trigger-fill,.ast-mobile-menu-buttons-fill .ast-button-wrap .menu-toggle{background:var(--sc-taupe) !important;color:#fff !important;}
button.menu-toggle .ast-mobile-svg,.main-header-menu-toggle svg,.ast-mobile-svg,.ast-close-svg,.menu-toggle-close .ast-icon svg,.ast-mobile-popup-drawer .menu-toggle-close .ast-svg-close{fill:var(--sc-taupe) !important;}
.ast-mobile-popup-drawer .menu-item a,.ast-mobile-popup-drawer .main-navigation a,#ast-hf-mobile-menu a{color:var(--sc-taupe) !important;}
.ast-mobile-popup-drawer .menu-item a:hover{color:var(--sc-gold) !important;}
input:focus,textarea:focus,select:focus,.select2-container--focus .select2-selection{border-color:var(--sc-taupe) !important;outline-color:var(--sc-taupe) !important;box-shadow:none !important;}
/* .wc-block-components-button and .wp-block-woocommerce-cart .wc-block-cart__submit-button
   were removed from this legacy taupe/3px-radius rule 2026-09-17: they duplicated
   the block-button selector already styled sage-700/square in the rule above
   (line 51), and being declared again here — later in the cascade, same
   specificity — silently won, so the cart's "Proceed to Checkout" and the
   checkout's "Place order" rendered taupe with rounded corners instead of the
   current palette. The remaining selectors here are still live: .woocommerce
   input.button/.button.alt are legacy input-submit selectors kept for any
   third-party markup that still emits them, and .added_to_cart /
   .woocommerce a.added_to_cart style the "View cart" link the classic loop
   (shop/product AJAX add-to-cart) injects — neither has a counterpart in the
   line-51 rule, so this taupe pill is their only styling. */
.woocommerce input.button,.woocommerce input.button.alt,.added_to_cart,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce a.added_to_cart{background:var(--sc-taupe) !important;color:#fff !important;border:0 !important;border-radius:3px !important;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span.current{color:var(--sc-taupe) !important;border-color:var(--sc-taupe) !important;}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--sc-taupe) !important;color:#fff !important;}
.woocommerce .star-rating span::before,.star-rating span::before,.woocommerce p.stars a{color:var(--sc-gold) !important;}
.woocommerce-info::before,.woocommerce-message::before{color:var(--sc-taupe) !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--sc-taupe) !important;}
/* ---- Cookie consent (CookieAdmin) — recolour its blue ---- */
.cookieadmin_accept_btn,.cookieadmin_save_btn,#cookieadmin_accept_button,#cookieadmin_accept_modal_button,#cookieadmin_save_button{background:var(--sc-taupe) !important;border-color:var(--sc-taupe) !important;color:#fff !important;}
.cookieadmin_customize_btn,.cookieadmin_reject_btn{color:var(--sc-taupe) !important;border-color:var(--sc-taupe) !important;background:transparent !important;}
.cookieadmin_remark,.cookieadmin_re_consent,.cookieadmin_reconsent_img,.cookieadmin_remark.cookieadmin_act{background:var(--sc-taupe) !important;}
.cookieadmin_cookie_modal a,.cookieadmin_notice_con a,.cookieadmin_law_container a,.cookieadmin_modal_footer_links a,.cookieadmin_poweredby a{color:var(--sc-taupe) !important;}
.cookieadmin_slider,input:checked + .cookieadmin_slider,.cookieadmin_preference input:checked + .cookieadmin_slider{background-color:var(--sc-taupe) !important;}
/* ---- Porto-style shop grid ---- */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid !important;grid-template-columns:repeat(4,1fr);gap:38px 26px;margin:0 0 2rem !important;}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none !important;}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto !important;margin:0 !important;float:none !important;text-align:center;padding:12px !important;border-radius:6px;transition:box-shadow .25s ease,transform .25s ease;}
.woocommerce ul.products li.product:hover{box-shadow:0 12px 32px rgba(34,51,42,.10);transform:translateY(-2px);}
.woocommerce ul.products li.product a img{margin:0 0 1rem !important;border-radius:3px;background:#fff;}
.woocommerce ul.products li.product .ast-woo-product-category{display:block;text-transform:uppercase;letter-spacing:1.5px;font-size:.68rem;line-height:1.3;color:var(--sc-muted) !important;margin:0 0 .25rem;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.18rem !important;font-weight:600;line-height:1.25;margin:0 0 .35rem !important;padding:0 !important;color:var(--sc-taupe);}
.woocommerce ul.products li.product .price{display:block;font-size:1.05rem;margin-bottom:.7rem;color:var(--sc-taupe) !important;}
.woocommerce ul.products li.product .price del{color:var(--sc-neutral-600);font-weight:400;margin-right:.4rem;opacity:1;}
.woocommerce ul.products li.product .price ins{text-decoration:none;font-weight:600;}
.woocommerce ul.products li.product .button{display:inline-block;margin-top:.2rem;transition:background .2s ease;}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{color:var(--sc-muted);margin-bottom:1.4rem;}
.woocommerce .woocommerce-ordering select{border:1px solid var(--sc-neutral-500);border-radius:3px;padding:.4em .6em;}
@media(max-width:1200px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr);}}
@media(max-width:992px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){.woocommerce ul.products li.product .button{opacity:1 !important;transform:none !important;}}
@media(max-width:576px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr);gap:22px 14px;}}
/* ---- Header cart icon ---- */
.sc-cart-menu-item{display:flex !important;align-items:center;}
.sc-cart-link{display:inline-flex;align-items:center;gap:5px;color:var(--sc-taupe) !important;position:relative;padding:.2em .3em;}
.sc-cart-link:hover{color:var(--sc-gold) !important;}
.sc-cart-count{background:var(--sc-gold);color:#fff;font-size:.6rem;min-width:17px;height:17px;line-height:17px;text-align:center;border-radius:9px;padding:0 4px;font-weight:700;letter-spacing:0;}
.sc-cart-count.sc-empty{background:var(--sc-neutral-600);}
.sc-in-header{list-style:none !important;display:flex !important;align-items:center;margin:0 4px;padding:0;}
.sc-in-header::before,.sc-in-header::marker{display:none !important;content:none !important;}
.sc-search-toggle{display:inline-flex;align-items:center;color:var(--sc-taupe) !important;padding:.2em .3em;}
.sc-search-toggle:hover{color:var(--sc-gold) !important;}
@media(min-width:922px){.sc-cart-menu-item.sc-in-header{margin-left:12px;}}
.sc-search-panel{position:fixed;top:0;left:0;right:0;background:var(--sc-taupe);z-index:99999;transform:translateY(-100%);transition:transform .3s ease;padding:18px 20px;box-shadow:0 6px 24px rgba(0,0,0,.18);}
.sc-search-panel.open{transform:translateY(0);}
.sc-search-form{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:10px;}
.sc-search-form input[type=search]{flex:1;border:0;border-bottom:2px solid rgba(255,255,255,.45);background:transparent;color:#fff;font-size:1.25rem;padding:.5em .2em;font-family:'Cormorant Garamond',serif;}
.sc-search-form input[type=search]::placeholder{color:rgba(255,255,255,.6);}
.sc-search-form input[type=search]:focus{outline:0;border-bottom-color:var(--sc-gold);}
.sc-search-form button[type=submit]{background:var(--sc-gold) !important;color:#fff !important;border:0 !important;border-radius:2px !important;padding:.6em 1.4em !important;text-transform:uppercase;letter-spacing:.5px;font-size:.78rem;}
.sc-search-close{background:transparent !important;color:#fff !important;border:0 !important;font-size:1.8rem !important;line-height:1;cursor:pointer;padding:0 .3em !important;}
/* ---- Single product page (Porto-style) ---- */
.single-product .product_title{font-size:2.3rem !important;margin-bottom:.3em;}
.single-product .woocommerce-product-details__short-description{font-size:1.05rem;color:var(--sc-neutral-700);line-height:1.6;margin-bottom:1.2em;}
.single-product div.product p.price,.single-product div.product span.price{color:var(--sc-taupe) !important;font-size:1.6rem !important;font-weight:600;}
.single-product .quantity input.qty{border:1px solid var(--sc-neutral-500);border-radius:3px;padding:.5em;height:auto;}
.single-product .single_add_to_cart_button{padding:.9em 2.2em !important;font-size:.85rem;}
.single-product .product_meta{font-size:.85rem;color:var(--sc-muted);margin-top:1.5em;border-top:1px solid var(--sc-neutral-200);padding-top:1em;}
.single-product .product_meta a{color:var(--sc-taupe);}
.woocommerce div.product .woocommerce-tabs ul.tabs{border:0;padding:0;margin-bottom:1.5em;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;margin:0 1.4em 0 0;padding:.4em 0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--sc-muted) !important;text-transform:uppercase;letter-spacing:1px;font-size:.8rem;padding:0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--sc-taupe) !important;background:transparent;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--sc-taupe) !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:var(--sc-neutral-200);}
.single-product .related.products>h2,.single-product .up-sells>h2{font-size:1.8rem;text-align:center;margin-bottom:1.2em;}
.woocommerce .woocommerce-breadcrumb{font-size:.8rem;color:var(--sc-muted);letter-spacing:.3px;margin-bottom:1.2em;}
.woocommerce .woocommerce-breadcrumb a{color:var(--sc-taupe);}
/* ==== Phase 1 — Flowery Forest header ==== */
.sc-topbar{background:var(--sc-sage-900) !important;color:var(--sc-cream) !important;display:flex;align-items:center;justify-content:center;gap:28px;padding:11px 40px !important;font-size:12.5px !important;letter-spacing:.16em !important;text-transform:uppercase;font-weight:400;line-height:1.3;}
.sc-topbar .sc-topbar-1{color:var(--sc-sand);}
.sc-topbar .sc-topbar-sep{opacity:.35;}
.sc-topbar .sc-topbar-2{opacity:.8;}
.ast-primary-header-bar,.main-header-bar{background:var(--sc-paper) !important;border-bottom:1px solid rgba(34,38,31,.10) !important;}
.main-header-menu a,.ast-header-break-point .main-navigation a{font-family:var(--sc-body) !important;text-transform:uppercase;letter-spacing:.14em !important;font-size:12.5px !important;color:var(--sc-ink) !important;}
.main-header-menu .current-menu-item>a,.main-navigation .current-menu-item>a,.main-header-menu .current-menu-parent>a{color:var(--sc-sage-900) !important;border-bottom:1px solid var(--sc-sage-500);padding-bottom:3px;}
.main-header-menu a:hover,.ast-header-break-point .main-navigation a:hover{color:var(--sc-sage-700) !important;}
.sc-cart-link,.sc-search-toggle,.sc-account-link,.sc-wishlist-link{color:var(--sc-sage-900) !important;}
.sc-cart-link:hover,.sc-search-toggle:hover,.sc-account-link:hover,.sc-wishlist-link:hover{color:var(--sc-sage-700) !important;}
.sc-cart-count{background:var(--sc-sage-700) !important;color:var(--sc-cream) !important;font-size:11px !important;width:18px;height:18px;line-height:18px !important;min-width:0 !important;border-radius:50% !important;padding:0 !important;}
.sc-cart-count.sc-empty{display:none !important;}
.sc-bot{display:block;pointer-events:none;}
/* ==== Phase 1 — Flowery Forest footer ==== */
.sc-foot{position:relative;overflow:visible;background:var(--sc-sage-900);color:var(--sc-cream);}
.sc-foot-grid{position:relative;max-width:1240px;margin:0 auto;padding:80px 40px 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;}
.sc-foot-logo{width:200px;height:auto;display:block;margin:0 0 18px;}
.sc-foot-word{font-family:var(--sc-script);font-size:34px;color:var(--sc-sand);display:block;margin-bottom:18px;}
.sc-foot-brand p{font-size:13.5px;line-height:1.8;color:rgba(243,239,231,.72);font-weight:300;max-width:280px;margin:0;}
.sc-foot-cell h4{font-family:var(--sc-body) !important;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--sc-sand) !important;margin:0 0 20px !important;font-weight:400;}
.sc-foot-cell a,.sc-foot-cell span{display:block;font-size:14px;font-weight:300;color:rgba(243,239,231,.78);margin-bottom:12px;text-decoration:none;}
.sc-foot-cell a:hover{color:var(--sc-cream) !important;}
.sc-foot-cell .sc-foot-strong{color:var(--sc-cream);}
.sc-foot-bar{position:relative;max-width:1240px;margin:0 auto;padding:26px 40px 44px;border-top:1px solid rgba(233,222,210,.18);display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px;color:rgba(243,239,231,.78);font-weight:300;}
@media(max-width:768px){.sc-foot-grid{grid-template-columns:1fr 1fr;gap:32px;padding:56px 20px 32px;}.sc-foot-bar{flex-direction:column;align-items:flex-start;gap:10px;padding:22px 20px 32px;text-align:left;}}
@media(max-width:480px){.sc-foot-grid{grid-template-columns:1fr;}}
/* ==== Phase 1 — reusable promo band ==== */
.sc-promo-band{position:relative;overflow:hidden;background:var(--sc-promo-strong);color:var(--sc-cream);margin-left:calc(50% - 50vw);width:100vw;}
.sc-promo-inner{position:relative;display:flex;align-items:center;justify-content:center;gap:22px;padding:34px 40px;flex-wrap:wrap;text-align:center;}
.sc-promo-lead{font-family:var(--sc-display);font-size:30px;font-style:italic;color:var(--sc-promo-soft);}
.sc-promo-rule{width:44px;height:1px;background:rgba(244,218,221,.45);}
.sc-promo-sub{font-size:12px;letter-spacing:.18em;text-transform:uppercase;opacity:.92;}
@media(max-width:768px){.sc-promo-lead{font-size:24px;}}
/* ==== Phase 2 — product card ==== */
.woocommerce ul.products li.product.sc-card{display:flex;flex-direction:column;text-align:left;padding:0 !important;margin:0 !important;box-shadow:none !important;border-radius:0 !important;background:transparent !important;transform:none !important;width:auto !important;}
.woocommerce ul.products li.product.sc-card:hover{box-shadow:none !important;transform:none !important;}
.sc-card-media{position:relative;aspect-ratio:1/1;background:var(--sc-cream);overflow:hidden;margin-bottom:18px;}
.sc-card-imglink{display:block;width:100%;height:100%;}
.sc-card-media img{width:100%;height:100%;object-fit:cover;display:block;margin:0 !important;border-radius:0 !important;background:var(--sc-cream);transition:transform .4s ease;}
.sc-card:hover .sc-card-media img{transform:scale(1.03);}
.sc-card-wish{position:absolute;top:12px;right:12px;z-index:2;width:34px;height:34px;}
.sc-card-wish .tinv-wishlist,.sc-card-wish .tinv-wraps{margin:0 !important;padding:0 !important;}
.sc-card-wish .tinvwl_add_to_wishlist_button,.sc-card-wish a.tinvwl_add_to_wishlist_button{width:34px !important;height:34px !important;min-width:0 !important;border-radius:50% !important;background:rgba(255,255,255,.86) !important;color:var(--sc-sage-700) !important;display:flex !important;align-items:center;justify-content:center;padding:0 !important;border:0 !important;margin:0 !important;overflow:hidden !important;font-size:0 !important;line-height:1 !important;transition:all .25s;}
.sc-card-wish .tinvwl_add_to_wishlist_button:hover{background:var(--sc-sage-700) !important;color:var(--sc-cream) !important;}
/* the heart glyph is a ::before pseudo (tinvwl-webfont) — center it inside the flex circle */
.sc-card-wish .tinvwl_add_to_wishlist_button::before,.sc-card-wish .tinvwl_add_to_wishlist_button i,.sc-card-wish .tinvwl-icon,.sc-card-wish [class^=ftinvwl-],.sc-card-wish [class*=tinvwl-icon]{font-size:16px !important;line-height:1 !important;display:block !important;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;vertical-align:middle !important;}
.sc-card-wish .tinvwl-txt{display:none !important;}
.sc-card-kicker{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--sc-green-700);margin-bottom:8px;}
.woocommerce ul.products li.product.sc-card .sc-card-title{font-family:var(--sc-display) !important;font-size:24px !important;line-height:1.2;color:var(--sc-sage-900);margin:0 0 4px !important;padding:0 !important;font-weight:400;}
.sc-card-title a{color:var(--sc-sage-900);}.sc-card-title a:hover{color:var(--sc-sage-700);}
.sc-card-sub{font-family:var(--sc-display);font-style:italic;font-size:16px;color:var(--sc-muted);margin:0 0 12px;}
.woocommerce ul.products li.product.sc-card .sc-card-price{display:block;font-size:15px;color:var(--sc-ink) !important;margin:0 0 16px;font-weight:400;}
.sc-card-price .amount,.sc-card-price bdi,.sc-card-price ins{color:var(--sc-ink) !important;font-weight:400;text-decoration:none;}
.woocommerce ul.products li.product.sc-card .sc-card-atc{margin-top:auto;background:transparent !important;border:1px solid var(--sc-green-500) !important;color:var(--sc-sage-900) !important;padding:13px 18px !important;font-size:11.5px !important;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:0 !important;transition:all .25s;}
.woocommerce ul.products li.product.sc-card .sc-card-atc:hover{background:var(--sc-sage-700) !important;border-color:var(--sc-sage-700) !important;color:var(--sc-cream) !important;}
.woocommerce ul.products li.product.sc-card .added_to_cart{display:none !important;}
/* after ajax-add the button gets .added — WooCommerce adds its own webfont ✓ ::after; suppress it
   so the card button keeps just our clean label + arrow (the header cart count is the feedback). */
.woocommerce ul.products li.product.sc-card .sc-card-atc::after,.woocommerce ul.products li.product.sc-card .sc-card-atc.added::after{content:none !important;display:none !important;}
/* ==== Phase 2 — category archive ==== */
.woocommerce-products-header{display:none !important;}
.ast-woocommerce-container{width:100% !important;max-width:100% !important;float:none !important;}
/* trim Astra's default content-area margin (64px) on shop/category/product/cart/etc. */
.woocommerce #primary,.woocommerce-page #primary{margin-top:8px !important;margin-bottom:44px !important;}
.sc-arch-head{position:relative;overflow:hidden;background:transparent;margin-left:calc(50% - 50vw);width:100vw;}
.sc-arch-inner{position:relative;max-width:1240px;margin:0 auto;padding:24px 40px 48px;}
.sc-crumb{font-size:12px;color:var(--sc-muted);font-weight:300;margin-bottom:38px;}
.sc-crumb a{color:var(--sc-sage-700);}
.sc-crumb .sc-crumb-sep{color:var(--sc-sage-300);margin:0 8px;}
/* dedupe breadcrumbs: hide the default WooCommerce breadcrumb everywhere except the
   single product page (archives keep only the styled sc-crumb; 'The range' kicker + flourish removed) */
body:not(.single-product) .woocommerce-breadcrumb{display:none !important;}
.sc-arch-title{font-family:var(--sc-display) !important;font-size:62px !important;line-height:1.05;letter-spacing:-.01em;color:var(--sc-sage-900);margin:0 0 22px !important;}
.sc-arch-desc{font-size:16.5px;line-height:1.75;color:var(--sc-muted);font-weight:300;max-width:520px;}
.sc-arch-stats{display:flex;align-items:center;gap:22px;margin-top:34px;font-size:13px;color:var(--sc-muted);font-weight:300;flex-wrap:wrap;}
.sc-arch-stats .sc-dot{color:var(--sc-sage-300);}
.sc-toolbar{background:rgba(255,255,255,.6);border-top:1px solid rgba(34,38,31,.07);border-bottom:1px solid rgba(34,38,31,.07);margin-left:calc(50% - 50vw);width:100vw;}
.sc-toolbar-inner{max-width:1240px;margin:0 auto;padding:22px 40px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
/* (legacy .sc-chip scent-family chips removed — Workstream-A active-filter chips are styled below) */
.sc-tools-right{display:flex;align-items:center;gap:26px;}
.woocommerce .sc-toolbar .woocommerce-result-count{margin:0 !important;font-size:13px;color:var(--sc-muted);font-weight:300;float:none;}
.woocommerce .sc-toolbar .woocommerce-ordering{margin:0 !important;float:none;position:relative;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--sc-sage-300);padding:10px 16px;}
.woocommerce .sc-toolbar .woocommerce-ordering::before{content:'Sort:';font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sc-sage-900);}
.woocommerce .sc-toolbar .woocommerce-ordering select{border:0 !important;border-radius:0 !important;margin:0 !important;padding:0 22px 0 0 !important;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sc-sage-900);background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2346604E' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M6 10l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;background-size:14px;cursor:pointer;}
.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(4,1fr) !important;gap:36px 28px !important;margin-top:56px !important;}
.woocommerce nav.woocommerce-pagination{margin-top:72px;padding-top:32px;border-top:1px solid rgba(34,38,31,.10);text-align:right;}
.woocommerce nav.woocommerce-pagination ul{border:0 !important;display:inline-flex;gap:8px;margin:0;}
.woocommerce nav.woocommerce-pagination ul li{border:0 !important;margin:0;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--sc-green-500) !important;color:var(--sc-sage-900) !important;font-size:13px;border-radius:0 !important;padding:0 14px !important;transition:all .25s;}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--sc-sage-700) !important;border-color:var(--sc-sage-700) !important;color:var(--sc-cream) !important;}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--sc-sage-100) !important;border-color:var(--sc-sage-500) !important;}
@media(max-width:1023px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr) !important;}.sc-arch-title{font-size:48px !important;}}
@media(max-width:767px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr) !important;gap:20px !important;}.sc-arch-title{font-size:40px !important;}.sc-arch-inner{padding:16px 20px 32px;}.sc-toolbar-inner{padding:16px 20px;}.woocommerce ul.products li.product.sc-card .sc-card-atc{width:100%;}}
/* ==== Phase 3 — product detail ==== */
/* hide the theme/Woo default title, price, category label + meta (we render our own) */
.single-product .summary .single-product-category,.single-product .summary h1.product_title:not(.sc-pdp-title),.single-product .summary>p.price,.single-product .summary .product_meta{display:none !important;}
.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start;position:relative;}
.single-product div.product>.woocommerce-product-gallery,.single-product div.product>.summary.entry-summary{position:relative;z-index:1;}
.single-product div.product>.woocommerce-tabs,.single-product div.product>.up-sells,.single-product div.product>.upsells,.single-product div.product>.woocommerce-product-gallery~*:not(.summary):not(.sc-notes--under){grid-column:1 / -1;}
.single-product div.product .woocommerce-product-gallery{width:100% !important;margin:0 !important;float:none !important;}
.single-product .woocommerce-product-gallery__wrapper{margin:0;}
.single-product .woocommerce-product-gallery__image{aspect-ratio:1/1;background:var(--sc-cream);overflow:hidden;position:relative;}
.single-product .woocommerce-product-gallery__image img{width:100%;height:100%;object-fit:cover;border-radius:0;}
.single-product .woocommerce-product-gallery__image.sc-pdp-noimg .sc-bot{position:absolute;}
.single-product .woocommerce-product-gallery:has(.sc-pdp-noimg) .woocommerce-product-gallery__trigger{display:none !important;}
.single-product .flex-control-thumbs,.single-product .woocommerce-product-gallery__image:not(:first-child){display:none !important;}
.sc-gallery-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;font-size:12px;color:var(--sc-muted);font-weight:300;}
.sc-gallery-caption .sc-gallery-zoom{color:var(--sc-sage-700);}
.single-product .summary.entry-summary{margin:0 !important;padding-top:6px;width:100% !important;max-width:100% !important;float:none !important;}
.sc-pdp-kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sc-sage-700);margin-bottom:16px;}
.single-product h1.sc-pdp-title{font-family:var(--sc-display) !important;font-size:56px !important;line-height:1.06;letter-spacing:-.01em;color:var(--sc-sage-900);margin:0 0 18px !important;}
.sc-pdp-inspired{font-family:var(--sc-display);font-style:italic;font-weight:600;font-size:28px;color:var(--sc-sage-700);margin:0 0 28px;}
.sc-pdp-price{display:flex;align-items:baseline;gap:14px;padding-bottom:26px;border-bottom:1px solid rgba(47,64,52,.16);margin-bottom:28px;}
.single-product .sc-pdp-price .price,.single-product .sc-pdp-price .amount,.single-product .sc-pdp-price bdi{font-family:var(--sc-display) !important;font-size:34px !important;color:var(--sc-ink) !important;font-weight:400;margin:0;}
.sc-pdp-price-note{font-size:12.5px;color:var(--sc-muted);font-weight:300;}
.single-product .woocommerce-product-details__short-description{font-size:16px;line-height:1.75;color:var(--sc-muted);font-weight:300;max-width:480px;margin-bottom:34px;}
.sc-notes{border:1px solid var(--sc-sage-300);padding:26px 28px;margin-bottom:34px;}
.sc-notes-head{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sc-sage-700);margin-bottom:20px;}
.sc-notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.sc-notes-lab{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--sc-sage-700);margin-bottom:8px;}
.sc-notes-val{font-family:var(--sc-display);font-size:19px;color:var(--sc-sage-900);line-height:1.35;margin:0;}
.single-product form.cart{display:flex;align-items:stretch;gap:12px;margin:0 0 18px !important;}
.single-product .sc-qty{display:flex;align-items:center;border:1px solid var(--sc-sage-300);}
.single-product .sc-qty .sc-qty-btn{width:48px;height:56px;background:transparent;color:var(--sc-sage-900);font-size:18px;border:0;cursor:pointer;transition:background .25s;}
.single-product .sc-qty .sc-qty-btn:hover{background:var(--sc-sage-100);}
.single-product .sc-qty input.qty{width:44px;height:56px;border:0 !important;text-align:center;font-size:15px;background:transparent;-moz-appearance:textfield;}
.single-product .sc-qty input.qty::-webkit-outer-spin-button,.single-product .sc-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.single-product form.cart .single_add_to_cart_button{flex:1;height:56px;background:var(--sc-sage-700) !important;color:var(--sc-cream) !important;padding:0 32px !important;font-size:12.5px !important;letter-spacing:.18em;text-transform:uppercase;border-radius:0 !important;display:flex;align-items:center;justify-content:space-between;transition:background .25s;}
.single-product form.cart .single_add_to_cart_button::after{content:'\2192';font-size:17px;}
.single-product form.cart .single_add_to_cart_button:hover{background:var(--sc-sage-900) !important;}
.single-product .summary .tinv-wishlist{display:none !important;} /* hide TI's auto single button */
.single-product .sc-pdp-wish{margin-bottom:30px;}
.single-product .sc-pdp-wish .tinv-wishlist{display:block !important;width:100%;margin:0 !important;}
.sc-pdp-wish .tinvwl_add_to_wishlist_button,.sc-pdp-wish a.tinvwl_add_to_wishlist_button{width:100% !important;height:52px;display:flex !important;align-items:center;justify-content:center;gap:10px;background:transparent !important;border:1px solid var(--sc-green-500) !important;color:var(--sc-sage-900) !important;font-size:12px !important;letter-spacing:.16em;text-transform:uppercase;border-radius:0 !important;transition:all .25s;}
.sc-pdp-wish .tinvwl_add_to_wishlist_button:hover{background:var(--sc-sage-100) !important;border-color:var(--sc-sage-500) !important;}
.sc-trust{display:flex;flex-direction:column;gap:14px;padding:24px 0;border-top:1px solid rgba(47,64,52,.16);border-bottom:1px solid rgba(47,64,52,.16);margin-bottom:22px;}
.sc-trust-row{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--sc-muted);font-weight:300;}
.sc-trust-ic{color:var(--sc-sage-700);display:inline-flex;flex:none;}
.sc-pdp-meta{display:flex;gap:30px;font-size:12.5px;color:var(--sc-muted);font-weight:300;}
.sc-pdp-meta b{color:var(--sc-ink);font-weight:400;}.sc-pdp-meta a{color:var(--sc-sage-700);}
.single-product .woocommerce-tabs ul.tabs{border:0;padding:0;margin:0;border-bottom:1px solid rgba(34,38,31,.10);display:flex;gap:38px;}
.single-product .woocommerce-tabs ul.tabs::before{display:none !important;}
.single-product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;margin:0;padding:0;}
.single-product .woocommerce-tabs ul.tabs li a{padding:26px 0;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--sc-muted) !important;font-family:var(--sc-body);}
.single-product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--sc-sage-700);}
.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--sc-sage-900) !important;}
.single-product .woocommerce-tabs .panel{padding-top:0;}
.sc-desc-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:80px;padding:56px 0 76px;}
.sc-desc-h2{font-family:var(--sc-display);font-size:32px;color:var(--sc-sage-900);margin:0 0 22px;}
.sc-desc-copy p{font-size:16px;line-height:1.8;color:var(--sc-muted);font-weight:300;margin:0 0 20px;}
.sc-desc-disc{font-size:12.5px !important;line-height:1.8;color:var(--sc-muted-light) !important;font-style:italic;max-width:760px;}
.sc-glance{background:var(--sc-cream);padding:34px 32px;align-self:start;}
.sc-glance-head{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sc-sage-700);margin-bottom:22px;}
.sc-glance-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(47,64,52,.14);font-size:14px;font-weight:300;color:var(--sc-muted);}
.sc-glance-row:last-child{border-bottom:0;}
.sc-glance-val{color:var(--sc-ink);}
.sc-wear-copy p{font-size:16px;line-height:1.8;color:var(--sc-muted);font-weight:300;margin:0 0 20px;max-width:760px;}
.single-product .related.products>h2,.single-product .upsells.products>h2{font-family:var(--sc-display) !important;font-size:34px;color:var(--sc-sage-900);margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid rgba(34,38,31,.10);}
@media(max-width:900px){.single-product div.product{grid-template-columns:1fr;gap:32px;}.single-product h1.sc-pdp-title{font-size:40px !important;}.sc-desc-grid{grid-template-columns:1fr;gap:40px;padding-top:40px;}
/* stop the gallery bed dominating the phone: contained, centered, less tall */
.single-product div.product .woocommerce-product-gallery{max-width:260px;margin-left:auto !important;margin-right:auto !important;}
.single-product .woocommerce-product-gallery__image{aspect-ratio:1/1;}}
html,body{overflow-x:clip;}
/* ---- Contact form ---- */
.sc-contact-form{max-width:620px;margin:0 auto;}
.sc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.sc-field{margin-bottom:1.1rem;}
.sc-field label{display:block;font-size:.8rem;letter-spacing:.5px;color:var(--sc-muted);margin-bottom:.35rem;text-transform:uppercase;}
.sc-field label span{color:var(--sc-gold);}
.sc-field input,.sc-field textarea{width:100%;border:1px solid var(--sc-neutral-500);border-radius:3px;padding:.7em .8em;font-family:'Jost',sans-serif;font-size:1rem;background:#fff;color:var(--sc-neutral-800);}
.sc-contact-form .button{margin-top:.3rem;}
.sc-form-notice{max-width:620px;margin:0 auto 1.3rem;padding:.9em 1.1em;border-radius:3px;font-size:.95rem;}
.sc-form-ok{background:var(--sc-green-50);border-left:3px solid var(--sc-taupe);color:var(--sc-green-800);}
.sc-form-err{background:var(--sc-promo-soft);border-left:3px solid var(--sc-promo);color:var(--sc-promo-strong);}
/* ---- Mobile: cart + search cloned into the always-visible mobile header bar ---- */
.sc-mobile-clone{display:inline-flex !important;align-items:center;list-style:none !important;margin:0 !important;padding:0 !important;}
.sc-mobile-clone::before,.sc-mobile-clone::marker{content:none !important;display:none !important;}
.sc-mobile-clone .sc-cart-link,.sc-mobile-clone .sc-search-toggle{color:var(--sc-taupe) !important;padding:.2em .25em;}
.sc-mobile-clone .sc-cart-count{background:var(--sc-gold);color:#fff;font-size:.56rem;min-width:15px;height:15px;line-height:15px;border-radius:9px;padding:0 3px;}
.sc-mobile-clone .sc-cart-count.sc-empty{background:var(--sc-neutral-600);}
@media(max-width:921px){
  /* Shrink the (large) wordmark so cart + search fit beside the burger without overflow. */
  .custom-logo{max-width:150px !important;}
  .ast-primary-header-bar .site-header-primary-section-right{width:auto !important;flex:0 0 auto;gap:0;}
}
/* ---- Header account icon ---- */
.sc-account-link{display:inline-flex;align-items:center;color:var(--sc-taupe) !important;padding:.2em .3em;}
.sc-account-link:hover{color:var(--sc-gold) !important;}
/* ---- My Account area ---- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 1.5rem;padding:0;border:1px solid var(--sc-neutral-200);border-radius:4px;overflow:hidden;}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0;border-bottom:1px solid var(--sc-neutral-100);}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:.75em 1.1em;color:var(--sc-taupe) !important;text-transform:uppercase;letter-spacing:.6px;font-size:.8rem;text-decoration:none;}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--sc-cream);color:var(--sc-taupe) !important;}
.woocommerce-account .woocommerce-MyAccount-content{color:var(--sc-neutral-800);}
.woocommerce-account table.account-orders-table th,.woocommerce table.shop_table th{color:var(--sc-taupe);}
.woocommerce table.shop_table thead th,.woocommerce table.account-orders-table thead th{border-bottom:2px solid var(--sc-taupe);}
.woocommerce .addresses .title h3,.woocommerce-account h2,.woocommerce-account h3{font-family:'Cormorant Garamond',serif !important;color:var(--sc-taupe);}
@media(min-width:783px){.woocommerce-account .woocommerce-MyAccount-navigation{width:26%;}.woocommerce-account .woocommerce-MyAccount-content{width:70%;}}
/* ---- Header wishlist heart + TI wishlist recolour ---- */
.sc-wishlist-link{display:inline-flex;align-items:center;color:var(--sc-taupe) !important;padding:.2em .3em;}
.sc-wishlist-link:hover{color:var(--sc-gold) !important;}
.tinvwl_add_to_wishlist_button,.tinv-wishlist .tinvwl-btn-onlyicon,.tinv-wishlist .button{color:var(--sc-taupe) !important;}
.tinvwl-icon-heart-plus:before,.tinv-wishlist .tinvwl-icon-heart:before,.tinvwl_add_to_wishlist_button .tinvwl-icon-heart{color:var(--sc-gold) !important;}
.tinv-wishlist .tinv-header h2,.tinv-wishlist h2{font-family:'Cormorant Garamond',serif !important;color:var(--sc-taupe);}
.tinv-wishlist table.tinvwl-table thead th{border-bottom:2px solid var(--sc-taupe);color:var(--sc-taupe);}
.tinv-wishlist .button.alt,.tinvwl-buttons-group .button,.tinv-wishlist button.button{background:var(--sc-taupe) !important;color:#fff !important;}
.tinv-wishlist .button.alt:hover,.tinvwl-buttons-group .button:hover{background:var(--sc-green-2) !important;}
/* TI Wishlist "added to wishlist" popup — clean, on-brand card (was inheriting the global 16/30 button padding, giving two identical oversized buttons) */
.tinvwl_added_to_wishlist .tinv-overlay{background:rgba(34,38,31,.55) !important;}
.tinvwl_added_to_wishlist .tinv-cell{vertical-align:middle;text-align:center;}
.tinvwl_added_to_wishlist .tinv-modal-inner{width:100%;max-width:420px;margin:0 auto;background:var(--sc-paper) !important;padding:40px 36px 32px !important;text-align:center;box-shadow:0 24px 70px rgba(34,38,31,.35);border-radius:2px;}
.tinvwl_added_to_wishlist .icon_big_heart_check{display:block;font-size:44px !important;line-height:1;color:var(--sc-sage-700) !important;margin:0 auto 18px;}
.tinvwl_added_to_wishlist .tinv-txt{font-family:var(--sc-display) !important;font-size:23px;line-height:1.3;color:var(--sc-sage-900);margin:0 0 26px;}
.tinvwl_added_to_wishlist .tinvwl-buttons-group{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;}
.tinvwl_added_to_wishlist .tinvwl-buttons-group .button{display:inline-flex !important;align-items:center;justify-content:center;gap:9px;width:100%;margin:0 !important;padding:14px 22px !important;font-size:12px !important;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--sc-sage-700) !important;border-radius:0 !important;transition:all .25s;}
.tinvwl_added_to_wishlist .tinvwl-buttons-group .button i{font-size:14px;line-height:1;}
.tinvwl_added_to_wishlist .tinvwl-buttons-group .tinvwl_button_view{background:var(--sc-sage-700) !important;color:var(--sc-cream) !important;}
.tinvwl_added_to_wishlist .tinvwl-buttons-group .tinvwl_button_view:hover{background:var(--sc-sage-900) !important;border-color:var(--sc-sage-900) !important;color:var(--sc-cream) !important;}
.tinvwl_added_to_wishlist .tinvwl-buttons-group .tinvwl_button_close{background:transparent !important;color:var(--sc-sage-900) !important;}
.tinvwl_added_to_wishlist .tinvwl-buttons-group .tinvwl_button_close:hover{background:var(--sc-sage-100) !important;color:var(--sc-sage-900) !important;}
/* ==== Workstream A — category filter sidebar + mobile filter sheet ==== */
.sc-cat-body{position:relative;overflow:hidden;background:transparent;width:100vw;margin-left:calc(50% - 50vw);}
.sc-cat-grid{position:relative;max-width:1240px;margin:0 auto;padding:56px 40px 88px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:56px;align-items:start;background:rgba(255,255,255,.5);border:1px solid rgba(34,38,31,.07);}
.sc-cat-grid > svg{pointer-events:none;}
.sc-products-col{min-width:0;}
.sc-cat-grid .sc-products-col ul.products{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:36px 28px !important;margin:0 !important;padding:0;list-style:none;float:none;}
.sc-cat-grid .sc-products-col ul.products::before,.sc-cat-grid .sc-products-col ul.products::after{content:none !important;display:none !important;}
.sc-cat-grid .sc-products-col ul.products li.product{width:auto !important;margin:0 !important;padding:0;float:none !important;clear:none !important;}
/* Toolbar active-filter chips */
.sc-chips{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.sc-chips:empty{display:none;}
.sc-chips-label{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--sc-sage-500);}
.sc-chip{display:inline-flex;align-items:center;gap:9px;background:var(--sc-sage-100);color:var(--sc-sage-900);padding:9px 14px;font-size:12.5px;line-height:1;text-decoration:none;}
.sc-chip:hover{color:var(--sc-sage-900);}
.sc-chip .sc-chip-x{display:inline-flex;align-items:center;color:var(--sc-sage-700);line-height:0;}
.sc-chip svg{flex:none;}
.sc-chips-clear{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sc-sage-700);border-bottom:1px solid var(--sc-sage-300);padding-bottom:2px;}
/* Sidebar shell + sections */
.sc-sidebar{display:flex;flex-direction:column;gap:0;padding-bottom:8px;}
.sc-fs{padding:26px 0;border-bottom:1px solid rgba(34,38,31,.12);}
.sc-fs:first-child{padding-top:0;}
.sc-fs:last-of-type{padding-bottom:0;border-bottom:0;}
.sc-fs-head{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sc-green-700);}
.sc-fs:not(.sc-fs--collapsible) .sc-fs-head{margin-bottom:14px;}
.sc-fs--collapsible .sc-fs-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;cursor:pointer;-webkit-user-select:none;user-select:none;}
.sc-fs--collapsible .sc-fs-head svg{flex:none;color:var(--sc-green-700);transition:transform .25s;}
.sc-fs.is-collapsed .sc-fs-body{display:none;}
.sc-fs.is-collapsed .sc-fs-head svg{transform:rotate(180deg);}
.sc-fs-body{display:flex;flex-direction:column;gap:13px;}
.sc-fs:first-child .sc-fs-body{gap:14px;}
.sc-fs-body--chips,.sc-fs-body:has(.sc-chip-wear){flex-flow:row wrap;gap:8px;}
.sc-range-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--sc-muted);border-left:2px solid transparent;padding-left:12px;margin-left:-14px;transition:color .25s;text-decoration:none;}
.sc-range-row:hover{color:var(--sc-sage-900);}
.sc-range-row.is-current{color:var(--sc-sage-900);border-left-color:var(--sc-sage-700);}
.sc-range-row > span{font-family:'Jost',sans-serif;font-size:11.5px;color:var(--sc-green-700);letter-spacing:.1em;font-weight:400;}
.sc-check{display:flex;align-items:center;gap:11px;font-size:14px;color:var(--sc-ink);font-weight:300;cursor:pointer;min-height:24px;transition:color .2s;text-decoration:none;}
.sc-check > span:first-child{width:16px;height:16px;flex:none;border:1px solid var(--sc-sage-300);background:var(--sc-white);display:flex;align-items:center;justify-content:center;}
.sc-check > span:first-child svg{opacity:0;}
.sc-check > span:nth-child(2){flex:1;}
.sc-check > span:last-child{font-size:11.5px;color:var(--sc-green-700);}
.sc-check.is-checked{color:var(--sc-sage-900);font-weight:400;}
.sc-check.is-checked > span:first-child{background:var(--sc-sage-700);border-color:var(--sc-sage-700);color:var(--sc-cream);}
.sc-check.is-checked > span:first-child svg{opacity:1;stroke:var(--sc-cream);}
.sc-check.is-disabled{opacity:.45;pointer-events:none;cursor:default;}
.sc-chip-wear{border:1px solid var(--sc-sage-300);background:transparent;padding:8px 14px;font-size:12.5px;line-height:1;color:var(--sc-sage-900);cursor:pointer;transition:all .25s;text-decoration:none;display:inline-block;}
.sc-chip-wear:hover{background:var(--sc-sage-100);border-color:var(--sc-sage-500);}
.sc-chip-wear.is-active{background:var(--sc-sage-700);border-color:var(--sc-sage-700);color:var(--sc-cream);}
.sc-chip-wear.is-active:hover{background:var(--sc-sage-700);border-color:var(--sc-sage-700);}
.sc-chip-wear.is-disabled{opacity:.45;pointer-events:none;cursor:default;}
.sc-find{display:block;}
.sc-find-box{display:flex;align-items:center;gap:10px;border:1px solid var(--sc-sage-300);background:var(--sc-white);padding:12px 14px;}
.sc-find-box svg{flex:none;color:var(--sc-sage-500);}
.sc-find input[type="text"],.sc-find input[type="search"]{flex:1;min-width:0;border:0;padding:0;background:transparent;outline:none;font-family:'Jost',sans-serif;font-size:13.5px;font-weight:300;color:var(--sc-ink);}
.sc-find input::placeholder{color:var(--sc-muted);opacity:1;}
.sc-find-help{font-size:12.5px;line-height:1.6;color:var(--sc-muted);font-weight:300;margin-top:12px;}
.sc-promo-card{position:relative;margin-top:34px;background:var(--sc-cream);padding:24px 22px;overflow:hidden;}
.sc-promo-card svg{pointer-events:none;}
.sc-promo-card > *:not(svg){position:relative;z-index:1;}
.sc-promo-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;line-height:1.25;color:var(--sc-sage-700);margin-bottom:10px;}
.sc-promo-card p{font-size:12.5px;line-height:1.6;color:var(--sc-muted);font-weight:300;}
.sc-no-results{padding:32px 0 24px;}
.sc-no-results p{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--sc-sage-900);margin:0 0 22px;}
.sc-no-results .sc-btn{display:inline-block;background:var(--sc-sage-700);color:var(--sc-cream) !important;padding:14px 28px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;transition:background .25s;border:1px solid var(--sc-sage-700);}
.sc-no-results .sc-btn:hover{background:var(--sc-sage-900);}
.sc-range-row:focus-visible,.sc-check:focus-visible,.sc-chip-wear:focus-visible,.sc-chip:focus-visible,.sc-chips-clear:focus-visible,.sc-find input:focus-visible,.sc-filter-open-btn:focus-visible,.sc-fs--collapsible .sc-fs-head:focus-visible,.sc-sheet-apply:focus-visible{outline:2px solid var(--sc-sage-700);outline-offset:2px;}
/* Mobile filter button + sheet chrome (hidden on desktop) */
.sc-filter-open-btn{display:none;}
.sc-sheet-head,.sc-sheet-foot{display:none;}
@media (max-width:1279px){.sc-cat-grid{padding-left:32px;padding-right:32px;}}
@media (max-width:1023px){
  .sc-cat-grid{grid-template-columns:1fr;}
  .sc-sidebar{display:none;}
  .sc-filter-open-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:0 18px;margin:0 0 28px;background:transparent;border:1px solid var(--sc-sage-700);color:var(--sc-sage-900);font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;}
  .sc-filter-open-btn:hover{background:var(--sc-sage-100);}
  .sc-filter-veil{position:fixed;inset:0;background:rgba(34,38,31,.44);border:0;z-index:999;cursor:pointer;animation:sc-veil-in 280ms ease-out;}
  body.sc-filter-open .sc-sidebar{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;top:auto;max-height:88vh;overflow:auto;margin:0;padding:0 20px;background:var(--sc-cream);z-index:1000;animation:sc-sheet-up 320ms ease-out;-webkit-overflow-scrolling:touch;}
  body.sc-filter-open .sc-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:2;background:var(--sc-cream);padding:20px 0 16px;border-bottom:1px solid rgba(34,38,31,.12);}
  body.sc-filter-open .sc-sheet-title{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--sc-sage-900);}
  body.sc-filter-open .sc-sheet-head a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sc-sage-700);border-bottom:1px solid var(--sc-sage-300);padding-bottom:2px;}
  body.sc-filter-open .sc-sheet-foot{display:block;position:sticky;bottom:0;z-index:2;margin-top:8px;padding:16px 0 20px;background:var(--sc-cream);border-top:1px solid rgba(34,38,31,.12);}
  body.sc-filter-open .sc-sheet-apply{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;background:var(--sc-sage-700);color:var(--sc-cream);border:0;cursor:pointer;text-decoration:none;font-family:'Jost',sans-serif;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;}
  body.sc-filter-open .sc-sheet-apply:hover{background:var(--sc-sage-900);}
  body.sc-filter-open .sc-sidebar .sc-fs:first-child{padding-top:26px;}
  body.sc-filter-open .sc-check{min-height:44px;}
  body.sc-filter-open .sc-range-row{min-height:44px;}
  body.sc-filter-open .sc-chip-wear{padding:12px 16px;}
}
@media (max-width:767px){
  .sc-cat-grid .sc-products-col ul.products{grid-template-columns:repeat(2,1fr) !important;gap:20px !important;}
  .sc-cat-grid{padding:40px 20px 64px;}
}
/* ==== Workstream B — mobile drawer + search overlay (Astra breakpoint 921px) ==== */
.sc-search-icon{display:none;}
@media (max-width:921px){
  /* B1a promo bar */
  .sc-topbar{gap:14px !important;padding:9px 16px !important;font-size:10.5px !important;letter-spacing:.14em !important;line-height:1.3 !important;}
  .sc-topbar-drop{display:none;}
  /* B1b header row */
  .ast-primary-header-bar .ast-builder-grid-row-has-sides{display:flex !important;align-items:center;position:relative;padding:16px 20px !important;}
  .ast-primary-header-bar,.main-header-bar{border-bottom:1px solid rgba(34,38,31,.10) !important;}
  .ast-primary-header-bar .site-header-primary-section-left{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0 !important;padding:0 !important;z-index:1;}
  .ast-primary-header-bar .custom-logo,.ast-primary-header-bar .site-logo-img img{height:29px !important;width:auto !important;}
  .ast-primary-header-bar .site-header-primary-section-right{display:flex !important;align-items:center;gap:16px;flex:1 1 auto !important;width:auto !important;justify-content:flex-end;position:relative;z-index:2;}
  .ast-primary-header-bar .site-header-primary-section-right .ast-builder-layout-element{order:-1;margin-right:auto;}
  /* The icon section spans the full row over the centered logo; let clicks pass through its empty
     area to the logo link underneath, but keep the icons + hamburger clickable. */
  .ast-primary-header-bar .site-header-primary-section-right{pointer-events:none;}
  .ast-primary-header-bar .site-header-primary-section-right a,
  .ast-primary-header-bar .site-header-primary-section-right button{pointer-events:auto;}
  .ast-primary-header-bar .sc-search-toggle svg,.ast-primary-header-bar .sc-cart-link svg{width:19px;height:19px;}
  .ast-primary-header-bar .sc-cart-link{position:relative;display:inline-flex;}
  .ast-primary-header-bar .sc-cart-count{position:absolute;top:-5px;right:-7px;width:16px !important;height:16px !important;line-height:16px !important;min-width:0 !important;border-radius:50% !important;padding:0 !important;font-size:9.5px !important;background:var(--sc-sage-700) !important;color:var(--sc-cream) !important;display:flex;align-items:center;justify-content:center;}
  .ast-primary-header-bar .sc-cart-count.sc-empty{display:none !important;}
  /* B2 hamburger */
  .menu-toggle{width:44px;height:44px;margin-left:-12px;padding:0 12px;display:flex !important;align-items:center;justify-content:center;}
  .menu-toggle .ast-mobile-svg,.menu-toggle > svg,.menu-toggle .ast-close,.menu-toggle .ast-close-svg{display:none !important;}
  .menu-toggle .sc-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;}
  .menu-toggle .sc-burger i{display:block;height:1.5px;background:var(--sc-sage-900);}
  .menu-toggle .sc-burger i:nth-child(1){width:20px;}
  .menu-toggle .sc-burger i:nth-child(2){width:14px;}
  .menu-toggle .sc-burger i:nth-child(3){width:20px;}
  .menu-toggle .sc-burger-x{display:none;align-items:center;justify-content:center;color:var(--sc-sage-900);}
  .menu-toggle .sc-burger-x svg{width:20px;height:20px;}
  .menu-toggle[aria-expanded="true"] .sc-burger{display:none;}
  .menu-toggle[aria-expanded="true"] .sc-burger-x{display:flex;}
  /* B3 drawer */
  .ast-mobile-header-content{overflow:visible;}
  .main-header-bar-navigation.toggle-on{position:fixed;left:0;right:0;top:var(--sc-drawer-top,96px);bottom:0;background:var(--sc-cream);overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:99;padding:30px 24px 26px;display:flex;flex-direction:column;animation:sc-veil-in .28s ease-out both;}
  .main-header-bar-navigation.toggle-on > #ast-mobile-site-navigation{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;}
  #ast-mobile-site-navigation.sc-drawer-ready #ast-hf-mobile-menu{display:none;}
  .sc-drawer{flex:1 1 auto;height:100%;position:relative;display:flex;flex-direction:column;}
  .sc-drawer > :not(svg){position:relative;z-index:1;}
  .sc-drawer-kicker{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--sc-sage-700);margin-bottom:18px;}
  .sc-drawer-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:30px;}
  .sc-drawer-card{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;transition:background .25s;}
  .sc-drawer-card--mens{background:var(--sc-sage-100);}
  .sc-drawer-card--mens:hover{background:var(--sc-sage-300);}
  .sc-drawer-card--ladies{background:var(--sc-sand);}
  .sc-drawer-card--ladies:hover{background:var(--sc-sand-deep);}
  .sc-drawer-card-title{display:block;font-family:var(--sc-display);font-size:27px;color:var(--sc-sage-900);line-height:1.1;}
  .sc-drawer-card-meta{display:block;font-size:12px;color:var(--sc-muted);font-weight:300;margin-top:4px;}
  .sc-drawer-card svg{width:18px;height:18px;flex:none;color:var(--sc-sage-700);}
  .sc-drawer-links{display:flex;flex-direction:column;}
  .sc-drawer-link{font-family:var(--sc-display);font-size:23px;color:var(--sc-sage-900);padding:15px 0;border-bottom:1px solid rgba(47,64,52,.14);display:flex;align-items:center;justify-content:space-between;transition:color .2s;}
  .sc-drawer-link:last-child{border-bottom:none;}
  .sc-drawer-link:hover{color:var(--sc-sage-700);}
  .sc-drawer-link .sc-drawer-link-count{font-family:var(--sc-body);font-size:11px;color:var(--sc-sage-500);letter-spacing:.12em;}
  .sc-drawer-foot{margin-top:auto;}
  .sc-drawer-divider{height:1px;background:rgba(47,64,52,.16);margin-bottom:22px;transform-origin:left;}
  .sc-drawer-promo{font-family:var(--sc-display);font-style:italic;font-size:21px;color:var(--sc-sage-700);margin-bottom:16px;}
  .sc-drawer-contact{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13.5px;color:var(--sc-muted);font-weight:300;}
  .sc-drawer-contact svg{width:16px;height:16px;flex:none;color:var(--sc-sage-700);}
  .sc-drawer-tel{display:block;font-family:var(--sc-display);font-size:24px;color:var(--sc-sage-900);}
  .main-header-bar-navigation.toggle-on .sc-drawer-kicker{animation:sc-rise-in .4s ease-out both;animation-delay:.04s;}
  .main-header-bar-navigation.toggle-on .sc-drawer-cards .sc-drawer-card:nth-child(1){animation:sc-rise-in .4s ease-out both;animation-delay:.08s;}
  .main-header-bar-navigation.toggle-on .sc-drawer-cards .sc-drawer-card:nth-child(2){animation:sc-rise-in .4s ease-out both;animation-delay:.13s;}
  .main-header-bar-navigation.toggle-on .sc-drawer-links .sc-drawer-link:nth-child(1){animation:sc-rise-in .4s ease-out both;animation-delay:.18s;}
  .main-header-bar-navigation.toggle-on .sc-drawer-links .sc-drawer-link:nth-child(2){animation:sc-rise-in .4s ease-out both;animation-delay:.22s;}
  .main-header-bar-navigation.toggle-on .sc-drawer-links .sc-drawer-link:nth-child(3){animation:sc-rise-in .4s ease-out both;animation-delay:.26s;}
  .main-header-bar-navigation.toggle-on .sc-drawer-links .sc-drawer-link:nth-child(4){animation:sc-rise-in .4s ease-out both;animation-delay:.30s;}
  .main-header-bar-navigation.toggle-on .sc-drawer-links .sc-drawer-link:nth-child(5){animation:sc-rise-in .4s ease-out both;animation-delay:.34s;}
  .main-header-bar-navigation.toggle-on .sc-drawer-foot{animation:sc-rise-in .4s ease-out both;animation-delay:.36s;}
  .main-header-bar-navigation.toggle-on .sc-drawer-divider{animation:sc-grow-line .5s ease-out both;animation-delay:.34s;}
  /* B4 search overlay (restyle .sc-search-panel) */
  .sc-search-panel{background:var(--sc-cream) !important;padding:0 !important;box-shadow:0 6px 24px rgba(47,64,52,.14) !important;}
  .sc-search-form{max-width:none;margin:0;display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid rgba(34,38,31,.10);}
  .sc-search-form .sc-search-icon{display:inline-flex;width:19px;height:19px;flex:none;color:var(--sc-sage-700);stroke:var(--sc-sage-700);}
  .sc-search-form input[type=search]{flex:1;min-width:0;border:0 !important;border-bottom:0 !important;background:transparent !important;color:var(--sc-sage-900) !important;caret-color:var(--sc-sage-300);font-family:'Cormorant Garamond',serif !important;font-size:22px !important;padding:0 !important;}
  .sc-search-form input[type=search]::placeholder{color:var(--sc-muted);opacity:1;}
  .sc-search-form input[type=search]:focus{border:0 !important;box-shadow:none !important;}
  .sc-search-form button[type=submit]{display:none !important;}
  .sc-search-close{width:44px;height:44px;flex:none;margin-right:-12px;display:flex;align-items:center;justify-content:center;color:var(--sc-sage-900) !important;font-size:24px !important;line-height:1;padding:0 !important;background:transparent !important;}
}
/* ==== Phase 5 (C1) — content/prose pages (About/Contact/Returns/Disclaimer/Privacy/Terms) ==== */
.sc-content-page .entry-title{display:none;}
.sc-content-page .ast-article-single{padding:40px 20px 76px;}
.sc-content-page .entry-content{max-width:760px;margin:0 auto;}
.sc-content-page .entry-content > h1:first-child,.sc-content-page .entry-content > .wp-block-heading:first-child{margin-top:0;}
.sc-content-page .entry-content h2{margin:44px 0 14px;}
.sc-content-page .entry-content h3{margin:26px 0 10px;}
.sc-content-page .entry-content p{line-height:1.8;margin:0 0 16px;}
.sc-content-page .entry-content ul,.sc-content-page .entry-content ol{line-height:1.8;padding-left:22px;margin:0 0 18px;}
.sc-content-page .entry-content li{margin:0 0 8px;}
.sc-content-page .entry-content a{text-decoration:underline;}
.sc-content-page .entry-content a:hover{color:var(--sc-sage-900);}
@media(max-width:767px){.sc-content-page .ast-article-single{padding:28px 20px 56px;}}
/* ==== Phase 5 (C2) — cart / checkout / account / wishlist light polish ==== */
.woocommerce-account .woocommerce-MyAccount-content h2,.woocommerce-account .woocommerce-MyAccount-content h3,.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce-checkout .wc-block-components-title,.tinv-wishlist h2{font-family:var(--sc-display) !important;color:var(--sc-sage-900);font-weight:400;}
.woocommerce form .form-row label,.woocommerce-account form label,.woocommerce-ResetPassword label{font-size:12.5px;letter-spacing:.04em;color:var(--sc-muted);}
.woocommerce table.shop_table,.woocommerce table.cart,.tinv-wishlist table.tinvwl-table{border-color:rgba(34,38,31,.10) !important;}
.woocommerce table.shop_table thead th,.tinv-wishlist table.tinvwl-table thead th{font-family:var(--sc-body);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sc-sage-900);}
.woocommerce .woocommerce-form-login,.woocommerce .woocommerce-form-register,.woocommerce .u-column1,.woocommerce .u-column2{border-color:rgba(34,38,31,.12) !important;}
/* ==== Phase 5 (C3) — 404 ==== */
.error404 .error-404{max-width:640px;margin:0 auto;padding:72px 20px 96px;text-align:center;}
.error404 .error-404 .page-title{font-family:var(--sc-display) !important;font-size:52px;line-height:1.06;letter-spacing:-.01em;color:var(--sc-sage-900);margin:0 0 16px !important;}
.error404 .error-404 .page-sub-title{font-family:var(--sc-body) !important;font-size:16px;font-weight:300;color:var(--sc-muted);margin:0 0 26px;}
.error404 .ast-404-search{max-width:460px;margin:0 auto;}
.error404 .ast-404-search form{display:flex;gap:8px;align-items:stretch;}
.error404 .ast-404-search .search-field{flex:1;min-width:0;border:1px solid var(--sc-green-500) !important;border-radius:0 !important;padding:12px 14px;}
.error404 .ast-404-search .ast-search-submit{flex:none;background:var(--sc-sage-700) !important;color:var(--sc-cream) !important;border:0 !important;border-radius:0 !important;padding:0 16px !important;display:flex;align-items:center;justify-content:center;}
.error404 .ast-404-search .ast-search-submit .ast-icon svg{fill:var(--sc-cream) !important;width:16px;height:16px;}
.error404 .ast-404-search input.search-submit{display:none !important;}
@media(max-width:767px){.error404 .error-404{padding:48px 20px 64px;}.error404 .error-404 .page-title{font-size:38px;}}
/* Not moved to cart-checkout.css: this toast + banner also render on shop and
   product pages, so it stays in the site-wide sheet. */
/* ==== Buy-2-Get-1 upsell nudge — slide-in toast + checkout banner ==== */
.sc-promo-toast{position:fixed;right:28px;bottom:28px;z-index:100000;width:400px;max-width:calc(100vw - 32px);background:var(--sc-promo-strong);color:var(--sc-cream);padding:26px 28px 24px;border-top:4px solid var(--sc-promo);box-shadow:0 22px 60px rgba(74,18,28,.42);transform:translateY(170%);opacity:0;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s ease;}
.sc-promo-toast.is-open{transform:translateY(0);opacity:1;animation:sc-promo-pop .6s ease .5s 1;}
@keyframes sc-promo-pop{0%,100%{transform:translateY(0) scale(1);}42%{transform:translateY(0) scale(1.035);}}
.sc-promo-toast-kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--sc-promo-tint);margin-bottom:9px;font-weight:500;}
.sc-promo-toast-msg{font-family:var(--sc-display);font-size:27px;line-height:1.2;color:var(--sc-cream);margin:0 0 18px;}
.sc-promo-toast-cta{display:inline-block;background:var(--sc-cream);color:var(--sc-promo-strong) !important;padding:13px 26px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;font-weight:500;transition:background .25s;}
.sc-promo-toast-cta:hover{background:#fff;color:var(--sc-promo-strong) !important;}
.sc-promo-toast-close{position:absolute;top:10px;right:12px;background:transparent !important;border:0;color:var(--sc-cream);opacity:.75;font-size:24px;line-height:1;cursor:pointer;padding:4px 6px;}
.sc-promo-toast-close:hover{opacity:1;}
@media(max-width:600px){.sc-promo-toast{left:16px;right:16px;bottom:16px;width:auto;padding:22px 20px;}.sc-promo-toast-msg{font-size:23px;}}
@media (prefers-reduced-motion: reduce){.sc-promo-toast{transition:none;}.sc-promo-toast.is-open{animation:none;}}
.sc-promo-banner{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--sc-promo-soft);border:1px solid var(--sc-promo-line);border-left:4px solid var(--sc-promo);padding:18px 24px;margin:0 0 28px;border-radius:2px;}
.sc-promo-banner-ic{flex:0 0 auto;width:26px;height:26px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 24 24' fill='none' stroke='%238B2F3F' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-8'/%3E%3Cpath d='M2.5 8h19v4h-19z'/%3E%3Cpath d='M12 8v13'/%3E%3Cpath d='M12 8C12 8 11 3.5 8 4.5S8 8 12 8zM12 8s1-4.5 4-3.5S16 8 12 8z'/%3E%3C/svg%3E") center/contain no-repeat;}
.sc-promo-banner-msg{font-family:var(--sc-display);font-size:22px;line-height:1.3;color:var(--sc-promo-strong);flex:1;min-width:0;}
.sc-promo-banner-msg strong{color:var(--sc-promo);font-weight:600;}
.sc-promo-banner-cta{background:var(--sc-promo);color:#fff !important;text-decoration:none;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;padding:11px 22px;transition:background .25s;}
.sc-promo-banner-cta:hover{background:var(--sc-promo-strong) !important;color:#fff !important;}
/* Mobile: the banner was collapsing into a ribbon. .sc-promo-banner-msg had
   flex:1 with min-width:0, so instead of pushing the nowrap CTA onto its own
   line it shrank to whatever was left — about 110px at 375px wide — and the
   copy wrapped over seven lines, eating most of the first screen before the
   customer reached anything actionable. Giving the message a flex-basis of the
   full row minus the icon forces the wrap, and the CTA then spans the second
   row as a proper full-width button. */
@media(max-width:600px){
  .sc-promo-banner{gap:10px 12px;padding:16px 18px;margin-bottom:22px;}
  .sc-promo-banner-msg{font-size:17px;line-height:1.35;flex:1 1 calc(100% - 38px);}
  .sc-promo-banner-cta{flex:1 1 100%;text-align:center;padding:13px 20px;letter-spacing:.12em;}
}
/* Not moved to cart-checkout.css: this is the address-autocomplete plugin's
   own widget, styled alongside the plugin — not part of this redesign. */
/* ==== Address autocomplete (OpenStreetMap) search box ==== */
.sc-addr-search{position:relative;margin:16px 0 22px;}
.sc-addr-label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--sc-green-700);margin-bottom:8px;}
.sc-addr-box{display:flex;align-items:center;gap:10px;border:1px solid var(--sc-sage-300);background:var(--sc-white);padding:12px 14px;}
/* .sc-addr-input itself is border:0 (the visible border belongs to this box),
   so its own :focus has nothing to change — give the box a focus-within
   indicator instead, or the address-autocomplete field is keyboard-focusable
   with zero visible feedback. */
.sc-addr-box:focus-within{border-color:var(--sc-green-700) !important;}
.sc-addr-input{flex:1;min-width:0;border:0 !important;outline:0;background:transparent !important;font-family:var(--sc-body);font-size:15px;color:var(--sc-ink);padding:0 !important;box-shadow:none !important;}
.sc-addr-input::placeholder{color:var(--sc-muted);opacity:1;}
.sc-addr-list{position:absolute;left:0;right:0;top:100%;z-index:60;background:var(--sc-white);border:1px solid var(--sc-sage-300);border-top:0;max-height:280px;overflow:auto;display:none;box-shadow:0 14px 34px rgba(34,51,42,.14);}
.sc-addr-list.is-open{display:block;}
.sc-addr-opt{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid rgba(34,38,31,.08);padding:11px 14px;font-family:var(--sc-body);font-size:14px;line-height:1.4;color:var(--sc-ink);cursor:pointer;}
.sc-addr-opt:last-child{border-bottom:0;}
.sc-addr-opt:hover{background:var(--sc-sage-100);}
.sc-addr-help{font-size:12px;line-height:1.5;color:var(--sc-muted);font-weight:300;margin-top:8px;}
/* Block-checkout address field order: name → country → find-your-address → street → city/province → postcode → phone.
   Keep the form flex-wrapped at ALL widths (WC switches it to display:block on mobile, which would kill `order`). */
.wc-block-components-address-form{display:flex !important;flex-wrap:wrap !important;}
.wc-block-components-address-form__first_name{order:1;}
.wc-block-components-address-form__last_name{order:2;}
.wc-block-components-address-form__country{order:3;}
.wc-block-components-address-form .sc-addr-search{order:4;flex:0 0 100%;width:100%;}
.wc-block-components-address-form__address_1{order:5;}
.wc-block-components-address-form__address_2,
.wc-block-components-address-form__address_2-toggle,
.wc-block-components-address-form__address_2-hidden-input{order:6;}
.wc-block-components-address-form__city{order:7;}
.wc-block-components-address-form__state{order:8;}
.wc-block-components-address-form__postcode{order:9;}
.wc-block-components-address-form__phone{order:10;}
/* Country + Province selects ship with margin-top:0 (a two-up-layout artifact); give them the same
   12px top margin as every other field — so the full-width Country row isn't flush against the name
   row, and City/Province align on their shared desktop row. Applies at all widths. */
.wc-block-components-address-form__country,
.wc-block-components-address-form__state{margin-top:12px !important;}
/* Block checkout text inputs: the site-wide focus indicator (line ~54,
   border-color only, outline:0) is UNRELIABLE here — WooCommerce's own block
   stylesheet sets a competing `border: 1.5px solid` (color: currentColor) on
   these same inputs at equal specificity to our `!important` override, and
   which one wins the border-color race was observed to vary between page
   loads (sometimes Address/City/Postcode switched to --sc-taupe on focus,
   sometimes every text field — including First/Last name — stayed at the
   resting --sc-green-500 with no visible change at all). Rather than depend
   on winning that race, force an independent, unmistakable outline on every
   block-checkout text field so focus is always visible regardless of which
   way the border-color cascade resolves on a given load. */
.wc-block-components-text-input input:focus,.wc-blocks-components-select__select:focus{outline:2px solid var(--sc-green-700) !important;outline-offset:-2px;}
/* Mobile: single full-width column (still honouring `order`) instead of cramped two-up pairs */
@media (max-width:600px){
  .wc-block-components-address-form{flex-direction:column !important;flex-wrap:nowrap !important;}
  .wc-block-components-address-form > *{flex:0 0 auto !important;width:100% !important;max-width:100% !important;}
}

/* ==== Product detail v2 — breadcrumb, gallery zoom, tabs + related panels ==== */
.single-product .woocommerce-breadcrumb,.single-product nav.woocommerce-breadcrumb{font-size:12px !important;color:var(--sc-muted) !important;font-weight:300;letter-spacing:0 !important;margin:0 0 40px !important;}
.single-product .woocommerce-breadcrumb a{color:var(--sc-sage-700);}
.single-product .woocommerce-breadcrumb .sc-crumb-sep{color:var(--sc-sage-300);margin:0 9px;}
.single-product .woocommerce-product-gallery__trigger{position:absolute;top:16px;right:16px;left:auto;bottom:auto;width:38px;height:38px;margin:0;padding:0;border-radius:0;background:rgba(255,255,255,.9);color:transparent;font-size:0;text-indent:0;opacity:1;z-index:2;display:flex;align-items:center;justify-content:center;transition:background .25s;}
.single-product .woocommerce-product-gallery__trigger::before{content:'';display:block;width:17px;height:17px;background:var(--sc-sage-700);transition:background .25s;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.5'%20stroke-linecap='round'%3E%3Ccircle%20cx='11'%20cy='11'%20r='7'/%3E%3Cpath%20d='M20%2020l-4.3-4.3'/%3E%3Cpath%20d='M11%208.5v5M8.5%2011h5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.5'%20stroke-linecap='round'%3E%3Ccircle%20cx='11'%20cy='11'%20r='7'/%3E%3Cpath%20d='M20%2020l-4.3-4.3'/%3E%3Cpath%20d='M11%208.5v5M8.5%2011h5'/%3E%3C/svg%3E") center/contain no-repeat;}
.single-product .woocommerce-product-gallery__trigger:hover{background:var(--sc-sage-700);}
.single-product .woocommerce-product-gallery__trigger:hover::before{background:var(--sc-cream);}
.single-product .woocommerce-tabs{max-width:1240px;margin:0 auto;background:rgba(255,255,255,.62);border:1px solid rgba(34,38,31,.07);padding:0 40px 8px;}
.single-product .sc-related{position:relative;overflow:hidden;max-width:1240px;margin:0 auto;background:rgba(255,255,255,.5);border:1px solid rgba(34,38,31,.07);}
.sc-related-inner{position:relative;z-index:1;padding:84px 40px 96px;}
.sc-related-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:28px;border-bottom:1px solid rgba(34,38,31,.10);margin-bottom:48px;}
.sc-rel-kicker{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--sc-sage-700);margin-bottom:4px;}
.sc-rel-flourish{display:block;margin:-4px 0 14px;color:var(--sc-sage-500);opacity:.4;}
.sc-rel-h2{font-family:var(--sc-display) !important;font-size:42px;color:var(--sc-sage-900);letter-spacing:-.01em;margin:0;font-weight:400;}
.single-product .sc-related .related.products{margin:0;padding:0;border:0;width:auto;}
.single-product .sc-related .related.products>h2{display:none;}
.single-product .sc-related ul.products{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:32px 28px !important;margin:0 !important;padding:0;list-style:none;float:none;}
.single-product .sc-related ul.products::before,.single-product .sc-related ul.products::after{content:none !important;display:none !important;}
.single-product .sc-related ul.products li.product{width:auto !important;margin:0 !important;float:none !important;clear:none !important;}
@media(max-width:1023px){.single-product .sc-related ul.products{grid-template-columns:repeat(3,1fr) !important;}}
@media(max-width:900px){.sc-related-head{flex-direction:column;align-items:flex-start;gap:16px;}.sc-rel-h2{font-size:32px;}.sc-related-inner{padding:56px 24px 64px;}.single-product .woocommerce-tabs{padding:0 24px 8px;}}
@media(max-width:767px){.single-product .sc-related ul.products{grid-template-columns:repeat(2,1fr) !important;gap:20px !important;}}

/* ===== v2 mobile drawer refinements (Men's -> lime, vine-short) ===== */
@media(max-width:921px){
  .sc-drawer-vine{margin:-6px 0 16px;animation:sc-rise-in .4s ease-out both;animation-delay:.06s;}
  .sc-drawer-vine svg{display:block;width:150px;height:45px;color:var(--sc-sage-500);opacity:.34;}
  .sc-drawer-card--mens{background:var(--sc-lime-100);}
  .sc-drawer-card--mens:hover{background:var(--sc-lime-300);}
  .sc-drawer-card--mens .sc-drawer-card-title{color:var(--sc-lime-900);}
  .sc-drawer-card svg{color:var(--sc-sage-700);}
  .sc-drawer-card--mens svg{color:var(--sc-lime-700);}
}

/* ==========================================================================
   STACKED HEADER — logo above the navigation (desktop only).
   Astra collapses to the mobile bar below 922px, so everything here is gated
   above that and the existing compact mobile arrangement is untouched.
   ========================================================================== */
.sc-header-icons{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;}
.sc-header-icons::before,.sc-header-icons::marker{content:none !important;display:none !important;}

@media (min-width:922px){
  .ast-primary-header-bar .ast-builder-grid-row-has-sides{
    display:flex !important;flex-direction:column;align-items:center;gap:12px;
    padding-top:24px !important;padding-bottom:4px !important;position:relative;}
  .ast-primary-header-bar .site-header-primary-section-left{
    width:100%;justify-content:center;margin:0 !important;padding:0 !important;position:relative;}
  .ast-primary-header-bar .site-header-primary-section-right{
    width:100%;align-items:center;}
  /* 350px at full width, eased down through the 922–1200 band so the row never crowds */
  .ast-primary-header-bar .custom-logo,
  .ast-primary-header-bar .site-logo-img img{
    width:clamp(240px,26vw,350px) !important;max-width:350px !important;height:auto !important;}
  /* the nav row reads as its own band */
  .ast-primary-header-bar .site-header-primary-section-right{
    border-top:1px solid var(--sc-neutral-200);padding-top:10px;justify-content:center;}
  .ast-primary-header-bar .main-header-menu > .menu-item > a{padding-left:16px;padding-right:16px;}
  /* icons sit in the logo row, vertically centred on the logo (their containing
     block is the logo section, so this tracks the logo's clamped height) */
  .sc-header-icons{position:absolute;top:50%;right:0;transform:translateY(-50%);}
}
/* long-form promo explainer, sits under the band's headline row (home page) */
.sc-promo-note{max-width:640px;margin:0 auto;padding:0 40px 32px;text-align:center;font-size:15px;line-height:1.6;color:var(--sc-promo-soft);position:relative;}
@media(max-width:768px){.sc-promo-note{font-size:14px;padding:0 20px 26px;}}

/* ==========================================================================
   IP HONESTY STATEMENT — the "inspired by" disclaimer, promoted out of the
   fine print into a section a visitor actually reads.
   ========================================================================== */
.sc-honesty{position:relative;width:100vw;margin-left:calc(50% - 50vw);}
.sc-honesty-kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 14px;font-weight:500;}
.sc-honesty-h{font-family:var(--sc-display) !important;font-size:36px;font-weight:400;line-height:1.15;letter-spacing:-.01em;margin:0 0 20px;}
.sc-honesty-body{font-size:18px;line-height:1.7;margin:0 0 24px;}
.sc-honesty-link{display:inline-block;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;}
/* A — deep green band, full bleed */
.sc-honesty--band{background:var(--sc-green-800);}
.sc-honesty--band .sc-honesty-inner{max-width:820px;margin:0 auto;padding:76px 40px;text-align:center;}
.sc-honesty--band .sc-honesty-kicker{color:var(--sc-green-300);}
.sc-honesty--band .sc-honesty-h{color:var(--sc-cream) !important;}
.sc-honesty--band .sc-honesty-body{color:var(--sc-green-100);}
.sc-honesty--band .sc-honesty-link{color:var(--sc-cream);}
.sc-honesty--band .sc-honesty-link:hover{color:#fff;}
@media(max-width:768px){
  .sc-honesty-h{font-size:27px;}
  .sc-honesty-body{font-size:16px;}
  .sc-honesty--band .sc-honesty-inner{padding:54px 20px;}
}
/* keep the promo band tight when the long-form note follows it */
.sc-promo-inner:has(+ .sc-promo-note){padding-bottom:16px;}
/* fragrance-name catalogue on the Disclaimer page ([sc_fragrance_names]) */
.sc-names{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:1.6rem 0 0;}
.sc-names-col{background:var(--sc-paper);border:1px solid var(--sc-green-200);border-top:3px solid var(--sc-green-600);padding:26px 28px;}
.sc-names-h{font-family:var(--sc-display) !important;font-size:1.35rem;color:var(--sc-green-800) !important;margin:0 0 .2em;line-height:1.2;}
.sc-names-meta{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sc-neutral-600);margin:0 0 1.1em;}
.sc-names-list{list-style:none;margin:0;padding:0;column-count:2;column-gap:24px;}
.sc-names-list li{font-size:.94rem;line-height:1.75;color:var(--sc-neutral-800);break-inside:avoid;}
@media(max-width:900px){.sc-names{grid-template-columns:1fr;gap:22px;}}
@media(max-width:480px){.sc-names-list{column-count:1;}.sc-names-col{padding:22px 20px;}}
/* --- Hierarchical facet panels (Scent notes, Inspired by) ---------------
   Parent rows always visible; children revealed on expand. The body scrolls
   internally so 35 brands cannot push the rest of the sidebar off-screen. */
.sc-fs--tree.is-collapsed .sc-fs-body--tree{display:none;}
.sc-fs-body--tree{max-height:340px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;}
.sc-fs-body--tree::-webkit-scrollbar{width:6px;}
.sc-fs-body--tree::-webkit-scrollbar-thumb{background:var(--sc-sage-300);border-radius:3px;}
.sc-tree-search{position:sticky;top:0;background:var(--sc-cream);padding:0 0 8px;z-index:1;}
.sc-tree-filter{width:100%;font-family:var(--sc-body);font-size:12.5px;padding:7px 10px;border:1px solid var(--sc-sage-300);background:#fff;color:var(--sc-ink);border-radius:0;}
.sc-tree-filter:focus{outline:none;border-color:var(--sc-sage-700);}
.sc-tree-node{border-bottom:1px solid var(--sc-neutral-200);}
.sc-tree-node:last-child{border-bottom:0;}
.sc-tree-node.is-hidden{display:none;}
.sc-tree-head{display:flex;align-items:center;gap:4px;}
.sc-tree-head .sc-tree-parent{flex:1;min-width:0;}
.sc-tree-toggle{flex:0 0 auto;background:none;border:0;padding:6px 2px;cursor:pointer;line-height:1;color:var(--sc-sage-500);}
.sc-tree-toggle .sc-fs-chevron{transform:rotate(180deg);transition:transform .2s ease;}
.sc-tree-node.is-open .sc-tree-toggle .sc-fs-chevron{transform:rotate(0deg);}
.sc-tree-kids{display:none;padding:0 0 6px 16px;border-left:1px solid var(--sc-neutral-200);margin-left:6px;}
.sc-tree-node.is-open .sc-tree-kids{display:block;}
.sc-tree-child .sc-check-label{font-size:12.5px;}
.sc-tree-child.is-hidden{display:none;}

/* --- Facet landing pages (brand hubs, original-scent pages, note groups) --
   Child links are the hub-to-spoke internal linking; the disclaimer is
   mandatory on every sc_inspired_by archive. */
.sc-facet-children{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0 4px;max-width:820px;}
.sc-facet-children-label{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--sc-sage-500);width:100%;margin-bottom:2px;}
.sc-facet-child{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border:1px solid var(--sc-sage-300);background:rgba(255,255,255,.55);font-size:13px;color:var(--sc-sage-900);transition:all .2s;}
.sc-facet-child:hover{background:var(--sc-sage-700);border-color:var(--sc-sage-700);color:var(--sc-cream);}
.sc-facet-child span{font-size:11px;color:var(--sc-sage-500);}
.sc-facet-child:hover span{color:var(--sc-cream);opacity:.75;}
.sc-facet-disclaimer{max-width:760px;margin:22px 0 2px;padding:14px 16px;border-left:2px solid var(--sc-sage-300);background:rgba(255,255,255,.42);}
.sc-facet-disclaimer p{margin:0;font-size:12.5px;line-height:1.6;color:var(--sc-muted);}
.sc-facet-disclaimer strong{color:var(--sc-sage-900);font-weight:500;}
@media(max-width:767px){.sc-facet-children{gap:6px;}.sc-facet-child{font-size:12px;padding:5px 10px;}.sc-facet-disclaimer{font-size:12px;}}

/* PDP links into the facet archives (internal linking for the landing pages) */
.sc-pdp-inspired a{color:var(--sc-sage-700);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;}
.sc-pdp-inspired a:hover{color:var(--sc-sage-900);}
.sc-notes-val a{color:var(--sc-sage-700);text-decoration:underline;text-decoration-color:var(--sc-sage-300);text-decoration-thickness:1px;text-underline-offset:2px;}
.sc-notes-val a:hover{color:var(--sc-sage-900);text-decoration-color:var(--sc-sage-700);}

/* --- PDP: scent notes under the image ------------------------------------
   The summary column runs taller than the square image, so the bottom-left was
   dead space. The notes panel moves there; everything else is unchanged.
   Explicit placement puts it at column 1 / row 2 and lets the summary span both
   rows, so DOM order (gallery -> notes -> summary) does not decide the layout. */
.single-product div.product>.woocommerce-product-gallery{grid-column:1;grid-row:1;}
.single-product div.product>.summary.entry-summary{grid-column:2;grid-row:1 / span 2;}
/* Negative top margin, not a smaller row-gap: the grid's gap:72px is the
   COLUMN gap between image and summary (which is right) but applies to rows
   too, and the tabs/related blocks below rely on that 72px for their own top
   spacing - their margin-top is 0. Pulling only the notes up leaves those
   untouched. -52px against the 72px gap leaves a ~20px box gap, and the panel
   carries 26px of its own padding on top of that. */
.single-product div.product>.sc-notes--under{grid-column:1;grid-row:2;align-self:start;margin:-52px 0 0;}

@media(max-width:900px){
  /* Single column: keep the buy path first - image, then title/price/cart, and
     the notes last. Otherwise the notes push Add to cart below the fold.

     Every OTHER grid child needs an explicit order too. Ordered items sort
     before unordered ones (default order:0 < 1), so setting order only on
     these three floated the tabs and related-products blocks ABOVE the
     product. Anything else in the grid is pinned to 4. */
  .single-product div.product>.woocommerce-product-gallery{grid-column:1;grid-row:auto;order:1;}
  .single-product div.product>.summary.entry-summary{grid-column:1;grid-row:auto;order:2;}
  .single-product div.product>.sc-notes--under{grid-column:1;grid-row:auto;order:3;margin-top:4px;}
  .single-product div.product>*:not(.woocommerce-product-gallery):not(.summary):not(.sc-notes--under){order:4;}
}

/* Note 2 (owner, 2026-08-21): the "Inspired by" line under every bottle reads
   larger - 13px -> 16px on the shop/category card, 22px -> 26px on the PDP.
   Both are set above at their original declarations; this note records why. */

/* Not moved to cart-checkout.css: inc/shop.php:1172-1190 applies these same
   .sc-qty/.sc-qty-btn/.sc-qty-n classes to the single-product page stepper on
   is_product(), so moving this would silently unstyle the PDP stepper. */
/* Quantity stepper in the checkout order summary (§4c of the behavior plugin).
   WooCommerce renders that summary read-only; with one price across the whole
   catalogue and a "choose 3, pay for 2" offer, the last-minute "make it three"
   should not cost the customer a trip back to the cart.

   Astra emits an INLINE rule for `button, .ast-button, .button, input#submit …`
   setting background:var(--ast-global-color-0) and padding:15px 30px, which
   turned these into two chunky filled green blocks. Inline styles land after
   this sheet, so the reset needs !important — the same reason the empty-basket
   CTA and the card colours already carry it. */
.sc-qty{display:inline-flex;align-items:stretch;margin-top:10px;border:1px solid var(--sc-sage-300);background:#fff;}
.sc-qty-btn{
  appearance:none !important;-webkit-appearance:none !important;
  background:transparent !important;background-image:none !important;
  border:0 !important;border-radius:0 !important;box-shadow:none !important;
  width:30px !important;min-width:30px !important;height:30px !important;
  padding:0 !important;margin:0 !important;
  display:flex !important;align-items:center;justify-content:center;
  font-family:'Jost',sans-serif !important;font-size:15px !important;font-weight:400 !important;
  letter-spacing:0 !important;line-height:1 !important;text-transform:none !important;
  color:var(--sc-green-700) !important;cursor:pointer;
  transition:background .18s,color .18s;
}
.sc-qty-btn:hover:not(:disabled){background:var(--sc-green-50) !important;color:var(--sc-green-800) !important;}
.sc-qty-btn:disabled{color:var(--sc-sage-300) !important;cursor:default;}
.sc-qty-btn:focus-visible{outline:2px solid var(--sc-sage-700) !important;outline-offset:-2px;}
.sc-qty-n{
  display:flex;align-items:center;justify-content:center;
  min-width:34px;height:30px;padding:0 4px;
  font-family:'Jost',sans-serif;font-size:13px;font-variant-numeric:tabular-nums;
  color:var(--sc-neutral-800);
  border-left:1px solid var(--sc-sage-300);border-right:1px solid var(--sc-sage-300);
}
/* On mobile the summary is an accordion and this is a thumb target, so the
   controls grow: 30px is fine for a mouse, tight for a finger. */
@media (max-width:781px){
  .sc-qty-btn{width:38px !important;min-width:38px !important;height:38px !important;font-size:17px !important;}
  .sc-qty-n{min-width:40px;height:38px;font-size:14px;}
}

/* ==========================================================================
   MOBILE QA FIXES (2026-09-06 sweep at 375px)
   ========================================================================== */

/* PDP gallery caption escaped the viewport — at EVERY width, not just mobile.
   It is emitted on the woocommerce_product_thumbnails hook, which fires inside
   <div class="woocommerce-product-gallery__wrapper"> — FlexSlider's slide track.
   FlexSlider sets width:400% on that track (one width per gallery image) AND a
   transform, and a transform creates a containing block, so position:absolute
   cannot escape it either. As a block child the caption inherited 400% of the
   gallery: 1040px at mobile, 2256px at 1440px. With justify-content:space-between
   the right-hand span was flung to the far end, so "Click image to enlarge" sat
   at x=991 on mobile and x=2265 on desktop and has never once been visible.

   Fixed by sizing the caption to its own content instead of the track, and
   left-aligning the two spans next to each other. On mobile the gallery is capped
   at 260px (see the max-width:900px rule above), so that same cap makes the
   caption wrap inside the image width rather than run past it. */
/* The slides inside the track are floated left, so a float:none sibling flows
   BESIDE them — the caption was landing to the right of the image at every width
   (x=322 on mobile, x=684 on desktop, i.e. over the summary column). clear:both
   drops it under the image where it belongs. */
.single-product .sc-gallery-caption{clear:both;justify-content:flex-start;gap:16px;width:max-content;}
@media (max-width:900px){
  .single-product .sc-gallery-caption{max-width:260px;flex-wrap:wrap;gap:2px 14px;font-size:11.5px;}
}

/* Header icons were 26x25 — too small to hit reliably with a thumb, and they are
   the primary navigation on mobile (search and basket). Only the hit area grows;
   the glyphs are untouched.

   36px, not 44: the space between the logo's right edge (x=255) and the header's
   content edge (x=335) is 80px, and Astra owns that 40px right gap via its own
   header padding. Two 42px targets measured at 84px and pushed the search icon
   to x=235 — 20px underneath the wordmark. 36px fits with 8px of clearance and
   is still a 38% bigger target than before. */
@media (max-width:921px){
  .sc-cart-link,.sc-search-toggle,.sc-account-link,.sc-wishlist-link,
  .sc-mobile-clone .sc-cart-link,.sc-mobile-clone .sc-search-toggle{
    min-width:36px;min-height:36px;padding:0 !important;
    justify-content:center;align-items:center;
  }
  /* The bigger targets left the search icon starting at x=247 against a logo box
     ending at x=255 — glyphs never touched, but visually cramped against the
     wordmark. Astra owns the 40px of header padding to the right, so the room has
     to come from the logo: capping it at 134px on mobile gives 16px of clearance
     while keeping it comfortably the largest thing in the header. */
  a.custom-logo-link img,img.custom-logo{max-width:134px !important;height:auto !important;}
}

/* 404 (and empty-search) search box. Astra reuses its sticky-header search
   markup here, where the submit button is position:absolute right:15px with an
   auto height driven by line-height — it rendered as a 50x22 green block
   floating inside the 40px input, overlapping its right border. Pinned to the
   input's inner edge instead, full height, with room reserved in the input's
   padding so the placeholder never runs underneath. Astra's inline button rule
   sets background and padding, hence the !important. */
.error404 .search-form,.search-no-results .search-form{position:relative;display:flex;max-width:360px;margin:0 auto;}
.error404 .search-form label,.search-no-results .search-form label{flex:1;display:block;margin:0;}
.error404 .search-form .search-field,.search-no-results .search-form .search-field{
  width:100%;height:48px;padding:12px 60px 12px 16px;font-size:15px;
  border:1px solid var(--sc-sage-300);background:var(--sc-paper);border-radius:0;
}
.error404 .search-form .search-field:focus,.search-no-results .search-form .search-field:focus{
  border-color:var(--sc-sage-700);outline:none;
}
.error404 .search-form .search-submit,.search-no-results .search-form .search-submit{
  position:absolute;top:1px;right:1px;bottom:1px;height:auto !important;
  width:50px;min-width:0 !important;padding:0 !important;margin:0 !important;
  display:flex !important;align-items:center;justify-content:center;
  background:var(--sc-sage-700) !important;color:var(--sc-cream) !important;
  border:0 !important;border-radius:0 !important;box-shadow:none !important;
  cursor:pointer;transition:background .2s;
}
.error404 .search-form .search-submit:hover,.search-no-results .search-form .search-submit:hover{
  background:var(--sc-sage-900) !important;
}
.error404 .search-form .search-submit:focus-visible,.search-no-results .search-form .search-submit:focus-visible{
  outline:2px solid var(--sc-sage-900);outline-offset:2px;
}
.error404 .search-form .search-submit svg,.search-no-results .search-form .search-submit svg{
  width:18px;height:18px;fill:currentColor;
}

/* ---------------------------------------------------------------------------
 * Buttons must be block-level boxes.
 *
 * The global button rule near the top of this file gives every button 16px of
 * vertical padding but never sets `display`. An inline element paints ONE
 * padded background box PER LINE, so as soon as a label wraps you get two
 * overlapping slabs instead of one taller button. `.button` and friends are
 * already flex (see .sc-card-atc), but `.wp-block-button__link` is a plain
 * anchor and was still inline — which is exactly what broke the checkout
 * empty-cart button on iOS, where text autosizing inflates the label enough to
 * wrap. inline-block leaves single-line buttons pixel-identical.
 * ------------------------------------------------------------------------- */
.wp-block-button__link{display:inline-block;text-align:center;max-width:100%;}

/* ---------------------------------------------------------------------------
 * Very narrow viewports — the header row ran out of room.
 *
 * An iPhone with Display Zoom turned on reports a 320px viewport even on a
 * 393pt handset, and the 36px tap targets above were sized against 375. At 320
 * the row needs 262px of content and has 240px, so the search icon sat 28px
 * underneath the wordmark's final letter.
 *
 * The room comes from padding, not from the targets: the header carries 20px of
 * side padding on .ast-primary-header-bar, again on .site-primary-header-wrap
 * inside it, and a third time on the grid row. Zeroing the innermost and
 * trimming the outer ones buys enough space to keep both icons at 36px.
 * ------------------------------------------------------------------------- */
@media (max-width:400px){
  .ast-primary-header-bar,
  .ast-primary-header-bar .site-primary-header-wrap{padding-left:14px !important;padding-right:14px !important;}
  .ast-primary-header-bar .ast-builder-grid-row{padding-left:0 !important;padding-right:0 !important;column-gap:8px !important;}
  .ast-primary-header-bar .site-header-primary-section-right{gap:8px !important;}
}
/* 320-class widths only — everything here still fits at 360 and up, so keep the
   larger wordmark and the single-line promo bar wherever there is room.
   The logo cap needs the same specificity as the 134px one in the
   max-width:921px block above: that rule's `a.custom-logo-link img` branch
   outranks a bare `img.custom-logo`. */
@media (max-width:340px){
  a.custom-logo-link img,img.custom-logo{max-width:116px !important;}

  /* The promo bar's two messages need ~310px side by side and only have ~290,
     so they wrapped mid-phrase ("BUY 2 GET 1 / FREE"). Stack them instead and
     drop the slash, which only reads as a separator on a single line. */
  .sc-topbar{flex-direction:column;gap:2px !important;padding:8px 14px !important;
    font-size:10px !important;letter-spacing:.12em !important;}
  .sc-topbar .sc-topbar-sep{display:none !important;}
}

/* ===========================================================================
   Order received — the thank-you page and its email-verification gate.
   Templates: woocommerce/checkout/thankyou.php + form-verify-email.php.
   One layout, three states (paid / awaiting EFT / failed); the state only
   changes wording and the step-1 contents, never the structure.
   ========================================================================= */

/* Astra prints the Checkout page's title here. The body class is only present
   on the order-received route, so the checkout page itself keeps its heading. */
.woocommerce-order-received .entry-title{display:none !important;}
.woocommerce-order-received .ast-single-post-order,
.woocommerce-order-received .entry-header{margin-bottom:0 !important;}

.sc-thanks{max-width:760px;margin:0 auto;padding:0 0 8px;}

/* ---- status band ---- */
.sc-thanks-band{position:relative;overflow:hidden;background:var(--sc-green-800);color:var(--sc-green-50);text-align:center;padding:38px 26px 34px;}
.sc-thanks--failed .sc-thanks-band{background:var(--sc-promo-strong);}
.sc-thanks-band__leaf{position:absolute;right:-14px;bottom:-30px;color:var(--sc-green-400);opacity:.28;pointer-events:none;}
.sc-thanks-band__leaf .sc-bot{width:150px;height:150px;}
.sc-thanks-band__icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--sc-green-400);color:var(--sc-green-200);}
.sc-thanks--failed .sc-thanks-band__icon{border-color:var(--sc-promo-tint);color:var(--sc-promo-soft);}
.sc-thanks-band__head{font-family:var(--sc-display) !important;color:var(--sc-green-50) !important;font-size:2.35rem;line-height:1.15;margin:.4em 0 0;font-weight:400;}
.sc-thanks--failed .sc-thanks-band__head{color:var(--sc-promo-soft) !important;}
.sc-thanks-band__sub{color:var(--sc-green-200);font-size:.98rem;margin:.55em 0 0;position:relative;}
.sc-thanks--failed .sc-thanks-band__sub{color:var(--sc-promo-tint);}

/* ---- shared panel ---- */
.sc-thanks-panel{background:var(--sc-paper);border:1px solid var(--sc-green-100);padding:24px 26px;margin:18px 0 0;}
.sc-thanks-panel__title{font-family:var(--sc-display) !important;color:var(--sc-green-800) !important;font-size:1.45rem;margin:0 0 .7em;font-weight:400;}

/* ---- what happens now ---- */
.sc-thanks-steps__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:sc-step;}
.sc-thanks-step{border-left:2px solid var(--sc-green-200);padding:2px 0 2px 14px;}
.sc-thanks-step.is-done{border-left-color:var(--sc-green-600);}
/* When step 1 spans the row (unpaid EFT), the remaining two share the width
   rather than sitting in two of three columns with a dead cell beside them. */
.sc-thanks-steps__list--split{grid-template-columns:repeat(2,minmax(0,1fr));}
.sc-thanks-step.is-todo{border-left-color:var(--sc-promo);grid-column:1/-1;}
.sc-thanks-step__name{display:block;color:var(--sc-green-800);font-size:.98rem;}
.sc-thanks-step__note{display:block;color:var(--sc-muted);font-size:.85rem;line-height:1.6;margin-top:3px;}
.sc-thanks-step__note strong{color:var(--sc-green-800);font-weight:500;}

/* BACS prints its own heading + list here; flatten it into the step. */
.sc-thanks-step__bacs{margin-top:12px;}
.sc-thanks-step__bacs h2,.sc-thanks-step__bacs h3{font-family:var(--sc-display) !important;color:var(--sc-green-800) !important;font-size:1.05rem;margin:0 0 .5em;font-weight:400;}
/* BACS prints <ul class="wc-bacs-bank-details order_details bacs_details">, and
   WooCommerce styles ".woocommerce ul.order_details li" as a floated,
   dash-separated horizontal strip with an uppercase label and a block <strong>
   value. That selector is (0,2,1), so these have to out-specify it — otherwise
   the bank details lay out sideways. Only visible where account rows actually
   exist, which is why local carries placeholder account data. */
.sc-thanks .sc-thanks-step__bacs ul.order_details,
.sc-acct .sc-thanks-step__bacs ul.order_details,
.sc-thanks .sc-thanks-step__bacs ul.wc-bacs-bank-details,
.sc-acct .sc-thanks-step__bacs ul.wc-bacs-bank-details{display:block;list-style:none;margin:0;padding:14px 16px;background:var(--sc-green-50);border:1px solid var(--sc-green-100);}
.sc-thanks .sc-thanks-step__bacs ul.order_details li,
.sc-acct .sc-thanks-step__bacs ul.order_details li{float:none;display:flex;justify-content:space-between;align-items:baseline;gap:16px;width:auto;margin:0;padding:7px 0;border:0;border-bottom:1px solid var(--sc-green-100);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sc-muted);line-height:1.6;}
.sc-thanks .sc-thanks-step__bacs ul.order_details li:last-child,
.sc-acct .sc-thanks-step__bacs ul.order_details li:last-child{border-bottom:0;}
.sc-thanks .sc-thanks-step__bacs ul.order_details li strong,
.sc-acct .sc-thanks-step__bacs ul.order_details li strong{display:inline;font-size:1.14rem;line-height:1.5;letter-spacing:normal;text-transform:none;font-weight:500;text-align:right;color:var(--sc-ink);}
.sc-thanks-step__bacs .wc-bacs-bank-details-account-name{font-family:var(--sc-display);font-size:1.05rem;color:var(--sc-green-800);display:block;border-bottom:0;}

/* ---- failed / retry ---- */
.sc-thanks-retry__copy{color:var(--sc-ink);font-size:.95rem;line-height:1.75;margin:0 0 1.1em;}
.sc-thanks-retry__actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:0 0 1em;}
.sc-thanks-retry__help{color:var(--sc-muted);font-size:.85rem;margin:0;}
.sc-thanks-link{font-size:.85rem;letter-spacing:.06em;}

/* ---- order details (WooCommerce's own table, restyled not overridden) ---- */
.woocommerce-page .sc-receipt{background:var(--sc-paper);border:1px solid var(--sc-green-100);padding:24px 26px;margin:18px 0 0;}
.woocommerce-page .sc-receipt .woocommerce-order-details__title,
.woocommerce-page .sc-receipt .woocommerce-column__title{font-family:var(--sc-display) !important;color:var(--sc-green-800) !important;font-size:1.45rem;margin:0 0 .7em;font-weight:400;background:none !important;padding:0 !important;border:0 !important;}
.woocommerce-page .sc-receipt table.woocommerce-table--order-details{width:100%;border:0;border-collapse:collapse;margin:0;font-size:.95rem;}
.woocommerce-page .sc-receipt table.woocommerce-table--order-details th,
.woocommerce-page .sc-receipt table.woocommerce-table--order-details td{background:transparent !important;border:0;border-bottom:1px solid var(--sc-neutral-200);padding:11px 0 !important;vertical-align:top;}
.woocommerce-page .sc-receipt table.woocommerce-table--order-details thead th{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sc-muted);font-weight:400;padding:0 0 9px !important;}
.woocommerce-page .sc-receipt table.woocommerce-table--order-details td:last-child,
.woocommerce-page .sc-receipt table.woocommerce-table--order-details th:last-child{text-align:right;white-space:nowrap;}
.woocommerce-page .sc-receipt .woocommerce-table__product-name a{color:var(--sc-ink);text-decoration:none;}
.woocommerce-page .sc-receipt .woocommerce-table__product-name a:hover{color:var(--sc-green-700);}
.woocommerce-page .sc-receipt .product-quantity{color:var(--sc-muted);}
.woocommerce-page .sc-receipt tfoot th{font-weight:400;color:var(--sc-muted);font-size:.9rem;}
.woocommerce-page .sc-receipt tfoot td{color:var(--sc-ink);}
/* The grand total is found by the .sc-total-amount span that
   sc_order_totals_present() wraps it in — never by row position. Core appends
   "Payment method" after the total on thankyou, and view-order appends an
   "Actions" row after that, so :last-child lands on the wrong row on both. */
.woocommerce-page .sc-receipt tfoot .sc-total-amount{font-family:var(--sc-display);font-size:1.6rem;color:var(--sc-green-800);}
.woocommerce-page .sc-receipt tfoot tr:has(.sc-total-amount) th{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sc-green-800);padding-top:15px;}
.woocommerce-page .sc-receipt tfoot tr:has(.sc-total-amount) td{padding-top:13px;}
.woocommerce-page .sc-receipt tfoot tr:has(.sc-total-amount) th,
.woocommerce-page .sc-receipt tfoot tr:has(.sc-total-amount) td{border-bottom:0;}
.woocommerce-page .sc-receipt tfoot small.shipped_via{display:block;color:var(--sc-muted);font-size:.78rem;font-style:normal;}

/* ---- billing / shipping ---- */
.woocommerce-page .sc-receipt .woocommerce-customer-details{margin:26px 0 0;padding:22px 0 0;border-top:1px solid var(--sc-neutral-200);}
/* Explicitly two columns — auto-fit made three at this width and left the row
   short of a child, which threw the pair out of alignment. */
.woocommerce-page .sc-receipt .woocommerce-columns--addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0;}
/* WooCommerce clearfixes .col2-set with ::before/::after {content:" ";
   display:table}. In a grid container those become grid ITEMS and swallow two
   cells, pushing billing into column 2 and shipping onto a second row. */
.woocommerce-page .sc-receipt .woocommerce-columns--addresses::before,
.woocommerce-page .sc-receipt .woocommerce-columns--addresses::after{display:none;}
.woocommerce-page .sc-receipt .woocommerce-columns--addresses .woocommerce-column{background:var(--sc-green-50);border:1px solid var(--sc-green-100);padding:16px 18px;width:auto;float:none;margin:0;}
.woocommerce-page .sc-receipt .woocommerce-columns--addresses .woocommerce-column__title{font-size:.72rem !important;letter-spacing:.18em;text-transform:uppercase;color:var(--sc-muted) !important;font-family:var(--sc-body) !important;margin:0 0 .6em;}
/* WooCommerce gives <address> its own border and padding; the panel already
   provides both, so this needs to out-specify it rather than sit alongside. */
.woocommerce-page .sc-receipt .woocommerce-customer-details address{font-style:normal;border:0 !important;padding:0 !important;font-size:.9rem;line-height:1.75;color:var(--sc-ink);width:auto;}
.woocommerce-page .sc-receipt .woocommerce-customer-details address p{margin:.45em 0 0;overflow-wrap:anywhere;}

/* ---- CTA ---- */
.sc-thanks-cta{text-align:center;margin:26px 0 0;}
.sc-thanks-btn{display:inline-block;}

/* ---- email verification gate ---- */
.sc-verify-panel{max-width:100%;}
.sc-verify-copy{color:var(--sc-ink);font-size:.95rem;line-height:1.75;margin:0 0 1.2em;}
.sc-verify-row label{display:block;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sc-muted);margin:0 0 .5em;}
.sc-verify-row .input-text{width:100%;max-width:360px;padding:11px 13px;font-family:var(--sc-body);font-size:.95rem;}
.sc-verify-actions{margin:1.2em 0 0;}
.sc-verify-help{color:var(--sc-muted);font-size:.85rem;margin:1.4em 0 0;}

/* ---- narrow screens. The owner's iPhone runs Display Zoom, so 320px is the
   real floor, not 375px. ---- */
@media (max-width:782px){
  .sc-thanks-steps__list{grid-template-columns:1fr;gap:14px;}
  .sc-thanks-step.is-todo{grid-column:auto;}
}
@media (max-width:560px){
  .woocommerce-page .sc-receipt .woocommerce-columns--addresses{grid-template-columns:1fr;}
  .sc-thanks-band{padding:30px 18px 26px;}
  .sc-thanks-band__head{font-size:1.85rem;}
  .sc-thanks-band__sub{font-size:.9rem;}
  .sc-thanks-band__leaf .sc-bot{width:108px;height:108px;}
  .sc-thanks-panel,.woocommerce-page .sc-receipt{padding:20px 16px;}
  .woocommerce-page .sc-receipt table.woocommerce-table--order-details{font-size:.88rem;}
  .woocommerce-page .sc-receipt tfoot tr:last-child td{font-size:1.35rem;}
  .sc-thanks-step__bacs li{flex-direction:column;gap:2px;}
  .sc-thanks-step__bacs li strong{text-align:left;}
  .sc-thanks-retry__actions{flex-direction:column;align-items:flex-start;gap:12px;}
}

/* Core renders checkout/order-received.php — "Thank you. Your order has been
   received." — immediately BEFORE the verification gate, which contradicts the
   gate's own heading. There is no previous-sibling selector, so :has() on the
   body is the hook. Browsers without :has() simply keep today's behaviour. */
body:has(.sc-verify) .woocommerce-thankyou-order-received,
body:has(.sc-signin) .woocommerce-thankyou-order-received{display:none;}
/* The login-required branch also prints its own "Please log in to your account
   to view this order" info box before the form. Our band says it better and
   says it first; nothing else on these two screens uses .woocommerce-info. */
body:has(.sc-signin) .woocommerce-info{display:none;}

/* ===========================================================================
   My Account — orders list, view order, and the surrounding account screens.
   Templates overridden: myaccount/orders.php, myaccount/view-order.php.
   Everything else here (nav, dashboard, addresses, account details, login) is
   CSS-only over WooCommerce's own markup, so there is nothing extra to keep in
   sync when WooCommerce updates.
   ========================================================================= */

.woocommerce-account .entry-title{font-size:2.1rem;margin-bottom:.6em;}
.woocommerce-account .woocommerce-MyAccount-content{color:var(--sc-ink);}

/* ---- sidebar nav ---- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{background:var(--sc-paper);border:1px solid var(--sc-green-100);border-radius:0;margin:0 0 1.6rem;overflow:hidden;}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--sc-green-100);}
.woocommerce-account .woocommerce-MyAccount-navigation li a{padding:.9em 1.15em;color:var(--sc-green-800) !important;font-size:.76rem;letter-spacing:.16em;border-left:2px solid transparent;transition:background .2s,border-color .2s;}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--sc-green-50);}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--sc-green-50);border-left-color:var(--sc-green-600);color:var(--sc-green-900) !important;}

/* ---- status pill. Three tones by what the customer must DO, not one per
   WooCommerce status — see orders.php for the mapping. ---- */
.sc-order-pill{display:inline-block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;padding:5px 11px;border:1px solid transparent;white-space:nowrap;}
.sc-order-pill--good{background:var(--sc-green-50);color:var(--sc-green-800);border-color:var(--sc-green-200);}
.sc-order-pill--action{background:var(--sc-promo-soft);color:var(--sc-promo-strong);border-color:var(--sc-promo-line);}
.sc-order-pill--closed{background:var(--sc-neutral-100);color:var(--sc-neutral-700);border-color:var(--sc-neutral-300);}
.sc-order-pill--wait{background:var(--sc-sand-100);color:var(--sc-clay-700);border-color:var(--sc-sand-500);}

/* ---- order cards ---- */
.sc-orders{display:flex;flex-direction:column;gap:14px;}
.sc-order-card{background:var(--sc-paper);border:1px solid var(--sc-green-100);border-left:3px solid var(--sc-green-200);padding:18px 20px;}
.sc-order-card--good{border-left-color:var(--sc-green-600);}
.sc-order-card--action{border-left-color:var(--sc-promo);}
.sc-order-card--closed{border-left-color:var(--sc-neutral-300);}
.sc-order-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;}
.sc-order-card__num{display:block;font-family:var(--sc-display);font-size:1.3rem;color:var(--sc-green-800) !important;text-decoration:none;line-height:1.2;}
.sc-order-card__num:hover{color:var(--sc-green-600) !important;}
.sc-order-card__date{display:block;font-size:.8rem;color:var(--sc-muted);margin-top:3px;}
.sc-order-card__items{margin:12px 0 0;font-size:.9rem;line-height:1.65;color:var(--sc-neutral-800);}
.sc-order-card__foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0 0;padding:13px 0 0;border-top:1px solid var(--sc-neutral-200);}
.sc-order-card__total{font-family:var(--sc-display);font-size:1.3rem;color:var(--sc-green-800);line-height:1.2;}
.sc-order-card__count{display:block;font-family:var(--sc-body);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sc-muted);margin-top:2px;}
.sc-order-card__actions{display:flex;gap:10px;flex-wrap:wrap;}

/* Quiet by default; only "pay" is filled. Overrides the global .button rule. */
.sc-order-act{display:inline-block;background:transparent !important;color:var(--sc-green-700) !important;border:1px solid var(--sc-green-300) !important;border-radius:0 !important;padding:10px 18px !important;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:background .2s,border-color .2s;}
.sc-order-act:hover{background:var(--sc-green-50) !important;border-color:var(--sc-green-600) !important;color:var(--sc-green-900) !important;}
.sc-order-act--primary{background:var(--sc-green-600) !important;color:var(--sc-cream) !important;border-color:var(--sc-green-600) !important;}
.sc-order-act--primary:hover{background:var(--sc-green-800) !important;color:var(--sc-cream) !important;border-color:var(--sc-green-800) !important;}
.sc-orders-pager{display:flex;justify-content:space-between;gap:12px;margin:20px 0 0;}

/* ---- empty state ---- */
.sc-orders-empty{position:relative;overflow:hidden;background:var(--sc-paper);border:1px solid var(--sc-green-100);padding:40px 26px;text-align:center;}
.sc-orders-empty__leaf{position:absolute;right:-10px;bottom:-26px;color:var(--sc-green-300);opacity:.35;pointer-events:none;}
.sc-orders-empty__leaf .sc-bot{width:130px;height:130px;}
.sc-orders-empty__title{font-family:var(--sc-display) !important;color:var(--sc-green-800) !important;font-size:1.7rem;margin:0 0 .4em;font-weight:400;}
.sc-orders-empty__copy{position:relative;color:var(--sc-muted);font-size:.95rem;max-width:420px;margin:0 auto 1.6em;line-height:1.7;}

/* ---- view order ---- */
/* Indented to the panels' CONTENT edge, not their outer edge. The panel
   borders are pale hairlines; the line the eye actually follows is the text
   column, so the pill and "Order details" have to share it. */
.sc-vieworder__head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 18px;padding-left:27px;}
.sc-vieworder__meta{font-size:.88rem;color:var(--sc-muted);}
/* Astra's `.entry-content p` bottom margin (0,1,1) beats a bare `margin:0`,
   and align-items:center centres the MARGIN box — so a phantom 22px below the
   date lifted it ~11px above the pill's centre. Same trap for any <p> we drop
   into a flex row, so both are reset here by specificity, not !important. */
.sc-vieworder__head .sc-vieworder__meta,
.sc-dash-alert .sc-dash-alert__text{margin:0;}
.sc-vieworder__pay{border-left:3px solid var(--sc-promo);}
.sc-vieworder__payline{margin:0 0 1em;font-size:.95rem;line-height:1.75;color:var(--sc-ink);}
.sc-vieworder__payline strong{color:var(--sc-green-800);font-weight:500;}
.sc-vieworder__back{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 0;}
.sc-notes{list-style:none;margin:0;padding:0;}
.sc-note{border-left:2px solid var(--sc-green-200);padding:0 0 0 14px;margin:0 0 14px;}
.sc-note:last-child{margin-bottom:0;}
.sc-note__date{margin:0 0 .3em;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sc-muted);}
.sc-note__body p{margin:0;font-size:.92rem;line-height:1.7;}
/* The view-order receipt sits in the account column — it supplies its own
   panel, so it must not double up on the section spacing used on thankyou. */
.sc-vieworder .sc-receipt{margin-top:18px;}

/* ---- dashboard / addresses / account details / login, CSS-only ---- */
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type{font-size:1rem;line-height:1.8;}
.woocommerce-account .woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0;}
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after{display:none;}
/* The columns keep .col-1/.col-2, which WooCommerce floats at ~48% (0,3,0) —
   inside a grid that leaves them ~156px wide. The header carries its own
   border and padding, and .edit floats right at a width greater than its own
   column, so the link escaped the card entirely. All three have to be undone. */
/* Column so the edit button can be pinned to the card's bottom edge — grid
   items stretch, so the two buttons line up however long the addresses are. */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address{display:flex;flex-direction:column;width:auto !important;float:none !important;background:var(--sc-paper);border:1px solid var(--sc-green-100);padding:20px 22px;margin:0;}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:0 0 .9em;padding:0;border:0;text-align:left;}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h2{text-align:left;width:auto;}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3{font-family:var(--sc-display) !important;color:var(--sc-green-800) !important;font-size:1.3rem;margin:0;font-weight:400;}
.woocommerce-account .woocommerce-Address address{font-style:normal;border:0;padding:0;font-size:.9rem;line-height:1.8;color:var(--sc-ink);}
/* The edit link is the only action on this page, so it is a button (the same
   quiet outlined action as the order cards) in a footer below the address,
   not a subtitle under the heading where it read as more card text. */
/* The gap is padding, not margin: `margin-top:auto` is what pins the footer to
   the bottom, so a top margin here would be overwritten by it. */
.woocommerce-account .woocommerce-Address .sc-address-foot{margin:auto 0 0 !important;padding:18px 0 0;}
.woocommerce-account .woocommerce-Address .sc-address-foot .edit{float:none !important;width:auto !important;display:inline-block;}

.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register{background:var(--sc-paper);border:1px solid var(--sc-green-100);padding:24px 26px;}
.woocommerce-account .woocommerce-form-row label,
.woocommerce-account .form-row label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sc-muted);margin-bottom:.45em;display:block;}
.woocommerce-account .woocommerce-form-row input.input-text,
.woocommerce-account .form-row input.input-text,
.woocommerce-account .form-row select{width:100%;padding:11px 13px;font-family:var(--sc-body);font-size:.95rem;}
.woocommerce-account fieldset{border:0;border-top:1px solid var(--sc-neutral-200);margin:1.8em 0 0;padding:1.4em 0 0;}
.woocommerce-account fieldset legend{font-family:var(--sc-display);font-size:1.2rem;color:var(--sc-green-800);padding:0;}
.woocommerce-account #customer_login{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after{display:none;}
.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2{width:auto;float:none;}
.woocommerce-account #customer_login h2{font-family:var(--sc-display) !important;color:var(--sc-green-800) !important;font-weight:400;}

@media (max-width:782px){
  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account #customer_login{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .sc-order-card{padding:16px;}
  .sc-order-card__head{flex-direction:column;align-items:flex-start;gap:8px;}
  .sc-order-card__foot{align-items:flex-start;}
  .sc-order-card__actions{width:100%;}
  .sc-order-act{flex:1;text-align:center;padding:11px 12px !important;}
  .sc-vieworder__back{flex-direction:column;}
  .sc-vieworder__head{padding-left:17px;}
  .sc-orders-empty{padding:32px 18px;}
}

/* ===========================================================================
   My Account — navigation identity card, nav icons, and the dashboard.
   Icons are masks, not background images, so they inherit the link's colour
   and shift with the hover/active state instead of needing a second asset.
   ========================================================================= */

/* ---- identity card, first child inside the <nav> ----
   It lives inside the nav element (see our myaccount/navigation.php) rather
   than on woocommerce_before_account_navigation, which fires outside it. As a
   sibling of the two float columns it consumed a whole row and pushed the
   content column down; inside the nav it simply sits above the menu. */
.sc-acct-id{display:flex;align-items:center;gap:12px;background:var(--sc-green-800);padding:16px 18px;margin:0 0 10px;}
.sc-acct-id__mark{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1px solid var(--sc-green-500);background:var(--sc-green-900);color:var(--sc-green-100);display:flex;align-items:center;justify-content:center;font-family:var(--sc-display);font-size:1.4rem;line-height:1;}
.sc-acct-id__text{min-width:0;}
.sc-acct-id__name{display:block;font-family:var(--sc-display);font-size:1.2rem;color:var(--sc-green-50);line-height:1.25;}
.sc-acct-id__mail{display:block;font-size:.74rem;color:var(--sc-green-200);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ---- nav icons ---- */
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:flex;align-items:center;gap:11px;}
.woocommerce-account .woocommerce-MyAccount-navigation li a::before{content:"";flex:0 0 auto;width:17px;height:17px;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;opacity:.72;}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before{opacity:1;}
.woocommerce-MyAccount-navigation-link--dashboard a::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='7' height='7' rx='1'/%3E%3Crect x='13.5' y='3.5' width='7' height='7' rx='1'/%3E%3Crect x='3.5' y='13.5' width='7' height='7' rx='1'/%3E%3Crect x='13.5' y='13.5' width='7' height='7' rx='1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='7' height='7' rx='1'/%3E%3Crect x='13.5' y='3.5' width='7' height='7' rx='1'/%3E%3Crect x='3.5' y='13.5' width='7' height='7' rx='1'/%3E%3Crect x='13.5' y='13.5' width='7' height='7' rx='1'/%3E%3C/svg%3E");}
.woocommerce-MyAccount-navigation-link--orders a::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3.5h12v17l-3-2-3 2-3-2-3 2z'/%3E%3Cpath d='M9.5 8.5h5M9.5 12.5h5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3.5h12v17l-3-2-3 2-3-2-3 2z'/%3E%3Cpath d='M9.5 8.5h5M9.5 12.5h5'/%3E%3C/svg%3E");}
.woocommerce-MyAccount-navigation-link--edit-address a::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-5.6 7-11a7 7 0 1 0-14 0c0 5.4 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-5.6 7-11a7 7 0 1 0-14 0c0 5.4 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");}
.woocommerce-MyAccount-navigation-link--edit-account a::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='3.6'/%3E%3Cpath d='M4.8 20c0-4 3.3-6.2 7.2-6.2S19.2 16 19.2 20'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='3.6'/%3E%3Cpath d='M4.8 20c0-4 3.3-6.2 7.2-6.2S19.2 16 19.2 20'/%3E%3C/svg%3E");}
.woocommerce-MyAccount-navigation-link--wishlist a::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M12 20.3 4.7 13a4.6 4.6 0 0 1 6.5-6.5l.8.8.8-.8A4.6 4.6 0 0 1 19.3 13z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M12 20.3 4.7 13a4.6 4.6 0 0 1 6.5-6.5l.8.8.8-.8A4.6 4.6 0 0 1 19.3 13z'/%3E%3C/svg%3E");}
.woocommerce-MyAccount-navigation-link--customer-logout a::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 5.5H6.5v13H13'/%3E%3Cpath d='M11 12h9M17 9l3 3-3 3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 5.5H6.5v13H13'/%3E%3Cpath d='M11 12h9M17 9l3 3-3 3'/%3E%3C/svg%3E");}
.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--sc-muted) !important;}
.woocommerce-MyAccount-navigation-link--customer-logout a:hover{color:var(--sc-promo) !important;}

/* ---- dashboard ---- */
.sc-dash__hello{font-size:1.05rem;color:var(--sc-neutral-800);margin:0 0 1.2rem;}
.sc-dash__hello strong{font-family:var(--sc-display);font-size:1.35rem;font-weight:400;color:var(--sc-green-800);}

.sc-dash-alert{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--sc-promo-soft);border:1px solid var(--sc-promo-line);border-left:3px solid var(--sc-promo);padding:16px 20px;margin:0 0 16px;}
.sc-dash-alert__text{margin:0;font-size:.92rem;line-height:1.65;color:var(--sc-promo-strong);}

.sc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px;}
.sc-stat{background:var(--sc-paper);border:1px solid var(--sc-green-100);padding:18px 16px;text-align:center;}
.sc-stat--action{background:var(--sc-promo-soft);border-color:var(--sc-promo-line);}
.sc-stat__num{display:block;font-family:var(--sc-display);font-size:1.85rem;line-height:1.1;color:var(--sc-green-800);}
.sc-stat__num .woocommerce-Price-amount{font-family:var(--sc-display);}
.sc-stat--action .sc-stat__num{color:var(--sc-promo-strong);}
.sc-stat__label{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sc-muted);margin-top:7px;line-height:1.45;}
.sc-stat--action .sc-stat__label{color:var(--sc-promo-strong);}

.sc-dash-recent__list{list-style:none;margin:0;padding:0;}
.sc-dash-recent__row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) auto auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--sc-neutral-200);}
.sc-dash-recent__row:last-child{border-bottom:0;}
.sc-dash-recent__num{font-family:var(--sc-display);font-size:1.1rem;color:var(--sc-green-800) !important;text-decoration:none;}
.sc-dash-recent__num:hover{color:var(--sc-green-600) !important;}
.sc-dash-recent__date{font-size:.82rem;color:var(--sc-muted);}
.sc-dash-recent__total{font-size:.95rem;color:var(--sc-ink);text-align:right;white-space:nowrap;}
.sc-dash-recent__more{margin:16px 0 0;}
.sc-dash-links{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 0;}

@media (max-width:900px){
  .sc-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){
  .sc-dash-recent__row{grid-template-columns:1fr auto;row-gap:6px;}
  .sc-dash-recent__date{order:3;}
  .sc-dash-recent__total{order:4;}
  .sc-dash-alert{flex-direction:column;align-items:flex-start;}
  .sc-dash-links{flex-direction:column;}
  .sc-dash-links .sc-order-act{text-align:center;}
  .sc-acct-id__mail{max-width:100%;}
}

/* ---- sign-in gate (order-pay + order-received login-required branches) ---- */
.sc-signin-panel{max-width:100%;}
.sc-signin-form .form-row{width:auto;float:none;margin:0 0 1.1em;}
.sc-signin-form .form-row-first,
.sc-signin-form .form-row-last{width:auto;float:none;}
.sc-signin-form label{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sc-muted);margin:0 0 .5em;}
.sc-signin-form .input-text{width:100%;max-width:380px;padding:11px 13px;font-family:var(--sc-body);font-size:.95rem;}
.sc-signin-form .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:9px;text-transform:none;letter-spacing:normal;font-size:.88rem;color:var(--sc-neutral-800);margin:0 0 1.1em;}
.sc-signin-form .woocommerce-form-login__rememberme input{width:auto;margin:0;}
.sc-signin-form .lost_password{margin:1.1em 0 0;font-size:.85rem;}
.sc-signin-help{color:var(--sc-muted);font-size:.85rem;margin:1.5em 0 0;padding:1.2em 0 0;border-top:1px solid var(--sc-neutral-200);}

/* The sign-in gate replaces the page's own heading, so Astra's "Checkout"
   title must go with it. Scoped by :has() rather than a body class because
   order-pay and order-received are different endpoints on the same page. */
body:has(.sc-signin) .entry-title{display:none !important;}
body:has(.sc-signin) .ast-single-post-order,
body:has(.sc-signin) .entry-header{margin-bottom:0 !important;}

/* WooCommerce's password-visibility toggle is a bare <button>, so it inherits
   the site's filled button styling and renders as a green block below the
   field. Put it back inside the input as a quiet eye icon. Applies wherever we
   show password fields — the sign-in gate and Account details. */
.sc-signin-form .password-input,
.woocommerce-account .password-input{display:block;position:relative;max-width:380px;}
.sc-signin-form .password-input .input-text,
.woocommerce-account .password-input .input-text{padding-right:44px;}
.sc-signin-form .show-password-input,
.woocommerce-account .show-password-input{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:28px;height:28px;min-width:0;padding:0 !important;margin:0;background:transparent !important;border:0 !important;box-shadow:none;color:var(--sc-muted) !important;cursor:pointer;}
.sc-signin-form .show-password-input::after,
.woocommerce-account .show-password-input::after{content:"";display:block;width:19px;height:19px;margin:0 auto;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12S6 6 12 6s9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6z'/%3E%3Ccircle cx='12' cy='12' r='2.8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12S6 6 12 6s9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6z'/%3E%3Ccircle cx='12' cy='12' r='2.8'/%3E%3C/svg%3E");}
.sc-signin-form .show-password-input:hover,
.woocommerce-account .show-password-input:hover,
.sc-signin-form .show-password-input.display-password,
.woocommerce-account .show-password-input.display-password{color:var(--sc-green-700) !important;}

/* ===========================================================================
   Pay for order (checkout/form-pay.php) — reached from the Pay action on an
   unpaid order. Shares the band and panels with the confirmation page.
   ========================================================================= */

body:has(.sc-pay) .entry-title{display:none !important;}
body:has(.sc-pay) .ast-single-post-order,
body:has(.sc-pay) .entry-header{margin-bottom:0 !important;}

.sc-pay-order,.sc-pay-methods{margin-top:18px;}

/* ---- the order table ---- */
.woocommerce-checkout .sc-pay table.sc-pay-table{width:100%;border:0;border-collapse:collapse;margin:0;font-size:.95rem;}
/* Cell padding has to be written per section. WooCommerce's rules carry the
   section element too (`.woocommerce table.shop_table thead th`, 0-2-3), which
   beats a combined `table.sc-pay-table th` (0-2-2) — that left WooCommerce's
   `10px 10px 10px 0` in place and the values flush against the table walls.
   Matching its depth makes these tie, and later-in-file wins. */
.woocommerce-checkout .sc-pay table.sc-pay-table thead th,
.woocommerce-checkout .sc-pay table.sc-pay-table tbody th,
.woocommerce-checkout .sc-pay table.sc-pay-table tbody td,
.woocommerce-checkout .sc-pay table.sc-pay-table tfoot th,
.woocommerce-checkout .sc-pay table.sc-pay-table tfoot td{background:transparent !important;border:0;border-bottom:1px solid var(--sc-neutral-200);padding:11px 0 !important;vertical-align:top;}
.woocommerce-checkout .sc-pay table.sc-pay-table thead th{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sc-muted);font-weight:400;padding:0 0 9px !important;}
.woocommerce-checkout .sc-pay table.sc-pay-table td:last-child,.woocommerce-checkout .sc-pay table.sc-pay-table th:last-child{text-align:right;white-space:nowrap;}
.woocommerce-checkout .sc-pay table.sc-pay-table .product-quantity{color:var(--sc-muted);font-weight:400;}
.woocommerce-checkout .sc-pay table.sc-pay-table tfoot th{font-weight:400;color:var(--sc-muted);font-size:.9rem;}
.woocommerce-checkout .sc-pay table.sc-pay-table tfoot td{color:var(--sc-ink);}
.woocommerce-checkout .sc-pay table.sc-pay-table tfoot .sc-total-amount{font-family:var(--sc-display);font-size:1.6rem;color:var(--sc-green-800);}
.woocommerce-checkout .sc-pay table.sc-pay-table tfoot tr:has(.sc-total-amount) th{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sc-green-800);padding-top:15px;}
.woocommerce-checkout .sc-pay table.sc-pay-table tfoot tr:has(.sc-total-amount) th,
.woocommerce-checkout .sc-pay table.sc-pay-table tfoot tr:has(.sc-total-amount) td{border-bottom:0;}
.woocommerce-checkout .sc-pay table.sc-pay-table tfoot small.shipped_via{display:block;color:var(--sc-muted);font-size:.78rem;font-style:normal;}

/* ---- payment methods ---- */
.sc-pay-methods .payment_methods{list-style:none;margin:0;padding:0;}
/* checkout/payment-method.php emits the radio, the label and the description
   box as three SIBLINGS of the <li>. The row has to be built on the li, with
   the box forced onto its own line — styling the label alone leaves the radio
   stranded above it. */
.sc-pay-methods .payment_methods > li{display:flex;flex-wrap:wrap;align-items:center;border:1px solid var(--sc-green-100);background:var(--sc-green-50);margin:0 0 10px;padding:0;overflow:hidden;}
/* WooCommerce styles this radio through `#payment ul.payment_methods li input`
   — an ID selector, which beats any class-only rule, so a plain
   `.sc-pay-methods ...` margin is discarded and the radio ends up flush
   against the card border. Our section carries id="payment", so matching on it
   here wins on class count with the IDs tied. */
#payment.sc-pay-methods .payment_methods > li > input[type=radio]{flex:0 0 auto;width:17px;height:17px;margin:0 0 0 18px;accent-color:var(--sc-green-600);}
.sc-pay-methods .payment_methods > li > label{flex:1 1 auto;display:flex;align-items:center;gap:10px;min-width:0;margin:0;padding:15px 18px 15px 10px;cursor:pointer;font-size:.98rem;color:var(--sc-green-800);}
.sc-pay-methods .payment_methods > li > input[type=radio]:checked + label{color:var(--sc-green-900);}
.sc-pay-methods .payment_box{flex:0 0 100%;}
.sc-pay-methods .payment_methods > li:has(input[type=radio]:checked){border-color:var(--sc-green-600);background:var(--sc-paper);}
.sc-pay-methods .payment_methods label img{max-height:26px;width:auto;margin:0 0 0 auto;}
.sc-pay-methods .payment_box{background:var(--sc-paper) !important;border:0;border-top:1px solid var(--sc-green-100);margin:0;padding:14px 18px 16px;font-size:.88rem;line-height:1.7;color:var(--sc-neutral-800);}
.sc-pay-methods .payment_box::before{display:none !important;}
.sc-pay-methods .payment_box p{margin:0;}
.sc-pay-methods .payment_box p + p{margin-top:.7em;}

/* ---- terms + submit ---- */
.sc-pay-submit{margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--sc-neutral-200);}
.sc-pay-submit .woocommerce-terms-and-conditions-wrapper{margin:0 0 1.1em;font-size:.85rem;line-height:1.7;color:var(--sc-muted);}
.sc-pay-submit .woocommerce-privacy-policy-text p{margin:0 0 1em;font-size:.85rem;line-height:1.7;color:var(--sc-muted);}
.sc-pay-submit #place_order{width:100%;}
.sc-pay-help{color:var(--sc-muted);font-size:.85rem;margin:18px 0 0;text-align:center;}

@media (max-width:560px){
  .woocommerce-checkout .sc-pay table.sc-pay-table{font-size:.88rem;}
  .woocommerce-checkout .sc-pay table.sc-pay-table tfoot .sc-total-amount{font-size:1.35rem;}
  .sc-pay-methods .payment_methods > li > label{padding:13px 14px 13px 10px;flex-wrap:wrap;}
  #payment.sc-pay-methods .payment_methods > li > input[type=radio]{margin-left:14px;}
  .sc-pay-methods .payment_box{padding:12px 14px 14px;}
}
