/* ============================================================
   yanxuan.com.au (YogaSockIt) — per-site tweaks
   Loaded AFTER warehouse-clone.css (functions.php, dep=warehouse-clone)
   so these win the cascade. Moved out of Customizer Additional CSS
   2026-07-09 so the design lives in template files, not the DB.
   ============================================================ */

/* ==WHFONTS== YogaSockIt: Inter (body/readable) + Space Grotesk (display/accent/brand). Self-hosted, fast. Replaces Barlow. Selectors mirror warehouse-clone.css so they win by same-specificity + later cascade. */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url('/wp-content/themes/shoptimizer-child-theme/fonts/spacegrotesk-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url('/wp-content/themes/shoptimizer-child-theme/fonts/spacegrotesk-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* base: Inter everywhere */
html body,html body *{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif!important;}

/* --- DISPLAY + ACCENT -> Space Grotesk (mirrors warehouse-clone's Barlow selectors) --- */
html body h1,html body h2,html body h3,html body h4,
.single-product h2,.single-product h3,.single-product .button,.single-product .price,
.wh-label,.wh-right .summary .stock .wh-stock-label,
.wh-card h2,.woocommerce-tabs h2,.related.products>h2,.woocommerce-tabs ul.tabs.wc-tabs li a,
.wh-shop-title,.wh-shop-archive .widget-area .widget-title,.wh-shop-archive .widget-area .widgettitle,
.wh-shop-archive .woocommerce-pagination .page-numbers,
.cart-drawer-heading,.shoptimizer-mini-cart-wrap .cart-drawer-heading,
.widget_shopping_cart a.button,.shoptimizer-mini-cart-wrap a.button,.widget_shopping_cart .buttons a,
.wh-loop-stock,.wh-home-hero h1,.wh-home-hero .wh-hero-btn .wp-block-button__link,
.wh-sec-title,.wh-promo-card h3,.wh-promo__title,.wh-offer__title,.wh-mosaic__title,.wh-coll-name,
.wh-about__title,.wh-newsletter__title,
.home ul.products li.product .price,.home .wc-block-grid__product-price,
.wh-hero__title,.wh-price,.wh-price .amount,.wh-price bdi,
.price,.price .amount,.cgkit-as-variation-price,.cgkit-as-variation-price .amount,
.wh-rv-price,.related h2,.related-wrapper h2,.up-sells h2,.wh-recently-viewed h2,.products>h2,
.wh-save-chip,.wh-save-badge,.onsale,
.wh-btn,.single_add_to_cart_button,.wh-buy-now,button.button,.checkout-button{
  font-family:'Space Grotesk','Inter',system-ui,sans-serif!important;
}

/* --- product titles + body text -> Inter (override warehouse-clone's Barlow on these) --- */
.single-product .product_title,.single-product h1,
ul.products li.product .woocommerce-loop-product__title,ul.products li.product h2,
body.home ul.products li.product .woocommerce-loop-product__title,body.home ul.products li.product h2,
.home .wc-block-grid__product-title,.wh-rv-title,
.wh-pdp-head .woocommerce-breadcrumb,.wh-shop-head .woocommerce-breadcrumb,
.wh-right .summary .wh-rating .woocommerce-review-link,.wh-meta-line,.woocommerce-mini-cart__empty-message,
.col-full-nav .main-navigation ul.menu>li>a,.col-full-nav .menu>li>a,.col-full-nav .main-navigation a,
.main-header .wh-track,.main-header .wh-account,.wh-subscribe{
  font-family:'Inter',system-ui,sans-serif!important;
}

/* guards: admin bar + dashicons */
#wpadminbar,#wpadminbar *{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif!important;}
.dashicons,.dashicons-before::before,[class^="dashicons-"]::before,[class*=" dashicons-"]::before,#wpadminbar .ab-icon::before,#wpadminbar .ab-item::before{font-family:dashicons!important;}
/* guaranteed win (ID-level specificity) for related/upsell/recently-viewed headings — beats pre-existing yanxuan custom CSS */
html body .related h2:not(#\9),html body .related-wrapper h2:not(#\9),html body .up-sells h2:not(#\9),html body .wh-recently-viewed h2:not(#\9){font-family:'Space Grotesk','Inter',system-ui,sans-serif!important;}
/* ==/WHFONTS== */

/* ==WHFIX== yanxuan Warehouse-vs-old-SSB conflict fixes (appearance only) */
/* buy box: empty afterpay slot -> collapse the 58px gap (afterpay is inside .ssb-price-row) */
.single-product .wh-right .summary .wh-ap-slot{min-height:0!important;height:auto!important;}
.single-product .wh-right .summary .ssb-price-row .cgkit-as-variation-price,
.single-product .wh-right .summary .ssb-price-row > .price{display:none!important;}
.single-product .wh-right .summary .ssb-price-row{min-height:0!important;margin:0!important;padding:0!important;}
/* top bar: email + promo + social were mashed with no spacing */
.topbar-wrapper .top-bar > .col-full{gap:22px!important;}
/* mega "Shop by department" button has no slot in the Warehouse header -> hide */
.main-header .ssb-mega,.site-header .ssb-mega,.col-full-nav .ssb-mega{display:none!important;}
/* header-5: a duplicate menu renders inside .main-header (dark text on green = invisible ghost); the real nav is the white row below (.col-full-nav) */
.main-header .main-navigation,.main-header nav.menu,.main-header ul.menu,.main-header .shoptimizer-primary-navigation,.main-header .menu-primary-menu-container{display:none!important;}
/* ==/WHFIX== */

/* ==WHFIX2== yanxuan appearance fixes round 2 (text colour + PDP; width handled separately) */
/* text colour: the "No reviews yet" review link rendered green with an odd underline -> muted grey */
.wh-rating .wh-write-review,.wh-no-reviews .wh-write-review,.wh-right .summary .woocommerce-review-link{color:var(--wh-muted)!important;text-decoration:none!important;}
.wh-rating .wh-write-review:hover{color:var(--wh-accent)!important;}
/* afterpay line: "Select an option to see Afterpay..." was crossed by a divider border -> clear it */
.single-product .wh-right .summary .ssb-paylater-inline,.single-product .wh-right .summary .ssb-price-row{border:0!important;background:transparent!important;position:relative;z-index:1;}
.single-product .wh-right .summary .ssb-paylater-inline{margin:2px 0 6px!important;color:var(--wh-muted)!important;}
/* old-SSB black "SALE" pill in the buy box is redundant with our red Save badge -> hide */
.single-product .wh-right .summary > .onsale,.single-product .wh-right .summary .ssb-price-row .onsale,.single-product .summary span.onsale{display:none!important;}
/* the "Select an option to see Afterpay/Klarna" placeholder (it's the .wh-ap-slot::before text) had a
   line crossing it like a strikethrough — from the fkwcs messaging box border + the ap-slot's own
   border/bg. Remove the LINES but KEEP the text. */
.single-product .fkwcs_paylater_messaging{border:0!important;background:transparent!important;}
.single-product .wh-ap-slot{border:0!important;background:transparent!important;}
.single-product .wh-ap-slot::before,.single-product .wh-ap-slot::after{border:0!important;background:transparent!important;text-decoration:none!important;box-shadow:none!important;}
/* ==/WHFIX2== */

/* ==WHSHOP== shop-archive de-dup: the old SSB plugin still outputs a 'Shop All'
   page-banner + its own sort tabs, duplicating the Warehouse banner/title/toolbar.
   Can't remove the plugin HTML (don't touch yanxuan plugins) -> hide the dupes. */
.wh-shop-archive .ssb-pagebanner{display:none!important;}
.wh-shop-archive .ssb-sorttabs,.wh-shop-archive .shoptimizer-sorting .ssb-sorttabs{display:none!important;}
/* SSB's filter bar (.ssbf) is output by a separate hook not in shop-sidebar.php; bestar has no such
   filter -> hide it so the shop matches bestar (Warehouse toolbar already provides sort + per-page). */
.wh-shop-archive .ssbf{display:none!important;}
/* warehouse-clone's shop grid reserves a 288px col-1 for a theme sidebar, but yanxuan
   has none (categories live inside the content column as .ssb-cats) -> banner + products
   indent 318px right of the breadcrumb. With no sidebar, collapse to one full-width column
   so banner/products align left with the breadcrumb. Only the shop-archive .col-full is grid. */
.wh-shop-archive.no-woocommerce-sidebar .shoptimizer-archive .col-full{grid-template-columns:minmax(0,1fr)!important;}
.wh-shop-archive.no-woocommerce-sidebar .shoptimizer-archive .col-full>.wh-shop-banner,
.wh-shop-archive.no-woocommerce-sidebar .shoptimizer-archive .col-full>#primary.content-area{grid-column:1 / -1!important;}
/* ==/WHSHOP== */

/* ==WHSHOP-PRICE== shop loop price still declared Barlow (higher specificity than my .price);
   Barlow is no longer loaded so it falls back to sans -> pin to Space Grotesk for consistency. */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price bdi{font-family:'Space Grotesk','Inter',system-ui,sans-serif!important;}
/* ==/WHSHOP-PRICE== */

/* ==WHHEADER== HOT + BRAND share ONE header: hide the centered search, white header bar.
   Header skin follows ssb_active_template (hero→minimal, brand→centered) — target both so
   HOT and BRAND look identical. COMP (ssb-skin-comprehensive) keeps its bestar-style 2-row
   header with the big search + mega, so it is deliberately NOT touched here. */
body.ssb-skin-hero .site-search,
body.ssb-skin-brand .site-search{display:none!important;}
body.ssb-skin-hero .main-header,
body.ssb-skin-brand .main-header,
body.ssb-skin-hero .col-full-nav,
body.ssb-skin-brand .col-full-nav{background:#fff!important;}
/* ==/WHHEADER== */

/* ==WHSHOPSIDEBAR== make yanxuan's SSB categories sidebar (.ssb-cats) look like bestar's Warehouse
   "Collections" card. Can't use the real wh-collections widget (SSB owns yanxuan's shop layout &
   we don't touch the SSB plugin), so we restyle the SSB sidebar to match. */
.wh-shop-archive .ssb-cats{background:#fff!important;border:1px solid #e6e8ea!important;border-radius:3px!important;padding:20px 22px 24px!important;box-shadow:none!important;}
.wh-shop-archive .ssb-cats-h{font-size:0!important;line-height:0!important;margin:0 0 10px!important;padding:0 0 12px!important;border-bottom:1px solid #eef0f2!important;}
.wh-shop-archive .ssb-cats-h::before{content:"Collections";font-size:16px;line-height:1.3;font-weight:700;color:var(--wh-accent);letter-spacing:.01em;}
.wh-shop-archive .ssb-cats-list{margin:0!important;padding:0!important;list-style:none!important;}
.wh-shop-archive .ssb-cats-list li{border-top:1px solid #f2f3f4;margin:0!important;}
.wh-shop-archive .ssb-cats-list li:first-child{border-top:0;}
.wh-shop-archive .ssb-cat{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px;padding:9px 0!important;color:var(--wh-dark)!important;text-decoration:none!important;font-size:14px!important;font-weight:500;}
.wh-shop-archive .ssb-cat .ssb-cat-name{flex:1 1 auto;}
.wh-shop-archive .ssb-cat:hover,.wh-shop-archive .ssb-cat.active{color:var(--wh-accent)!important;}
.wh-shop-archive .ssb-cat-c{flex:0 0 auto;color:#9aa0a6!important;font-size:12.5px!important;font-weight:400;}
.wh-shop-archive .ssb-cat-c::before{content:"(";}
.wh-shop-archive .ssb-cat-c::after{content:")";}
/* ==/WHSHOPSIDEBAR== */

/* ==WHINFO== native info/policy pages (about/faq/contact/order-tracking/policies).
   Grey body + white content card + optional INFORMATION sidebar (policy pages). */
/* hide the theme's default page-title header on native info pages + native homepages (they render their own) */
body:has(.wh-info-page) .entry-header,body:has(.wh-home-native) .entry-header{display:none!important;}
/* native homepage pages viewed at their own permalink (home-brand/home-comp): kill page padding so sections go edge-to-edge like the front page */
body:has(.wh-home-native) .site-main,body:has(.wh-home-native) #primary,body:has(.wh-home-native) .entry-content{padding:0!important;margin:0!important;max-width:none!important;width:100%!important;}
body:has(.wh-home-native) #content .col-full{max-width:none!important;padding:0!important;}
.wh-info-page{max-width:1200px;margin:0 auto;padding:28px 24px 64px;}
.wh-info-head{margin:0 0 22px;}
.wh-info-crumb{font-size:13px;color:var(--wh-muted,#6b6b6b);margin:0 0 10px;}
.wh-info-crumb a{color:var(--wh-muted,#6b6b6b);text-decoration:none;}
.wh-info-crumb a:hover{color:var(--wh-accent);}
.wh-info-title{font-size:clamp(28px,3vw,38px);font-weight:700;color:var(--wh-dark);margin:0;}
.wh-info-body{display:flex;gap:28px;align-items:flex-start;}
.wh-info-page:not(.has-nav) .wh-info-body{max-width:860px;}
.wh-info-nav{flex:0 0 240px;background:#fff;border:1px solid #e6e8ea;border-radius:14px;padding:18px 20px 22px;position:sticky;top:100px;}
.wh-info-nav-h{font-size:14px;font-weight:700;color:var(--wh-accent);text-transform:uppercase;letter-spacing:.03em;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid #eef0f2;}
.wh-info-nav ul{list-style:none;margin:0;padding:0;}
.wh-info-nav li{border-top:1px solid #f2f3f4;}
.wh-info-nav li:first-child{border-top:0;}
.wh-info-nav a{display:block;padding:9px 0;color:var(--wh-dark);text-decoration:none;font-size:14px;font-weight:500;}
.wh-info-nav a:hover,.wh-info-nav li.is-active a{color:var(--wh-accent);}
.wh-info-main{flex:1 1 auto;min-width:0;background:#fff;border:1px solid #ececec;border-radius:14px;padding:clamp(24px,3vw,40px) clamp(24px,3.4vw,44px);}
.wh-info-main h2.wh-info-h{font-size:20px;font-weight:700;color:var(--wh-dark);margin:26px 0 12px;line-height:1.3;}
.wh-info-main h2.wh-info-h:first-child{margin-top:0;}
.wh-info-t,.wh-info-a{font-size:15.5px;line-height:1.75;color:#3a3a3a;}
.wh-info-t p,.wh-info-a p{margin:0 0 14px;}
.wh-info-t a,.wh-info-a a{color:var(--wh-accent);}
.wh-info-list{margin:0 0 16px;padding-left:20px;font-size:15.5px;line-height:1.75;color:#3a3a3a;}
.wh-info-list li{margin:4px 0;}
.wh-info-faq{border-bottom:1px solid #ececec;}
.wh-info-faq summary{list-style:none;cursor:pointer;padding:16px 40px 16px 2px;position:relative;font-size:16px;font-weight:600;color:var(--wh-dark);}
.wh-info-faq summary::-webkit-details-marker{display:none;}
.wh-info-faq summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:400;color:var(--wh-accent);}
.wh-info-faq[open] summary::after{content:"\2013";}
.wh-info-faq .wh-info-a{padding:0 8px 16px 2px;}
.wh-info-contact{margin-top:26px;padding-top:22px;border-top:1px solid #ececec;}
.wh-info-contact p{margin:6px 0;font-size:15.5px;color:#3a3a3a;}
@media(max-width:820px){.wh-info-body{flex-direction:column;}.wh-info-nav{position:static;width:100%;flex:none;}}
/* ==/WHINFO== */

/* ==WHSHOP2== shop/category cleanups + PDP selected-price colour */
/* remove the shop & category hero banner */
.wh-shop-archive .wh-shop-banner{display:none!important;}
/* kill the 2px black frame around the Collections sidebar (theme #secondary default); keep a subtle card border on the widget only */
.wh-shop-archive #secondary{border:0!important;}
.wh-shop-archive .widget.wh-collections{border:1px solid #eef0f2!important;}
/* the theme outputs an empty #secondary sidebar container on every page (homepage/info/etc.) and it
   renders as a stray 2px-black rounded box near the footer. Hide it whenever it holds no widget —
   the shop's Collections sidebar has .widget children so it stays visible. */
#secondary.widget-area:not(:has(.widget)){display:none!important;}
/* selected variation / summary price -> RED (--wh-sale), matching all product prices (user: 价格都要用红色) */
body.single-product .wh-right .summary .price .amount,body.single-product .wh-right .summary .price ins,body.single-product .wh-right .summary .price ins .amount,
body.single-product .wh-right .summary .ssb-price-row .amount,body.single-product .wh-right .summary .ssb-price-row ins,body.single-product .wh-right .summary .ssb-price-row ins .amount,
body.single-product .wh-right .summary .woocommerce-variation-price .amount,body.single-product .wh-right .summary .single_variation .price .amount{color:var(--wh-sale)!important;}
body.single-product .wh-right .summary .price del,body.single-product .wh-right .summary .price del .amount,body.single-product .wh-right .summary .ssb-price-row del,body.single-product .wh-right .summary .ssb-price-row del .amount{color:#9b9b9b!important;}
/* ==/WHSHOP2== */

/* ==WHSHOP3== remove ALL "New" product labels + make the info-page INFORMATION sidebar match the shop Collections card exactly */
.wh-label--new{display:none!important;}
.wh-info-nav{border:1px solid #eef0f2!important;border-radius:3px!important;padding:20px 22px 24px!important;box-shadow:none!important;}
.wh-info-nav-h{color:var(--wh-dark)!important;font-size:21px!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important;border-bottom:0!important;padding:0!important;margin:0 0 8px!important;}
.wh-info-nav li{border-top:0!important;}
.wh-info-nav a{color:#677279!important;padding:8px 0!important;font-size:14px!important;font-weight:500!important;}
.wh-info-nav a:hover,.wh-info-nav li.is-active a{color:var(--wh-accent)!important;}
/* ==/WHSHOP3== */

/* ==WHPDP== single-product: SSB's PDP layout/skin is removed (see functions.php) so warehouse-clone
   styles the PDP natively. This styles the native "Best Sellers" module (wh-bs-native) to match
   warehouse-clone's related-products card (.single-product div.product .related.products @ 1480). */
.single-product .wh-bs-native{max-width:1400px;margin:26px auto 0;background:var(--wh-card);border:1px solid var(--wh-line);border-radius:3px;padding:24px 24px 32px;box-shadow:0 1px 2px rgba(30,45,42,.05);box-sizing:border-box;}
.single-product .wh-bs-native>h2{text-align:left;}
.single-product .wh-bs-native ul.products{margin:0;}
.single-product .wh-bs-native ul.products li.product .price{color:var(--wh-accent);font-weight:700;}
.single-product .wh-bs-native ul.products li.product img{border-radius:4px;}
/* ==/WHPDP== */

/* ==WHRESPONSIVE== tablet/mobile optimisation (all pages) */
@media(max-width:992px){
  /* SHOP: the theme renders #secondary as a fixed off-screen drawer AFTER the products, so stacking
     it lands the Collections list at the very bottom. On tablet/mobile just hide it — products go
     full-width; category navigation is available in the header menu. */
  .wh-shop-archive #secondary,.wh-shop-archive .secondary-wrapper{display:none!important;}
  .wh-shop-archive .shoptimizer-archive .col-full{display:block!important;}
  /* products: 3-up on tablet. High specificity (body + .site-main + .columns-6, repeated) to beat the theme's columns-6 rule. */
  body.wh-shop-archive .site-main ul.products.products.columns-6,body.wh-shop-archive ul.products.products.columns-6,body.wh-shop-archive #primary ul.products{grid-template-columns:repeat(3,1fr)!important;}
  /* hide the now-redundant mobile "Show filters" toggle + overlay */
  .wh-shop-archive .cgkitpf-mobile-toggle,.wh-shop-archive .mobile-filter,.wh-shop-archive .shoptimizer-mobile-filter,.wh-shop-archive .filter-toggle,.wh-shop-archive .menu-overlay{display:none!important;}
  /* HEADER: mobile uses the hamburger menu — hide the inline single-row nav header.js injected into .main-header */
  .main-header .wh-hdr-menu{display:none!important;}
}
@media(max-width:600px){
  body.wh-shop-archive .site-main ul.products.products.columns-6,body.wh-shop-archive ul.products.products.columns-6,body.wh-shop-archive #primary ul.products{grid-template-columns:repeat(2,1fr)!important;gap:14px!important;}
  .wh-shop-archive ul.products li.product{padding:8px!important;}
}

/* ==WHBATCH 2026-07-10 (width already 1400): header/breadcrumb height, unified cards+hover, variation price, qty arrows == */

/* --- tighter header: cut padding on the ACTUAL padded element (don't stack wrapper+inner) + shrink
       the tall nav-menu links. Target ~ topbar 46 / main-header 64 / nav 48 (was 68/77/72). --- */
.main-header{padding-top:8px!important;padding-bottom:8px!important;}
.top-bar{padding-top:0!important;padding-bottom:0!important;}
.top-bar > .col-full{padding-top:6px!important;padding-bottom:6px!important;}
.col-full-nav{padding-top:0!important;padding-bottom:0!important;}
.col-full-nav .shoptimizer-primary-navigation,.col-full-nav ul.menu{min-height:0!important;height:auto!important;}
.col-full-nav ul.menu > li{padding-top:0!important;padding-bottom:0!important;min-height:0!important;}
.col-full-nav ul.menu > li > a,.col-full-nav .shoptimizer-primary-navigation ul.menu > li > a{padding-top:12px!important;padding-bottom:12px!important;line-height:1.4!important;min-height:0!important;height:auto!important;}

/* --- breadcrumb bar shorter (was ~73px) --- */
.wh-shop-head,.wh-pdp-head{padding-top:9px!important;padding-bottom:2px!important;}
.woocommerce-breadcrumb,.wh-shop-head .woocommerce-breadcrumb,.wh-pdp-head .woocommerce-breadcrumb{padding-top:6px!important;padding-bottom:6px!important;margin-bottom:0!important;line-height:1.3!important;}

/* --- UNIFY all product cards (shop / related / recently-viewed / best-sellers / carousels) to one
       clean style with a single ACCENT-colour hover border + subtle lift. No thick/broken/multi borders. --- */
ul.products li.product{background:#fff!important;border:1px solid var(--wh-line)!important;border-radius:10px!important;box-shadow:none!important;outline:0!important;transition:box-shadow .18s,border-color .18s,transform .18s!important;}
ul.products li.product:hover{border-color:var(--wh-accent)!important;box-shadow:0 8px 22px rgba(30,45,42,.10)!important;transform:translateY(-2px);}
ul.products li.product::before,ul.products li.product::after{border:0!important;}
/* carousels/grids: vertical breathing room so the hover shadow isn't clipped (缺边) */
.related-wrapper ul.products,.wh-recently-viewed ul.products,.wh-bs-native ul.products,.single-product .related.products ul.products{padding-top:6px!important;padding-bottom:12px!important;}

/* --- variation price: accent GREEN, never red (the visible .wh-price used --wh-sale = red) --- */
.single-product .wh-right .summary .wh-price,.single-product .wh-right .summary .wh-price .amount,.single-product .wh-right .summary .wh-price ins,.single-product .wh-right .summary .wh-price ins .amount,.single-product .wh-right .summary .wh-price ins bdi,.single-product .wh-right .summary .wh-price > .amount,.single-product .wh-right .summary .wh-price > .amount bdi{color:var(--wh-sale)!important;}
.single-product .wh-right .summary .wh-price del,.single-product .wh-right .summary .wh-price del .amount,.single-product .wh-right .summary .wh-price del bdi{color:#9ba1a5!important;}

/* --- remove the quantity up/down stepper arrows (floating right of Buy it now) — keep the number field --- */
.single-product form.cart .quantity .quantity-button,.single-product form.cart .quantity .plus,.single-product form.cart .quantity .minus,.single-product .wh-right .summary .quantity .quantity-button{display:none!important;}
.single-product form.cart .quantity input.qty{-moz-appearance:textfield!important;}
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,.single-product form.cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important;}
/* ==/WHBATCH== */

/* ==WHBATCH2 2026-07-10: banner flush under menu, search button primary + hover == */
/* banner sits flush under the nav row (kill the ~32px gap above the homepage content) */
body.home .site-content,body.home .site-content > .col-full,body.home .site-main,body.home #primary,body.home .content-area,body.home .entry-content{padding-top:0!important;margin-top:0!important;}
body.home .wh-home-native{padding-top:0!important;margin-top:0!important;}
body.home .wh-home-native > .wh-hero-banner{margin-top:0!important;}
/* the header/site-header can carry a bottom margin that shows as the gap */
body.home .site-header,body.home .col-full-nav{margin-bottom:0!important;}

/* search submit button: solid primary + darker hover (was flat, no hover, looked pale on the dark bar) */
.main-header .site-search button,.main-header .woocommerce-product-search button,.main-header .dgwt-wcas-search-submit,.main-header .site-search .searchsubmit{background:var(--wh-accent)!important;color:#fff!important;border:0!important;transition:background .15s!important;}
.main-header .site-search button:hover,.main-header .woocommerce-product-search button:hover,.main-header .dgwt-wcas-search-submit:hover,.main-header .site-search .searchsubmit:hover{background:var(--wh-accent-d)!important;}
.main-header .site-search button svg,.main-header .site-search button *{color:#fff!important;fill:#fff!important;}
/* ==/WHBATCH2== */

/* ==WHBATCH3 2026-07-10: hover no-border, prices RED, leftover box, elegant marquee scrollbar, tighter header/longer search == */
/* hover: NO border on ANY side — just a shadow lift (+ CommerceKit's hover Add-to-cart reveal, like the shop page) */
ul.products li.product:hover{border-color:transparent!important;box-shadow:0 12px 30px rgba(30,45,42,.14)!important;transform:translateY(-3px)!important;}
/* leftover empty quantity stepper box (arrows hidden earlier; kill the container) */
.single-product form.cart .quantity .quantity-nav,.single-product .wh-right .summary .quantity .quantity-nav{display:none!important;}
/* ALL prices RED (main/sale price); struck was-price stays grey */
html body ul.products li.product .price,html body ul.products li.product .price .amount,html body ul.products li.product .price ins,html body ul.products li.product .price ins .amount,html body ul.products li.product .price ins bdi,
html body .related.products ul.products li.product .price,html body .related.products ul.products li.product .price .amount,html body .related.products ul.products li.product .price ins,
html body .single-product .wh-right .summary .wh-price,html body .single-product .wh-right .summary .wh-price .amount,html body .single-product .wh-right .summary .wh-price ins,html body .single-product .wh-right .summary .wh-price ins .amount,html body .single-product .wh-right .summary .wh-price bdi,html body .single-product .wh-right .summary .wh-price > .amount,
html body .wh-prod-price,html body .wh-prod-price ins{color:var(--wh-sale)!important;}
ul.products li.product .price del,ul.products li.product .price del *,.wh-right .summary .wh-price del,.wh-right .summary .wh-price del *,.wh-prod-price s,.wh-prod-price del{color:#9ba1a5!important;}
/* "You may also like" (.wh-marquee) — slim premium scrollbar in the primary colour */
.wh-marquee{scrollbar-width:thin;scrollbar-color:var(--wh-accent) #eef0f2;}
.wh-marquee::-webkit-scrollbar{height:6px;}
.wh-marquee::-webkit-scrollbar-track{background:#eef0f2;border-radius:999px;margin:0 24px;}
.wh-marquee::-webkit-scrollbar-thumb{background:var(--wh-accent);border-radius:999px;}
.wh-marquee::-webkit-scrollbar-thumb:hover{background:var(--wh-accent-d);}
/* header a touch tighter + search longer */
.main-header{padding-top:6px!important;padding-bottom:6px!important;}
body.ssb-skin-comprehensive .main-header .site-search{margin:0 10px 0 14px!important;}
/* ==/WHBATCH3== */

/* ==WHBATCH4 2026-07-10: hover-lift clipping fix (card top was cut in .wh-marquee / clipped sections) == */
/* smaller lift + tighter shadow so less overflows the container top */
ul.products li.product:hover{transform:translateY(-2px)!important;box-shadow:0 8px 20px rgba(30,45,42,.13)!important;}
/* give the horizontal-scroll marquee (overflow-y:hidden) top/bottom room for the lift + shadow */
.wh-marquee{padding-top:14px!important;padding-bottom:12px!important;}
/* grids: top breathing room so the lifted card isn't cut */
.related-wrapper ul.products,.wh-recently-viewed ul.products,.wh-bs-native ul.products,.single-product .related.products ul.products{padding-top:14px!important;}
/* Best Sellers sits in .site-content{overflow-x:clip} which clips vertically too — let it show the lift */
.wh-bs-native,.wh-bs-native ul.products{overflow:visible!important;}
.wh-bs-native{padding-top:16px!important;}
/* ==/WHBATCH4== */
