/* Local source adaptation and wholesale component rules. */
/* Local layout adaptation over the recovered retail theme CSS. */
:root{--ink:#111;--muted:#666;--line:#e6e6e6;--soft:#f5f5f5;--footer:#e1f5e6;--focus:#b40c9b}
*{box-sizing:border-box}html{font-size:13px}body{margin:0;background:#fff;color:var(--ink);font-family:Poppins,Arial,Helvetica,sans-serif;font-size:13px;line-height:1.5}a{color:inherit}button,input,select{font:inherit}button,summary{cursor:pointer}img{max-width:100%}.container{max-width:1278px;margin:auto;padding:0 24px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-80px;z-index:100;background:#fff;padding:9px 14px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px}.preview-bar{padding:7px 14px;text-align:center;background:#f2f2f2;border-bottom:1px solid var(--line);color:#444;font-size:11px}.preview-bar span{padding:0 7px}.body{min-height:55vh}
.header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:112px;display:flex;align-items:center;gap:27px}.header-logo{flex:none;min-width:192px;text-decoration:none;color:#111;display:flex;flex-direction:column;align-items:center;line-height:1}.header-logo span{font-size:28px;letter-spacing:-.045em;font-weight:900}.header-logo small{font-size:12px;letter-spacing:.22em;font-weight:700;margin-top:3px}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:16px;flex:1;white-space:nowrap}.desktop-nav>a,.desktop-nav .nav-dropdown>summary{font-size:12px;font-weight:700;text-decoration:none;padding:12px 0;display:block}.desktop-nav>a:hover,.desktop-nav .nav-dropdown>summary:hover,.nav-dropdown-panel a:hover{color:var(--focus)}.nav-dropdown{position:relative}.nav-dropdown>summary{list-style:none}.nav-dropdown>summary::-webkit-details-marker{display:none}.nav-dropdown>summary:after{content:'⌄';margin-left:4px}.nav-dropdown-panel{position:absolute;top:100%;left:-12px;background:#fff;width:230px;padding:8px;border:1px solid var(--line);box-shadow:0 12px 25px #0002;z-index:30;white-space:normal}.nav-dropdown-panel a{display:block;padding:7px;text-decoration:none;font-size:12px}.header-search{flex:none;display:flex;width:160px;height:40px;background:#f3f3f3;border-radius:12px;overflow:hidden}.header-search input{background:transparent;border:0;outline:none;padding:0 12px;min-width:0;width:100%;font-size:12px}.header-search button{background:transparent;border:0;padding:0 11px;color:#111;font-size:28px;line-height:1}.mobile-menu{display:none}
.hero{margin:0 auto;text-align:center;padding:65px 25px 69px;background:#f5f5f5}.eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#555;margin:0 0 12px}.hero h1{font-size:clamp(31px,4vw,48px);line-height:1.14;max-width:800px;margin:0 auto 16px;letter-spacing:-.025em}.hero>p:not(.eyebrow){font-size:16px;color:#555;margin:0 auto 27px;max-width:550px}.button{display:inline-block;text-decoration:none;border:1px solid #111;border-radius:4px;padding:12px 25px;font-weight:700}.button--primary{background:#000;color:#fff}.button:hover{background:#333;color:#fff}.section{padding:60px 0 8px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2{font-size:29px;line-height:1.1;margin:0}.section-heading a{font-weight:700;text-decoration:none}.section-heading a:hover{text-decoration:underline}.axis-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.axis-tile{border:1px solid var(--line);padding:23px;min-height:225px}.axis-tile h3{font-size:17px;line-height:1.25;margin:0 0 17px}.axis-tile ul{list-style:none;margin:0;padding:0}.axis-tile li{border-top:1px solid #eee}.axis-tile li a{display:block;padding:6px 0;text-decoration:none;font-size:12px}.axis-tile li a:hover{text-decoration:underline}.brand-section{padding-bottom:75px}.brand-row{display:flex;gap:10px;flex-wrap:wrap}.brand-row a{border:1px solid var(--line);padding:11px 16px;text-decoration:none;font-weight:700}.brand-row a:hover{border-color:#333}
.breadcrumbs{padding:20px 0 17px}.breadcrumb-list{list-style:none;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap;color:#777;font-size:12px}.breadcrumb:not(:last-child):after{content:'›';margin-left:8px}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb.is-active{color:#222}.listing-page{padding:23px 0 75px}.page-heading-row{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.page-heading{font-size:38px;line-height:1.1;margin:0}.result-count{color:var(--muted);margin:7px 0 0}.sort-form{display:flex;align-items:center;gap:9px}.sort-form label{color:var(--muted);font-size:12px}.sort-form select,.sort-form button{padding:8px 10px;border:1px solid #ccc;border-radius:4px;background:#fff;color:#111}.sort-form button{background:#111;color:#fff;border-color:#111}.productGrid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product{min-width:0}.card{height:100%;display:flex;flex-direction:column;border:1px solid var(--line);background:#fff}.card-figure{aspect-ratio:1/1;background:#fafafa;padding:12px;display:flex;justify-content:center;align-items:center;overflow:hidden}.card-figure img{width:100%;height:100%;object-fit:contain}.card-body{padding:16px;display:flex;flex-direction:column;flex:1}.card-brand,.productView-brand{color:#777;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700;margin:0 0 7px}.card-title{font-size:14px;line-height:1.35;margin:0 0 13px;font-weight:700}.card-title a{text-decoration:none}.card-title a:hover{text-decoration:underline}.card-status{color:#777;font-size:12px;margin:auto 0 13px}.card-link{font-size:12px;font-weight:700;text-decoration:none}.card-link:hover{text-decoration:underline}.pagination{margin-top:38px}.pagination-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:15px}.pagination-link{border:1px solid var(--line);padding:7px 11px;text-decoration:none}.pagination-current{color:var(--muted)}.empty-state{padding:65px 20px;text-align:center;background:var(--soft)}.empty-state h2{font-size:23px;margin:0}.empty-state p{color:var(--muted)}.brand-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.brand-directory a{border:1px solid var(--line);padding:20px;text-decoration:none;font-weight:700;display:flex;justify-content:space-between}.brand-directory a:hover{background:var(--soft)}
.product-page{padding:9px 0 85px}.productView{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:6%;align-items:start}.productView-image{height:550px;background:#fafafa;padding:26px;display:flex;justify-content:center;align-items:center}.productView-image img{width:100%;height:100%;object-fit:contain}.productView-thumbnails{list-style:none;padding:0;margin:12px 0 0;display:flex;gap:8px;flex-wrap:wrap}.productView-thumbnails li{width:74px;height:74px;border:1px solid var(--line)}.productView-thumbnails a{display:flex;width:100%;height:100%;padding:5px}.productView-thumbnails img{width:100%;height:100%;object-fit:contain}.image-note{color:var(--muted);font-size:12px}.productView-details{padding-top:7px}.productView-title{font-size:clamp(26px,2.8vw,38px);line-height:1.17;margin:8px 0 23px}.product-status{border:1px solid var(--line);background:#f7f7f7;padding:16px 19px;margin:0 0 25px}.product-status strong{font-size:14px}.product-status p{margin:5px 0 0;color:#555}.observed-options,.product-categories,.productView-description{border-top:1px solid var(--line);padding:20px 0}.observed-options h2,.product-categories h2,.productView-description h2{font-size:18px;margin:0 0 10px}.observed-options p{font-size:12px;color:var(--muted);margin:0 0 11px}.observed-options ul{margin:0;padding-left:19px;columns:2}.observed-options li{break-inside:avoid;font-size:12px;margin-bottom:4px}.product-categories ul{display:flex;gap:7px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.product-categories a{border:1px solid var(--line);padding:5px 9px;text-decoration:none;font-size:11px}.product-categories a:hover{border-color:#333}.productView-description{font-size:14px;line-height:1.72}.productView-description h3{font-size:16px}.productView-description p{margin:0 0 14px}
.footer{background:var(--footer);border-top:2px solid #89dfad;margin-top:25px}.footer-inner{display:grid;grid-template-columns:1fr .5fr 1.4fr;gap:45px;padding-top:50px;padding-bottom:50px}.footer-brand{font-size:24px;font-weight:900;margin:0 0 12px;letter-spacing:-.04em}.footer-brand span{display:none}.footer-inner p{font-size:12px;color:#444}.footer-inner h2{font-size:14px;margin:0 0 11px}.footer-inner nav{display:flex;flex-direction:column;gap:7px}.footer-inner nav a{font-size:12px;text-decoration:none}.footer-inner nav a:hover{text-decoration:underline}.footer-disclaimer p{font-size:11px;line-height:1.6}
@media(max-width:1100px){.header-inner{gap:15px}.header-logo{min-width:155px}.header-logo span{font-size:23px}.desktop-nav{gap:10px}.desktop-nav>a,.desktop-nav .nav-dropdown>summary{font-size:11px}.header-search{width:125px}.axis-grid,.productGrid,.brand-directory{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.container{padding:0 18px}.header-inner{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;gap:12px}.header-logo{min-width:0;align-items:flex-start}.header-logo span{font-size:24px}.header-logo small{font-size:10px}.desktop-nav{display:none}.header-search{width:100%;max-width:270px;justify-self:end}.mobile-menu{display:block;position:relative}.mobile-menu>summary{list-style:none;border:1px solid #ddd;padding:9px 12px;font-weight:700}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu>nav{position:absolute;z-index:40;right:0;top:100%;width:min(310px,calc(100vw - 36px));max-height:70vh;overflow:auto;background:#fff;border:1px solid #ddd;box-shadow:0 12px 24px #0002;padding:7px 14px}.mobile-menu nav>a,.mobile-menu nav>details>summary{display:block;padding:10px 2px;text-decoration:none;font-size:13px;font-weight:700;border-bottom:1px solid #eee}.mobile-menu nav>details>summary{list-style:none}.mobile-menu nav>details>summary::-webkit-details-marker{display:none}.mobile-menu nav>details>summary:after{content:'+';float:right}.mobile-menu nav>details[open]>summary:after{content:'−'}.mobile-menu nav>details>div{padding:5px 0 10px 13px}.mobile-menu nav>details>div a{display:block;padding:6px 0;text-decoration:none}.axis-grid,.productGrid,.brand-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.productView{grid-template-columns:1fr;gap:24px}.productView-image{height:460px}.footer-inner{grid-template-columns:1fr 1fr}.footer-disclaimer{grid-column:1/-1}}
@media(max-width:480px){.container{padding:0 14px}.preview-bar{font-size:10px}.header-inner{grid-template-columns:1fr auto;min-height:106px}.header-search{grid-column:1/-1;grid-row:2;max-width:none;margin-bottom:12px}.mobile-menu{grid-column:2;grid-row:1}.hero{padding:47px 18px 50px}.hero h1{font-size:31px}.hero>p:not(.eyebrow){font-size:14px}.section{padding-top:43px}.section-heading h2{font-size:24px}.axis-grid{grid-template-columns:1fr 1fr;gap:9px}.axis-tile{min-height:0;padding:13px}.axis-tile h3{font-size:14px;margin-bottom:10px}.axis-tile li a{font-size:11px}.productGrid{gap:9px}.card-figure{padding:7px}.card-body{padding:11px}.card-title{font-size:12px}.card-brand,.card-status,.card-link{font-size:10px}.page-heading-row{display:block}.sort-form{margin-top:15px}.page-heading{font-size:31px}.productView-image{height:360px}.productView-title{font-size:28px}.observed-options ul{columns:1}.footer-inner{grid-template-columns:1fr}.footer-disclaimer{grid-column:auto}}
.choice-group{margin-bottom:12px}.choice-group h3{font-size:13px;margin:0 0 5px}.variant-evidence details>summary{font-weight:700;text-decoration:underline;margin:4px 0 12px}.variant-evidence-scroll{max-width:100%;overflow-x:auto}.variant-evidence table{border-collapse:collapse;width:100%;min-width:490px}.variant-evidence th,.variant-evidence td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top;font-size:11px}.variant-evidence thead th{background:#f6f6f6}.variant-evidence tbody th{font-weight:500}
.variant-thumb{width:44px;height:44px;object-fit:contain;vertical-align:middle;margin-right:8px}
.productView-details,.variant-evidence{min-width:0}
.productView{opacity:1}
@media(max-width:820px){.productView{grid-template-columns:minmax(0,1fr)}}
/* The captured theme fixes the mobile retail header and hides product details until JS runs. */
body{padding-top:0}
.header{position:relative;top:auto;left:auto;right:auto;z-index:20}

/* Small additions to the captured source selectors; no redesign. */
.form-field--error .form-input{border-color:#b40c9b}.field-errors,.error-summary{color:#8a154f}.field-errors{margin:.35rem 0 0;padding-left:1.25rem}.error-summary{border:1px solid #b40c9b;background:#fff7fb;padding:1rem 1.25rem;margin:1rem 0}.error-summary h2{font-size:16px;margin:0 0 .5rem}.cart-page{padding:24px 0 65px}.cart-lines{border-top:1px solid #e6e6e6}.cart-line{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;align-items:center;gap:22px;padding:20px 4px;border-bottom:1px solid #e6e6e6}.cart-line h2{font-size:15px;margin:0 0 4px}.cart-line p{margin:3px 0;color:#555}.cart-line-quantity .form-input{width:100%;margin-top:5px}.line-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.line-actions .button{padding:9px 14px}.shipping-message{color:#555;font-size:12px}.cart-totals{max-width:380px;margin:22px 0 20px auto;border-top:1px solid #e6e6e6;padding-top:8px}.cart-totals p{display:flex;justify-content:space-between}.cart-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.cart-total{border-top:1px solid #bbb;padding-top:12px;font-size:16px}.status-message{padding:12px;background:#f3f3f3;border-left:3px solid #89dfad}.line-error{color:#8a154f!important}.form-field{margin:0 0 18px}.form-field .form-label{display:block;font-weight:600;margin-bottom:6px}.form-input{width:100%;max-width:100%;border:1px solid #e6e6e6;border-radius:4px;min-height:44px;padding:10px 12px;background:#fff;color:#111}.form-input:focus-visible{outline:3px solid #b40c9b;outline-offset:2px}.account-form{max-width:620px;margin:30px auto 70px}.account-form .page-heading{margin-bottom:22px}
@media(max-width:600px){.cart-line{grid-template-columns:minmax(0,1fr) 92px;gap:12px}.cart-line>.button{grid-column:1/-1;justify-self:start}.cart-line .line-actions{grid-column:1/-1;justify-content:flex-start}.cart-totals{max-width:none}.account-form{margin:22px auto 50px}}

/* Wholesaler shell sizing for the approved extracted mark and state-aware navigation. */
.header-inner{gap:18px}.header-logo{min-width:170px;max-width:210px}.header-logo img{display:block;width:100%;height:auto;max-height:64px;object-fit:contain}.header-account{display:flex;align-items:center;gap:11px;flex:none;white-space:nowrap}.header-account a,.header-account button{font:inherit;font-size:12px;font-weight:700;text-decoration:none}.header-account form{display:inline}.header-account button,.mobile-menu button{border:0;background:transparent;padding:0;cursor:pointer}.mobile-menu{display:none}.footer-brand{color:#111}.footer-inner address{font-style:normal;font-size:12px;color:#444}.mobile-menu nav form{padding:10px 2px}.mobile-menu nav button{font-size:13px;font-weight:700}
@media(max-width:1100px){.header-inner{gap:12px}.header-logo{min-width:140px;max-width:170px}.header-account{gap:8px}.header-account a,.header-account button{font-size:11px}}
@media(max-width:820px){.header-inner{gap:12px}.header-logo{min-width:0;max-width:220px}.header-account{display:none}.mobile-menu{display:block}}
.form-checkbox+.form-label{display:inline-block!important;font-weight:400!important;margin-left:.4rem;vertical-align:middle}
.form-field:has(.form-checkbox){margin:0 0 18px}
.form-checkbox{accent-color:#000}

/* handoff-v2 corrections (see frontend-verification/changes.json). Captured theme.css is loaded first; these
   equal-or-higher-specificity rules restore the layout this file already intends. */
/* F3: theme.css ".productGrid .product{width:25%|33.33%|50%;padding:0 .75rem}" shrank grid items to ~25% of a grid cell;
   theme.css clearfix ".productGrid:before/:after{content:" ";display:table}" became grid items and left the first cell empty. */
.productGrid .product{width:auto;padding:0}.productGrid:before,.productGrid:after{content:none;display:none}
/* F6: theme.css ".footer .container{padding:0 0}" (and 1024px+ "max-width:1956px;padding:0 48px") removed the
   .footer-inner padding; ".footer-inner p" (0,1,1) overrode ".footer-brand" 24px with 12px. */
.footer .footer-inner{max-width:1278px;padding:50px 24px}.footer-inner .footer-brand{font-size:24px}
@media(max-width:820px){.footer .footer-inner{padding-left:18px;padding-right:18px}}
@media(max-width:480px){.footer .footer-inner{padding-left:14px;padding-right:14px}}
/* FV-1: theme.css ".cart-totals{float:right;width:75%|58.33%|41.67%}" floated the totals out of the cart section so they
   overlapped the footer; restore the block layout this file intends (max-width 380px, margin-left auto). */
.cart-page .cart-totals{float:none;width:auto}
/* FV-2 (preview product detail): theme.css PDP rules (clearfix pseudo-elements, floats, 50% widths, 90px thumbnail rail,
   flex/order that put thumbnails before the main image, -1rem side margins, breakpoint paddings) fought the .productView
   grid above; scoped to .product-page so only this layout is affected. */
.productView:before,.productView:after{content:none;display:none}.product-page .productView{margin-left:0;margin-right:0}
.product-page .productView-images,.product-page .productView-details{float:none;width:auto;max-width:none;margin:0;padding-left:0;padding-right:0}
.product-page .productView-images{display:block}.product-page .productView-images .productView-image{margin-left:0;max-width:none}
.product-page .productView-images .productView-thumbnails{display:flex;width:auto}
.product-page .productView-description{float:none;width:auto;padding-left:0;padding-right:0}
