: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;}
.woocommerce input.button,.woocommerce input.button.alt,.added_to_cart,.wc-block-components-button,.wp-block-woocommerce-cart .wc-block-cart__submit-button,.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;}}
/* ==== Phase 5 (C2) — mobile cart (WooCommerce block cart) spacing ==== */
@media(max-width:767px){
  .wc-block-cart-items__row{padding:16px 0 !important;}
  /* the verbose product blurb is redundant in the cart on a phone — hide the whole
     (otherwise-empty) metadata block so it leaves no phantom flex-gap */
  .wc-block-cart-items__row .wc-block-components-product-metadata{display:none !important;}
  .wc-block-cart-item__image{padding-right:0 !important;}
  .wc-block-cart-item__total{min-width:64px;text-align:right;}
  .wc-block-cart-item__product .wc-block-cart-item__prices,.wc-block-cart-item__product .wc-block-components-product-price{margin-bottom:12px;}
  .wc-block-cart-item__quantity{margin-top:0;}
  /* trim the empty gap the block leaves under the short image column */
  .wc-block-cart-items__row > .wc-block-cart-item__image{align-self:start;}
}
/* ==== Phase 5 (C2) — desktop checkout: fill the centred container from first paint ====
   WooCommerce's checkout block lays its two columns out via JS; on wide screens it can
   briefly hug the left before that runs. Make the fill CSS-driven so there's no flash. */
@media(min-width:1024px){
  .woocommerce-checkout .wc-block-components-sidebar-layout{display:flex !important;flex-wrap:nowrap;align-items:flex-start;gap:48px;}
  .woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main{flex:1 1 auto !important;min-width:0;max-width:none;margin:0 !important;}
  .woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar{flex:0 0 400px !important;max-width:400px;margin:0 !important;}
}
/* Fix: the cart/checkout blocks carry a negative horizontal margin (alignwide) that on mobile
   shifts the content flush against the left edge (0 left gutter, big right gap). Pin them back
   inside the container's gutters so both sides are symmetric. */
.woocommerce-cart .wc-block-cart,
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wc-block-checkout,
.woocommerce-checkout .wp-block-woocommerce-checkout{margin-left:0 !important;margin-right:0 !important;}
/* Cart/checkout line-item thumbnails: replace the old wordmark placeholder PNG with the
   botanical watermark on a sand bed (matches the cards/PDP). Real photos pass through. */
.wc-block-cart-item__image:has(img[src*="placeholder"]),
.wc-block-components-order-summary-item__image:has(img[src*="placeholder"]){
  background:var(--sc-sand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none' stroke='%236E8F78' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M20 118C20 82 26 56 44 36'/%3E%3Cpath d='M30 78C16 72 8 58 12 44 28 50 34 66 30 78Z'/%3E%3Cellipse cx='48' cy='22' rx='6' ry='16'/%3E%3Cellipse cx='48' cy='22' rx='6' ry='16' transform='rotate(60 48 38)'/%3E%3Cellipse cx='48' cy='22' rx='6' ry='16' transform='rotate(120 48 38)'/%3E%3Ccircle cx='48' cy='38' r='4.6'/%3E%3C/svg%3E") center/58% no-repeat !important;
}
.wc-block-cart-item__image:has(img[src*="placeholder"]) img,
.wc-block-components-order-summary-item__image:has(img[src*="placeholder"]) img{opacity:0;}
/* Keep those line-item thumbnails a clean 1:1 square (the block leaves them portrait/landscape) */
.wc-block-cart-item__image{aspect-ratio:1/1 !important;height:auto !important;padding:0 !important;overflow:hidden;align-self:flex-start;}
.wc-block-cart-item__image img{width:100% !important;height:100% !important;object-fit:cover !important;}
.wc-block-cart-item__product{padding-left:16px;}
.wc-block-components-order-summary-item__image{flex:0 0 56px !important;width:56px !important;aspect-ratio:1/1 !important;height:auto !important;align-self:flex-start;overflow:hidden;margin-right:14px;}
.wc-block-components-order-summary-item__image img{width:100% !important;height:100% !important;object-fit:cover !important;}
/* ==== 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;}
}
/* ==== 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-sage-500);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{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;}
/* 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. */

/* ===========================================================================
   EMPTY BASKET  ([sc_empty_basket], Cart page's empty-cart block)
   WooCommerce paints a black crying-face glyph as a mask-image on
   .wc-block-cart__empty-cart__title.with-empty-cart-icon::before. The heading
   that carried it has been removed from the Cart page content, but the rule is
   killed here too so a regenerated block can never bring the face back.
   ======================================================================== */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before{content:none !important;display:none !important;}

/* The page gradient reaches rgb(186,209,183) behind this block, where 14.5px
   --sc-muted body copy measures 3.39:1 and the bestseller kicker 3.83:1 — both
   under AA. Same problem the homepage bestsellers had, so the same fix: the
   documented translucent panel (cf. .sc-best-inner / .sc-story-inner). */
.wp-block-woocommerce-empty-cart-block{max-width:1240px;margin:0 auto;padding:72px 40px 80px;background:rgba(255,255,255,.5);border:1px solid rgba(34,38,31,.07);}
.sc-empty{text-align:center;max-width:560px;margin:0 auto;padding:0;}

/* The medallion: a paper disc with a hairline ring, the line-art bloom inside.
   Echoes the logo mark rather than introducing a new icon language. */
.sc-empty-mark{position:relative;width:132px;height:132px;margin:0 auto 26px;display:flex;align-items:center;justify-content:center;}
.sc-empty-ring{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 38%,var(--sc-paper) 0%,var(--sc-green-50) 62%,var(--sc-mist) 100%);border:1px solid var(--sc-sage-300);}
/* The library art is drawn in a 180-unit viewBox at stroke-width 1.1; rendered at
   82px that scales to a ~0.5px line and reads as a smudge. CSS stroke-width beats
   the presentation attribute, so the line is re-weighted for this size. */
