
/* tw-card-geometry */
﻿
/* ============================================================================
   TW CARD GEOMETRY - SINGLE PARSE-TIME SOURCE (2026-07-31, Jacob ruling SV-5164 option C)
   Verbatim payloads of the two former runtime style injections, moved here so cards
   paint at FINAL geometry in the first frame (they used to paint square, then get
   restyled twice ~1s in):
   1) tw-refinement-native-style-patch  (was injected by algolia-search.js)
   2) tw-product-card-fix-styles        (was injected by custom.js, both copies)
   The injector functions are guard-returned in the JS with a pointer here. Cascade
   outcome is IDENTICAL (same rules, same order, same !important) - only the timing
   moved from runtime to parse. Do NOT edit card geometry anywhere else.
   ============================================================================ */
.tw-acs-products-list-wrapper .tw-page-description,.tw-page-description{margin-bottom:18px!important;}.tw-acs-products-list-wrapper .refinements-wrap{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;flex-wrap:nowrap!important;margin-top:20px!important;clear:both!important;position:relative!important;z-index:3!important;overflow:visible!important;}.tw-acs-products-list-wrapper .acs-slide-wrap{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex:1 1 auto!important;min-width:0!important;width:100%!important;overflow:visible!important;}.tw-acs-products-list-wrapper .acs-f-s-wrap{display:flex!important;align-items:center!important;flex:1 1 auto!important;align-content:center!important;flex-wrap:nowrap!important;gap:10px!important;min-height:30px!important;height:30px!important;margin:0!important;padding:0!important;overflow-x:auto!important;overflow-y:hidden!important;width:auto!important;scrollbar-width:none!important;-ms-overflow-style:none!important;}.tw-acs-products-list-wrapper .acs-f-s-wrap::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}.tw-acs-products-list-wrapper .acs-f-s-wrap>*{flex:0 0 auto!important;align-self:center!important;}.tw-acs-products-list-wrapper .acs-slide-wrap a.preSlide,.tw-acs-products-list-wrapper .acs-slide-wrap a.nextSlide{position:relative!important;top:0!important;align-self:center!important;flex:0 0 auto!important;}.tw-acs-products-list-wrapper #clear-refinements{margin-left:auto!important;flex:0 0 auto!important;white-space:nowrap!important;}.tw-acs-products-list-wrapper .ais-ClearRefinements-button{float:none!important;white-space:nowrap!important;display:inline-block!important;}.tw-acs-products-list-wrapper .TWShopCurrentRefinements .ais-CurrentRefinements-label,.tw-acs-products-list-wrapper #current-refinements .ais-CurrentRefinements-label{display:none!important;}.tw-acs-products-list-wrapper #current-refinements,.tw-acs-products-list-wrapper .TWShopCurrentRefinements{display:flex!important;align-items:center!important;align-self:center!important;flex:0 0 auto!important;min-height:30px!important;margin:0!important;padding:0!important;overflow:visible!important;}.tw-acs-products-list-wrapper .TWShopCurrentRefinementsList,.tw-acs-products-list-wrapper #current-refinements .ais-CurrentRefinements-list{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;align-content:center!important;gap:10px!important;margin:0!important;padding:0!important;list-style:none!important;min-height:30px!important;height:auto!important;}.tw-acs-products-list-wrapper .TWShopCurrentRefinementsList>li,.tw-acs-products-list-wrapper #current-refinements .ais-CurrentRefinements-item{display:inline-flex!important;align-items:center!important;align-content:center!important;align-self:center!important;flex:0 0 auto!important;min-height:30px!important;height:30px!important;line-height:1!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;white-space:nowrap!important;position:relative!important;top:0!important;transform:none!important;vertical-align:middle!important;overflow:visible!important;gap:8px!important;}.tw-acs-products-list-wrapper .TWShopCurrentRefinementsList>li .ais-CurrentRefinements-category,.tw-acs-products-list-wrapper #current-refinements .ais-CurrentRefinements-category{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-height:30px!important;height:30px!important;padding:0 8px 0 12px!important;margin:0!important;border:1px solid #000!important;border-radius:4px!important;background:#000!important;color:#fff!important;font-size:12px!important;line-height:1!important;white-space:nowrap!important;box-sizing:border-box!important;position:relative!important;top:0!important;transform:none!important;}.tw-acs-products-list-wrapper .TWShopCurrentRefinementsList>li.tw-brand-chip-locked .ais-CurrentRefinements-category,.tw-acs-products-list-wrapper #current-refinements .ais-CurrentRefinements-item.tw-brand-chip-locked .ais-CurrentRefinements-category{padding:0 12px!important;}.tw-acs-products-list-wrapper .TWShopCurrentRefinementsList>li .ais-CurrentRefinements-categoryLabel,.tw-acs-products-list-wrapper #current-refinements .ais-CurrentRefinements-categoryLabel{display:inline-flex!important;align-items:center!important;margin:0!important;padding:0!important;color:#fff!important;line-height:1!important;white-space:nowrap!important;}.tw-acs-products-list-wrapper .TWShopCurrentRefinements button.ais-CurrentRefinements-delete,.tw-acs-products-list-wrapper #current-refinements .ais-CurrentRefinements-delete{appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;margin:0 0 0 4px!important;padding:0!important;width:auto!important;min-width:0!important;height:auto!important;border:0!important;background:transparent!important;color:#fff!important;line-height:1!important;font-size:12px!important;font-weight:400!important;box-shadow:none!important;}.tw-acs-products-list-wrapper .TWShopCurrentRefinements button.ais-CurrentRefinements-delete:focus,.tw-acs-products-list-wrapper .TWShopCurrentRefinements button.ais-CurrentRefinements-delete:hover,.tw-acs-products-list-wrapper #current-refinements .ais-CurrentRefinements-delete:focus,.tw-acs-products-list-wrapper #current-refinements .ais-CurrentRefinements-delete:hover{background:transparent!important;color:#fff!important;border:0!important;box-shadow:none!important;outline:0!important;}.tw-acs-products-list-wrapper .TWShopCurrentRefinementsList>li.tw-brand-chip-locked .ais-CurrentRefinements-delete,.tw-acs-products-list-wrapper #current-refinements .tw-brand-chip-locked .ais-CurrentRefinements-delete{display:none!important;}.tw-acs-products-list-wrapper .refinements-wrap .additional-filter{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;margin:0!important;padding:0 12px!important;min-height:30px!important;height:30px!important;border:1px solid #d7d7d7!important;border-radius:4px!important;background:#fff!important;color:#000!important;font-size:12px!important;line-height:1!important;white-space:nowrap!important;box-sizing:border-box!important;width:auto!important;max-width:none!important;text-decoration:none!important;}.tw-acs-products-list-wrapper .refinements-wrap .additional-filter:hover,.tw-acs-products-list-wrapper .refinements-wrap .additional-filter:focus,.tw-acs-products-list-wrapper .refinements-wrap .additional-filter:active{border-color:#000!important;background:#fff!important;color:#000!important;box-shadow:none!important;outline:none!important;text-decoration:underline!important;text-underline-offset:2px!important;}.tw-acs-products-list-wrapper a.ais-RefinementList-labelText{color:inherit!important;text-decoration:none!important;}.tw-acs-products-list-wrapper a.ais-RefinementList-labelText:hover{text-decoration:underline!important;text-underline-offset:2px!important;}.tw-acs-products-list-wrapper .refinements-wrap div#acs-additional-categories{display:flex!important;align-items:center!important;align-content:center!important;gap:10px!important;margin:0!important;padding:0!important;}.tw-acs-products-list-wrapper .refinements-wrap .ais-QueryRuleCustomData{display:flex!important;}.tw-page-description+.refinements-wrap{clear:both!important;position:relative!important;z-index:5!important;margin-top:16px!important;}.tw-acs-products-list-wrapper .ais-RefinementList-checkbox:checked{accent-color:#000!important;}body.tw-brand-route-page .widget-item:has(#facet-brand){display:none!important;}.tw-acs-products-list-wrapper .ais-RefinementList-item--selected .ais-RefinementList-checkbox{accent-color:#000!important;}.tw-acs-products-list-wrapper .tw-product-image{aspect-ratio:360/420;overflow:hidden;position:relative;}.tw-acs-products-list-wrapper .tw-product-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;}.tw-acs-products-list-wrapper .tw-top-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:12px!important;min-height:36px!important;}@media (max-width:767px){.tw-acs-products-list-wrapper .refinements-wrap{flex-wrap:wrap!important;gap:12px!important;}.tw-acs-products-list-wrapper #clear-refinements{margin-left:0!important;}.tw-acs-products-list-wrapper .acs-slide-wrap{width:100%!important;}}
.product-item{position:relative!important;min-width:0!important;width:100%!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;}.product-item .tw-product-image{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;aspect-ratio:1716/2000!important;min-height:0!important;height:auto!important;max-height:none!important;overflow:hidden!important;background:#fff!important;margin:0 0 12px!important;padding:0!important;}.product-item .tw-product-image img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;margin:0 auto!important;}.product-item>.tinv-wraper,.product-item>.tinv-wraper.tw-cardfix-wishlist,.product-item .tw-product-image>.tinv-wraper,.product-item .tw-product-image .tinv-wraper.tw-cardfix-wishlist{position:absolute!important;top:6px!important;right:8px!important;left:auto!important;bottom:auto!important;inset:6px 8px auto auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;z-index:25!important;display:block!important;pointer-events:auto!important;transform:none!important;cursor:pointer!important;width:18px!important;height:18px!important;}.product-item>.tinv-wraper .tinvwl_add_to_wishlist_button,.product-item>.tinv-wraper.tw-cardfix-wishlist .tinvwl_add_to_wishlist_button,.product-item .tw-product-image>.tinv-wraper .tinvwl_add_to_wishlist_button,.product-item .tw-product-image .tinv-wraper.tw-cardfix-wishlist .tinvwl_add_to_wishlist_button{position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;pointer-events:auto!important;cursor:pointer!important;opacity:1!important;color:#2b2b2b!important;text-decoration:none!important;outline:0!important;}.product-item>.tinv-wraper .tinvwl_add_to_wishlist_button:hover,.product-item>.tinv-wraper.tw-cardfix-wishlist .tinvwl_add_to_wishlist_button:hover,.product-item>.tinv-wraper .tinvwl_add_to_wishlist_button:focus,.product-item>.tinv-wraper.tw-cardfix-wishlist .tinvwl_add_to_wishlist_button:focus,.product-item .tw-product-image>.tinv-wraper .tinvwl_add_to_wishlist_button:hover,.product-item .tw-product-image .tinv-wraper.tw-cardfix-wishlist .tinvwl_add_to_wishlist_button:hover,.product-item .tw-product-image>.tinv-wraper .tinvwl_add_to_wishlist_button:focus,.product-item .tw-product-image .tinv-wraper.tw-cardfix-wishlist .tinvwl_add_to_wishlist_button:focus{text-decoration:none!important;color:#2b2b2b!important;border:0!important;box-shadow:none!important;outline:0!important;background:transparent!important;}.product-item>.tinv-wraper .tinvwl_add_to_wishlist_button:before,.product-item>.tinv-wraper.tw-cardfix-wishlist .tinvwl_add_to_wishlist_button:before,.product-item .tw-product-image>.tinv-wraper .tinvwl_add_to_wishlist_button:before,.product-item .tw-product-image .tinv-wraper.tw-cardfix-wishlist .tinvwl_add_to_wishlist_button:before{position:relative!important;top:0!important;left:0!important;right:auto!important;line-height:1!important;transform:none!important;transition:transform .18s ease,opacity .18s ease!important;color:#2b2b2b!important;text-decoration:none!important;}.product-item>.tinv-wraper .tinvwl_add_to_wishlist_button:hover:before,.product-item>.tinv-wraper.tw-cardfix-wishlist .tinvwl_add_to_wishlist_button:hover:before,.product-item>.tinv-wraper .tinvwl_add_to_wishlist_button:focus:before,.product-item>.tinv-wraper.tw-cardfix-wishlist .tinvwl_add_to_wishlist_button:focus:before,.product-item .tw-product-image>.tinv-wraper .tinvwl_add_to_wishlist_button:hover:before,.product-item .tw-product-image .tinv-wraper.tw-cardfix-wishlist .tinvwl_add_to_wishlist_button:hover:before,.product-item .tw-product-image>.tinv-wraper .tinvwl_add_to_wishlist_button:focus:before,.product-item .tw-product-image .tinv-wraper.tw-cardfix-wishlist .tinvwl_add_to_wishlist_button:focus:before{transform:scale(1.06)!important;color:#2b2b2b!important;opacity:1!important;text-decoration:none!important;}.product-item .tw-product-image .acs-badge,.product-item .tw-product-image .final-sale-tag,.product-item .tw-product-image .tw-quick-view-text{z-index:6!important;}.product-item .tw-product-image .tinvwl-tooltip{display:none!important;}.product-item .tw-product-info{display:flex!important;flex-direction:column!important;gap:6px!important;margin-top:0!important;}.product-item .color-swatches{display:flex!important;flex-wrap:wrap!important;gap:6px!important;min-height:20px!important;margin:0 0 4px!important;}.product-item .color-swatch{cursor:pointer!important;}.product-item .hit-taxonomies-brand,.product-item .hit-post_title,.product-item .hit-add-attributes{margin:0!important;}.product-item .hit-post_title{line-height:1.3!important;}.product-item .hit-product-price{display:flex!important;align-items:flex-end!important;flex-wrap:wrap!important;column-gap:6px!important;row-gap:4px!important;line-height:1!important;margin:0!important;min-height:24px!important;}.product-item .perc-off,.product-item .sale-price,.product-item .reg-price{display:inline-flex!important;align-items:flex-end!important;white-space:nowrap!important;line-height:1!important;margin:0!important;}/* [2026-08-11] the price-sup treatment moved to tw-product-display (design language, PDP canon). The rule that stood here (top:-0.25em) was DEAD: the plugin sheet marks top:-0.28em !important at (0,4,0) and this selector is (0,3,0), so it never won. One owner now. */.product-item .reg-price{text-decoration:line-through!important;}body.page-template-shop-page .acs-hits-wrapper .ais-InfiniteHits-list,body.page-template-shop-page .acs-hits-wrapper .ais-Hits-list,body.tw-brand-route .acs-hits-wrapper .ais-InfiniteHits-list,body.tw-brand-route .acs-hits-wrapper .ais-Hits-list{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:28px!important;row-gap:36px!important;align-items:start!important;}body.page-template-shop-page .acs-hits-wrapper .ais-InfiniteHits-item,body.page-template-shop-page .acs-hits-wrapper .ais-Hits-item,body.tw-brand-route .acs-hits-wrapper .ais-InfiniteHits-item,body.tw-brand-route .acs-hits-wrapper .ais-Hits-item{width:auto!important;min-width:0!important;margin:0!important;}body.page-template-shop-page .acs-hits-wrapper .product-item,body.tw-brand-route .acs-hits-wrapper .product-item{width:100%!important;}body.tw-brand-route #current-refinements,body.tw-brand-route .TWShopCurrentRefinements{margin:0!important;padding:0!important;}body.tw-brand-route .TWShopCurrentRefinementsList,body.tw-brand-route #current-refinements .ais-CurrentRefinements-list{display:flex!important;flex-wrap:wrap!important;align-items:center!important;align-content:center!important;gap:10px!important;margin:0!important;padding:0!important;}body.tw-brand-route #current-refinements .ais-CurrentRefinements-item,body.tw-brand-route .TWShopCurrentRefinementsList > *{margin:0!important;display:inline-flex!important;align-items:center!important;vertical-align:middle!important;line-height:1.2!important;}@media (min-width:768px) and (max-width:1199px){body.page-template-shop-page .acs-hits-wrapper .ais-InfiniteHits-list,body.page-template-shop-page .acs-hits-wrapper .ais-Hits-list,body.tw-brand-route .acs-hits-wrapper .ais-InfiniteHits-list,body.tw-brand-route .acs-hits-wrapper .ais-Hits-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}@media (max-width:767px){body.page-template-shop-page .acs-hits-wrapper .ais-InfiniteHits-list,body.page-template-shop-page .acs-hits-wrapper .ais-Hits-list,body.tw-brand-route .acs-hits-wrapper .ais-InfiniteHits-list,body.tw-brand-route .acs-hits-wrapper .ais-Hits-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:10px!important;row-gap:0px!important;}.product-item .tw-product-image{aspect-ratio:1716/2000!important;}.product-item>.tinv-wraper,.product-item>.tinv-wraper.tw-cardfix-wishlist,.product-item .tw-product-image>.tinv-wraper,.product-item .tw-product-image .tinv-wraper.tw-cardfix-wishlist{top:4px!important;right:4px!important;inset:4px 4px auto auto!important;}}

/* Parse-time grid activation (2026-07-31, part of the same consolidation): the payload
   grid rules above key on body classes that arrive late (tw-brand-route is JS-added) or
   that virtual shop routes lack (page-template-shop-page). This structural selector
   matches every Algolia grid page from the first byte. */
.tw-acs-products-list-wrapper .acs-hits-wrapper .ais-InfiniteHits-list,.tw-acs-products-list-wrapper .acs-hits-wrapper .ais-Hits-list{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:28px!important;row-gap:36px!important;align-items:start!important;}
.tw-acs-products-list-wrapper .acs-hits-wrapper .ais-InfiniteHits-item,.tw-acs-products-list-wrapper .acs-hits-wrapper .ais-Hits-item{width:auto!important;min-width:0!important;margin:0!important;}
.tw-acs-products-list-wrapper .acs-hits-wrapper .product-item{width:100%!important;}
@media (min-width:768px) and (max-width:1199px){.tw-acs-products-list-wrapper .acs-hits-wrapper .ais-InfiniteHits-list,.tw-acs-products-list-wrapper .acs-hits-wrapper .ais-Hits-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media (max-width:767px){.tw-acs-products-list-wrapper .acs-hits-wrapper .ais-InfiniteHits-list,.tw-acs-products-list-wrapper .acs-hits-wrapper .ais-Hits-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:10px!important;row-gap:0px!important;}}

/* 2026-07-31 pm11 (mobile first-paint): skip render work for below-fold cards.
   First 6 cards (above-fold both viewports) render normally; the other 34 defer
   layout/paint until scrolled near. contain-intrinsic-size reserves ~final card
   height so scrollbar/anchor stay stable; browsers without support ignore this
   entirely. Scoped to the grid/fragment lists only (QV/trending use other classes). */
.acs-hits-wrapper .ais-InfiniteHits-list .ais-InfiniteHits-item:nth-child(n+7) {
  content-visibility: auto;
  contain-intrinsic-size: auto 400px;
}

/* [2026-08-08 grid-chrome order - RUCSS-PROOF] Stale per-URL used-CSS rows carry the pre-Aug-1 selector .content>#hits only, so #tw-ssr-stack fell to order 0 and the whole grid rendered ABOVE the sort/FILTERS toolbar (Jacob, womens-dresses). This inline is RUCSS-excluded, so the order family here cannot be capture-lost. Mirrors style.css lines 22-25 - keep in sync. */
.tw-acs-main-content .content>.tw-top-toolbar{order:1!important;flex:0 0 100%!important;min-width:0!important;}
.tw-acs-main-content .content>.refinements-wrap{order:3!important;flex-basis:100%!important;min-width:0!important;}
.tw-acs-main-content .content>#hits,.tw-acs-main-content .content>#tw-ssr-stack,.tw-acs-main-content .content>#tw-ssr-grid{order:4!important;flex-basis:100%!important;min-width:0!important;}
.tw-acs-main-content .content>.page_website_copy,.tw-acs-main-content .content>.tw-size-guide{order:5!important;}
/* [2026-08-08 mobile card density - Jacob: spacing between cards too much] The 10px item padding (plugin .acs-hits-wrapper ol li) plus the 16/24 gaps read as 36/44px visual gutters at 412. Mobile tightens to 4px padding + 10/16 gaps = 18/24px visual; desktop unchanged. */
@media (max-width:767px){.acs-hits-wrapper .ais-InfiniteHits-list>.ais-InfiniteHits-item,.acs-hits-wrapper .ais-Hits-list>.ais-Hits-item{padding:4px!important;}
/* [2026-08-08 Jacob] the 24px min-height price box bottom-aligned one 12px text line - ~12px of dead air under the short title; mobile drops the reservation (price is in the first render, no CLS exposure) */
.product-item .hit-product-price{min-height:0!important;}
/* [2026-08-08 round 3 - THE actual gap] a used-CSS-captured .ais-InfiniteHits-item{min-height:340px} (<=921 skeleton reservation) left ~51px dead space under every card price (content is ~289px). Kill it; cards content-size. With row-gap 0 the between-rows structure (4px pad + 4px pad = 8px) matches the chips->card reference (4px + 4px pad). */
.acs-hits-wrapper .ais-InfiniteHits-list>.ais-InfiniteHits-item,.acs-hits-wrapper .ais-Hits-list>.ais-Hits-item{min-height:0!important;}}
@media (min-width:768px) and (max-width:921px){.acs-hits-wrapper .ais-InfiniteHits-list>.ais-InfiniteHits-item,.acs-hits-wrapper .ais-Hits-list>.ais-Hits-item{min-height:0!important;}}
/* [2026-08-08 mobile filters apply CTA - Jacob: drawer has no submit button] Sticky VIEW RESULTS bar at the drawer bottom; refinements apply live, the CTA closes the drawer (same handler as the X, bound in functions.php). Open-state UI = RUCSS-blind class, so it lives in this excluded inline. §6a canon pill. */
.tw-filters-apply-bar{display:none!important;}
.sidebar.mobile_sidebar_widget .tw-filters-apply-bar{display:block!important;position:sticky!important;bottom:0!important;margin:0!important;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))!important;background:#fff!important;border-top:1px solid #e5e5e5!important;z-index:5!important;}
.sidebar.mobile_sidebar_widget .tw-filters-apply{display:block!important;width:100%!important;height:44px!important;border:0!important;border-radius:30px!important;background:#000!important;color:#fff!important;font-family:Poppins,"Poppins-fb",Arial,sans-serif!important;font-size:14px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.02em!important;cursor:pointer!important;}
/* [2026-08-08 mobile drawer cleanup - Jacob QA: facet search bars + dashed value underlines] Zappos pattern: search only where it earns its space (Brands, hundreds of values); every other facet lists values directly. Value anchors lose the 2px dashed underline - clean rows. Open-state UI: excluded inline only. */
.sidebar.mobile_sidebar_widget .ais-SearchBox{display:none!important;}
.sidebar.mobile_sidebar_widget #facet-brand .ais-SearchBox{display:block!important;margin:0 0 10px!important;}
.sidebar.mobile_sidebar_widget #facet-brand .ais-SearchBox-form{display:flex!important;align-items:center!important;position:relative!important;height:auto!important;}
.sidebar.mobile_sidebar_widget #facet-brand .ais-SearchBox-input{width:100%!important;height:40px!important;border:2px solid #d7d7d7!important;border-radius:30px!important;padding:0 16px!important;font:inherit!important;background:#fff!important;appearance:none!important;-webkit-appearance:none!important;outline:none!important;box-shadow:none!important;}
.sidebar.mobile_sidebar_widget #facet-brand .ais-SearchBox-submit,.sidebar.mobile_sidebar_widget #facet-brand .ais-SearchBox-reset{background:transparent!important;border:0!important;position:absolute!important;right:8px!important;}
.sidebar.mobile_sidebar_widget .ais-RefinementList-item a{border-bottom:0!important;text-decoration:none!important;}
/* [2026-08-11 DESKTOP parity - Jacob: "search on shop pages still not working as fixed
   earlier"] The Aug-8 pass above was scoped to .sidebar.mobile_sidebar_widget, so the
   desktop sidebar kept 19 search boxes AND the black-box defect that pass was written to
   kill. Measured cause of the box: .ais-SearchBox-submit is a bare <button>, so Astra's
   global button rule paints it var(--ast-global-color-0) (= #000) at 50x32 with
   position:static - it stacks BELOW the input as a solid black block. The drawer rules
   neutralised it (transparent + absolute); desktop never got them. Same model applied here,
   which removes the boxes and the black blocks in one move. Scoped :not(.mobile_sidebar_widget)
   so the proven drawer rules above are untouched - specificity (0,3,0)/(1,3,0), no order bet. */
.sidebar:not(.mobile_sidebar_widget) .ais-SearchBox{display:none!important;}
.sidebar:not(.mobile_sidebar_widget) #facet-brand .ais-SearchBox{display:block!important;margin:0 0 10px!important;}
.sidebar:not(.mobile_sidebar_widget) #facet-brand .ais-SearchBox-form{display:flex!important;align-items:center!important;position:relative!important;height:auto!important;}
.sidebar:not(.mobile_sidebar_widget) #facet-brand .ais-SearchBox-input{width:100%!important;height:40px!important;border:2px solid #d7d7d7!important;border-radius:30px!important;padding:0 16px!important;font:inherit!important;background:#fff!important;appearance:none!important;-webkit-appearance:none!important;outline:none!important;box-shadow:none!important;}
.sidebar:not(.mobile_sidebar_widget) #facet-brand .ais-SearchBox-submit,.sidebar:not(.mobile_sidebar_widget) #facet-brand .ais-SearchBox-reset{background:transparent!important;border:0!important;position:absolute!important;right:8px!important;}
/* [2026-08-21 Jacob] Focus tier: canonical blue #1473E6 (matches facet-text hover/selected, shop css :focus-within rule) - the pill border !important above otherwise defeats it. */
.sidebar.mobile_sidebar_widget #facet-brand .ais-SearchBox-input:focus,.sidebar:not(.mobile_sidebar_widget) #facet-brand .ais-SearchBox-input:focus{border-color:#1473E6!important;}
/* [R58f 2026-08-31 Jacob: "spacing between Sub Category and Tank Top ... remove that unnecessary
   line break"] The rules above hide the INNER .ais-SearchBox but the lazy-searchable panels'
   persistent WRAPPER (.ais-RefinementList-searchBox, stock margin-bottom:16px) stays in flow at
   zero height - its margin self-collapses into a phantom 16px band between every such facet
   heading and its first value. Hide the wrapper under the same scopes, brand excepted. */
.sidebar.mobile_sidebar_widget .ais-RefinementList-searchBox,.sidebar:not(.mobile_sidebar_widget) .ais-RefinementList-searchBox{display:none!important;}
.sidebar.mobile_sidebar_widget #facet-brand .ais-RefinementList-searchBox,.sidebar:not(.mobile_sidebar_widget) #facet-brand .ais-RefinementList-searchBox{display:block!important;}
/* Brand exception must ALSO cover the pre-boot SSR mirror block (a SIBLING of the #facet-brand
   mount, not inside it) and its inner .ais-SearchBox — or the brand panel shrinks pre-boot and
   grows ~56px at boot, exactly the shift the fragment searchbox exists to prevent. */
.sidebar .tw-ssr-facet[data-tw-ssr-facet="#facet-brand"] .ais-RefinementList-searchBox,.sidebar .tw-ssr-facet[data-tw-ssr-facet="#facet-brand"] .ais-SearchBox{display:block!important;}
/* [2026-08-08 Zappos drawer pass - Jacob GO] One 16px gutter, hairline separators, unified
   checkbox rows with right-aligned counts, black headings + rotating chevrons, live-count
   pill (count text set by the bundle). Drawer-only (.sidebar.mobile_sidebar_widget);
   desktop sidebar untouched. #dynamic-widgets is in every prefix because the plugin's own
   rules carry it (e.g. #dynamic-widgets div.subtitle 2px dashed) and these must win at
   every cache state without relying on file order. */
.sidebar.mobile_sidebar_widget #dynamic-widgets .widget-item{margin:0!important;padding:0 16px!important;border-bottom:1px solid #e5e5e5!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .widget-item:last-child{border-bottom:0!important;}
/* (1,4,1): must outrank the plugin's own drawer rule .sidebar.mobile_sidebar_widget
   .sidebar_wrapper #dynamic-widgets .widget-item .subtitle{margin:0 auto} at (1,4,0) */
.sidebar.mobile_sidebar_widget #dynamic-widgets .widget-item div.subtitle,.sidebar.mobile_sidebar_widget #dynamic-widgets .widget-item h4.subtitle{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;margin:0!important;padding:15px 0!important;border-bottom:0!important;color:#000!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .widget-item .subtitle.active{color:#000!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .subtitle .filter_arrow svg{transition:transform .3s ease!important;fill:#000!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .subtitle.active .filter_arrow svg{transform:rotate(180deg)!important;fill:#000!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .subtitle .filter_arrow svg path{fill:#000!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .subtitle .filter_arrow svg path[fill="none"]{fill:none!important;}
/* the "< Group" header inside each facet body is a vestige of an old slide-in panel model;
   the accordion + always-visible sticky pill replaced it */
.sidebar.mobile_sidebar_widget #dynamic-widgets .facet-header{display:none!important;}
/* KILL the slide-in model itself: plugin CSS positions each section.ais-facets as a
   full-height overlay (y=0,100vh) covering the drawer - the reason "there is no way back
   to results except the X". In-flow accordion instead: the subtitle slideToggle already
   drives it, the group list stays visible, and the sticky pill is always reachable. */
.sidebar.mobile_sidebar_widget #dynamic-widgets .widget-item section.ais-facets{position:static!important;inset:auto!important;height:auto!important;min-height:0!important;max-height:none!important;width:100%!important;margin:0!important;padding:0 0 4px!important;background:transparent!important;box-shadow:none!important;transform:none!important;overflow:visible!important;z-index:auto!important;}
/* rows: ONE style for every facet - native-checkbox lists and anchor lists alike */
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-list{display:block!important;max-height:45vh!important;overflow-y:auto!important;overscroll-behavior:contain!important;margin:0 0 12px!important;padding:0!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-item{display:block!important;float:none!important;width:100%!important;min-height:44px!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-item>div{display:block!important;width:100%!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-item a,.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-label{position:relative!important;display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;font-family:Poppins,"Poppins-fb",Arial,sans-serif!important;font-size:14px!important;font-weight:400!important;line-height:1.3!important;color:#000!important;text-decoration:none!important;background:transparent!important;}
/* one drawn checkbox for every row: native inputs stay as invisible accessible hit-targets */
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-checkbox{position:absolute!important;left:0!important;top:50%!important;transform:translateY(-50%)!important;width:18px!important;height:18px!important;margin:0!important;opacity:0!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-item a::before,.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-label::before{content:""!important;flex:0 0 18px!important;width:18px!important;height:18px!important;box-sizing:border-box!important;border:1px solid #b5b5b5!important;border-radius:3px!important;background:#fff!important;pointer-events:none!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-item--selected a::before,.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-item--selected .ais-RefinementList-label::before{border-color:#000!important;background:#000 url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3.5 8.5l3 3L12.5 5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px 12px no-repeat!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-item--selected .ais-RefinementList-labelText,.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-item--selected a span{font-weight:600!important;}
/* counts: right-aligned, quiet */
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-count{display:inline!important;margin-left:auto!important;padding:0!important;border:0!important;background:transparent!important;font-size:13px!important;font-weight:400!important;color:#767676!important;}
/* desktop size boxes cannot fit the new count spans - hide them outside the drawer
   (desktop gender/category/brand counts are untouched; this keys on the box-list class) */
.acs-box-list .ais-RefinementList-count{display:none!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .acs-box-list .ais-RefinementList-count{display:inline!important;}
/* Brands search: sits inside the 16px gutter now (was flush to the panel edges).
   The (1,5,1) wrapper selector outranks the plugin's mobile rule
   .sidebar.mobile_sidebar_widget .sidebar_wrapper #dynamic-widgets .ais-facets
   .ais-RefinementList-searchBox{padding:0 20px} at (1,5,0). */
.sidebar.mobile_sidebar_widget #facet-brand .ais-SearchBox{margin:2px 0 10px!important;}
.sidebar.mobile_sidebar_widget .sidebar_wrapper #dynamic-widgets .ais-facets div.ais-RefinementList-searchBox{margin:0!important;padding:0!important;width:100%!important;}

/* [2026-08-10 drawer round 3 — Jacob 5-item spec, Zappos reference]
   (1) STRUCTURAL PIN for the View Results bar: the wrapper becomes a flex column and
   #dynamic-widgets is the scroller — the bar is always on screen by construction, on
   every doc generation, instead of relying on position:sticky inside a scrolling
   wrapper (these rules print LATER than the sticky rule above; equal specificity +
   !important -> later source wins, so static+flex takes over). */
.sidebar.mobile_sidebar_widget{height:100dvh!important;max-height:100dvh!important;}
.sidebar.mobile_sidebar_widget .sidebar_wrapper{height:100%!important;max-height:100%!important;}
.sidebar.mobile_sidebar_widget .sidebar_wrapper{display:flex!important;flex-direction:column!important;overflow:hidden!important;}
.sidebar.mobile_sidebar_widget .filter_close_bar{flex:0 0 auto!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-width:thin;scrollbar-color:#c9c9c9 transparent;}
.sidebar.mobile_sidebar_widget .tw-filters-apply-bar{flex:0 0 auto!important;position:static!important;}
/* (2) Selected values under each accordion header, Zappos-style: the bundle renders
   .tw-facet-sel ("XS, S" / "XS, S +2" when it cannot fit) into the subtitle; the
   subtitle grows to two lines when a selection exists. */
.sidebar.mobile_sidebar_widget #dynamic-widgets .widget-item .subtitle{height:auto!important;min-height:48px!important;flex-wrap:wrap!important;row-gap:0!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .widget-item .subtitle .tw-facet-sel{display:block!important;flex:1 0 100%!important;order:9!important;margin:-6px 0 0!important;padding:0 0 10px!important;font-family:Poppins,"Poppins-fb",Arial,sans-serif!important;font-size:13px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:#767676!important;line-height:1.3!important;white-space:nowrap!important;overflow:hidden!important;min-width:0!important;}
/* (3) Scroll affordance only when a list overflows its 45vh cap: styled thin
   scrollbars render persistently only when scrollable (styling opts out of overlay
   scrollbars), so the slider appears exactly when content exceeds the view. */
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-list{scrollbar-width:thin;scrollbar-color:#c9c9c9 transparent;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-list::-webkit-scrollbar,.sidebar.mobile_sidebar_widget #dynamic-widgets::-webkit-scrollbar{width:4px;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-list::-webkit-scrollbar-thumb,.sidebar.mobile_sidebar_widget #dynamic-widgets::-webkit-scrollbar-thumb{background:#c9c9c9;border-radius:2px;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-list::-webkit-scrollbar-track,.sidebar.mobile_sidebar_widget #dynamic-widgets::-webkit-scrollbar-track{background:transparent;}
/* (4) Hamburger (navd) drawer joins the same design system as the filters drawer:
   1px #e5e5e5 hairlines (the 2px dashed rules were retired from the filters drawer
   2026-08-08 — this retires them here), 48px rows, and the filters-subtitle type ramp
   (Poppins 14/600 uppercase, ls 1.3px). Identical selectors to navd-mobile-menu.css's
   mobile block at equal specificity + !important — this inline prints later, so it
   wins in every cache state, including used-CSS fossils of the dashed generation. */
@media (max-width:921px){
aside.navd_mega-menu nav.navd_navigation a:not(.tw-mm-b-link){border-bottom:1px solid #e5e5e5!important;}
aside.navd_mega-menu nav.navd_navigation a{height:44px!important;font-family:Poppins,"Poppins-fb",Arial,sans-serif!important;font-size:14px!important;font-weight:600!important;letter-spacing:1.3px!important;color:#000!important;}
aside.navd_mega-menu nav.navd_navigation a > span{padding-top:0!important;padding-bottom:0!important;}
aside.navd_mega-menu nav.navd_navigation a.navd_btn{align-items:center!important;}
aside.navd_mega-menu nav.navd_navigation a.navd_btn .navd_btn__icon svg{display:none!important;}
aside.navd_mega-menu nav.navd_navigation a.navd_btn .navd_btn__icon:not(:empty)::after{content:""!important;flex:0 0 25px!important;width:25px!important;height:25px!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath transform='rotate(-90 24 24)' d='M14.83 16.42l9.17 9.17 9.17-9.17 2.83 2.83-12 12-12-12z'/%3E%3C/svg%3E") center/25px 25px no-repeat!important;}
}
/* counts were touching the new thin scrollbar track on overflowing lists */
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-list{padding-right:8px!important;}

/* [2026-08-10 drawer round 4 — Jacob: Zappos dividers/label/arrows + stale-doc reality]
   Dividers no longer run edge-to-edge: inset to the 16px content gutter (filters) /
   24px (nav), matching Zappos. Group-header rhythm tightened toward Zappos' ~55px
   (padding 12px; sub-line block tightened). NOTE: this whole drawer ruleset is ALSO
   injected at runtime by the URL-shared JS (tw-filters-parity / tw-navd-parity style
   tags) so documents cached before these sections existed heal without an HTML purge —
   keep the JS copies in sync when editing here. */
.sidebar.mobile_sidebar_widget #dynamic-widgets .widget-item{border-bottom:0!important;position:relative!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .widget-item::after{content:""!important;position:absolute!important;left:16px!important;right:16px!important;bottom:0!important;height:1px!important;background:#e5e5e5!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .widget-item:last-child::after{display:none!important;}
.sidebar.mobile_sidebar_widget .sidebar_wrapper #dynamic-widgets .widget-item .subtitle{padding:12px 0!important;}
.sidebar.mobile_sidebar_widget #dynamic-widgets .widget-item .subtitle .tw-facet-sel{margin:-8px 0 0!important;padding:0 0 6px!important;}
@media (max-width:921px){
aside.navd_mega-menu nav.navd_navigation a:not(.tw-mm-b-link){border-bottom:0!important;}
aside.navd_mega-menu nav.navd_navigation a:not(.tw-mm-b-link){position:relative!important;}
aside.navd_mega-menu nav.navd_navigation a:not(.tw-mm-b-link)::after{content:""!important;position:absolute!important;left:4px!important;right:4px!important;bottom:0!important;height:1px!important;background:#e5e5e5!important;}
aside.navd_mega-menu nav.navd_navigation a:not(.tw-mm-b-link):last-of-type::after{display:none!important;}
/* one arrow family: the submenu back control loses its outlined-box treatment */
#navd_menu-back{border:0!important;border-radius:0!important;background:none!important;padding:0!important;}
#navd_menu-back svg{display:none!important}
#navd_menu-back::after{content:""!important;display:block!important;width:25px!important;height:25px!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath transform='rotate(90 24 24)' d='M14.83 16.42l9.17 9.17 9.17-9.17 2.83 2.83-12 12-12-12z'/%3E%3C/svg%3E") center/25px 25px no-repeat!important}

#navd_menu-back:active{border:0!important;}
}

/* tw-drawer-r6 — generation token: the JS self-heal guards key on this exact string;
   bump it (r7, r8…) whenever drawer rules change so older baked inlines get healed. */
/* R26b 2026-08-28, REWORKED R40 2026-08-29 (Jacob: refining gender "freezes the
   accordion; it should behave just like Sub Category"): the original rule force-showed
   the widget AND its #facet-gender body with display:block!important — but the drawer
   accordion collapses bodies via inline display:none, so the body half froze the panel
   permanently open. Force-show the WIDGET CONTAINER only (header + "✓ Men" summary stay
   listed when route-refined); the accordion owns the body. */
.sidebar.mobile_sidebar_widget #widget-facet-gender:has(.ais-RefinementList-item--selected){display:block!important;}
/* R40 2026-08-29 (Jacob): gender is SINGLE-select by canon (R28c conj-canon) — checkbox
   squares read as multiselect. Hide the drawn box (drawer paints it as a label/a ::before;
   desktop uses the native input); the R26 ✓ prefix + bold label mark the selection. */
.sidebar.mobile_sidebar_widget #dynamic-widgets #widget-facet-gender .ais-RefinementList-label::before,.sidebar.mobile_sidebar_widget #dynamic-widgets #widget-facet-gender .ais-RefinementList-item a::before{display:none!important;}
#widget-facet-gender .ais-RefinementList-checkbox{display:none!important;}
/* R30 2026-08-28 (Jacob): card color swatches = ROUND and SMALL — adopt the cart-rail
   swatch canon (16px circle, 1px rgba border, active ring) sitewide; the plugin sheet's
   25px declaration was being flex-stretched to a 42x25 oval on grid cards. Belt rule:
   never DISPLAY more than 4 swatches even where an emitter has not been re-composed
   (stale SSR fragments) — the +N overflow count is emitted by the card templates. */
.product-item .color-swatches .color-swatch{flex:0 0 16px!important;width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;border-radius:50%!important;padding:0!important;border:1px solid rgba(0,0,0,.25)!important;box-sizing:border-box!important}
.product-item .color-swatches .color-swatch.active{border-color:#000!important;outline:none!important}
.product-item .color-swatches .color-swatch:nth-of-type(n+5){display:none!important}
/* R36 2026-08-29 (Jacob: mobile Gray/Pink toggling "gets sticky, takes 3 taps"): two causes.
   (1) The zoomable viewport arms Chrome's double-tap-to-zoom detector, which swallows rapid
   successive taps — touch-action:manipulation disables that per-element with no visual cost.
   (2) A 16px circle is ~2.7mm of physical target — an invisible ::after slop ring widens the
   hit area to 28px (centers sit 27px apart, so overlap is ~1px). The swatch already paints a
   ::before, hence ::after; it computes position:relative already, pinned here for cached-page
   safety. */
.product-item .color-swatches,.product-item .color-swatches .color-swatch{touch-action:manipulation!important}
.product-item .color-swatches .color-swatch{position:relative!important}
.product-item .color-swatches .color-swatch::after{content:''!important;position:absolute!important;inset:-6px!important;border-radius:50%!important;background:transparent!important}
.product-item .color-swatches .tw-sw-more{display:inline-flex!important;align-items:center!important;height:16px!important;padding:0 2px!important;font-family:Poppins,'Poppins-fb',Arial,sans-serif!important;font-size:11px!important;font-weight:500!important;color:#6d6d6d!important;line-height:1!important}
/* R35 2026-08-29 (Jacob: colored swatches "still show double ring" — the offset outline's
   white gap reads as a second ring on any non-white disc; only white merged with it).
   Supersedes R31: the active ring now sits DIRECTLY on the disc edge — 1px solid #000
   border, no outline, no gap. One ring for every color. Caveat noted to Jacob: on a
   near-black disc the black ring is invisible (the .25 inactive border is too). */
/* R58/R58c 2026-08-31 (Jacob): auto-satisfied single-option facets (one value covering
   the whole result set) HIDE like refined single-select panels — same-day ruling
   replaced the initial ticked display ("those should hide if checked since they're not
   multi select"). The hide is painted by twAutoSatisfyPaint (client) and the
   tw-ssr-grid.php hide list (server) via the existing widget-facet-hidden class; the
   dep-on cascade still treats the attribute as satisfied, with no refine and no URL
   write. No dedicated rules needed here. */

/* R60 2026-08-31: kill the anchor checkbox glyph inside label-based facet items.
   The mobile-drawer painter targeted `li a::before` when only navigation facets had
   anchors; R57 made checkbox-facet labelText an <a>, doubling the glyph next to
   label::before in the drawer. Refined items re-render as plain spans, so the
   checked/tick paint (label::before) is untouched; anchor-only facets (Category)
   keep their glyph. */
.sidebar.mobile_sidebar_widget #dynamic-widgets .ais-RefinementList-item label a::before{display:none!important;}

/* P2 size strip 2026-09-11 (Jacob GO): the size facet as pills above the grid; pill values = the chips-row .additional-filter family */
.tw-size-strip{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:0;min-width:0}.tw-size-strip[hidden]{display:none}.tw-size-strip .tw-size-strip__lbl{font-family:Poppins,"Poppins-fb",Arial,sans-serif;font-size:13px;font-weight:600;color:#000;white-space:nowrap;flex:0 0 auto}.tw-size-strip .tw-size-strip__row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex:1 1 auto;min-width:0;padding:2px 0}.tw-size-strip .tw-size-strip__row::-webkit-scrollbar{display:none}.tw-size-strip .tw-size-pill{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:30px;height:30px;padding:0 12px;border:1px solid #d7d7d7;border-radius:4px;background:#fff;color:#000;font-family:Poppins,"Poppins-fb",Arial,sans-serif;font-size:12px;font-weight:400;line-height:1;white-space:nowrap;cursor:pointer;margin:0;box-shadow:none;text-transform:none;letter-spacing:0}.tw-size-strip .tw-size-pill:hover,.tw-size-strip .tw-size-pill:focus-visible{border-color:#000;background:#fff;color:#000;text-decoration:underline;text-underline-offset:2px;outline:none;box-shadow:none}.tw-size-strip .tw-size-pill.is-on,.tw-size-strip .tw-size-pill.is-on:hover{background:#000;color:#fff;border-color:#000}.tw-size-strip .tw-size-pill.is-mine{border-color:#000;border-style:dashed}.tw-size-strip .tw-size-pill.is-mine::after{content:" \00b7 your size";font-size:11px;color:#707070;margin-left:2px}.tw-size-strip .tw-size-pill.is-on.is-mine::after{color:#fff}

/* tw-header-icons-css */

/* ===== TW HEADER ICON SYSTEM 2026-07-08 (v15) - v14 family + cart-drawer rework (flex column, X left, bare item-remove X, CTA login pill, scroll-lock), search hover, home carousel centering ===== */
:root{--tw-hdr-icon:32px;--tw-hdr-box:44px;}
@media (max-width:921px){:root{--tw-hdr-icon:32px;--tw-hdr-box:32px;}}
/* Replace theme's bold filled glyphs with thin line backgrounds (hide ALL aa-SubmitIcon — the stray one was doubling the magnifier) */
.ast-mobile-menu-trigger-minimal .ast-mobile-svg{display:none!important;}
.aa-DetachedSearchButton .aa-DetachedSearchButtonIcon{opacity:0!important;}
/* Hamburger (thin, wide + spread bars) — height forced so the 32px glyph is not vertically clipped (button collapses to ~18px otherwise, squashing the bars) */
.ast-mobile-menu-trigger-minimal{
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'><path d='M4 8h24'/><path d='M4 16h24'/><path d='M4 24h24'/></svg>")!important;
  background-size:var(--tw-hdr-icon) var(--tw-hdr-icon)!important;background-position:center!important;background-repeat:no-repeat!important;min-width:var(--tw-hdr-icon)!important;height:var(--tw-hdr-icon)!important;cursor:pointer!important;
}
/* Keep the hamburger occupying its box while the off-canvas drawer is open — prevents the search/cart snap-reflow */
html.ast-off-canvas-active .ast-mobile-menu-trigger-minimal,
body.ast-popup-nav-open .ast-mobile-menu-trigger-minimal{display:flex!important;}
/* Remove the odd focus/toggle border artifact on the hamburger trigger */
.ast-mobile-menu-trigger-minimal:focus,.ast-mobile-menu-trigger-minimal:focus-visible,.ast-mobile-menu-trigger-minimal:active,.ast-mobile-menu-trigger-minimal.toggled{outline:none!important;border:none!important;box-shadow:none!important;background-color:transparent!important;}
/* Search magnifier (thin) — bg on BUTTON; original icon container neutralized via opacity above */
.aa-DetachedSearchButton{
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'><circle cx='13.5' cy='13' r='8.5'/><path d='M27 27l-7.3-7.3'/></svg>")!important;
  background-size:var(--tw-hdr-icon) var(--tw-hdr-icon)!important;background-position:center!important;background-repeat:no-repeat!important;width:var(--tw-hdr-icon)!important;height:var(--tw-hdr-icon)!important;cursor:pointer!important;
}
/* Account person (thin) — replaces the raster PNG on ::before */
body .tw-c-a-m-wrap .account-icon::before,body .account-icon::before{
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='16' cy='10' r='6.5'/><path d='M4.5 27a11.5 11.5 0 0 1 23 0'/></svg>")!important;
  background-size:var(--tw-hdr-icon) var(--tw-hdr-icon)!important;background-position:center!important;background-repeat:no-repeat!important;width:var(--tw-hdr-icon)!important;height:var(--tw-hdr-icon)!important;content:""!important;
}
/* Desktop header: account + cart in a 44px-tall CENTERED box (matches the 44px search row) with a 28px glyph. Both same box + glyph -> matched heights, account.top === cart.top. */
body .tw-c-a-m-wrap .account-icon,body .site-header-primary-section-right .account-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:var(--tw-hdr-box)!important;overflow:visible!important;cursor:pointer!important;position:relative!important;top:calc((24px - var(--tw-hdr-box))/2)!important;}
body .site-header-primary-section-right .ast-addon-cart-wrap{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:var(--tw-hdr-box)!important;cursor:pointer!important;}
/* Cart bag (thin, wide square, arch handle + strap eyes, right mouth) */
.site-header-primary-section-right .ast-addon-cart-wrap::before,
.ast-addon-cart-wrap::before{
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='4.5' y='11' width='23' height='16.5' rx='1.8'/><path d='M9 15.5V9A6.5 6 0 0 1 22 9V15.5'/><path d='M13.5 22.5h8.5'/></svg>")!important;
  background-size:var(--tw-hdr-icon) var(--tw-hdr-icon)!important;background-position:center!important;background-repeat:no-repeat!important;width:var(--tw-hdr-icon)!important;height:var(--tw-hdr-icon)!important;
}
/* ---- Wishlist header heart: SIGNED-IN ONLY, thin (32-grid) outline / filled, no count ---- */
body:not(.logged-in) .ast-primary-header .ast-header-html-3 .tw-wishlist-heart-icon{display:none!important;}
body.logged-in .tw-wishlist-heart-icon a.wishlist_products_counter{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;width:var(--tw-hdr-icon)!important;height:var(--tw-hdr-icon)!important;line-height:0!important;cursor:pointer!important;
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M16 27l-1.7-1.55C8.3 20 4.4 16.5 4.4 12.3 4.4 8.9 7.1 6.2 10.5 6.2c1.9 0 3.75.9 4.95 2.3l.55.65.55-.65A6.6 6.6 0 0 1 21.5 6.2c3.4 0 6.1 2.7 6.1 6.1 0 4.2-3.9 7.7-9.9 13.2z'/></svg>")!important;
  background-size:var(--tw-hdr-icon) var(--tw-hdr-icon)!important;background-repeat:no-repeat!important;background-position:center!important;
}
body.logged-in .tw-wishlist-heart-icon a.wishlist_products_counter img{display:none!important;}
body.logged-in .tw-wishlist-heart-icon .wishlist_products_counter_number,body.logged-in .tw-wishlist-heart-icon .wishlist_products_counter_text{display:none!important;}
body.logged-in.tw-has-wishlist .tw-wishlist-heart-icon a.wishlist_products_counter{
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23000'><path d='M16 27l-1.7-1.55C8.3 20 4.4 16.5 4.4 12.3 4.4 8.9 7.1 6.2 10.5 6.2c1.9 0 3.75.9 4.95 2.3l.55.65.55-.65A6.6 6.6 0 0 1 21.5 6.2c3.4 0 6.1 2.7 6.1 6.1 0 4.2-3.9 7.7-9.9 13.2z'/></svg>")!important;
}
/* Card wishlist hearts -> solid black */
.tinvwl-icon-heart,.tinvwl-icon-heart::before{color:#000!important;}
/* ================= GRAY QV HEADER STANDARD (v12 2026-07-08 — every drawer/popup heading bar = QV gray #f0eceb + title-left + close right; supersedes the v11 white ruling per Jacob 2026-07-08) ================= */
/* Cart drawer -> GRAY QV header #f0eceb (v12 restore) + QV close-X token (1px #000 ring, 32px, 14px X, hover black-invert per DESIGN-LANGUAGE §6a) */
.astra-cart-drawer .astra-cart-drawer-header,.astra-cart-drawer .astra-cart-drawer-header-wrap{background:#f0eceb!important;}
.astra-cart-drawer .astra-cart-drawer-header{display:flex!important;align-items:center!important;justify-content:space-between!important;height:67px!important;max-height:none!important;padding:0 20px!important;border-bottom-width:1px!important;border-bottom-style:solid!important;border-bottom-color:rgba(224,214,213,.48)!important;box-sizing:border-box!important;}
.astra-cart-drawer .astra-cart-drawer-title{position:static!important;margin:0!important;line-height:1.2!important;order:0!important;}
.astra-cart-drawer .astra-cart-drawer-close{order:1!important;}
#astra-mobile-cart-drawer .astra-cart-drawer-header{border-bottom:1px solid rgba(224,214,213,.48)!important;}
.astra-cart-drawer .astra-cart-drawer-close{position:static!important;margin:0!important;flex-shrink:0!important;}
.astra-cart-drawer .astra-cart-drawer-content{margin-top:21px!important;}
@media (max-width:921px){.astra-cart-drawer .astra-cart-drawer-header{padding:0 16px!important;}}
.astra-cart-drawer .astra-cart-drawer-close{
  border:none!important;border-radius:0!important;width:32px!important;height:32px!important;min-width:32px!important;box-sizing:border-box!important;padding:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;background-color:transparent!important;cursor:pointer!important;
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'><path d='M6 6 26 26M26 6 6 26'/></svg>")!important;
  background-size:32px 32px!important;background-position:center!important;background-repeat:no-repeat!important;
}
.astra-cart-drawer .astra-cart-drawer-close svg,.astra-cart-drawer .astra-cart-drawer-close .ahfb-svg-iconset{display:none!important;}
.astra-cart-drawer .astra-cart-drawer-close:hover{transform:scale(1.1)!important;}
.astra-cart-drawer .astra-cart-drawer-close{transition:transform .15s ease!important;}
/* ---- Mobile hamburger drawer: GRAY QV heading bar (v12; 60px) + BARE thin icons matching the main-page set (no circles). Account person + close X, both 32px, vertically centered. High-spec close selector out-ranks navd-mobile-menu.css @media border:2px. ---- */
html #ast-mobile-popup-wrapper .ast-mobile-popup-header{display:flex!important;align-items:center!important;justify-content:flex-end!important;background:#f0eceb!important;height:67px!important;min-height:67px!important;box-sizing:border-box!important;padding:0 16px!important;border-bottom:1px solid rgba(224,214,213,.48)!important;}
#ast-mobile-popup-wrapper .tw-account-action-link{align-self:flex-start!important;margin-top:7.5px!important;height:32px!important;display:flex!important;align-items:center!important;}
#ast-mobile-popup-wrapper .tw-account-action-link .account-icon{
  border:none!important;border-radius:0!important;background:none!important;box-shadow:none!important;
  width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;box-sizing:border-box!important;padding:0!important;margin-top:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;
}
#ast-mobile-popup-wrapper .tw-account-action-link:hover .account-icon,#ast-mobile-popup-wrapper #menu-toggle-close:hover{transform:scale(1.1)!important;}
#ast-mobile-popup-wrapper .account-icon,#ast-mobile-popup-wrapper #menu-toggle-close{transition:transform .15s ease!important;}
#ast-mobile-popup-wrapper .tw-account-action-link .account-icon::before{
  width:32px!important;height:32px!important;background-size:32px 32px!important;margin:0!important;
}
html #ast-mobile-popup-wrapper .ast-mobile-popup-header button#menu-toggle-close.menu-toggle-close,#ast-mobile-popup-wrapper button#menu-toggle-close,#menu-toggle-close,.menu-toggle-close{
  border:none!important;border-radius:0!important;background-color:transparent!important;box-shadow:none!important;outline:none!important;
  width:32px!important;height:32px!important;min-width:32px!important;box-sizing:border-box!important;padding:0!important;margin:0!important;align-self:center!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'><path d='M6 6 26 26M26 6 6 26'/></svg>")!important;
  background-size:32px 32px!important;background-position:center!important;background-repeat:no-repeat!important;
}
html #ast-mobile-popup-wrapper .ast-mobile-popup-header button#menu-toggle-close svg,#menu-toggle-close svg,#menu-toggle-close .ahfb-svg-iconset,#menu-toggle-close .ast-svg-iconset,.menu-toggle-close svg,.menu-toggle-close .ahfb-svg-iconset{display:none!important;}
html #ast-mobile-popup-wrapper .ast-mobile-popup-header button#menu-toggle-close.menu-toggle-close:hover,#menu-toggle-close:hover,.menu-toggle-close:hover{border:none!important;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'><path d='M6 6 26 26M26 6 6 26'/></svg>")!important;}

/* ===== v12 additions 2026-07-08 ===== */
/* Sign-in (xoo-el) modal: QV gray heading bar, title-left; family close (SVG X, no resting shadow, shadow on press) */
.xoo-el-modal .xoo-el-modal-header,.xoo-el-container .xoo-el-modal-header{background:#f0eceb!important;border-bottom:1px solid rgba(224,214,213,.48)!important;height:67px!important;box-sizing:border-box!important;padding:0 20px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;font-family:'Poppins',sans-serif!important;font-size:25px!important;font-weight:700!important;color:#000!important;}
.xoo-el-container span.xoo-el-close.xoo-el-icon-cross,.xoo-el-container .xoo-el-modal .xoo-el-close{width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;max-height:32px!important;}
span.xoo-el-close.xoo-el-icon-cross,.xoo-el-modal .xoo-el-close{width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;box-sizing:border-box!important;border:none!important;border-radius:0!important;background-color:transparent!important;box-shadow:none!important;font-size:0!important;line-height:0!important;color:transparent!important;position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'><path d='M6 6 26 26M26 6 6 26'/></svg>")!important;background-size:32px 32px!important;background-position:center!important;background-repeat:no-repeat!important;transition:transform .15s ease!important;}
span.xoo-el-close.xoo-el-icon-cross::before,span.xoo-el-close.xoo-el-icon-cross::after{display:none!important;content:none!important;}
.xoo-el-container span.xoo-el-close.xoo-el-icon-cross:hover,.xoo-el-modal .xoo-el-close:hover{transform:scale(1.1)!important;background-color:transparent!important;}
/* v14: click-shadow REMOVED per Jacob 2026-07-08 (distorts the glyph); hover-enlarge is the feedback */
/* Hover feedback: uniform scale on bare header icons (account scale exists; drawer icons use opacity) */
.ast-mobile-menu-trigger-minimal,.aa-DetachedSearchButton,.ast-addon-cart-wrap,.tw-wishlist-heart-icon a.wishlist_products_counter{transition:transform .15s ease!important;}
.ast-mobile-menu-trigger-minimal:hover,.aa-DetachedSearchButton:hover,.ast-addon-cart-wrap:hover,.tw-wishlist-heart-icon a.wishlist_products_counter:hover{transform:scale(1.1)!important;}
/* Algolia detached search bar: SAME height as the gray drawer bars (stays white per brief) */
.aa-DetachedFormContainer{height:67px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;border-bottom:1px solid rgba(224,214,213,.48)!important;}
/* Free-shipping banner inside the nav drawer (same renderer + look as cart drawer) */
.ast-mobile-popup-content .wc-free-shipping-info{display:flex!important;align-items:center!important;justify-content:center!important;margin:12px 16px 0!important;min-height:44px!important;}
/* v12.1: desktop account|cart separator capped to the 28px glyph height, centered at cy49 (source rule lives in an adopted stylesheet - override here) */
.tw-c-a-m-wrap .tw-account-action-link::after{height:32px!important;transform:translateY(-4px)!important;}
/* v12.1: drawer account icon - neutralize the desktop -4px box-centering offset so it centers on the 60px bar */
#ast-mobile-popup-wrapper .tw-account-action-link .account-icon{top:0!important;}

/* ===== v14 2026-07-08: ONE bare family X on every drawer/modal close (Jacob pick; no ring, no fill, no click-shadow) ===== */
html #acs-quick-view-modal a.modal__close.close,html #acs-quick-view-modal .modal__close{border:none!important;border-radius:0!important;background-color:transparent!important;box-shadow:none!important;width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;box-sizing:border-box!important;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'><path d='M6 6 26 26M26 6 6 26'/></svg>")!important;background-size:32px 32px!important;background-position:center!important;background-repeat:no-repeat!important;cursor:pointer!important;transition:transform .15s ease!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
#acs-quick-view-modal .modal__close svg{display:none!important;}
html #acs-quick-view-modal a.modal__close.close:hover,html #acs-quick-view-modal .modal__close:hover{transform:scale(1.1)!important;background-color:transparent!important;border:none!important;}

/* ===== v15 2026-07-08: cart drawer rework (Zappos/FN-inspired), drawer X LEFT, home carousel centering ===== */
/* scroll-lock while the drawer is open - the page scrollbar read as a permanent 'slider' over the drawer */
html.ast-mobile-cart-active{overflow:hidden!important;}
/* structural flex column: header in-flow (nothing hidden/click-blocked under it), footer always in view, list scrolls ONLY on overflow */
html #astra-mobile-cart-drawer{display:flex!important;flex-direction:column!important;}
html #astra-mobile-cart-drawer .astra-cart-drawer-header{position:static!important;flex:0 0 auto!important;width:100%!important;height:67px!important;justify-content:flex-start!important;}
html #astra-mobile-cart-drawer .astra-cart-drawer-content{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;padding-top:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
html #astra-mobile-cart-drawer .astra-cart-drawer-content .widget_shopping_cart{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;display:flex!important;flex-direction:column!important;}
html #astra-mobile-cart-drawer .astra-cart-drawer-content .widget_shopping_cart_content{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;display:flex!important;flex-direction:column!important;overflow:visible!important;}
html #astra-mobile-cart-drawer ul.woocommerce-mini-cart{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;margin:0!important;padding:4px 20px 12px!important;}
/* drawer close X moves LEFT (FN pattern), title reads after it; hamburger drawer matches */
/* v16: Jacob final ruling - X FAR RIGHT in every drawer */
html #astra-mobile-cart-drawer .astra-cart-drawer-close{order:1!important;margin:0 0 0 14px!important;}
html #astra-mobile-cart-drawer .astra-cart-drawer-title{order:0!important;flex:1 1 auto!important;text-align:left!important;}
html #ast-mobile-popup-wrapper .ast-mobile-popup-header{justify-content:flex-end!important;}
/* v15.2: X left + account pinned RIGHT on the hamburger bar (they collided when X moved left) */
body.ast-popup-nav-open #ast-mobile-popup-wrapper .ast-builder-html-element .tw-c-a-m-wrap{position:fixed!important;left:16px!important;top:17px!important;right:auto!important;margin:0!important;z-index:3!important;}
body.ast-popup-nav-open #ast-mobile-popup-wrapper .ast-builder-html-element .tw-c-a-m-wrap .tw-account-action-link{margin-top:0!important;}
/* item rows: clean card, bare family X remove pinned top-right, hairline dividers */
html #astra-mobile-cart-drawer li.woocommerce-mini-cart-item{position:relative!important;padding:16px 28px 16px 0!important;margin:0!important;border-bottom:1px solid rgba(224,214,213,.6)!important;background:transparent!important;}
html #astra-mobile-cart-drawer li.woocommerce-mini-cart-item:last-child{border-bottom:none!important;}
html #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove,html #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove_from_cart_button{position:absolute!important;top:16px!important;right:0!important;left:auto!important;width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;max-height:20px!important;padding:0!important;border:none!important;border-radius:0!important;background-color:transparent!important;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'><path d='M6 6 26 26M26 6 6 26'/></svg>")!important;background-size:13px 13px!important;background-position:center!important;background-repeat:no-repeat!important;font-size:0!important;line-height:0!important;box-shadow:none!important;transition:transform .15s ease!important;}
html #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove:hover,html #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove_from_cart_button:hover{transform:scale(1.15)!important;border:none!important;background-color:transparent!important;}
html #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove .ahfb-svg-iconset,html #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove svg{display:none!important;}
/* compact one-line meta; brand as small caps eyebrow; drop the Product Condition noise */
html #astra-mobile-cart-drawer .mini-cart-text-wrap .tw-cart-brand-name{font-size:11px!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#8a8a8a!important;font-weight:500!important;}
html #astra-mobile-cart-drawer .mini-cart-text-wrap .tw-cart-p-attributes{display:flex!important;flex-wrap:wrap!important;gap:2px 12px!important;font-size:12px!important;color:#6d6d6d!important;line-height:1.5!important;width:100%!important;}
html #astra-mobile-cart-drawer .mini-cart-text-wrap .tw-cart-att-item{display:inline-flex!important;flex-wrap:wrap!important;width:auto!important;max-width:100%!important;min-width:0!important;gap:0 3px!important;white-space:normal!important;}
html #astra-mobile-cart-drawer .mini-cart-text-wrap .tw-cart-att-item.tw-att-condition{display:none!important;}
/* footer: subtotal + canonical pill pair, always visible without scrolling */
html #astra-mobile-cart-drawer .woocommerce-mini-cart__total{flex:0 0 auto!important;margin:0!important;padding:14px 20px!important;border-top:1px solid rgba(224,214,213,.6)!important;display:flex!important;justify-content:space-between!important;align-items:center!important;font-family:'Poppins',sans-serif!important;font-size:16px!important;}
html #astra-mobile-cart-drawer .woocommerce-mini-cart__buttons{flex:0 0 auto!important;display:flex!important;gap:12px!important;margin:0!important;padding:0 20px 20px!important;}
html #astra-mobile-cart-drawer .woocommerce-mini-cart__buttons a.button{flex:1 1 0!important;text-align:center!important;margin:0!important;font-family:'Poppins',sans-serif!important;text-transform:uppercase!important;font-weight:500!important;font-size:13px!important;border-radius:30px!important;padding:14px 8px!important;box-sizing:border-box!important;}
/* empty state: sign-in CTA FIRST (FN: nothing you need should require scrolling), short copy, family bag glyph */
html #astra-mobile-cart-drawer .tw-empty-mini-cart-wrap{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;padding:26px 24px!important;text-align:center!important;}
html #astra-mobile-cart-drawer .tw-mini-cart-empty-message>p:first-child,html #astra-mobile-cart-drawer .tw-mini-cart-empty-message>br{display:none!important;}
html #astra-mobile-cart-drawer .tw-mini-cart-empty-message{margin:0 0 16px!important;padding:0!important;}
html #astra-mobile-cart-drawer .tw-continue-shopping{order:-1!important;margin:0 0 24px!important;width:100%!important;display:flex!important;justify-content:center!important;}
html #astra-mobile-cart-drawer .tw-continue-shopping a.button{min-width:220px!important;padding:16px 32px!important;font-family:'Poppins',sans-serif!important;text-transform:uppercase!important;font-weight:500!important;font-size:13px!important;border-radius:30px!important;background:var(--ast-global-color-0)!important;color:#fff!important;text-decoration:none!important;text-align:center!important;transition:background .15s ease,box-shadow .15s ease!important;}
html #astra-mobile-cart-drawer .tw-continue-shopping a.button:hover{background:var(--ast-global-color-1)!important;box-shadow:0 0 4px #000!important;}
html #astra-mobile-cart-drawer .e-l-other-items{margin:0 0 28px!important;display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:6px 18px!important;}
html #astra-mobile-cart-drawer .tw-empty-cart-img{width:96px!important;height:96px!important;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='4.5' y='11' width='23' height='16.5' rx='1.8'/><path d='M9 15.5V9A6.5 6 0 0 1 22 9V15.5'/><path d='M13.5 22.5h8.5'/></svg>")!important;background-size:96px 96px!important;background-position:center!important;background-repeat:no-repeat!important;margin:4px 0 0!important;}
html #astra-mobile-cart-drawer .tw-empty-cart-img img{display:none!important;}
/* Algolia search bar: pointer + CTA-style hover feedback (desktop inline autocomplete) */
.aa-Form .aa-SubmitButton{cursor:pointer!important;transition:transform .15s ease!important;}
.aa-Form .aa-SubmitButton:hover{transform:scale(1.06)!important;}
.aa-Form{transition:box-shadow .15s ease!important;}
.aa-Form:hover{box-shadow:0 0 4px rgba(0,0,0,.45)!important;}
/* home: carousels CENTERED against their adjacent promo images; strip stray spacer blocks (desktop; mobile shipped in v12) */
@media (min-width:922px){
.tw-main-home-wrapper .wp-block-columns[class*="tw-home-"]{align-items:center!important;}
.tw-main-home-wrapper .wp-block-columns[class*="tw-home-"]>.wp-block-column{align-self:center!important;}
.tw-main-home-wrapper .wp-block-columns[class*="tw-home-"] .wp-block-column .wp-block-uagb-separator{display:none!important;}
.tw-main-home-wrapper .wp-block-columns[class*="tw-home-"] .wp-block-column>.wp-block-group:not(:has(img,a,p,h1,h2,h3,button)){display:none!important;}
}

/* ===== v16 2026-07-08: documented-token application - heading rhythm 14px, no-clip titles ===== */
/* v18: H2 heading hierarchy — home section headers IDENTICAL to the Latest-Fashion-Trends reference (H2 30/33/700, padding:0; the wp-block-group wrappers injected 12.89px vertical padding = the line-spacing drift) */
.tw-main-home-wrapper h2.wp-block-heading{padding:0!important;margin-bottom:0!important;}
.tw-main-home-wrapper h2 + p{margin-top:14px!important;}
html #astra-mobile-cart-drawer .mini-cart-text-wrap .tw-cart-product-name{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}

/* ===== v17 2026-07-08: mobile sign-in = DRAWER (same experience as cart/hamburger drawers; desktop keeps the centered popup) ===== */
@media (max-width:921px){
.xoo-el-modal{padding:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;max-height:none!important;transform:none!important;}
html .xoo-el-container .xoo-el-modal .xoo-el-inmodal{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:100%!important;height:100%!important;max-height:none!important;margin:0!important;border-radius:0!important;display:flex!important;flex-direction:column!important;box-shadow:-2px 0 12px rgba(0,0,0,.18)!important;}
html .xoo-el-container .xoo-el-modal .xoo-el-modal-header{flex:0 0 67px!important;width:100%!important;box-sizing:border-box!important;}
html .xoo-el-container .xoo-el-modal .xoo-el-wrap{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;width:100%!important;}
@keyframes twDrawerIn{from{transform:translateX(100%);}to{transform:translateX(0);}}
html .xoo-el-container .xoo-el-modal.xoo-el-active .xoo-el-inmodal{animation:twDrawerIn .25s ease both!important;}
}
/* ===== v19 2026-07-10: header divider normalization (card-unify brief #2) - ONE divider token (2px #cbcbcb, 28px, flex-centered), ONE 20px gap each side ===== */
@media (min-width:922px){
html .site-header-section span.tw-wishlist-heart-icon{display:flex!important;align-items:center!important;}
.site-header-section .tw-wishlist-heart-icon::after{width:0!important;height:28px!important;border-right:2px solid #cbcbcb!important;margin:0 0 0 20px!important;transform:none!important;align-self:center!important;}
.tw-c-a-m-wrap .tw-account-action-link::after{width:0!important;height:28px!important;border-right:2px solid #cbcbcb!important;margin:0 0 0 20px!important;transform:none!important;align-self:center!important;position:relative!important;top:-10px!important;/* mirror of .account-icon top:-10px glyph offset */}
}


/* tw-pdp-fixes */

/* [1] Hide magnifier trigger */
.single-product a.woocommerce-product-gallery_trigger,.single-product .woocommerce-product-gallery_trigger{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;overflow:hidden!important;position:absolute!important;z-index:-1!important}

/* Hide gallery images until auto-select completes — prevents FIFU default image flash */
.single-product:not(.tw-gallery-ready) .woocommerce-product-gallery__image img{opacity:0!important;transition:none!important}
.single-product.tw-gallery-ready .woocommerce-product-gallery__image img{opacity:1!important;transition:opacity 0.15s ease-in!important}
.single-product:not(.tw-gallery-ready) .ast-woocommerce-product-gallery__image img{opacity:0!important;transition:none!important}
.single-product.tw-gallery-ready .ast-woocommerce-product-gallery__image img{opacity:1!important;transition:opacity 0.15s ease-in!important}

/* All OOS: swap Add to Cart -> Notify Me instantly (server-side body class) */
.single-product.tw-all-oos .single_add_to_cart_button{font-size:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
.single-product.tw-all-oos .single_add_to_cart_button::after{content:"NOTIFY ME";font-size:16px!important;letter-spacing:0.5px}
.single-product.tw-all-oos .quantity{display:none!important}
.single-product.tw-all-oos .woocommerce-variation-add-to-cart-disabled .woocommerce-variation-add-to-cart{opacity:1!important}
.single-product.tw-all-oos .out-of-stock,.single-product.tw-all-oos .stock.out-of-stock{display:none!important}
.single-product.tw-all-oos .woocommerce-variation.single_variation{display:none!important}

/* Lock Add to Cart button size — prevent resize flash when variation state changes */
.single-product .single_add_to_cart_button{font-size:16px!important;padding:15px 25px!important;min-height:52px!important;line-height:1.4!important;transition:none!important}

/* Mini cart drawer styling moved to tw_global_cart_css() — runs on every page (drawer is global, not PDP-only) */
.woocommerce-mini-cart-item .ast-mini-cart-stock,.woocommerce-mini-cart-item p.stock,.woocommerce-mini-cart .stock{display:none!important}

/* Hide green stock dot that leaks through variation availability */
.single-product .woocommerce-variation-availability p.stock{display:none!important;width:0!important;height:0!important;position:absolute!important}

/* Size row: padding so swatches do not overlap Size Chart link */
.single-product table.variations tr:last-child th.label{padding-bottom:8px!important}

/* Hide native WooCommerce <select> dropdowns — CFVSW swatches replace them visually.
   Must NOT use display:none — WooCommerce variation JS reads select values. */
.single-product table.variations select{position:absolute!important;opacity:0!important;height:1px!important;width:1px!important;overflow:hidden!important;pointer-events:none!important;clip:rect(0,0,0,0)!important;border:0!important;margin:0!important;padding:0!important}
/* Size Chart link: keep inline with Size label, not pushed below by select */
.single-product table.variations td.value{position:relative!important}

/* [1] Kill zoom overlay + cursor */
.single-product .woocommerce-product-gallery .zoomImg,.single-product .woocommerce-product-gallery__image .zoomImg{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;width:0!important;height:0!important}
.single-product .woocommerce-product-gallery__image img,.single-product .ast-product-gallery-layout-vertical-slider .flex-viewport .woocommerce-product-gallery__wrapper img{cursor:default!important}

/* [P3] Reduce gap between header and product content */
.single-product #content,.single-product .site-content{padding-top:0!important}
.single-product .ast-woocommerce-container{padding-top:5px!important}
.single-product div#ast-sticky-row-summary{top:1em!important}

/* [CLS-FIX] Force WP Rocket delayed elements visible — kills 0.389 CLS from data-rocket-location-hash */
.single-product [data-rocket-location-hash]{content-visibility:visible!important;contain-intrinsic-size:auto!important}
.single-product #content[data-rocket-location-hash]{min-height:auto!important;contain:none!important}

/* [CLS] HEADER: reserve stable dimensions to prevent nav/menu shift (0.1947 CLS) */
.single-product .ast-builder-grid-row{min-height:50px!important}
.single-product .site-header-primary-section-center,.single-product .site-header-primary-section-left,.single-product .site-header-primary-section-right{min-height:50px!important}
.single-product .ast-header-woo-cart{min-width:40px!important;min-height:40px!important}
.single-product .ast-builder-menu-3 .menu-item{min-height:40px!important;display:inline-flex!important;align-items:center!important}

/* [CLS] Pre-style removed — was causing multi-select visual bug (P3) */

/* [P1] Breadcrumb: PHP-rendered full-width row above gallery+summary */
.single-product .tw-breadcrumb-row{width:100%!important;display:block!important;padding:6px 0!important;margin-bottom:8px!important;font-size:13px!important;color:#555!important}
.single-product .tw-breadcrumb-row a{color:#555!important;text-decoration:none!important}
.single-product .tw-breadcrumb-row a:hover{color:#000!important;text-decoration:underline!important}

/* Remove gap between title and price — prevent CLS by reserving space */
.single-product .summary.entry-summary::before{display:none!important;content:none!important}
.single-product .onsale.circle{z-index:5!important}
.single-product .product_title.entry-title.p-short-title{margin-bottom:0!important;padding-bottom:0!important;margin-top:0;font-size:20px;font-weight:400;line-height:24px;display:block;color:#000}
.single-product .product-prices,.single-product .price{margin-top:10px!important}
.single-product .payment-method-message{margin-top:2px!important;margin-bottom:4px!important}

/* [CLS] Reserve space for afterpay/klarna widget — prevents shift on size/buttons below */
.single-product .payment-method-message,.single-product .StripeElement,.single-product [class*="afterpay"],.single-product [class*="klarna"]{min-height:30px!important}
.single-product .product-prices+.payment-method-message,.single-product .product-prices~div:has(.afterpay-message){min-height:30px!important}

/* [CLS] Reserve space for variation table (color + size + size chart) */
.single-product table.variations{min-height:120px!important}
.single-product .tw-product-page-est-date{min-height:50px!important}
.single-product .tw-product-page-est-wrap img{width:24px!important;height:24px!important}

/* Thumbnail borders: no border default, light gray hover, black selected */
.single-product .ast-woocommerce-product-gallery__image{border:1px solid transparent!important;transition:border-color 0.2s!important}
.single-product .ast-woocommerce-product-gallery__image:hover{border-color:#ccc!important}
.single-product .ast-woocommerce-product-gallery__image.flex-active-slide{border:1px solid #000!important}

/* Thumbnails: align to top of gallery area */
.single-product .ast-gallery-thumbnails,.single-product div#ast-gallery-thumbnails{padding-top:0!important;margin-top:0!important}
.single-product #ast-vertical-slider-inner{justify-content:flex-start!important;align-content:flex-start!important}
.single-product #ast-vertical-thumbnail-wrapper{margin-top:0!important;padding-top:0!important}
.single-product #ast-vertical-slider-inner .ast-woocommerce-product-gallery__image{border-top:1px solid transparent!important;border-bottom:1px solid transparent!important;padding-bottom:0!important;height:auto!important;margin-bottom:4px!important}
.single-product #ast-vertical-slider-inner .ast-woocommerce-product-gallery__image img{position:relative!important;width:85px!important;height:auto!important}

/* Parent flex row: gallery + summary aligned at TOP */
.single-product #ast-sticky-row-summary{align-items:flex-start!important}
.single-product div.summary.entry-summary{margin-top:0!important;padding-top:0!important}

/* Size chart: Size left, Size Chart right */
.single-product label[for="pa_size"]{display:flex!important;flex-direction:row!important;align-items:center!important;width:100%!important;gap:15px!important;position:relative!important;min-height:24px!important}
.single-product label[for="pa_size"] .md-size-chart-btn,.single-product label[for="pa_size"] a#size-chart{margin-left:auto!important;flex-shrink:0!important;position:static!important;min-width:80px!important;text-align:right!important}
.single-product .md-size-chart-popup,.single-product .size-chart-popup{position:fixed!important}

/* Stock/availability: COMPLETELY HIDDEN — no flash, no display at all */
.single-product p.stock,.single-product .stock,.single-product .woocommerce-variation-availability,.single-product .ast-stock-detail{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important}

/* [P5] Variation rows: label on top, swatches below (not side-by-side) */
.single-product table.variations,.single-product table.variations tbody,.single-product table.variations tr,.single-product table.variations th,.single-product table.variations td{border:none!important;border-collapse:collapse!important;border-spacing:0!important;padding-left:0!important;padding-right:0!important}
.single-product table.variations tr{display:block!important;border-bottom:none!important}
.single-product table.variations th.label{display:block!important;width:100%!important;padding-top:10px!important;padding-bottom:2px!important}
.single-product table.variations td.value{display:block!important;width:100%!important;padding-top:0!important;padding-bottom:10px!important}

/* [P4] Swatches: match Quick View modal styling — stretch to fit full text */
.single-product .cfvsw-swatches-option{min-height:40px!important;border:1px solid rgba(0,0,0,0.13)!important;padding:5px 12px!important;font-size:14px!important;cursor:pointer!important;border-radius:3px!important;width:auto!important;max-width:none!important;font-weight:600!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#000!important;min-width:fit-content!important;box-sizing:border-box!important;line-height:1!important;position:relative!important;overflow:visible!important;text-overflow:unset!important}
/* Override the INNER element that truncates text */
.single-product .cfvsw-swatches-option .cfvsw-swatch-inner{overflow:visible!important;text-overflow:unset!important;text-overflow:clip!important;white-space:nowrap!important;width:auto!important;max-width:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-top:0!important}
/* Force container from grid to flex so swatches can grow */
.single-product .cfvsw-swatches-container,.single-product .cfvsw-product-container{display:flex!important;flex-wrap:wrap!important;gap:8px!important;grid-template-columns:none!important;padding-bottom:0!important}
.single-product .cfvsw-swatches-option.cfvsw-selected-swatch,.single-product .cfvsw-swatches-option.selected,.single-product .cfvsw-swatches-option[aria-checked="true"]{border:2px solid #000!important}
.single-product .cfvsw-swatches-option:hover{border-color:rgba(0,0,0,0.4)!important}
/* Swatch container: flex wrap with gap like Quick View */
.single-product .cfvsw-swatches-container{display:flex!important;flex-wrap:wrap!important;gap:8px!important;grid-gap:8px!important;padding-bottom:0!important}
/* Remove any checkmarks or default swatch decorations */
.single-product .cfvsw-swatches-option .cfvsw-swatch-selected-icon{display:none!important}
/* Tooltip removed — custom.js handles tooltips via jQuery .hover() */
/* OOS swatches: hide OOS sizes, but keep OOS colors visible (grayed) */
[swatches-attr*="size"] .cfvsw-swatches-option.tw-oos{display:none!important}
[swatches-attr="attribute_pa_color"] .cfvsw-swatches-option.tw-oos{display:inline-flex!important;opacity:0.35!important;pointer-events:auto!important;text-decoration:line-through}
.single-product .cfvsw-swatches-option.cfvsw-swatches-out-of-stock{opacity:1!important;pointer-events:auto!important;cursor:pointer!important;filter:none!important}
.single-product .cfvsw-swatches-option.cfvsw-swatches-blur{opacity:1!important;pointer-events:auto!important;cursor:pointer!important;filter:none!important}

/* [4] Size label left, Size Chart link right */
label[for="pa_size"]{display:flex!important;flex-direction:row!important;align-items:center!important;width:100%!important;gap:15px!important}
label[for="pa_size"] a#size-chart,label[for="pa_size"] .md-size-chart-btn{font-weight:400!important;white-space:nowrap!important;margin-left:auto!important;text-decoration:underline!important;text-decoration-color:#d0d0d0!important;text-underline-offset:3px!important;cursor:pointer!important;order:2!important}
label[for="pa_size"] a#size-chart:hover,label[for="pa_size"] .md-size-chart-btn:hover{text-decoration-color:#1473E6!important;color:#1473E6!important}

/* [10] Algolia empty state */
#tw-relatedProducts .ais-RelatedProducts--empty{display:none!important}
.tw-sp-wrap .loader{display:none!important}

/* TABLET */
@media screen and (min-width:768px) and (max-width:1024px){
.single-product .lSSlideWrapper{max-height:60vh!important}
.single-product .woocommerce-product-gallery ul#image-gallery li,.single-product .woocommerce-product-gallery ul#image-gallery li img{max-height:60vh!important}
.single-product div.fifu-woo-gallery ul.lSPager.lSGallery{max-height:60vh!important}
.woocommerce div.product div.images.woocommerce-product-gallery>.flex-viewport{max-height:60vh!important}
.single-product .ast-woocommerce-container div.product div.summary{width:45%!important}
}

/* MOBILE */
@media screen and (max-width:767px){
.single-product .lSSlideWrapper{max-height:55vh!important;margin-left:0!important}
.single-product .woocommerce-product-gallery ul#image-gallery li,.single-product .woocommerce-product-gallery ul#image-gallery li img{max-height:55vh!important}
.single-product div.fifu-woo-gallery ul.lSPager.lSGallery{max-height:none!important;height:auto!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;display:flex!important;flex-direction:row!important;gap:6px!important;padding-top:10px!important;scrollbar-width:none!important;-ms-overflow-style:none!important}
.single-product div.fifu-woo-gallery ul.lSPager.lSGallery::-webkit-scrollbar{display:none!important}
.single-product div.fifu-woo-gallery ul.lSPager.lSGallery li{flex:0 0 auto!important}
.single-product .ast-woocommerce-container div.product div.summary{width:100%!important}
.single-product .woocommerce-product-gallery.woocommerce-product-gallery--with-images{position:relative!important;top:auto!important}
.single-product .woocommerce-breadcrumb,.single-product .ast-breadcrumbs-wrapper{font-size:12px!important;padding-left:10px!important}
label[for="pa_size"] a#size-chart,label[for="pa_size"] .md-size-chart-btn{padding:8px 4px!important;min-height:44px!important;display:inline-flex!important;align-items:center!important}
.single-product .cfvsw-swatches-container{grid-template-columns:repeat(3,1fr)!important}
.single-product button.single_add_to_cart_button.button{min-height:50px!important;padding:15px 20px!important}
}

/* SMALL MOBILE */
@media screen and (max-width:480px){
.single-product .lSSlideWrapper{max-height:50vh!important}
.single-product .woocommerce-product-gallery ul#image-gallery li,.single-product .woocommerce-product-gallery ul#image-gallery li img{max-height:50vh!important}
.single-product .product_title.entry-title.p-short-title{font-size:18px!important;line-height:1.3!important;word-break:break-word!important}
.single-product .product-prices{flex-wrap:wrap!important}
.single-product .product-prices span.regular_price{margin-left:0!important;margin-top:4px!important}
}

/* [CLS] Gallery slot reserve (2026-07-05, Option 1) - reserve the MAIN-IMAGE box from first
   paint so the collapsed-scaffold -> full-image swap is height-neutral, WITHOUT clipping the
   State-B lightSlider thumbnail rail. The :not(:has(.lSSlideOuter)) guard caps the gallery
   column only BEFORE lightSlider builds its outer (pre-init + the plain-img State-A end);
   once the slider inits (State B) the cap releases so the .lSPager rail flows below unclipped.
   Mobile only; desktop side-column untouched. width:100% gives aspect-ratio a definite width
   so height reserves BEFORE the image loads. Validated cold PSI mobile median-3: single 0.031,
   4-var 0.046, image-rich 0 (from 0.316); State-B thumbnail rail unclipped; desktop 0.01. */
@media (max-width:921px){
#ast-sticky-row-summary > .fifu-slider:not(:has(.lSSlideOuter)),
#ast-sticky-row-summary > img.fifu{aspect-ratio:1716/2000!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important;object-fit:contain!important}
}
/* [SWIPE-GALLERY 2026-08-07] <=767 pre-init reservation must EQUAL the post-init box
   (tw-pdp-mobile-gallery fixes the container at 434px = 400 slide window + 34px dot
   row). The aspect-ratio reservation above computes ~358px at 360w, so the title/price
   painted under the image and were pushed 76px at slider init (frame-recorder proven,
   Jacob device report). Same 1-1-0 specificity, later source wins. Tablets 768-921 keep
   the validated aspect behavior; the img.fifu JS-down fallback is untouched. */
@media (max-width:767px){
/* v1.2: dots are a server-rendered SIBLING div (34px, parse-time, multi-image only),
   so the slider box is 400px for every product, pre-init == post-init. */
#ast-sticky-row-summary > .fifu-slider:not(:has(.lSSlideOuter)){aspect-ratio:auto!important;height:400px!important;overflow:hidden!important}
}

/* [STATE-A DESKTOP 2026-07-11] FIFU teardown can leave a bare img.fifu in the gallery slot when
   lightSlider init loses the cold-load race; without the .woocommerce-product-gallery column anchor
   the image goes full-width and the summary wraps below (stacked first-load PDP). Keep the
   gallery-column geometry (60%, measured vs #ast-sticky-row-summary flex row) for the bare-img
   state; State B (slider built) is untouched. */
@media (min-width:922px){
#ast-sticky-row-summary > img.fifu{width:60%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
}

/* IE11/old Safari fallback */
@supports not (object-fit:contain){
.single-product .woocommerce-product-gallery ul#image-gallery li img{max-width:100%!important;height:auto!important}
}

/* Hide "Clear" link on variations */
.single-product .reset_variations,.single-product a.reset_variations{display:none!important}

/* Remove whitespace around product area */
.single-product .ast-woocommerce-container{max-width:100%!important;padding-left:20px!important;padding-right:20px!important}
.single-product .woocommerce-product-gallery{padding-left:0!important;margin-left:0!important}
.single-product div.summary.entry-summary{padding-right:0!important}

/* Description: left align, no odd wrapping */
.single-product .woocommerce-product-details__short-description,.single-product .ast-woocommerce-accordion .ast-accordion-content,.single-product .woocommerce-Tabs-panel,.single-product .woocommerce-Tabs-panel p{text-align:left!important;word-wrap:break-word!important;overflow-wrap:break-word!important;hyphens:auto!important}

/* Wishlist heart: ALWAYS inline with Add to Cart on desktop */
/* The heart .tinv-wraper is INSIDE .single_variation_wrap but OUTSIDE .woocommerce-variation-add-to-cart */
.single-product .single_variation_wrap{display:flex!important;flex-wrap:wrap!important;align-items:center!important}
.single-product .single_variation_wrap>.woocommerce-variation.single_variation{width:100%!important;flex:0 0 100%!important}
.single-product .single_variation_wrap>.reset_variations_alert{width:100%!important;flex:0 0 100%!important}
.single-product .single_variation_wrap>.woocommerce-variation-add-to-cart{flex:1 1 0%!important;display:flex!important;align-items:center!important;gap:10px!important;width:auto!important;max-width:none!important}
.single-product .single_variation_wrap>.tinv-wraper{flex:0 0 60px!important;margin-left:10px!important;margin-top:0!important;align-self:center!important}
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button{flex:1 1 auto!important;min-width:0!important}
.single-product .quantity.buttons_added{flex:0 0 auto!important}

/* Size chart modal: match Shopping Cart drawer styling */
.scfw-size-chart-modal.md-size-chart-show,.md-size-chart-modal-main.md-size-chart-show{display:block!important;visibility:visible!important;opacity:1!important;z-index:99999!important;position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:rgba(0,0,0,0.5)!important;overflow-y:auto!important}
.scfw-size-chart-modal.md-size-chart-show .md-size-chart-popup,.md-size-chart-modal-main.md-size-chart-show .md-size-chart-popup{background:#fff!important;max-width:800px!important;margin:40px auto!important;padding:0!important;position:relative!important;border-radius:0!important;overflow:hidden!important}
/* Size chart header: black bar matching cart drawer */
.md-size-chart-close{background:#1a1a1a!important;color:#fff!important;padding:12px 20px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
.md-size-chart-close .md-modal-title{color:#fff!important;font-size:18px!important;font-weight:600!important;font-family:Poppins,sans-serif!important;margin:0!important}
.scfw-size-chart-modal .remodal-close,.md-size-chart-modal-main .remodal-close{position:relative!important;top:auto!important;right:auto!important;font-size:0!important;cursor:pointer!important;z-index:100000!important;color:#fff!important;border:none!important;padding:4px!important;line-height:1!important;transition:all 0.2s!important}
.md-size-chart-close .remodal-close{width:32px!important;height:32px!important;background:transparent!important;border-radius:0!important;border:none!important;opacity:1!important;font-size:0!important;color:#fff!important;padding:0!important;overflow:visible!important;display:flex!important;align-items:center!important;justify-content:center!important}
.md-size-chart-close .remodal-close:hover{opacity:0.7!important}
.scfw-size-chart-modal .remodal-close:hover,.md-size-chart-modal-main .remodal-close:hover{opacity:1!important}
.scfw-size-chart-modal .remodal-close:hover svg,.md-size-chart-modal-main .remodal-close:hover svg{fill:#4da3ff!important}
.scfw-size-chart-modal .remodal-close::before,.md-size-chart-modal-main .remodal-close::before{content:"\00D7"!important;font-size:28px!important;font-weight:300!important;color:#fff!important;font-family:Arial,sans-serif!important;position:static!important;display:block!important;width:32px!important;height:32px!important;line-height:30px!important;text-align:center!important;border:none!important;border-radius:0!important;padding:0!important;background:transparent!important}
.scfw-size-chart-modal .remodal-close::after,.md-size-chart-modal-main .remodal-close::after{content:none!important}
/* Size chart body padding */
.md-size-chart-modal-body{padding:20px!important;overflow-y:auto!important;max-height:90vh!important;height:auto!important}
.scfw_size-chart-details-tab{padding:0 20px!important}
/* Size chart tabs styling */
.scfw_chart-tab{padding:8px 16px!important;cursor:pointer!important;font-size:14px!important;border-bottom:2px solid transparent!important}
.scfw_chart-tab.active-tab{border-bottom-color:#000!important;font-weight:600!important}
.md-size-chart-overlay{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:99998!important}

/* ===== PDP GALLERY BUILD (2026-07-04): rail scroll + lightbox header + add-to-cart check ===== */
/* BUG2: thumbnail rail overflow becomes scrollable; thin visible scrollbar, this rail only */
.single-product div.fifu-woo-gallery .lSSlideOuter.vertical ul.lSPager.lSGallery{top:0!important;bottom:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;scrollbar-width:thin!important;transform:none!important;transition:none!important}
.lSSlideOuter.vertical ul.lSPager.lSGallery::-webkit-scrollbar{width:6px!important;display:block!important}
.lSSlideOuter.vertical ul.lSPager.lSGallery::-webkit-scrollbar-thumb{background:#c9c9c9!important;border-radius:3px!important}
.lSSlideOuter.vertical ul.lSPager.lSGallery::-webkit-scrollbar-track{background:transparent!important}
/* rail collapse state: non-primary colors show one thumbnail only */
.fifu-slider.tw-rail-collapsed ul.lSPager > li:nth-child(n+2){display:none!important}
/* P3 (ships with FIX1): pager thumbnails respect portrait aspect - no square crop */
.single-product div.fifu-woo-gallery ul.lSPager.lSGallery li img{object-fit:contain!important;object-position:center!important;width:auto!important;max-width:100%!important;margin:0 auto!important;display:block!important}
/* BUG3 + header-unify (2026-07-04): lightbox header mirrors the size chart modal
   (.md-modal-title pattern): ONE dark bar, real product title left (lg-sub-html
   pulled up from the bottom caption strip), counter + X grouped right in the bar.
   CSS only, no JS. */
.lg-outer .lg-toolbar,.lg-container .lg-toolbar{background:#1a1a1a!important;height:47px!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;padding:0 20px!important;opacity:1!important}
.lg-toolbar .lg-counter{color:#fff!important;font-family:Poppins,sans-serif!important;font-size:14px!important;margin-right:16px!important;padding-top:0!important;height:auto!important;line-height:47px!important}
.lg-toolbar .lg-close{order:3!important;position:static!important;width:32px!important;height:32px!important;font-size:0!important;color:#fff!important;opacity:1!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;padding:0!important}
.lg-toolbar .lg-close::before{content:"\00D7"!important;font-size:28px!important;font-weight:300!important;color:#fff!important;font-family:Arial,sans-serif!important;line-height:30px!important}
.lg-toolbar .lg-close::after{content:none!important}
.lg-toolbar .lg-close:hover{opacity:0.7!important}
.lg-container .lg-sub-html,.lg-outer .lg-sub-html{position:fixed!important;top:calc(60px - 100vh)!important;bottom:auto!important;left:20px!important;right:auto!important;width:auto!important;max-width:calc(100vw - 180px)!important;height:47px!important;line-height:47px!important;padding:0!important;background:transparent!important;color:#fff!important;font-family:Poppins,sans-serif!important;font-size:18px!important;font-weight:600!important;text-align:left!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;z-index:1090!important;pointer-events:none!important}
.lg-outer.lg-components-open .lg-components{transform:translateY(0)!important;transition:none!important;z-index:1100!important}
/* BUG4: add-to-cart spinner + success checkmark. Real flow = custom.js click handler
   appends i.fas.fa-sync.fa-spin, fragment refresh flips it to fa-check. Font Awesome
   CSS is carved from PDPs for perf, so the glyphs come from these self-contained
   rules instead - no icon font download. */
.single_add_to_cart_button i.fas{font-style:normal;display:inline-block;margin-left:8px;line-height:1}
.single_add_to_cart_button i.fa-check::before{content:"\2713";font-weight:700}
.single_add_to_cart_button i.fa-spin::before{content:"\27F3";font-weight:700}
.single_add_to_cart_button i.fa-spin{animation:tw-atc-spin 1s linear infinite}
@keyframes tw-atc-spin{to{transform:rotate(360deg)}}

/* Product features/attributes list: left aligned */
.single-product .woocommerce-product-attributes,.single-product .product_meta,.single-product .product-features{text-align:left!important}

/* [PSI] Footer touch targets: min 48px height for mobile tap */
/* 2026-07-04: footer tap targets BOTH worlds - desktop keeps the tight shop-template
   spacing Jacob approved; mobile (<=680px) keeps 48px accessible targets for the
   Lighthouse tap-target audit. */
@media (max-width:680px){footer .menu-link,footer a.menu-link,footer .site-footer a,.site-footer .ast-footer-html-inner a,.colophon a{min-height:28px!important;display:inline-flex!important;align-items:center!important;padding:4px!important}}

/* [PSI] Contrast: ensure text meets WCAG AA 4.5:1 */
.single-product .acs-in-stock-label{color:#333!important}
.single-product .woocommerce-breadcrumb a{color:#555!important}
.single-product .product-brand a{color:#000!important}

/* [PSI] Hidden elements - handled via JS aria attributes */

/* tw-nav-heading-align */
.main-header-menu .astra-megamenu > .menu-item-heading > .menu-link{padding-left:12px}.astra-megamenu a.nav-img-btn{background:var(--ast-global-color-0);font-weight:500}.astra-megamenu a.nav-img-btn:hover{background:var(--ast-global-color-1);color:#fff;box-shadow:0 0 4px #000}.ast-site-header-cart .ast-addon-cart-wrap{vertical-align:middle}.ast-primary-header-bar{transition-property:background-color,box-shadow!important}button:hover,.button:hover,input[type=submit]:hover,input[type=button]:hover,[role=button]:hover{text-decoration:underline!important;text-underline-offset:2px}button.ast-menu-toggle:hover,button.menu-toggle-close:hover,.tinvwl_add_to_wishlist_button:hover,[class*=swiper-button]:hover,.modal__close:hover,button.close:hover,.lg-icon:hover,.slick-arrow:hover,.acs-slide-wrap button:hover,.filter_close_bar:hover,.qty-btn:hover,button.plus:hover,button.minus:hover{text-decoration:none!important}#wcmca_save_address_button_billing:hover,#wcmca_save_address_button_shipping:hover,.cr-ajax-reviews-review-form a.cr-review-form-continue:hover,.single_add_to_cart_button:hover,.uagb-buttons-repeater:hover,.acfw-redeem-store-credit-form-field .acfw_coupon_btn_wrap button:hover,.acs-add-to-cart:hover,.acs-btn-container a:hover,.cr-review-form-continue:hover,.custom_social_icons .nsl-button.nsl-button-icon:hover,.error-404 .tw-404-links a:hover,.return-to-shop .button:hover,.shipping-calculator-form button.button:hover,.single-product .cwgstock_button:hover,.single-product .variations_form.cart .cwg_popup_submit:hover,.tinv-wishlist button[name="tinvwl-add-to-cart"]:hover,.tinvwl-table-manage-list button:hover,.tw-acs-main .tw-not-found-wrap a.tw-empty-btn:hover,.tw-ast-o-btn:hover,.tw-checkout-guest-band a.tw-cgb-signin:hover,.tw-continue-shopping a.button:hover,.tw-empty-btn:hover,.tw-hero-cta:hover,.wc-block-checkout button.wc-block-components-checkout-place-order-button:hover,.wc-block-checkout button.wc-block-components-totals-coupon__button:hover,.woocommerce button.button.woocommerce-form-login__submit:hover,.woocommerce-account.woocommerce-page .woocommerce-MyAccount-content .button:hover,.woocommerce-account.woocommerce-page .woocommerce-page #payment #place_order:hover,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,.woocommerce-js .woocommerce-ResetPassword .woocommerce-Button:hover,.wpfda-submit button:hover,.xoo-el-form-container button.button.btn.xoo-el-action-btn:hover,a.button.flexible-shipping-free-shipping-button:hover,a.nav-img-btn:hover,a.tw-btn-link:hover,a.uagb-buttons-repeater.wp-block-button__link:hover,button.cr-ajax-reviews-add-review:hover,button.tw-ab-load-more:hover,button.wc-block-components-checkout-place-order-button.contained:hover,button.wc-block-components-totals-coupon__button.contained:hover,button.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit:hover,html #astra-mobile-cart-drawer .tw-continue-shopping a.button:hover,.woocommerce-account a.button.wc-forward:hover{text-decoration:underline!important;text-underline-offset:2px}.tw-brand-cat-links{margin-top:18px;display:block}.tw-brand-cat-links .twbcl-label{font-family:Poppins,"Poppins-fb",Arial,sans-serif;font-size:15px;font-weight:600;margin:0 0 10px}.tw-brand-cat-links ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.tw-brand-cat-links li{margin:0}.tw-brand-cat-links a{display:inline-block;padding:8px 18px;border:1px solid #d7d7d7;border-radius:30px;background:#fff;color:#000;font-family:Poppins,"Poppins-fb",Arial,sans-serif;font-size:12px;line-height:1.5;text-decoration:none}.tw-brand-cat-links a:hover{border-color:#000;text-decoration:underline;text-underline-offset:2px}.tw-webcopy-body.tw-content-block h2{font-family:Poppins,"Poppins-fb",Arial,sans-serif;font-size:24px;line-height:1.3;font-weight:600;color:#000;margin:0 0 12px}@media (max-width:768px){.tw-webcopy-body.tw-content-block h2{font-size:20px}}.tw-page-description p a,.tw-page-description li a,.tw-content-block p a,.tw-content-block li a,.tw-webcopy-body p a,.tw-webcopy-body li a,.single-post.ast-single-post .entry-content p a:not(.button),.single-post.ast-single-post .entry-content li a:not(.button),.ast-single-post .entry-content .tw-content-block p a,.ast-single-post .entry-content .tw-content-block li a,.ast-single-post .entry-content .tw-webcopy-body p a,.ast-single-post .entry-content .tw-webcopy-body li a{text-decoration:none;font-weight:500;color:inherit}.tw-page-description p a:hover,.tw-content-block p a:hover,.tw-webcopy-body p a:hover,.single-post.ast-single-post .entry-content p a:not(.button):hover,.ast-single-post .entry-content .tw-content-block p a:hover,.ast-single-post .entry-content .tw-content-block li a:hover,.ast-single-post .entry-content .tw-webcopy-body p a:hover,.ast-single-post .entry-content .tw-webcopy-body li a:hover{text-decoration:underline;text-underline-offset:2px}.tw-page-description .tw-brand-cat-links a,.tw-content-block .tw-brand-cat-links a{text-decoration:none}.ast-single-post .entry-content .tw-acs-products-list-wrapper a:not(.button),.ast-single-post .entry-content .tw-ais-shop-page-wrap a:not(.button){text-decoration:none}.ast-single-post .entry-content .wp-block-uagb-container:has(.tw-all-brands-wrapper) p a:not(.button){text-decoration:none;font-weight:500;color:inherit}.ast-single-post .entry-content .wp-block-uagb-container:has(.tw-all-brands-wrapper) p a:not(.button):hover{text-decoration:underline;text-underline-offset:2px}.ast-single-post .entry-content .tw-ab-letterbar a,.ast-single-post .entry-content .tw-ab-logos a,.ast-single-post .entry-content .tw-all-brands-wrapper .tw-brand-list a{text-decoration:none}.ast-single-post .entry-content .tw-ab-letterbar a:hover{text-decoration:underline;text-underline-offset:2px}.tw-brand-price-line{font-family:Poppins,"Poppins-fb",Arial,sans-serif;font-size:14px;line-height:1.5;margin:0 0 10px;color:#000}.tw-brand-price-line strong{font-weight:600}.tw-brand-price-line .tw-bpl-sep{color:#8a8a8a;margin:0 4px}.tw-brand-rail{margin-top:14px}.acs-widget-item li.ais-RefinementList-item--selected > a{font-weight:600}.acs-widget-item li.ais-RefinementList-item--selected > a:before{content:"\2713\00a0"}.ast-single-post .nav-links{display:flex;justify-content:space-between;gap:12px}.ast-single-post .nav-links a.button{background:var(--ast-global-color-0,#000);color:#fff;border:0;border-radius:30px;font-family:Poppins,"Poppins-fb",Arial,sans-serif;font-size:13px;font-weight:500;letter-spacing:.03em;padding:12px 24px;text-decoration:none;display:inline-block}.ast-single-post .nav-links a.button:hover{background:var(--ast-global-color-1);color:#fff;box-shadow:0 0 4px #000;text-decoration:underline;text-underline-offset:2px}.ast-single-post header.entry-header h1.entry-title,.ast-single-post h1.entry-title{font-size:40px;line-height:1.2}@media(max-width:767px){.ast-single-post header.entry-header h1.entry-title,.ast-single-post h1.entry-title{font-size:34px}}.ast-single-post .comment-form #submit{background:var(--ast-global-color-0,#000);color:#fff;border:0;border-radius:30px;font-family:Poppins,"Poppins-fb",Arial,sans-serif;font-size:13px;font-weight:500;letter-spacing:.03em;padding:12px 30px;cursor:pointer}.ast-single-post .comment-form #submit:hover{background:var(--ast-global-color-1);box-shadow:0 0 4px #000;text-decoration:underline;text-underline-offset:2px}.ast-single-post #comments .comment-form input[type=text],.ast-single-post #comments .comment-form input[type=email],.ast-single-post #comments .comment-form input[type=url],.ast-single-post #comments .comment-form textarea{border:1px solid #ccc;border-radius:4px;font-family:Poppins,"Poppins-fb",Arial,sans-serif;font-size:14px;color:#000;padding:10px 12px;background:#fff}.ast-single-post #comments .comment-form input[type=text]:focus,.ast-single-post #comments .comment-form input[type=email]:focus,.ast-single-post #comments .comment-form input[type=url]:focus,.ast-single-post #comments .comment-form textarea:focus{border-color:#1473E6;box-shadow:0 0 0 1px #1473E6;outline:none}.ast-single-post .comment-form p.form-submit{margin-top:18px}.ast-single-post h3.comment-reply-title,.ast-single-post h3.comments-title,.ast-single-post .comments-count-wrapper h3{font-size:18px;font-weight:600;font-family:Poppins,"Poppins-fb",Arial,sans-serif}.ast-post-social-sharing .ast-builder-social-element{border-radius:50%;width:35px;height:35px;padding:10px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;background:#000;margin:0 6px 0 0!important}.ast-post-social-sharing .ast-facebook{background:#557dbc}.ast-post-social-sharing .ast-instagram{background:linear-gradient(45deg,#f09433 0,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%)}.ast-post-social-sharing .ast-behance{background:#e60023}.ast-post-social-sharing svg,.ast-post-social-sharing svg path{fill:#fff}.ast-post-social-sharing svg{width:15px;height:15px}.ast-post-social-sharing .ast-builder-social-element:hover{opacity:.75;text-decoration:none!important}.tw-blog-picks{margin:28px 0 8px;font-family:Poppins,"Poppins-fb",Arial,sans-serif}.tw-blog-picks .twl-label{font-size:18px;font-weight:600;color:#000;margin:0 0 12px}.tw-blp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media (max-width:600px){.tw-blp-grid{grid-template-columns:repeat(2,1fr)}}.tw-blp-grid .tw-blp-card{display:block;position:relative;min-width:0;margin:0;padding:0;width:auto;float:none}.tw-blp-card .tw-blp-link{display:block;text-decoration:none;color:#000;min-width:0}.tw-blp-card .tw-product-image{display:block}.tw-blp-card img{width:100%;height:auto;aspect-ratio:257/300;object-fit:cover;display:block}.tw-blp-brand{display:block;font-size:13px;font-weight:600;color:#1473E6;text-transform:uppercase;letter-spacing:2px;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-blp-name{display:-webkit-box;font-size:14px;font-weight:600;color:#000;line-height:1.3;margin:2px 0 0;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tw-blp-price{display:block;margin-top:4px;white-space:nowrap}.tw-blp-off{color:#B20537;font-size:18px;font-weight:600;margin-right:5px}.tw-blp-sale{color:#000;font-size:18px;font-weight:600}.tw-blp-sale sup{font-size:11px;font-weight:400}.tw-blp-reg{color:#707070;font-size:14px;font-weight:400;text-decoration:line-through;margin-left:5px}.ast-single-post .entry-content{color:var(--ast-global-color-0,#000)}.single-post.ast-single-post .entry-content a:not(.button){text-decoration:none}.single-post.ast-single-post .entry-content a:not(.button):hover{text-decoration:underline;text-underline-offset:2px}.single-post.ast-single-post .entry-content a.tw-blp-card:hover{text-decoration:none}aside.widget_block .uagb-forms-main-form{display:block}aside.widget_block .uagb-forms-main-submit-button-wrap{display:block;width:100%}aside.widget_block .wp-block-uagb-forms input[type=email],aside.widget_block .wp-block-uagb-forms input[type=text]{width:100%;border:1px solid #ccc;border-radius:4px;font-family:Poppins,"Poppins-fb",Arial,sans-serif;font-size:14px;padding:10px 12px;background:#fff;color:#000;margin:0 0 10px}aside.widget_block .wp-block-uagb-forms input[type=email]:focus,aside.widget_block .wp-block-uagb-forms input[type=text]:focus{border-color:#1473E6;box-shadow:0 0 0 1px #1473E6;outline:none}aside.widget_block .uagb-forms-main-form .uagb-forms-main-submit-button,aside.widget_block .uagb-forms-main-form button{display:block;width:100%;background:var(--ast-global-color-0,#000);color:#fff;border:0!important;border-radius:30px!important;font-family:Poppins,"Poppins-fb",Arial,sans-serif;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.03em;padding:12px 0!important;text-align:center;cursor:pointer;width:100%!important}aside.widget_block .uagb-forms-main-form .uagb-forms-main-submit-button:hover,aside.widget_block .uagb-forms-main-form button:hover{background:var(--ast-global-color-1);box-shadow:0 0 4px #000}.ast-desktop .astra-megamenu-li.menu-item-1708810 .astra-mega-menu-width-custom:before{content:"600";opacity:0}.main-header-menu .astra-megamenu > .menu-item-heading > .menu-link{white-space:nowrap}.main-header-menu .astra-megamenu > .menu-item-heading > .menu-link:not([href]),.main-header-menu .astra-megamenu > .menu-item-heading > .menu-link:not([href]):hover{text-decoration:none!important;color:var(--ast-global-color-0,#000);cursor:default}.tw-content-block{background-color:rgba(224,214,213,.48);padding:20px;max-width:1330px;margin:24px auto 0}.tw-content-block h2{font-size:22px;line-height:1.2;font-weight:700;color:#000;margin:0 0 14px}.tw-content-block h3{font-size:16px;line-height:1.3;font-weight:600;color:#000;margin:18px 0 8px}.tw-content-block p{font-size:16px;line-height:1.7;font-weight:400;color:#000;margin:0 0 14px}.tw-content-block ul,.tw-content-block ol{font-size:16px;line-height:1.7;color:#000;margin:0 0 14px 20px}.tw-content-block .tw-webcopy-links ul{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}.tw-content-block .tw-webcopy-links .twl-label{font-size:16px;font-weight:600;margin:18px 0 8px}.tw-content-block .tw-webcopy-links a{font-size:15px;font-weight:500;color:#000;text-decoration:none}.tw-content-block .tw-webcopy-links a:hover,.tw-content-block .tw-webcopy-links a:focus{text-decoration:underline}@media (max-width:490px){.tw-content-block{padding:15px}.tw-content-block p,.tw-content-block ul,.tw-content-block ol,.tw-content-block .tw-webcopy-links a{font-size:14px}.tw-content-block h2{font-size:20px}}.single-product .product-prices{display:flex;flex-direction:column;align-items:center;width:max-content;max-width:100%;row-gap:2px}.single-product .product-prices .p-o-s{display:inline-flex;align-items:baseline}.single-product .product-prices .tw-retail{display:block;font-size:13px;font-weight:400;line-height:1.3;color:#707070;letter-spacing:0;text-align:center}.single-product .product-prices .tw-retail .tw-anchor-lbl{display:inline;font-size:inherit;font-weight:400;color:inherit;margin:0;letter-spacing:0}.single-product .product-prices .tw-retail span.regular_price{display:inline;font-size:inherit;font-weight:400;color:inherit;margin:0;text-decoration:line-through}.tw-size-exit{margin:6px 0 14px;font-size:13px;color:#707070;line-height:1.5}.tw-size-exit p{margin:0 0 8px}.tw-size-exit a.tw-size-exit__btn{display:inline-block;padding:8px 18px;border:1px solid #d7d7d7;border-radius:30px;background:#fff;color:#000;font-family:Poppins,"Poppins-fb",Arial,sans-serif;font-size:12px;line-height:1.5;text-decoration:none}.tw-size-exit a.tw-size-exit__btn:hover{border-color:#000;text-decoration:underline;text-underline-offset:2px}
/* tw-cart-drawer-css */

/* Free shipping banner - cleared from absolute header (~60px) plus 15px buffer */
.wc-free-shipping-info{display:block;margin:12px 0;padding:12px 15px;background:#e8f1fc;color:#1473e6;font-size:14px;font-weight:600;text-align:center;border-radius:4px;line-height:1.4}
.woocommerce-info:empty{display:none!important}
/* R51b drawer thumb guard 2026-08-30: the Astra drawer stylesheet rule (ul.product_list_widget li img at width 100 percent) blows fragment-rendered rows to full drawer width */
html .woocommerce-js .astra-cart-drawer ul.product_list_widget li img{width:56px;height:auto;float:left;margin-right:12px}
/* [A11Y 2026-07-05] WCAG contrast fixes */
.perc-off{color:var(--tw-sale,#B20537)!important}
.cky-btn-accept{color:#fff!important}
.astra-cart-drawer .wc-free-shipping-info{display:flex!important;align-items:center!important;justify-content:center!important;margin:25px 20px 0 20px!important;padding:12px 15px!important;background:#e8f1fc!important;color:#1473e6!important;font-size:13px!important;font-weight:600!important;text-align:center!important;border-radius:4px!important;box-sizing:border-box!important;position:static!important;line-height:1.4!important;min-height:44px!important}
/* Per-item remove (X) button - circle border to match drawer close button */
.astra-cart-drawer .woocommerce-mini-cart-item a.remove,.astra-cart-drawer .woocommerce-mini-cart-item a.remove_from_cart_button{border:1px solid #000!important;border-radius:50%!important;width:32px!important;height:32px!important;display:flex!important;justify-content:center!important;align-items:center!important;padding:0!important;color:#000!important;background:transparent!important;font-size:0!important;line-height:1!important;text-decoration:none!important;flex-shrink:0!important;box-sizing:border-box!important}
.astra-cart-drawer .woocommerce-mini-cart-item a.remove:hover{background:#f5f5f5!important;color:#000!important}
.astra-cart-drawer .woocommerce-mini-cart-item a.remove svg,.astra-cart-drawer .woocommerce-mini-cart-item a.remove_from_cart_button svg{width:16px!important;height:16px!important;fill:currentColor!important;display:block!important}
.astra-cart-drawer .woocommerce-mini-cart-item a.remove span{display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}
/* Qty input value horizontally centered */
/* Hide wishlist UI for logged-out users — header heart + per-item heart in drawer */
body:not(.logged-in) .tw-wishlist-heart-icon,body:not(.logged-in) span.tw-wishlist-heart-icon,body:not(.logged-in) a.wishlist_products_counter,body:not(.logged-in) .astra-cart-drawer .tw-wishlist-btn,body:not(.logged-in) .astra-cart-drawer .tinv-wraper,body:not(.logged-in) .astra-cart-drawer .tinvwl-after-add-to-cart{display:none!important}
/* Cart drawer wishlist heart - shrink wrapper to corner so it does not overlap X or steal clicks */
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-img-wrap{position:relative!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-img-wrap .tw-wishlist-btn{position:absolute!important;top:4px!important;right:4px!important;width:22px!important;height:22px!important;min-height:0!important;max-height:22px!important;z-index:2!important;margin:0!important;padding:0!important;overflow:visible!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-img-wrap .tw-wishlist-btn .tinvwl_add_to_wishlist_button{position:relative!important;top:auto!important;right:auto!important;margin:0!important;width:22px!important;height:22px!important;display:inline-block!important;line-height:22px!important;text-align:center!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-text-wrap{display:grid!important;grid-template-columns:minmax(0,1fr) 110px!important;column-gap:15px!important;row-gap:2px!important;align-items:start!important;margin-left:20px!important;margin-right:0!important;padding-right:0!important;position:static!important;flex:1 1 auto!important;min-width:0!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart .mini_cart_item{padding-right:0!important;margin-right:0!important}
.astra-cart-drawer .astra-cart-drawer-content ul.tw-min-cart,.astra-cart-drawer .astra-cart-drawer-content ul.woocommerce-mini-cart{padding-right:0!important;margin-right:0!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-i-t-wrap{padding-right:20px!important;margin-right:0!important;width:100%!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-text-wrap .tw-cart-product-details{display:contents!important;grid-column:1!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-text-wrap .tw-cart-prices{display:contents!important;grid-column:2!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-text-wrap .tw-cart-brand-name{grid-column:1!important;grid-row:1!important;align-self:start!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-text-wrap .tw-cart-product-name{grid-column:1!important;grid-row:2!important;align-self:start!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-text-wrap .tw-cart-p-attributes{grid-column:1!important;grid-row:3!important;align-self:start!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-text-wrap .ast-mini-cart-price-wrap{grid-column:2!important;grid-row:1!important;width:100%!important;min-width:100%!important;max-width:none!important;box-sizing:border-box!important;text-align:right!important;position:static!important;top:auto!important;right:auto!important;color:#1473e6!important;font-weight:700!important;font-size:16px!important;display:block!important;white-space:nowrap!important;align-self:stretch!important;justify-self:stretch!important;float:none!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-text-wrap .reg-price{grid-column:2!important;grid-row:2!important;width:100%!important;text-align:right!important;position:static!important;top:auto!important;right:auto!important;color:#707070!important;font-size:14px!important;font-weight:normal!important;text-decoration:line-through!important;display:block!important;white-space:nowrap!important;align-self:start!important;justify-self:stretch!important}

    /* Drawer close X — keep at current size */
    .astra-cart-drawer .astra-cart-drawer-close{
        transition:all 0.15s ease !important;
        cursor:pointer !important;
    }
    .astra-cart-drawer .astra-cart-drawer-close:hover{
        border-color:#1473e6 !important;
        color:#1473e6 !important;
    }
    .astra-cart-drawer .astra-cart-drawer-close:hover svg{
        fill:#1473e6 !important;
    }
    /* Per-item X buttons — sized to match wishlist heart (~20x20) */
    .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .remove,
    .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .remove_from_cart_button,
    .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item a.remove,
    .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item a.remove_from_cart_button{
        width:20px !important;
        height:20px !important;
        min-width:20px !important;
        max-width:20px !important;
        max-height:20px !important;
        padding:0 !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        border:1px solid #000 !important;
        border-radius:50% !important;
        background:transparent !important;
        cursor:pointer !important;
        transition:all 0.15s ease !important;
        line-height:1 !important;
        font-size:0 !important;
        box-sizing:border-box !important;
    }
    .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .remove svg,
    .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .remove_from_cart_button svg{
        width:10px !important;
        height:10px !important;
        fill:currentColor !important;
        transition:fill 0.15s ease !important;
    }
    .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .remove:hover,
    .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .remove_from_cart_button:hover,
    .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item a.remove:hover,
    .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item a.remove_from_cart_button:hover{
        border-color:#1473e6 !important;
        color:#1473e6 !important;
    }
    .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .remove:hover svg,
    .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .remove_from_cart_button:hover svg{
        fill:#1473e6 !important;
    }

/* === TW COMBINED CART-DRAWER FIX 2026-06-06 (FIX1 line-breaks, FIX2 View Cart text, FIX3 qty symmetry) — drawer-scoped === */
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-text-wrap .tw-cart-brand-name{display:block!important;width:100%!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-text-wrap .tw-cart-product-name{display:-webkit-box!important;-webkit-line-clamp:1!important;-webkit-box-orient:vertical!important;overflow:hidden!important;width:100%!important;max-width:100%!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-text-wrap .tw-cart-p-attributes{display:block!important;width:100%!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item .mini-cart-text-wrap .tw-cart-p-attributes .tw-cart-att-item{display:block!important;width:100%!important}
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__buttons .button:not(.checkout):not(.ast-continue-shopping){background:#000!important;color:#fff!important;border:2px solid #000!important}
.astra-cart-drawer .astra-cart-drawer-content .ast-qty-placeholder.plus,.astra-cart-drawer .astra-cart-drawer-content .ast-qty-placeholder.minus{box-sizing:border-box!important;width:32px!important;height:32px!important;min-width:32px!important;line-height:30px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;text-align:center!important}
.astra-cart-drawer .astra-cart-drawer-content .quantity input.qty{box-sizing:border-box!important;height:32px!important;text-align:center!important}



/* R80 (Jacob 2026-09-01): ONE painter for the remove X. The plain thin-stroke X
   (tw_header_icons_css v15 canon) re-declared LAST at the deep selector, so the
   legacy circle rules above can never surface on pages where the header-icons
   inline was stripped. This block rides the cart-fragment heal, so every
   add-to-cart converges stale pages too. */
html body #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove,html body #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove_from_cart_button,.astra-cart-drawer .woocommerce-mini-cart-item a.remove,.astra-cart-drawer .woocommerce-mini-cart-item a.remove_from_cart_button,.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item a.remove,.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item a.remove_from_cart_button{position:absolute!important;top:16px!important;right:0!important;left:auto!important;width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;max-height:20px!important;padding:0!important;border:none!important;border-radius:0!important;background-color:transparent!important;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'><path d='M6 6 26 26M26 6 6 26'/></svg>")!important;background-size:13px 13px!important;background-position:center!important;background-repeat:no-repeat!important;font-size:0!important;line-height:0!important;box-shadow:none!important}
html body #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove:hover,html body #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove_from_cart_button:hover,.astra-cart-drawer .woocommerce-mini-cart-item a.remove:hover,.astra-cart-drawer .woocommerce-mini-cart-item a.remove_from_cart_button:hover,.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item a.remove:hover,.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item a.remove_from_cart_button:hover{transform:scale(1.15)!important;border:none!important;background:transparent!important;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'><path d='M6 6 26 26M26 6 6 26'/></svg>")!important;background-size:13px 13px!important;background-position:center!important;background-repeat:no-repeat!important}
html body #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove span,.astra-cart-drawer .woocommerce-mini-cart-item a.remove span,.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart-item a.remove span{display:none!important}
html body #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove::before,html body #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove::after,html body #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove_from_cart_button::before,html body #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove_from_cart_button::after{content:none!important;display:none!important;border:none!important}
html body #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove,html body #astra-mobile-cart-drawer li.woocommerce-mini-cart-item a.remove_from_cart_button{opacity:1!important}
