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

/* ==/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== */
/* wh-textlogo-bestar:无图 → 站名做文字 logo(bestar 紫) */
.site-branding .site-title,.site-branding .beta{margin:0}
.site-branding .site-title a{font-family:'Space Grotesk',Inter,sans-serif;font-weight:800;font-size:1.9rem;letter-spacing:-.02em;color:var(--wh-accent)!important;text-transform:none}
.site-branding .site-title a:hover{color:var(--wh-accent-d)!important}

/* ===== WHMEGA: Bestar category mega menu ===== */
.wh-megamenu{display:flex;gap:0;list-style:none;margin:0;padding:0;flex-wrap:nowrap;align-items:stretch;justify-content:center}
.wh-megamenu>li{position:relative;display:flex;align-items:stretch}
.wh-megamenu>li>a{display:flex;align-items:center;padding:0 15px;height:100%;font-weight:600;font-size:14px;color:#1c1c1c;text-decoration:none;white-space:nowrap;line-height:1.2;border-bottom:2px solid transparent;transition:.12s}
.wh-megamenu>li:hover>a{color:var(--wh-accent);border-bottom-color:var(--wh-accent)}
.wh-mega-alldept>a::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:currentColor;position:relative;top:2px}
/* panel */
.wh-mega-panel{position:absolute;top:100%;left:0;z-index:500;min-width:600px;max-width:820px;background:#fff;border:1px solid #ececec;border-top:2px solid var(--wh-accent);border-radius:0 0 12px 12px;box-shadow:0 22px 48px rgba(0,0,0,.13);padding:22px 24px;opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .15s,transform .15s,visibility .15s;pointer-events:none}
.wh-mega-item:hover>.wh-mega-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.wh-mega-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.wh-mega-link{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;font-size:13.5px;color:#3a3a3a;text-decoration:none;break-inside:avoid;line-height:1.3}
.wh-mega-link:hover{color:var(--wh-accent)}
.wh-mega-link>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wh-mega-c{color:#a7adb4;font-size:11.5px;flex:0 0 auto}
.wh-mega-all{display:inline-block;margin-top:16px;font-weight:700;color:var(--wh-accent);text-decoration:none;font-size:13.5px}
.wh-mega-all:hover{color:var(--wh-accent-d)}
/* all-departments grid */
.wh-mega-panel--grid{min-width:760px}
.wh-mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px 24px}
.wh-mega-dept{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;font-size:13.5px;color:#2a2a2a;text-decoration:none;font-weight:600;border-bottom:1px solid #f2f2f2}
.wh-mega-dept:hover{color:var(--wh-accent)}
/* right-align panels for the last items so they don't overflow the viewport */
.wh-megamenu>li:nth-last-child(-n+4)>.wh-mega-panel{left:auto;right:0}
/* mobile: hide mega panels; bar scrolls horizontally */
@media(max-width:992px){
  .wh-mega-panel{display:none!important}
  .wh-megamenu{justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:2px}
  .wh-megamenu>li>a{padding:0 12px;font-size:13px}
}
/* wh-logo-white:深紫 header 上用白 logo(紫压紫看不清) */
.site-header .site-title a,.site-header .site-title a:visited,.site-header .beta a{color:#fff!important}
.site-header .site-title a:hover{color:#f2d9ee!important}
/* checkout / 简化头也保持:若 header 为深色 */
.woocommerce-checkout .site-title a,.woocommerce-checkout .site-title a:visited{color:var(--wh-accent)!important}

/* ===== WHMEGA3: 3-level mega menu(覆盖旧 WHMEGA) ===== */
.wh-megamenu{display:flex;gap:0;list-style:none;margin:0;padding:0;flex-wrap:nowrap;align-items:stretch;justify-content:center}
.wh-megamenu>li{position:relative;display:flex;align-items:stretch}
.wh-megamenu>li>a{display:flex;align-items:center;padding:0 16px;height:100%;font-weight:600;font-size:14.5px;color:#1a1a1a;text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent}
.wh-megamenu>li:hover>a{color:var(--wh-accent);border-bottom-color:var(--wh-accent)}
.wh-mega-panel{position:absolute;top:100%;left:0;z-index:500;min-width:700px;max-width:920px;background:#fff;border:1px solid #eaeaea;border-top:3px solid var(--wh-accent);border-radius:0 0 12px 12px;box-shadow:0 24px 50px rgba(0,0,0,.15);padding:24px 28px;opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .15s,transform .15s,visibility .15s;pointer-events:none}
.wh-mega-item:hover>.wh-mega-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}
/* 3 级:子目录组(粗标题)+ 子子目录链接 */
.wh-mega-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 30px;align-items:start}
.wh-mega-group{margin-bottom:14px;min-width:0}
.wh-mega-grouphead{display:block;font-weight:700;font-size:14px;color:#141414;text-decoration:none;padding-bottom:6px;margin-bottom:5px;border-bottom:1px solid #ececec}
.wh-mega-grouphead:hover{color:var(--wh-accent)}
.wh-mega-sublist{list-style:none;margin:0;padding:0}
.wh-mega-sublist a{display:block;padding:4px 0;font-size:13px;color:#4a4f56;text-decoration:none;line-height:1.4}
.wh-mega-sublist a:hover{color:var(--wh-accent);padding-left:3px;transition:.12s}
.wh-mega-more{color:var(--wh-accent)!important;font-weight:600}
.wh-mega-all{display:inline-block;margin-top:8px;padding-top:12px;border-top:1px solid #eee;width:100%;font-weight:700;color:var(--wh-accent);text-decoration:none;font-size:14px}
.wh-mega-all:hover{color:var(--wh-accent-d)}
.wh-mega-alldept>a::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:currentColor;position:relative;top:2px}
.wh-mega-panel--grid{min-width:800px}
.wh-mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px 26px}
.wh-mega-dept{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 0;font-size:14px;color:#1f1f1f;text-decoration:none;font-weight:600;border-bottom:1px solid #f1f1f1}
.wh-mega-dept:hover{color:var(--wh-accent)}
.wh-mega-c{color:#aab0b7;font-size:12px;font-weight:400;flex:0 0 auto}
.wh-megamenu>li:nth-last-child(-n+4)>.wh-mega-panel{left:auto;right:0}
@media(max-width:992px){.wh-mega-panel{display:none!important}.wh-megamenu{justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:2px}.wh-megamenu>li>a{padding:0 12px;font-size:13px}}

/* wh-logo-checkout:checkout 白底 → logo 紫;其它页紫底 → logo 白 */
.woocommerce-checkout .site-title a,.woocommerce-checkout .site-title a:visited{color:var(--wh-accent)!important}
.woocommerce-checkout .site-title a:hover{color:var(--wh-accent-d)!important}
/* wh-mobile-2col:移动端货架/相关/主页产品卡强制 2 列 */
@media(max-width:768px){
  ul.products,ul.products.columns-1,ul.products.columns-2,ul.products.columns-3,ul.products.columns-4,ul.products.columns-5,ul.products.columns-6,
  .wh-home-native ul.products,.related ul.products,.up-sells ul.products{
    display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:12px!important;margin:0!important}
  ul.products li.product{width:auto!important;margin:0!important;float:none!important;clear:none!important}
  ul.products li.product .wh-loop-title,ul.products li.product h2,ul.products li.product .woocommerce-loop-product__title{font-size:13px!important;line-height:1.3!important}
  ul.products li.product .price{font-size:14px!important}
}
/* WHGRIDROWFIX:sidebar(row2/span2)比内容高时多余高度被分进 row2(banner行,常隐藏)→内容上方大留白。
   row3=1fr 让富余全部进内容行,row2 只由 banner 撑。 */
.wh-shop-archive .shoptimizer-archive .col-full{grid-template-rows:auto auto 1fr}
/* WHMOBILEHDR:手机 header MENU 按钮融入紫底(透明底白字白线) */
@media(max-width:992px){
  .menu-toggle{background:transparent!important;color:#fff!important;border:0!important;box-shadow:none!important}
  .menu-toggle .menu-text,.menu-toggle span{color:#fff!important}
  .menu-toggle .bar,.menu-toggle span:not(.menu-text){background-color:#fff!important}
  .menu-toggle svg{stroke:#fff!important;fill:#fff!important}
}
/* WHSHIPFIELDS:估运费卡字段占满宽,去右侧留白 */
.wh-ship-est .wh-ship-fields{display:flex;flex-direction:column;gap:10px}
.wh-ship-est .wh-ship-field{width:100%!important;margin:0}
.wh-ship-est .wh-ship-field select,.wh-ship-est .wh-ship-field input{width:100%!important;box-sizing:border-box}
@media(min-width:769px){.wh-ship-est .wh-ship-fields{flex-direction:row}.wh-ship-est .wh-ship-field{flex:1}}
/* WHMEGASUBFIX:sublist 是 ul ul,被主题 dropdown 规则 absolute 劫持→组塌陷叠字。强制回文档流 */
.wh-megamenu .wh-mega-sublist{position:static!important;left:auto!important;right:auto!important;top:auto!important;
  opacity:1!important;visibility:visible!important;transform:none!important;display:block!important;
  width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;
  background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;float:none!important}
.wh-megamenu .wh-mega-sublist li{position:static!important;display:block!important;width:auto!important;float:none!important;margin:0!important;padding:0!important;border:0!important;min-height:0!important}
.wh-megamenu .wh-mega-sublist a{position:static!important;display:flex!important;width:auto!important;padding:4px 0!important;
  font-size:13px!important;font-weight:400!important;color:#5b6067!important;line-height:1.45!important;white-space:normal!important;height:auto!important;min-height:0!important;background:transparent!important;letter-spacing:0!important;text-transform:none!important}
.wh-megamenu .wh-mega-sublist a:hover{color:var(--wh-accent)!important;background:transparent!important}
.wh-megamenu .wh-mega-group{overflow:visible!important;position:static!important}

/* WHMEGAFONT:层级字体区分——二级粗深、三级细灰 */
.wh-megamenu .wh-mega-grouphead{font-weight:700!important;font-size:13.5px!important;color:#141414!important;letter-spacing:.01em;text-transform:none!important}
.wh-megamenu .wh-mega-sublist a{font-weight:400!important;font-size:13px!important;color:#5b6067!important}
.wh-megamenu .wh-mega-sublist a:hover{color:var(--wh-accent)!important}
.wh-megamenu .wh-mega-more{font-weight:600!important}
/* WHMEGAHEADC:二级组标题深色(高优先级压过主题 nav 链接色) */
html body .wh-megamenu .wh-mega-panel a.wh-mega-grouphead{color:#16181b!important;font-weight:700!important}
html body .wh-megamenu .wh-mega-panel a.wh-mega-grouphead:hover{color:var(--wh-accent)!important}
/* WHMEGAMASONRY2:横向优先瀑布流——grid 3 列容器,JS 按 row-major 把组分进列(列内竖排贴紧) */
.wh-megamenu .wh-mega-groups{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0 30px!important;align-items:start!important;columns:auto!important}
.wh-megamenu .wh-mega-colwrap{min-width:0}
.wh-megamenu .wh-mega-group{display:block!important;width:auto!important;margin:0 0 16px!important}
/* WHCARDUNIFY:PDP 区块(related/BestSellers/RecentlyViewed/marquee)卡片=shop 卡样式 */
.related ul.products li.product,.up-sells ul.products li.product,.wh-bs-native ul.products li.product,
.cg-recently-viewed li.product,.cg-recently-viewed .product,.wh-marquee li.product{
  border:1px solid #e5e7eb!important;border-radius:10px!important;background:#fff!important;
  padding:10px 10px 14px!important;box-shadow:none!important}
.related ul.products li.product:hover,.up-sells ul.products li.product:hover,.wh-bs-native ul.products li.product:hover,
.cg-recently-viewed li.product:hover,.cg-recently-viewed .product:hover,.wh-marquee li.product:hover{
  border-color:transparent!important;box-shadow:0 10px 26px rgba(0,0,0,.12)!important;transform:translateY(-2px);transition:.15s}
/* recently-viewed 价格排版对齐 shop:划线灰 + 红现价 */
.cg-recently-viewed del,.cg-recently-viewed del .amount{color:#9aa0a6!important;font-weight:400!important;text-decoration:line-through}
.cg-recently-viewed ins,.cg-recently-viewed ins .amount{color:#ee0000!important;font-weight:700!important;text-decoration:none}
.cg-recently-viewed .product-title,.cg-recently-viewed h3{font-size:14px!important;line-height:1.35!important;color:#1c1c1c!important}
/* WHTOPBARLINE:topbar 底部黑色分隔线 → 白色(半透明,融合紫底) */
.topbar-wrapper{border-bottom:1px solid rgba(255,255,255,.35)!important}
/* WHSAVELINE:与 home.css 一致,覆盖非首页出现的卡片 */
.wh-prod-price{display:block!important;line-height:1.55!important}
.wh-hsave{display:table!important;margin-top:6px!important}
/* WHCAROUSEL:横向滑条左右箭头 */
.wh-car{position:relative}
.wh-car-btn{position:absolute;top:38%;transform:translateY(-50%);z-index:6;width:42px;height:42px;border-radius:50%;border:1px solid #e5e7eb;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.16);cursor:pointer;font-size:24px;line-height:1;color:#93117E;display:flex;align-items:center;justify-content:center;padding:0;transition:.15s}
.wh-car-btn:hover{background:#93117E;color:#fff;border-color:#93117E}
.wh-car-prev{left:-8px}.wh-car-next{right:-8px}
.wh-car-btn[hidden]{display:none}
@media(max-width:768px){.wh-car-btn{display:none}}
/* WHSAVELINE2:主题 hook 卡(shop/related/recently)Save chip 也统一独占一行 */
.wh-price-row{display:block!important}
.wh-save-chip{display:table!important;margin-top:6px!important}
/* recently viewed 价格划线:del 灰划线 + ins 红现价(现在保留了 del/ins 结构)*/
.wh-rv-price del,.wh-rv-price del .amount{color:#9aa0a6!important;font-weight:400!important;text-decoration:line-through}
.wh-rv-price ins,.wh-rv-price ins .amount{color:#ee0000!important;font-weight:700!important;text-decoration:none}
.wh-rv-price{display:block}
/* WHMOBFIX2:手机版 Estimate shipping 卡恢复全宽 + carousel 露第三个产品 */
@media(max-width:768px){
  /* Estimate shipping 卡:占满宽度(之前变窄) */
  .wh-ship-est,.wh-ship-estimate,.cgkit-estimate-shipping,[class*="estimate-shipping"]{
    width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin-left:0!important;margin-right:0!important;
  }
  /* 横向 carousel:2 卡满 + 第三个露头(约 43% 卡宽,peek) */
  .wh-marquee-track > li.product,
  .related ul.products > li.product{
    flex:0 0 43vw!important;min-width:43vw!important;max-width:43vw!important;
  }
}
/* WHRVTITLE2:Recently viewed 标题最多 2 行 */
.wh-rv-title{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;line-height:1.35!important;max-height:38px!important}
/* WHMDRAWER:手机抽屉菜单 */
.wh-mdrawer{position:fixed;top:0;left:0;width:87%;max-width:365px;height:100%;background:#fff;z-index:100001;transform:translateX(-100%);transition:transform .28s ease;display:flex;flex-direction:column;box-shadow:2px 0 26px rgba(0,0,0,.28);overflow-y:auto;-webkit-overflow-scrolling:touch}
.wh-mdrawer.is-open{transform:translateX(0)}
.wh-mdrawer-ov{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:.28s;z-index:100000}
.wh-mdrawer-ov.is-open{opacity:1;visibility:visible}
.wh-md-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;background:#93117E;position:sticky;top:0;z-index:2}
.wh-md-logo{font-family:'Space Grotesk',Inter,sans-serif;font-weight:800;font-size:22px;color:#fff}
.wh-md-close{background:transparent;border:0;color:#fff;font-size:30px;line-height:1;cursor:pointer;padding:0 6px}
.wh-md-search{padding:12px 16px;border-bottom:1px solid #eee}
.wh-md-search input[type=search]{width:100%;padding:11px 14px;border:1px solid #ddd;border-radius:8px;font-size:15px;background:#f7f7f8;color:#1c1c1c}
.wh-md-body{flex:1;padding:4px 0}
.wh-md-sec{padding:15px 18px 6px;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#93117E}
.wh-md-list{list-style:none;margin:0;padding:0}
.wh-md-list li{border-bottom:1px solid #f2f2f3}
.wh-md-list a{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;color:#1c1c1c!important;font-size:15px;font-weight:500;text-decoration:none}
.wh-md-list a:hover,.wh-md-list a:active{background:#f6e7f2;color:#93117E!important}
.wh-md-count{font-size:12px;color:#9aa0a6;font-weight:400}
.wh-md-foot{padding:16px 18px 28px;border-top:1px solid #eee;background:#faf7f9}
.wh-md-acct{display:block;text-align:center;background:#93117E;color:#fff!important;padding:12px;border-radius:8px;font-weight:700;text-decoration:none;margin-bottom:14px}
.wh-md-contact{display:flex;flex-direction:column;gap:4px;font-size:13.5px}
.wh-md-contact a{color:#93117E!important;font-weight:700;text-decoration:none}
.wh-md-contact span{color:#677279}
@media(min-width:769px){.wh-mdrawer,.wh-mdrawer-ov{display:none!important}}
/* 汉堡按钮:清晰按钮外观(半透明白底+白描边+白图标),不再白底白字 */
@media(max-width:768px){
  .menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.55)!important;border-radius:8px!important;padding:7px 11px!important;min-width:46px;min-height:40px}
  .menu-toggle,.menu-toggle *{color:#fff!important}
  .menu-toggle .menu-toggle-icon,.menu-toggle span,.menu-toggle::before,.menu-toggle::after{background-color:#fff!important}
}
/* cart icon:去边框 + hover 保持白字 */
.main-header .site-header-cart,.main-header .site-header-cart .cart-contents{border:0!important;box-shadow:none!important}
.main-header .site-header-cart .cart-contents:hover,.site-header-cart .cart-contents:hover{color:#fff!important;background:transparent!important;opacity:.82}
/* WHMOBWIDTH:手机版右侧空白/整体偏左修复(Shoptimizer col-full gutter 的 -15px margin + 窄宽)*/
@media(max-width:768px){
  html body .col-full{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:15px!important;padding-right:15px!important;box-sizing:border-box!important}
  html body .content-area,html body #primary,html body .site-main,html body .site-content{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
}
/* WHRVHOVER:Recently viewed 卡加轻量 hover(GPU 合成, 不影响加载/滚动速度) */
.wh-rv-card{transition:transform .15s,box-shadow .15s;border-radius:10px}
.wh-rv-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.wh-rv-card img{transition:transform .2s}
.wh-rv-card:hover img{transform:scale(1.03)}
/* WHCARTHOVERFIX:压制 skin 规则的"hover 变紫"(紫底紫字看不见);强制 hover 为可见淡白 */
html body[class*="ssb-skin"] .main-header .site-header-cart:hover,
html body[class*="ssb-skin"] .main-header .site-header-cart:hover *,
html body[class*="ssb-skin"] .main-header .site-header-cart .cart-contents:hover,
html body[class*="ssb-skin"] .main-header .site-header-cart .cart-contents:hover *{color:rgba(255,255,255,.78)!important}
html body[class*="ssb-skin"] .main-header .site-header-cart:hover svg,
html body[class*="ssb-skin"] .main-header .site-header-cart:hover svg *{stroke:rgba(255,255,255,.78)!important;fill:none!important}
/* count 徽章 hover 保持紫底白字(不要变黑/黄)*/
html body[class*="ssb-skin"] .main-header .site-header-cart .cart-contents:hover .count{background:#fff!important;color:#93117E!important}
/* WHCARTICON:购物车袋子图标——初始白边白字(不要黑);hover 只袋子填充白+数字变紫,价格保持白 */
html body[class*="ssb-skin"] .main-header .site-header-cart .cart-contents .count{border-color:#fff!important;background:transparent!important;color:#fff!important}
html body[class*="ssb-skin"] .main-header .site-header-cart .cart-contents .count::after{border-color:#fff!important}
/* hover:价格文字保持白(只袋子变),覆盖之前的 .78 变暗 */
html body[class*="ssb-skin"] .main-header .site-header-cart .cart-contents:hover,
html body[class*="ssb-skin"] .main-header .site-header-cart .cart-contents:hover .amount,
html body[class*="ssb-skin"] .main-header .site-header-cart .cart-contents:hover .woocommerce-Price-amount,
html body[class*="ssb-skin"] .main-header .site-header-cart .cart-contents:hover .woocommerce-Price-currencySymbol{color:#fff!important}
/* hover:只有袋子背景+数字变色 */
html body[class*="ssb-skin"] .main-header .site-header-cart .cart-contents:hover .count{background:#fff!important;color:#93117E!important;border-color:#fff!important}
html body[class*="ssb-skin"] .main-header .site-header-cart .cart-contents:hover .count::after{border-color:#fff!important}
/* WHMEGAALLDEPT:All Departments 面板易读化——统一行高对齐 + 间距 + count 弱化 + hover 底色 */
.wh-megamenu .wh-mega-panel--grid{min-width:900px!important;padding:14px 18px!important}
.wh-megamenu .wh-mega-grid{grid-template-columns:repeat(4,1fr)!important;gap:0 34px!important}
.wh-megamenu .wh-mega-dept{min-height:50px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:6px 10px!important;font-size:14.5px!important;line-height:1.25!important;font-weight:600!important;color:#1c1c1c!important;border-bottom:1px solid #eee!important;border-radius:6px}
.wh-megamenu .wh-mega-dept:hover{color:#93117E!important;background:#f8eef5!important}
.wh-megamenu .wh-mega-dept > *:last-child{color:#9aa0a6!important;font-weight:500!important;font-size:12.5px!important;flex:none}
/* WHNOWRAP:目录名尽量单行(mega 子目录 + 侧栏目录树),超长省略号不换行 */
.wh-megamenu .wh-mega-sublist a{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:12.5px!important;line-height:1.4!important;display:block!important}
.wh-megamenu .wh-mega-grouphead{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.wh-cat-tree a,.wh-cat-item > a,.wh-cat-name,.widget_product_categories li > a,.wh-shop-sidebar .cat-item a{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:inline-block!important;max-width:100%;vertical-align:bottom}
/* WHCARTFLASH:购物车 fragments 加载前隐藏金额/数量(避免 0→值 闪);加载好淡入 */
.site-header-cart .cart-contents .amount,.site-header-cart .cart-contents .count{opacity:0;transition:opacity .15s ease}
body.wh-cart-ready .site-header-cart .cart-contents .amount,body.wh-cart-ready .site-header-cart .cart-contents .count{opacity:1}
/* WHTOPALIGN:topbar 文字左边对齐 logo(消除内部 20px 偏移) */
.top-bar .col-full > .top-bar-center{margin-left:-20px!important}
.top-bar .col-full > .top-bar-center .textwidget,.top-bar .col-full > .top-bar-center p{margin:0!important;padding:0!important}

/* WHEXPRESS: 产品页快捷支付(Apple/GPay/Link + PayPal/Pay-in-4)就绪前隐藏,
   两块 SDK 都填充好后由内联脚本加 .wh-exp-ready 一次性淡入(120ms),不再逐个冒出撑页面。
   内联脚本含 1.2s 无条件兜底,绝不把支付按钮永久隐藏。*/
.single-product .summary #wc-stripe-express-checkout-element,
.single-product .summary #wc-stripe-express-checkout-button-separator,
.single-product .summary .ppc-button-wrapper{opacity:0}
.single-product.wh-exp-ready .summary #wc-stripe-express-checkout-element,
.single-product.wh-exp-ready .summary #wc-stripe-express-checkout-button-separator,
.single-product.wh-exp-ready .summary .ppc-button-wrapper{opacity:1;transition:opacity .12s linear}

/* WHQTY 2026-07-12: 恢复产品页数量 −/+ 步进器(此前极简设计隐藏了,用户以为不能改)。
   .quantity::before 是 "Quantity:" 标签,留在左侧;− / 输入框 / + 各自带边框拼成一条,不裁剪不重叠。*/
.single-product form.cart .quantity,
.single-product .wh-right .summary .quantity{
  display:inline-flex!important;align-items:center;width:auto!important;height:auto!important;
  border:0!important;background:transparent!important;overflow:visible!important;vertical-align:middle;
}
.single-product form.cart .quantity::before,
.single-product .wh-right .summary .quantity::before{order:-1;margin-right:10px;}
.single-product form.cart .quantity .quantity-nav,
.single-product .wh-right .summary .quantity .quantity-nav{display:contents!important;}
.single-product form.cart .quantity .quantity-button,
.single-product .wh-right .summary .quantity .quantity-button{
  display:flex!important;align-items:center;justify-content:center;
  width:38px;height:42px;cursor:pointer;-webkit-user-select:none;user-select:none;
  background:#f5f6f7;color:#333;font-size:20px;line-height:1;border:1px solid #d5d8dc;transition:background .12s;
}
.single-product form.cart .quantity .quantity-button:hover,
.single-product .wh-right .summary .quantity .quantity-button:hover{background:#e9ebed;}
.single-product form.cart .quantity .quantity-button.quantity-down{order:0;border-radius:8px 0 0 8px;border-right:0;}
.single-product form.cart .quantity input.qty{order:1;}
.single-product form.cart .quantity .quantity-button.quantity-up{order:2;border-radius:0 8px 8px 0;border-left:0;}
.single-product form.cart .quantity .quantity-button.quantity-down::before,
.single-product .wh-right .summary .quantity .quantity-button.quantity-down::before{content:"\2212";}
.single-product form.cart .quantity .quantity-button.quantity-up::before,
.single-product .wh-right .summary .quantity .quantity-button.quantity-up::before{content:"+";}
.single-product form.cart .quantity input.qty,
.single-product .wh-right .summary .quantity input.qty{
  display:block!important;width:52px!important;height:42px!important;
  border:1px solid #d5d8dc!important;border-radius:0!important;text-align:center;
  -moz-appearance:textfield!important;margin:0!important;padding:0!important;
  font-size:15px;background:#fff;box-shadow:none!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;}
/* WHQTY-fix: Shoptimizer 把 nav/按钮设成 position:absolute 堆叠,拉回 flex 流内才能 − [n] + 排开 */
.single-product form.cart .quantity,
.single-product .wh-right .summary .quantity{position:static!important;}
.single-product form.cart .quantity .quantity-nav,
.single-product form.cart .quantity .quantity-button,
.single-product .wh-right .summary .quantity .quantity-nav,
.single-product .wh-right .summary .quantity .quantity-button{
  position:static!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;transform:none!important;float:none!important;
}
/* WHQTY-polish: −/+ 符号更清晰(加深加粗),按钮底色更明确 */
.single-product form.cart .quantity .quantity-button,
.single-product .wh-right .summary .quantity .quantity-button{color:#1a1a1a!important;font-weight:600!important;background:#eef0f2!important;}
.single-product form.cart .quantity .quantity-button:hover,
.single-product .wh-right .summary .quantity .quantity-button:hover{background:#e0e3e6!important;}
/* WHQTY-solo1: 限购1(stock=1/sold individually,数量框为 hidden)时整行数量隐藏,避免孤零零的 "Quantity:" 标签 */
.single-product form.cart .quantity:has(input[type="hidden"]),
.single-product .wh-right .summary .quantity:has(input[type="hidden"]){display:none!important;}

/* WHMOBPROD 2026-07-12: 手机版产品页两处修复 */
@media(max-width:990px){
  /* #1 Add to cart / Buy it now 在 flex-column 下塌成 0 高 → 强制高度显示 */
  .single-product form.cart .wh-btn-row .single_add_to_cart_button,
  .single-product form.cart .wh-btn-row button,
  .single-product form.cart .wh-btn-row .wh-buy-now,
  .single-product form.cart .wh-btn-row a.button{
    min-height:52px!important;height:auto!important;line-height:52px!important;
    flex:0 0 auto!important;display:block!important;width:100%!important;box-sizing:border-box!important;
  }
  /* #3 Estimate shipping 卡移到产品信息下面(手机版 .summary 被设 order:2,est 默认 0 会跑上面)*/
  .single-product .wh-right > .wh-ship-est,
  .single-product .wh-right .wh-ship-est{order:5!important;}
}

/* WHEXPRESS-tight 2026-07-12: 产品页快捷支付区上下间距收紧,降低整体高度 */
.single-product .wh-right .summary #wc-stripe-express-checkout-element{margin-top:-4px!important;margin-bottom:0!important;}
.single-product .wh-right .summary #wc-stripe-express-checkout-button-separator{margin:2px 0!important;}
.single-product .wh-right .summary .ppc-button-wrapper{margin-top:-2px!important;margin-bottom:0!important;}

/* WHMOBBTN-fix 2026-07-12: 手机/平板 Add to cart + Buy now 纵向堆叠(防 Buy now 溢出屏幕外) */
@media(max-width:990px){
  .single-product form.cart .wh-btn-row{flex-direction:column!important;gap:10px!important;align-items:stretch!important;}
}

/* WHSHOPBAR-mobile 2026-07-12: 手机版 shop 筛选栏(Display/Sort/视图)挤成一行 */
@media(max-width:600px){
  .wh-toolbar-right{flex-wrap:nowrap!important;gap:6px!important;align-items:center!important;width:100%!important;}
  .wh-toolbar-right .wh-perpage,.wh-toolbar-right .wh-orderby{display:flex!important;align-items:center;min-width:0!important;flex:1 1 0!important;margin:0!important;}
  /* 隐藏 "Display:" / "Sort by:" 文字标签,省空间(下拉内容已自解释)*/
  .wh-toolbar-right .wh-perpage > label,.wh-toolbar-right .wh-orderby > label{display:none!important;}
  .wh-toolbar-right select{width:100%!important;max-width:100%!important;min-width:0!important;font-size:12.5px!important;padding:7px 22px 7px 8px!important;}
  .wh-toolbar-right .wh-view-toggle{flex:0 0 auto!important;margin:0!important;}
}

/* WHMOBHEADER 2026-07-12: 手机版 header 三处 */
@media(max-width:768px){
  /* 1. 去掉菜单按钮里的白条(bar-text 白底),MENU 改白字无底 */
  .main-header .menu-toggle .bar-text{background:transparent!important;color:#fff!important;font-size:9px!important;line-height:1!important;margin-top:2px!important;}
  /* 2. 隐藏 All categories 下拉,只留搜索框(填满整行)*/
  .main-header .site-search .wh-cat-select,
  .main-header .site-search select[name="product_cat"]{display:none!important;}
  .main-header .site-search{display:flex!important;align-items:stretch!important;}
  .main-header .site-search .search-field,
  .main-header .site-search input[type=search]{flex:1 1 auto!important;width:auto!important;min-width:0!important;}
  /* 3. header 高度自适应,紫色背景盖住搜索行(不再落到页面浅灰底)*/
  header#masthead.site-header{height:auto!important;}
  .main-header.col-full{height:auto!important;padding-bottom:12px!important;}
}

/* WHMOBHEADER2 2026-07-12: sticky header z-index + 手机搜索栏优化 */
/* sticky header 永远最上层(修 PayPal iframe z-index:100 串到 header 上层)*/
header#masthead.site-header{z-index:999!important;}
@media(max-width:768px){
  /* 1. 菜单去掉 MENU 文字,只留汉堡 */
  .main-header .menu-toggle .bar-text{display:none!important;}
  /* 2+3. 搜索按钮回流内顶到最右 + 搜索框降高到 40 */
  .main-header .site-search{height:auto!important;}
  .main-header .site-search form.woocommerce-product-search{display:flex!important;align-items:stretch!important;}
  .main-header .site-search form button,
  .main-header .site-search form button[type=submit]{
    position:static!important;flex:0 0 auto!important;height:40px!important;min-height:40px!important;width:50px!important;
    border-radius:0 8px 8px 0!important;margin:0!important;align-self:stretch!important;
  }
  .main-header .site-search .search-field,
  .main-header .site-search input[type=search]{
    height:40px!important;min-height:40px!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;
    border-radius:8px 0 0 8px!important;margin:0!important;
  }
}

/* WHMOBSEARCH2 2026-07-12: 手机搜索栏 —— 按钮真顶右 + 高度=按钮(去多余白边) */
@media(max-width:768px){
  .main-header .site-search{height:auto!important;padding:0 12px 8px!important;}
  .main-header .site-search form.woocommerce-product-search{
    display:flex!important;align-items:stretch!important;height:42px!important;border-width:1px!important;overflow:hidden!important;
  }
  .main-header .site-search .search-field,
  .main-header .site-search input[type=search]{
    height:42px!important;min-height:42px!important;line-height:normal!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;
    padding:0 14px!important;margin:0!important;border-radius:8px 0 0 8px!important;box-sizing:border-box!important;
  }
  .main-header .site-search form button,
  .main-header .site-search form button[type=submit]{
    position:static!important;flex:0 0 auto!important;height:42px!important;min-height:42px!important;width:52px!important;
    border-radius:0 8px 8px 0!important;margin:0!important;align-self:stretch!important;
  }
}

/* WHMOBSEARCH2-fix: 输入框强制 42 = 按钮高;收紧 site-search 多余白边 */
@media(max-width:768px){
  .main-header .site-search{padding:0 12px 4px!important;background:transparent!important;}
  .main-header .site-search .search-field,
  .main-header .site-search input[type=search]{height:42px!important;min-height:42px!important;max-height:42px!important;border:0!important;}
}

/* WHMOBHOMEGAP 2026-07-12: 首页 header 和 home banner 之间不留空隙(.main-header 默认 margin-bottom:60px 造成白隙)*/
body.home .main-header{margin-bottom:0!important;}

/* WHMOBHOMEGAP2: 首页去掉 sticky header 阴影(投在 banner 顶造成"空隙"视觉),header 与 banner 无缝 */
body.home #masthead.site-header{box-shadow:none!important;}

/* WHEXPRESS-uniform 2026-07-12: 产品页各支付按钮块间距统一 8px(替换之前不一致的负 margin)*/
.single-product .wh-right .summary #wc-stripe-express-checkout-element,
.single-product .wh-right .summary #wc-stripe-express-checkout-button-separator,
.single-product .wh-right .summary .ppcp-messages,
.single-product .wh-right .summary .ppc-button-wrapper,
.single-product .wh-right .summary .wh-ap-slot{margin-top:8px!important;margin-bottom:0!important;}

/* WHAPK: 产品页 Afterpay/Klarna 分期消息条 */
.single-product .wh-right .summary .wh-apk-msg{font-size:12.5px!important;color:#555!important;margin:8px 0 0!important;line-height:1.5!important;order:2!important;}
.single-product .wh-right .summary .wh-apk-msg .amount{font-weight:700;color:#222;}
.wh-apk-msg .wh-apk-b{display:inline-block;padding:1px 7px;border-radius:4px;font-weight:700;font-size:11px;line-height:1.5;vertical-align:middle;}
.wh-apk-msg .wh-apk-ap{background:#b2fce4;color:#000;}
.wh-apk-msg .wh-apk-kl{background:#ffb3c7;color:#000;}

/* WHOPTIONA 2026-07-12: 产品页只留 Apple/Google Pay + Afterpay/Klarna;移除 Link + PayPal(仍在结账页可用)*/
.single-product #wc-stripe-express-checkout-element-link{display:none!important;}
.single-product .wh-right .summary .ppc-button-wrapper,
.single-product .wh-right .summary .ppcp-messages,
.single-product .ppc-button-wrapper,
.single-product .ppcp-messages{display:none!important;}

/* WHNOFADE 2026-07-12: 产品页 Apple/Google Pay 不隐藏、不淡入、不延迟 —— Stripe 渲染即显示(取消之前的 opacity:0 揭示+120ms淡入)*/
.single-product .summary #wc-stripe-express-checkout-element,
.single-product .summary #wc-stripe-express-checkout-element-applePay,
.single-product .summary #wc-stripe-express-checkout-element-googlePay,
.single-product .summary #wc-stripe-express-checkout-button-separator,
.single-product.wh-exp-ready .summary #wc-stripe-express-checkout-element,
.single-product.wh-exp-ready .summary #wc-stripe-express-checkout-button-separator{opacity:1!important;transition:none!important;}

/* WHSIDECART-fix 2026-07-12: 侧边购物车抽屉+遮罩必须高于 sticky header(#masthead z:999,WHMOBHEADER2设的),否则被盖住顶部 */
.shoptimizer-mini-cart-wrap{z-index:100000!important;}
.shoptimizer-mini-cart-overlay,.mini-cart-active .shoptimizer-mini-cart-overlay,.cart-active .site-overlay,.shoptimizer-overlay{z-index:99990!important;}

/* WHQTY-glyph-fix 2026-07-12: 数量按钮 +/- 不显示 —— 主题 .quantity-button::before 是 absolute 定位 + 深色 background(rgb(51,51,51))方块,把深色字形盖住。重置为在流内的纯文字字形。 */
.single-product form.cart .quantity .quantity-button::before,
.single-product .wh-right .summary .quantity .quantity-button::before{
  position:static!important;transform:none!important;
  background:none!important;background-color:transparent!important;
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;
  color:#1a1a1a!important;-webkit-text-fill-color:#1a1a1a!important;
  font-size:19px!important;line-height:1!important;font-weight:700!important;
}