.sc-empty-mark .sc-bot{position:relative;width:82px;height:82px;color:var(--sc-sage-700);opacity:.7;stroke-width:2.1;}

.sc-empty-kick{font-family:'Jost',sans-serif;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--sc-green-700);margin:0 0 10px;}
.sc-empty-title{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:38px;line-height:1.15;color:var(--sc-sage-900);margin:0 0 14px;}
.sc-empty-lead{font-size:14.5px;line-height:1.75;font-weight:300;color:var(--sc-neutral-700);margin:0 auto 26px;max-width:420px;}

.sc-empty-cta{margin:0 0 18px;}
/* Astra emits an inline `.ast-single-post .entry-content a{text-decoration:underline}`
   which outranks a plain .sc-empty .sc-btn on specificity, so the underline needs
   !important here — same reason the colour below already carries one. */
.sc-empty .sc-btn{display:inline-block;background:var(--sc-sage-700);color:var(--sc-cream) !important;padding:15px 34px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none !important;border:1px solid var(--sc-sage-700);transition:background .25s,border-color .25s;}
.sc-empty .sc-btn:hover{background:var(--sc-sage-900);border-color:var(--sc-sage-900);}
.sc-empty .sc-btn:focus-visible{outline:2px solid var(--sc-sage-700);outline-offset:3px;}

.sc-empty-alt{margin:0;font-size:12.5px;letter-spacing:.04em;}
.sc-empty-alt a{color:var(--sc-green-700);text-decoration:none !important;border-bottom:1px solid var(--sc-sage-300);padding-bottom:2px;transition:border-color .25s;}
.sc-empty-alt a:hover{border-bottom-color:var(--sc-sage-700);}
.sc-empty-alt span{display:inline-block;margin:0 12px;color:var(--sc-sage-300);}

/* One orchestrated reveal on load, staggered down the column. */
@media (prefers-reduced-motion:no-preference){
  .sc-empty>*{animation:sc-empty-rise .6s cubic-bezier(.22,.61,.36,1) both;}
  .sc-empty-mark{animation-delay:.02s;}
  .sc-empty-kick{animation-delay:.10s;}
  .sc-empty-title{animation-delay:.16s;}
  .sc-empty-lead{animation-delay:.22s;}
  .sc-empty-cta{animation-delay:.28s;}
  .sc-empty-alt{animation-delay:.34s;}
}
@keyframes sc-empty-rise{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

/* Bestseller lead-in below the empty state. .sc-kicker is scoped to .sc-home in
   home.css, so on the Cart page it arrives unstyled — hence the explicit rules. */
.wp-block-woocommerce-empty-cart-block .sc-empty-kicker{font-family:'Jost',sans-serif;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--sc-green-700);margin:0 0 8px;}
.wp-block-woocommerce-empty-cart-block .sc-empty+.sc-empty-kicker{margin-top:54px;padding-top:44px;border-top:1px solid var(--sc-sage-300);max-width:560px;margin-left:auto;margin-right:auto;}
.wp-block-woocommerce-empty-cart-block .sc-empty-kicker+h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:30px;line-height:1.2;color:var(--sc-sage-900);margin:0 0 30px;}

@media (max-width:600px){
  .wp-block-woocommerce-empty-cart-block{padding:44px 18px 52px;}
  .sc-empty{padding:0;}
  .sc-empty-mark{width:108px;height:108px;margin-bottom:20px;}
  .sc-empty-mark .sc-bot{width:60px;height:60px;}
  .sc-empty-title{font-size:30px;}
  .sc-empty-lead{font-size:14px;}
  .sc-empty-alt span{margin:0 8px;}
}


/* Courier Guy option rows on the block cart/checkout.
   The block renders the rate name, the price, and the rate description beneath
   it — so the service, when it arrives and the date are all server-rendered and
   survive React re-rendering the list. The carrier badge is the only thing left,
   and CSS handles it, so there is no script to re-apply. TCG ship this logo in
   their own plugin; using it to label their services is what it is for. */
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__option{
  background-image:url('/wp-content/plugins/the-courier-guy/dist/images/tcg_logo.png');
  background-repeat:no-repeat;background-size:46px auto;background-position:left 46px top 15px;
  padding-left:104px !important;
}
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__description{
  font-size:12.5px;line-height:1.55;color:var(--sc-neutral-700);margin-top:2px;
}
@media (max-width:600px){
  .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option{
    background-size:38px auto;background-position:left 42px top 14px;padding-left:88px !important;
  }
}

/* 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%;}

/* ---------------------------------------------------------------------------
 * Block checkout — the empty-cart state.
 *
 * Reachable by emptying the basket while ON the checkout page (a fresh request
 * to /checkout/ with an empty cart is redirected to /cart/ by WooCommerce), so
 * the quantity steppers in the order summary make it easy to land here. The
 * panel is hardcoded in the checkout block's JavaScript rather than being
 * editable content, so unlike the Cart page's [sc_empty_basket] it can only be
 * dressed with CSS: hide WooCommerce's black shopping-trolley glyph and give it
 * the same ring + bloom, type and surface as the branded empty basket.
 * ------------------------------------------------------------------------- */
.wc-block-checkout-empty{
  flex:1 1 100%;max-width:1240px;margin:0 auto;padding:72px 40px 80px;text-align:center;
  background:rgba(255,255,255,.5);border:1px solid rgba(34,38,31,.07);
}
.wc-block-checkout-empty__image{display:none !important;}
.wc-block-checkout-empty::before{
  content:"";display:block;width:132px;height:132px;margin:0 auto 26px;
  border-radius:50%;border:1px solid var(--sc-sage-300);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180' fill='none' stroke='%233F7950' stroke-opacity='.7' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M90 170C90 128 86 96 92 66'/%3E%3Cpath d='M88 118C64 110 50 88 56 68 80 76 90 98 88 118Z'/%3E%3Cellipse cx='92' cy='40' rx='7' ry='22'/%3E%3Cellipse cx='92' cy='40' rx='7' ry='22' transform='rotate(45 92 62)'/%3E%3Cellipse cx='92' cy='40' rx='7' ry='22' transform='rotate(90 92 62)'/%3E%3Cellipse cx='92' cy='40' rx='7' ry='22' transform='rotate(135 92 62)'/%3E%3Ccircle cx='92' cy='62' r='6'/%3E%3C/svg%3E") center/76px 76px no-repeat,
             radial-gradient(circle at 50% 38%,var(--sc-paper) 0%,var(--sc-green-50) 62%,var(--sc-mist) 100%);
}
.wc-block-checkout-empty__title{
  display:block;font-family:'Cormorant Garamond',serif;font-weight:400;font-size:38px;
  line-height:1.15;color:var(--sc-sage-900);margin:0 0 14px;
}
.wc-block-checkout-empty__description{
  font-size:14.5px;line-height:1.75;font-weight:300;color:var(--sc-neutral-700);
  margin:0 auto 26px;max-width:420px;
}
.wc-block-checkout-empty .wp-block-button{display:block;}
/* A wrapped label needs breathing room between the two lines — the global
   button rule leaves line-height at 1. */
.wc-block-checkout-empty .wp-block-button__link{line-height:1.3;}

@media (max-width:600px){
  .wc-block-checkout-empty{padding:44px 18px 52px;}
  .wc-block-checkout-empty::before{width:108px;height:108px;margin-bottom:20px;background-size:60px 60px,auto;}
  .wc-block-checkout-empty__title{font-size:30px;}
  .wc-block-checkout-empty__description{font-size:14px;}
}

/* ---------------------------------------------------------------------------
 * 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;}
}

/* ---------------------------------------------------------------------------
 * Cart line items at 320px.
 *
 * WooCommerce hardcodes `grid-template-columns: 80px 132px` for its mobile cart
 * row (cart.css, .is-mobile/.is-medium), which together with the 64px total
 * column needs 276px before gaps. At 320 the content container is only 280 and
 * the quantity stepper holds the product cell open at 159px, so the row came
 * out 303px wide — 3px past the viewport, clipping the line price. Trim the
 * image column and let the product column flex instead of standing at a fixed
 * 132px. Buttons stay 30px, so tap targets are untouched.
 * ------------------------------------------------------------------------- */
@media (max-width:400px){
  .is-mobile table.wc-block-cart-items .wc-block-cart-items__row,
  .is-medium table.wc-block-cart-items .wc-block-cart-items__row{
    grid-template-columns:64px minmax(0,1fr) !important;}
  .wc-block-cart-item__quantity{gap:8px !important;}
  .wc-block-cart-item__quantity .wc-block-cart-item__remove-link{margin-left:0 !important;}
  .wc-block-components-quantity-selector__input{min-width:34px !important;}
}
