/* MaterialHandling.com Design System — MH Blue #00599C */
:root{
  --mh-blue:#00599C; --mh-blue-hover:#004A82; --mh-blue-deep:#003C69;
  --mh-blue-light:#E5EFF7; --mh-blue-pale:#F2F7FB;
  --mh-orange:#F09000; --mh-orange-hover:#D97F00;
  --mh-ink:#0D0D0D;
  --g-900:#111827; --g-700:#374151; --g-500:#6B7280; --g-300:#D1D5DB; --g-200:#E5E7EB; --g-100:#F3F4F6; --g-50:#F9FAFB;
  --ok:#16A34A; --warn:#D97706; --danger:#DC2626;
  --radius:6px; --shadow:0 1px 3px rgba(13,13,13,.08),0 1px 2px rgba(13,13,13,.06);
  --shadow-lg:0 10px 25px rgba(13,13,13,.12);
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
/* v63.41: hard guard — no element may ever widen the page and make it pan sideways.
   `clip` (not `hidden`) so position:sticky on the header keeps working. */
html,body{overflow-x:clip}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font);color:var(--g-900);background:#fff;line-height:1.55;font-size:15px}
img{max-width:100%;height:auto;display:block}
a{color:var(--mh-blue);text-decoration:none}
a:hover{color:var(--mh-blue-hover);text-decoration:underline}
.container{max-width:1320px;margin:0 auto;padding:0 16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;border:none;border-radius:var(--radius);cursor:pointer;padding:11px 20px;transition:background .15s;text-decoration:none!important}
.btn-primary{background:var(--mh-blue);color:#fff!important}
.btn-primary:hover{background:var(--mh-blue-hover)}
.btn-outline{background:#fff;color:var(--mh-blue)!important;border:2px solid var(--mh-blue)}
.btn-outline:hover{background:var(--mh-blue-light)}
.btn-ink{background:var(--mh-ink);color:#fff!important}
h1,h2,h3{line-height:1.2;color:var(--mh-ink);font-weight:800}
h1{font-size:clamp(24px,3.4vw,34px);text-transform:none}
h2{font-size:clamp(19px,2.4vw,24px)}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mh-blue)}

/* Utility bar + header — v63.33: gray utility bar (owner: no more black bar) */
.utilbar{background:#EDEFF1;color:#3A4450;font-size:12.5px;border-bottom:1px solid #E0E4E8}
.utilbar .container{display:flex;justify-content:space-between;align-items:center;min-height:34px;gap:12px}
.utilbar a{color:#3A4450;font-weight:700}
.utilbar a:hover{color:var(--mh-blue)}
.utilbar .dot{color:var(--mh-blue);margin:0 6px}
/* utilbar phone only shows on mobile — desktop gets the big .hdr-phone instead (v63.24) */
@media(min-width:901px){.ub-phone{display:none}}
header.site{background:#fff;border-bottom:1px solid var(--g-200);position:sticky;top:0;z-index:50}
.hdr{display:grid;grid-template-columns:auto 1fr auto auto;gap:30px;align-items:center;padding:20px 0}
/* Header phone — prominent, right of the search bar (v63.24) */
.hdr-phone{display:flex;align-items:center;gap:10px;text-decoration:none!important;white-space:nowrap}
.hdr-phone-ic{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius);background:var(--mh-blue-light);color:var(--mh-blue);flex:none;transition:background .15s,color .15s}
.hdr-phone:hover .hdr-phone-ic{background:var(--mh-blue);color:#fff}
.hdr-phone-txt{display:flex;flex-direction:column;line-height:1.15}
.hdr-phone-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--g-500)}
.hdr-phone-num{font-size:17px;font-weight:800;color:var(--mh-ink)}
.hdr-phone:hover .hdr-phone-num{color:var(--mh-blue)}
@media(max-width:1120px){.hdr-phone-label{display:none}.hdr-phone-num{font-size:15.5px}.hdr{gap:16px}}
.logo{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-decoration:none!important}
.logo-tag{font-size:10.5px;font-weight:700;letter-spacing:.02em;color:var(--g-500);white-space:nowrap}
@media(max-width:1120px){.logo-tag{font-size:9.5px}}
.logo .word{font-weight:900;font-size:22px;letter-spacing:-.5px;color:var(--mh-ink);text-transform:uppercase}
.logo .word em{font-style:normal;color:var(--mh-blue)}
.searchwrap{position:relative;max-width:560px;width:100%;justify-self:center}
.searchwrap form{display:flex;border:2px solid var(--mh-blue);border-radius:var(--radius);overflow:hidden;background:#fff;transition:box-shadow .15s}
.searchwrap form:focus-within{box-shadow:0 0 0 3px var(--mh-blue-light)}
.searchwrap input{flex:1;border:none;outline:none;padding:10px 8px 10px 18px;font-size:14.5px;min-width:0;background:transparent}
.searchwrap input::-webkit-search-cancel-button{cursor:pointer}
.searchwrap form button{display:flex;align-items:center;gap:7px;background:var(--mh-blue);color:#fff;border:none;padding:0 20px;font-weight:800;font-size:13.5px;cursor:pointer;font-family:var(--font)}
.searchwrap form button:hover{background:var(--mh-blue-hover)}

/* Search suggestions dropdown */
.sg-box{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--g-200);border-radius:12px;box-shadow:0 18px 40px rgba(16,24,40,.18);z-index:80;max-height:min(560px,70vh);overflow:auto;overscroll-behavior:contain}
.sg-box.open{display:block}
.sg-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--g-500);padding:10px 14px 5px;position:sticky;top:0;background:#fff}
.sg-clear{background:none;border:none;color:var(--mh-blue);font-size:11px;font-weight:700;cursor:pointer;text-transform:none;letter-spacing:0;font-family:var(--font)}
.sg-item{display:flex;gap:11px;align-items:center;padding:8px 14px;color:var(--g-900);text-decoration:none!important;cursor:pointer}
.sg-item:hover,.sg-item.active{background:var(--mh-blue-pale)}
.sg-item img,.sg-item>span:first-child:empty{width:44px;height:44px;object-fit:contain;flex:none;border:1px solid var(--g-100);border-radius:6px;background:#fff}
.sg-cat img,.sg-cat>span:first-child:empty{width:34px;height:34px}
.sg-name{font-size:13.5px;font-weight:600;line-height:1.3}
.sg-name mark{background:none;color:var(--mh-blue);font-weight:800}
.sg-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.sg-main .sg-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sg-sub{font-size:11.5px;color:var(--g-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-cat .sg-name,.sg-brand .sg-name{flex:1}
.sg-meta{font-size:11.5px;color:var(--g-500);white-space:nowrap}
.sg-arrow{width:15px;height:15px;color:var(--g-300);flex:none}
.sg-right{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex:none}
.sg-price{font-size:13.5px;font-weight:800;color:var(--mh-ink);white-space:nowrap}
.sg-price s{font-weight:500;color:var(--g-500);font-size:11.5px;margin-left:4px}
.sg-stock{font-size:10.5px;font-weight:700}
.sg-stock.ok{color:var(--ok)}
.sg-stock.out{color:var(--warn)}
.sg-bmark{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--mh-blue-light);color:var(--mh-blue);font-weight:900;font-size:15px;border-radius:6px}
.sg-blogo{width:34px!important;height:34px!important;object-fit:contain;flex:none;border:1px solid var(--g-100);border-radius:6px;background:#fff;padding:2px}
/* search results page: matching-brand cards */
.srch-brands{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 20px}
.srch-brand{display:flex;align-items:center;gap:11px;border:1px solid var(--g-200);border-radius:10px;padding:10px 16px 10px 12px;background:#fff;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.srch-brand:hover{border-color:#00599c;box-shadow:0 2px 10px rgba(0,89,156,.12)}
.srch-brand-logo{height:34px;max-width:110px;object-fit:contain}
.srch-brand-mono{display:inline-flex;align-items:center;justify-content:center;width:40px;height:34px;font-size:13px;font-weight:800;color:#fff;background:linear-gradient(135deg,#00599c,#0079c8);border-radius:7px}
.srch-brand-body strong{display:block;font-size:13.5px;color:var(--g-900)}
.srch-brand-body em{display:block;font-style:normal;font-size:11.5px;color:#00599c;font-weight:600}
.sg-recent svg{width:16px;height:16px;color:var(--g-500);flex:none;margin:0 9px}
.sg-recent span{font-size:13.5px;font-weight:600}
.sg-all{justify-content:center;font-size:13px;font-weight:700;color:var(--mh-blue)!important;border-top:1px solid var(--g-100);padding:11px 14px;position:sticky;bottom:0;background:#fff}
.sg-empty{padding:16px 14px;font-size:13px;color:var(--g-500)}
.hdr-actions{display:flex;gap:18px;align-items:center}
.hdr-act{display:flex;flex-direction:column;align-items:center;font-size:11px;font-weight:700;color:var(--g-700);text-decoration:none!important;line-height:1.2}
.hdr-act svg{width:22px;height:22px;margin-bottom:2px}
.cart-badge{position:relative}
.cart-badge .n{position:absolute;top:-6px;right:-10px;background:var(--mh-blue);color:#fff;font-size:10px;font-weight:800;border-radius:99px;padding:1px 5px;min-width:16px;text-align:center}

/* ===== Mega menu v2 — full-width panels, hover intent, keyboard + touch ===== */
nav.meganav{background:var(--mh-blue);position:relative;z-index:60}
.mn-row{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.mn-item{position:static}
.mn-top{display:flex;align-items:center;gap:6px;color:#fff;font-weight:700;font-size:13px;padding:14px 11px;text-decoration:none!important;white-space:nowrap;background:none;border:none;cursor:pointer;font-family:var(--font)}
.mn-row{justify-content:space-between}
@media(max-width:1240px){.mn-top{padding:12px 7px;font-size:12.5px}.mn-top svg{width:15px;height:15px}}
.mn-top svg{width:17px;height:17px;flex:none}
.mn-item:hover>.mn-top,.mn-item.open>.mn-top,.mn-top:focus-visible{background:var(--mh-blue-hover)}
.mn-all>.mn-top{background:rgba(0,0,0,.18);font-weight:800}
/* v63.35 value bar — the trust strip below the main nav (owner: light branded blue, our terminology) */
.valuebar{background:var(--mh-blue-pale);border-bottom:1px solid #D9E7F2}
.valuebar .container{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding-top:5px;padding-bottom:5px}
.vb-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--mh-blue-deep);white-space:nowrap}
.vb-ic{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--mh-blue);color:#fff;flex:none}
@media(max-width:1400px){.vb-item:nth-child(4){display:none}}
@media(max-width:1000px){.vb-item:nth-child(3){display:none}}
@media(max-width:760px){.valuebar .container{justify-content:center}.vb-item:nth-child(2){display:none}}
/* Panel: full-width sheet under the bar. JS toggles .open (hover intent / keyboard). */
.mn-panel{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:3px solid var(--mh-blue);box-shadow:0 18px 34px rgba(16,24,40,.16);z-index:70}
.mn-item.open>.mn-panel{display:block}
.mn-panel-in{display:flex;gap:34px;padding:22px 16px 26px}
.mn-links{flex:1;min-width:0}
.mn-shopall{display:inline-flex;align-items:baseline;gap:10px;font-size:15px;font-weight:800;color:var(--mh-blue);text-decoration:none;margin-bottom:14px}
.mn-shopall:hover{text-decoration:underline}
.mn-n{font-size:11.5px;font-weight:600;color:var(--g-500);white-space:nowrap}
.mn-list{list-style:none;margin:0;padding:0;columns:3;column-gap:26px}
.mn-list li{break-inside:avoid;margin-bottom:2px}
.mn-list a{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:7px 10px;border-radius:6px;color:var(--g-900);font-size:13.5px;font-weight:600;text-decoration:none}
.mn-list a:hover,.mn-list a:focus-visible{background:var(--mh-blue-pale);color:var(--mh-blue)}
.mn-tool{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:9px 14px;border:1.5px solid var(--mh-blue);border-radius:8px;color:var(--mh-blue);font-size:13px;font-weight:800;text-decoration:none;background:var(--mh-blue-pale)}
.mn-tool:hover{background:var(--mh-blue);color:#fff}
.mn-tool svg{width:16px;height:16px;flex:none}
.mn-feature{flex:none;width:220px;display:flex;flex-direction:column;gap:12px;align-items:stretch}
.mn-feature img{width:220px;height:165px;object-fit:cover;border-radius:10px;background:var(--g-100)}
.mn-feature .btn{text-align:center;font-size:13px}
/* All-departments A–Z grid */
.mn-allgrid{columns:4;column-gap:24px;width:100%}
.mn-allgrid a{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:5px 8px;border-radius:6px;color:var(--g-900);font-size:13px;font-weight:600;text-decoration:none;break-inside:avoid}
.mn-allgrid a:hover,.mn-allgrid a:focus-visible{background:var(--mh-blue-pale);color:var(--mh-blue)}
/* Scrim dims the page while a panel is open */
/* Scrim never intercepts the pointer for hover panels (blink-proof);
   .solid re-enables clicks for the mobile drawer's tap-outside-to-close. */
.mn-scrim{position:fixed;inset:0;background:rgba(16,24,40,.35);z-index:50;pointer-events:none}
.mn-scrim.solid{pointer-events:auto;z-index:110}
/* Burger hidden on desktop */
.mn-burger{display:none}
/* Mobile drawer */
.mn-drawer{position:fixed;top:0;left:0;bottom:0;width:min(340px,88vw);background:#fff;z-index:120;box-shadow:8px 0 30px rgba(16,24,40,.25);display:flex;flex-direction:column;overscroll-behavior:contain}
.mn-drawer[hidden],.mn-scrim[hidden]{display:none!important}
.mn-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--mh-blue);color:#fff;font-size:15px}
.mn-drawer-head button{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:4px 8px}
.mn-drawer-body{overflow-y:auto;padding:8px 0 24px;flex:1}
.mn-acc{border-bottom:1px solid var(--g-200)}
.mn-acc summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;font-size:14.5px;font-weight:700;color:var(--g-900);cursor:pointer;list-style:none}
.mn-acc summary::-webkit-details-marker{display:none}
.mn-acc summary::after{content:"›";font-size:18px;color:var(--g-500);transition:transform .15s}
.mn-acc[open] summary::after{transform:rotate(90deg)}
.mn-acc a{display:block;padding:9px 16px 9px 28px;font-size:13.5px;font-weight:600;color:var(--g-700);text-decoration:none}
.mn-acc a:hover{color:var(--mh-blue)}
.mn-acc-all{color:var(--mh-blue)!important;font-weight:800!important}
.mn-drawer-links{padding:16px}
.mn-drawer-links a{display:block;padding:8px 0;font-size:14px;font-weight:700;color:var(--mh-blue);text-decoration:none}
@media(max-width:900px){
  nav.meganav{display:none}
  .mn-burger{display:flex;background:none;border:none;cursor:pointer;font-family:var(--font)}
}

/* Breadcrumbs */
.crumbs{font-size:12.5px;color:var(--g-500);padding:12px 0}
.crumbs a{color:var(--g-500)}
.crumbs a:hover{color:var(--mh-blue)}
.crumbs .sep{margin:0 6px;color:var(--g-300)}

/* Product cards & grid */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.pcard{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;transition:box-shadow .15s,border-color .15s;position:relative}
.pcard:hover{box-shadow:var(--shadow-lg);border-color:var(--g-300)}
.pcard .imgbox{aspect-ratio:1;display:flex;align-items:center;justify-content:center;margin-bottom:10px;background:#fff}
.pcard .brand{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--g-500)}
.pcard .title{font-size:13.5px;font-weight:600;color:var(--g-900);margin:3px 0 6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pcard a{text-decoration:none!important}
.pcard .title:hover{color:var(--mh-blue)}
.stars{color:#F59E0B;font-size:12px;letter-spacing:1px}
.stars .muted{color:var(--g-300)}
.pcard .price{margin-top:auto;padding-top:8px;font-size:17px;font-weight:800;color:var(--mh-ink);font-variant-numeric:tabular-nums}
.pcard .unit{font-size:12px;color:var(--g-500);font-weight:600}
.badge{display:inline-block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-radius:3px;padding:2px 7px}
.badge-stock{background:#EAF7EF;color:#166534}
.badge-sale{background:#FDECEC;color:#991B1B}
.badge-lead{background:#FEF4E6;color:#92400E}
.badge-oos{display:inline-block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-radius:3px;padding:2px 7px;background:#FDECEC;color:#991B1B} /* v68.24: real out-of-stock state */
/* v68.18: QuickShip program badge (own art, 360x141 source, 2.55:1) */
.qs-badge{object-fit:contain}
/* Card: overlaid on the product image, top-left corner. Overrides the generic
 * .pcard .imgbox img 100%x100% rule — must stay explicit-sized + absolute. */
.pcard .imgbox{position:relative}
.pcard .imgbox img.qs-badge-card{position:absolute;top:6px;left:6px;width:66px;height:26px;object-fit:contain;z-index:2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}
/* PDP: inline on the stockline, right of the stock badge (global img{display:block} must be overridden) */
.qs-badge-pdp{display:inline-block;height:28px;width:auto;vertical-align:middle;margin-left:8px}
.pcard .quickadd{margin-top:10px;width:100%}

/* Category layout */
.cat-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:8px 0 40px}
.facets{font-size:13.5px}
.facets h3,.facets .facet-h{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--g-500);margin:18px 0 8px;font-weight:800}
.facets label{display:flex;align-items:center;gap:8px;padding:4px 0;color:var(--g-700);cursor:pointer}
.facets a{display:block;padding:4px 0;color:var(--g-700);font-weight:600}
.facets a:hover{color:var(--mh-blue)}
.cat-intro{background:var(--mh-blue-pale);border-radius:var(--radius);padding:20px 24px;margin:8px 0 20px;color:var(--g-700);font-size:14px}
.cat-intro p{color:var(--g-700);font-size:14px;max-width:900px}
.cat-banner{width:100%;height:auto;aspect-ratio:2266/469;object-fit:cover;border-radius:var(--radius);margin:0 0 14px;display:block}
.seo-block{border-top:1px solid var(--g-200);margin-top:40px;padding:28px 0;color:var(--g-700);font-size:14px}
.seo-block h2{margin:18px 0 8px}
.seo-block a{font-weight:600}
.subcat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:14px 0 22px}
.subcat-tiles a{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius);padding:14px;font-weight:700;font-size:13.5px;color:var(--g-900);text-align:center;text-decoration:none!important}
.subcat-tiles a:hover{border-color:var(--mh-blue);color:var(--mh-blue)}

/* ===================== PDP v2 — three-column WebstaurantStore-plus ===================== */
.pdp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:36px;padding:10px 0 30px}
.pdp-v2{grid-template-columns:88px minmax(0,1fr) minmax(0,.95fr) 340px;grid-template-areas:"thumbs gallery info buy" "thumbs gallery long buy";grid-template-rows:auto 1fr;gap:22px;align-items:start}
.pdp-v2 .pdp-media{display:contents}
/* v44: sticky media rail — images stay on screen while the customer reads
 * details/specs (the long-form column now lives beside the gallery). */
.pdp-v2 .pdp-thumbs{grid-area:thumbs;display:flex;flex-direction:column;gap:8px;margin:0;max-height:560px;overflow-y:auto;scrollbar-width:thin;position:sticky;top:174px}
.pdp-v2 .pdp-gallery{grid-area:gallery;position:sticky;top:174px;overflow:hidden;cursor:zoom-in}
.pdp-v2 .pdp-longform{grid-area:long;min-width:0;border-top:1px solid var(--g-200);margin-top:4px}
.pdp-longform .pdp-section{padding-top:16px;margin-top:2px}
.pdp-longform .pdp-section h2{font-size:19px;margin-bottom:10px}
.pdp-longform .spec-table{font-size:13px}
.pdp-v2 .pdp-info{grid-area:info;min-width:0}
.pdp-v2 .pdp-buycard{grid-area:buy;align-self:start}
.pdp-gallery{border:1px solid var(--g-200);border-radius:var(--radius);padding:20px;display:flex;align-items:center;justify-content:center;min-height:480px;background:#fff}
.pdp-gallery img{max-width:100%;max-height:520px;object-fit:contain;transition:transform .25s ease}
.pdp-gallery.zoomed img{transform:scale(2);cursor:zoom-out}
.pdp-noimg{width:320px;height:320px;background:var(--g-100);border-radius:12px;display:flex;align-items:center;justify-content:center}
.pdp-noimg-txt{color:var(--g-500,#6b7280);font-size:14px;font-weight:600}
.pdp-save-flag{position:absolute;top:12px;left:12px;background:var(--mh-red,#C8102E);color:#fff;font-weight:800;font-size:12.5px;padding:4px 10px;border-radius:999px;z-index:2}
.pdp-zoom-hint{position:absolute;bottom:10px;right:12px;font-size:11.5px;color:var(--g-500);background:rgba(255,255,255,.9);padding:3px 8px;border-radius:999px;pointer-events:none}
.pdp-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pdp-thumb{width:76px;height:76px;border:2px solid var(--g-200);border-radius:var(--radius);background:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.pdp-v2 .pdp-thumb{width:80px;height:80px}
.pdp-thumb img{max-width:64px;max-height:64px;object-fit:contain}
.pdp-thumb:hover{border-color:var(--g-300)}
.pdp-thumb.active{border-color:var(--mh-blue)}
.pdp h1{font-size:clamp(20px,2.2vw,25px);margin-bottom:8px;line-height:1.25}
.pdp-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}
.pdp-brand-chip{background:var(--mh-blue-pale);color:var(--mh-blue);font-weight:800;font-size:12px;padding:3px 10px;border-radius:999px;text-decoration:none!important}
.pdp-brand-chip:hover{background:var(--mh-blue);color:#fff}
.pdp-brand-chip-img{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--g-200);border-radius:8px;padding:4px 10px;line-height:0;transition:border-color .15s,box-shadow .15s}
.pdp-brand-chip-img img{display:block;max-width:96px;max-height:28px;width:auto;height:auto;object-fit:contain}
.pdp-brand-chip-img:hover{background:#fff;border-color:var(--mh-blue);box-shadow:0 2px 8px rgba(0,89,156,.14)}
.qf-brand{display:inline-flex;align-items:center;gap:6px}
.qf-brand-logo{display:inline-block;max-width:60px;max-height:18px;width:auto;height:auto;object-fit:contain;vertical-align:middle}
.pdp-financing{margin-top:10px;min-height:0}
.pdp-financing:not([hidden]){border-top:1px dashed var(--g-200);padding-top:10px}
.pdp-ids{font-size:12.5px;color:var(--g-500);font-weight:600}
.pdp .aeo{background:var(--mh-blue-pale);border-left:4px solid var(--mh-blue);border-radius:0 var(--radius) var(--radius) 0;padding:14px 16px;font-size:14px;color:var(--g-700);margin:12px 0}
.pdp-highlights{margin:12px 0;padding:0;list-style:none;display:grid;gap:7px}
.pdp-highlights li{position:relative;padding-left:24px;font-size:14px;color:var(--g-700);line-height:1.45}
.pdp-highlights li::before{content:"✓";position:absolute;left:0;top:0;color:var(--mh-green,#1a7f37);font-weight:900}
.pdp-quickfacts{margin:14px 0;border:1px solid var(--g-200);border-radius:var(--radius);overflow:hidden;font-size:13px}
.pdp-quickfacts>div{display:grid;grid-template-columns:130px 1fr;padding:8px 12px}
.pdp-quickfacts>div:nth-child(odd){background:var(--g-50,#f9fafb)}
.pdp-quickfacts dt{font-weight:700;color:var(--g-500)}
.pdp-quickfacts dd{margin:0;color:var(--g-900);font-weight:600}
.pdp-perks{display:grid;gap:8px;margin-top:14px;font-size:13px;color:var(--g-700);font-weight:600}
.pdp-perks a{text-decoration:underline;text-underline-offset:2px}
.perk-ic{margin-right:2px}
/* Buy card */
.pdp-buycard{position:sticky;top:174px;border:1px solid var(--g-200);border-radius:var(--radius);padding:18px;background:#fff;box-shadow:0 1px 4px rgba(16,24,40,.06);display:grid;gap:12px}
/* v63.41: on shorter desktop screens the pinned buy card is taller than the
   viewport and ran underneath the chat launcher, covering Add to Cart.
   Cap its height 96px clear of the chat zone; overflow scrolls inside the card. */
@media(min-width:901px) and (max-height:880px){
  .pdp-buycard{max-height:calc(100vh - 174px - 96px);overflow-y:auto;overscroll-behavior:contain}
}
.pdp-pricebox .now{font-size:32px;font-weight:900;color:var(--mh-ink);font-variant-numeric:tabular-nums}
.pdp-pricebox .unit{font-size:14px;color:var(--g-500);font-weight:700;margin-left:4px}
.pdp-was-row{display:flex;align-items:center;gap:8px;margin-top:2px}
.pdp-was-row .was{font-size:15px;color:var(--g-500);text-decoration:line-through}
.save-chip{background:#fdecef;color:var(--mh-red,#C8102E);font-weight:800;font-size:12px;padding:2px 8px;border-radius:999px}
.pdp-stockline{font-size:13px}
.pdp-quoteonly .quote-label{font-size:20px;font-weight:900;color:var(--mh-blue)}
.pdp-quoteonly .quote-sub{font-size:13px;color:var(--g-500);margin:4px 0 0}
.price-quote{color:var(--mh-blue);font-weight:800}
.pdp-qtyrow{display:flex;gap:10px}
.qty-stepper{display:flex;border:1px solid var(--g-300);border-radius:var(--radius);overflow:hidden}
.qty-stepper .qty-btn{width:38px;background:var(--g-50,#f9fafb);border:none;font-size:18px;font-weight:800;color:var(--g-700);cursor:pointer}
.qty-stepper .qty-btn:hover{background:var(--g-100)}
.qty-stepper input{width:52px;border:none;border-left:1px solid var(--g-200);border-right:1px solid var(--g-200);text-align:center;font-size:15px;font-weight:700;-moz-appearance:textfield}
.qty-stepper input::-webkit-outer-spin-button,.qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pdp-add{flex:1;font-size:15.5px;padding:13px}
.pdp-quote-btn{text-align:center}
.pdp-bulk-nudge{font-size:12.5px;color:var(--g-700);background:var(--mh-blue-pale);border-radius:var(--radius);padding:9px 12px;margin:0}
.pdp-assurance{list-style:none;margin:2px 0 0;padding:12px 0 0;border-top:1px solid var(--g-200);display:grid;gap:7px;font-size:12.5px;color:var(--g-700)}
/* Jump nav */
.pdp-jumpnav{position:sticky;top:0;z-index:30;background:#fff;border-top:1px solid var(--g-200);border-bottom:1px solid var(--g-200);margin-bottom:6px}
.pdp-jumpnav-in{display:flex;gap:2px;overflow-x:auto}
.pdp-jumpnav a{padding:12px 16px;font-size:13.5px;font-weight:700;color:var(--g-700);text-decoration:none!important;border-bottom:3px solid transparent;white-space:nowrap}
.pdp-jumpnav a:hover,.pdp-jumpnav a.active{color:var(--mh-blue);border-bottom-color:var(--mh-blue)}
.pdp-section{scroll-margin-top:64px}
.pdp-desc{border:none;margin:0;padding:12px 0;max-width:900px}
/* Reviews */
.rev-summary{display:flex;gap:34px;align-items:center;flex-wrap:wrap;margin:14px 0 6px;padding:16px;border:1px solid var(--g-200);border-radius:var(--radius)}
.rev-score{display:grid;justify-items:center;gap:4px}
.rev-big{font-size:42px;font-weight:900;line-height:1}
.rev-count{font-size:12.5px;color:var(--g-500);font-weight:600}
.rev-bars{flex:1;min-width:220px;display:grid;gap:5px}
.rev-bar-row{display:grid;grid-template-columns:30px 1fr 24px;gap:8px;align-items:center;font-size:12px;color:var(--g-500);font-weight:700}
.rev-bar{height:8px;background:var(--g-100);border-radius:999px;overflow:hidden}
.rev-bar i{display:block;height:100%;background:#f5a623;border-radius:999px}
.rev-bar-n{text-align:right}
.rev-item{border-bottom:1px solid var(--g-200);padding:14px 0}
.rev-item p{color:var(--g-700);font-size:14px;margin:4px 0}
.rev-item footer{font-size:12px;color:var(--g-500)}
/* v62.3: restaurant-style review form */
.rev-empty{color:var(--g-500);font-size:14px;margin:10px 0 4px}
.rev-form-wrap{margin:16px 0 10px;border:1px solid var(--g-200);border-radius:var(--radius);padding:20px;background:var(--g-50,#F8FAFC)}
.rev-form-wrap h3{margin:0 0 10px;font-size:17px}
.rev-star-picker{display:flex;align-items:center;gap:2px;margin:0 0 14px}
.rev-star{background:none;border:0;cursor:pointer;font-size:34px;line-height:1;color:#D5DBE3;padding:2px 3px;transition:transform .08s ease,color .08s ease}
.rev-star.lit{color:#f5a623}
.rev-star:hover{transform:scale(1.18)}
.rev-star:focus-visible{outline:2px solid var(--blue,#00599c);outline-offset:2px;border-radius:6px}
.rev-star-label{margin-left:10px;font-size:13.5px;font-weight:700;color:var(--g-500)}
.rev-star-label.picked{color:#B45309}
.rev-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.rev-form-grid{grid-template-columns:1fr}}
#rev-form label{display:block;font-size:13px;font-weight:700;color:var(--g-700);margin:0 0 12px}
#rev-form input,#rev-form textarea{display:block;width:100%;margin-top:5px;padding:9px 12px;border:1px solid var(--g-300,#CBD5E1);border-radius:8px;font:inherit;font-weight:400;font-size:14px;background:#fff}
#rev-form input:focus,#rev-form textarea:focus{outline:2px solid var(--blue,#00599c);outline-offset:-1px;border-color:var(--blue,#00599c)}
.rev-hint{font-weight:400;color:var(--g-500);font-size:12px}
.rev-form-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rev-form-msg{font-size:13.5px;font-weight:600}
.rev-form-msg.ok{color:#15803D}
.rev-form-msg.err{color:#B91C1C}
/* Rails + sticky mobile bar */
.pgrid-rail{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.pdp-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-top:1px solid var(--g-200);box-shadow:0 -4px 16px rgba(16,24,40,.1);padding:10px 16px}
.pdp-stickybar-info{display:grid}
.pdp-stickybar-price{font-size:19px;font-weight:900}
.pdp-stickybar-price small{font-size:12px;color:var(--g-500);font-weight:700}
.pdp-stickybar-stock{font-size:11.5px;color:var(--mh-green,#1a7f37);font-weight:700}
.pdp-stickybar .btn{padding:12px 26px}
/* legacy buybox kept for other templates */
.buybox{border:1px solid var(--g-200);border-radius:var(--radius);padding:16px;margin:16px 0;display:flex;gap:10px;align-items:center}
.buybox input[type=number]{width:70px;padding:10px;border:1px solid var(--g-300);border-radius:var(--radius);font-size:15px;text-align:center}
.trustline{display:flex;flex-wrap:wrap;gap:16px;font-size:12.5px;color:var(--g-700);font-weight:600;margin-top:10px}
.spec-table{width:100%;border-collapse:collapse;font-size:13.5px;margin:12px 0}
.spec-table th,.spec-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--g-200)}
.spec-table th{width:38%;color:var(--g-500);font-weight:700;background:var(--g-50)}
.section{padding:26px 0}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}

/* Home */
.hero{background:linear-gradient(120deg,var(--mh-ink) 0%,#1a2733 55%,var(--mh-blue-deep) 100%);color:#fff;padding:44px 0}
.hero h1{color:#fff;font-size:clamp(26px,4vw,42px);text-transform:uppercase;letter-spacing:-.5px;max-width:720px}
.hero p{color:#C9D6E2;max-width:640px;margin:12px 0 22px;font-size:16px}
/* v63.37 home hero slider — slide 1 keeps the H1 brand hero; promo slides
   pull real DB prices (never client/invented) styled like the owner's example */
.hslider{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--mh-ink) 0%,#1a2733 55%,var(--mh-blue-deep) 100%)}
.hs-track{display:flex;transition:transform .5s ease}
.hs-slide{flex:0 0 100%;min-width:100%;color:#fff}
/* v63.46 — brand slide is now a full-bleed art banner (main-wide/main-m.webp:
   EKKO + A-LIFT fleet composited right, clear blue field left for the H1). */
.hs-brand{position:relative;display:flex;align-items:center;min-height:440px;aspect-ratio:16/5;isolation:isolate;padding:40px 0 52px}
.hs-brand .hs-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;max-width:none;z-index:-1}
.hs-brand-inner{width:100%}
.hs-brand h1{color:#fff;font-size:clamp(27px,4vw,46px);text-transform:uppercase;letter-spacing:-.5px;max-width:760px;line-height:1.06;text-shadow:0 2px 16px rgba(0,10,25,.55)}
.hs-h1-orange{color:var(--mh-orange)}
.hs-brand p{color:#D5E2EE;max-width:600px;margin:14px 0 22px;font-size:16.5px;text-shadow:0 1px 10px rgba(0,10,25,.6)}
.hs-brand p strong{color:#fff}
.hs-brand .eyebrow{text-shadow:0 1px 8px rgba(0,10,25,.6)}
.hs-brand-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}
/* v65: expert strip on the home hero — same widget as the PDP, sized to sit beside the CTAs */
.hs-experts{width:auto!important;max-width:340px;margin-top:0!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(2px)}
.hs-experts:hover{border-color:var(--mh-orange)!important}
@media(max-width:720px){.hs-experts{max-width:100%}}
/* v65.1: quote form line items — header-search autocomplete per row */
.qitems{display:grid;gap:8px}
.qitems-head{display:grid;grid-template-columns:1fr 86px 34px;gap:8px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--g-500);padding:0 2px}
.qline{display:grid;grid-template-columns:1fr 86px 34px;gap:8px;align-items:start}
.qline-search{position:relative;min-width:0}
.qline-search .sg-box{max-height:min(420px,60vh)}
.qline .sg-item{width:100%;text-align:left;background:none;border:0;font:inherit}
.qline-qty{text-align:center;padding-left:6px;padding-right:6px}
.qline-rm{align-self:center;width:34px;height:34px;border:1px solid var(--g-200);border-radius:8px;background:#fff;color:var(--g-500);cursor:pointer;font-size:13px;line-height:1}
.qline-rm:hover{border-color:#dc2626;color:#dc2626}
.qline-locked .qline-input{border-color:#16a34a;background:#f4fbf6}
.qitems-add{justify-self:start;font-size:13.5px;padding:8px 14px}
@media(max-width:560px){.qitems-head{grid-template-columns:1fr 64px 34px}.qline{grid-template-columns:1fr 64px 34px}}
/* v65: "image coming soon" placeholder — fill the frame like a real product photo */
.imgbox .img-placeholder{width:100%;height:100%;object-fit:contain;opacity:.85}
.pdp-gallery .img-placeholder{opacity:.85}
.hs-brand-btn{background:var(--mh-orange);color:#002845!important;border-color:var(--mh-orange);font-weight:900;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.hs-brand-btn:hover{background:var(--mh-orange-hover);border-color:var(--mh-orange-hover)}
.hs-brand-stats{display:flex;gap:8px 26px;flex-wrap:wrap;margin-top:26px;padding-top:16px;border-top:1px solid rgba(255,255,255,.22);max-width:620px}
.hs-brand-stats span{font-size:12.5px;font-weight:600;color:#BCD2E4;white-space:nowrap;text-shadow:0 1px 8px rgba(0,10,25,.6)}
.hs-brand-stats strong{color:#fff;font-weight:900;font-size:13.5px;margin-right:4px}
.hs-promo{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:530px;aspect-ratio:16/5;isolation:isolate}
.hs-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;max-width:none;z-index:-1}
.hs-promo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,10,20,.5) 0%,rgba(0,10,20,.25) 30%,rgba(0,10,20,0) 50%);z-index:0}
.hs-inner{position:relative;z-index:1;flex:1;display:flex;align-items:center;padding-top:26px;padding-bottom:20px;width:100%}
.hs-copy{max-width:480px}
.hs-brandchip{display:inline-flex;align-items:center;background:#fff;border-radius:6px;padding:6px 12px;margin-bottom:12px;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.hs-brandchip img{display:block;height:24px;width:auto;max-width:150px;object-fit:contain}
.hs-title{color:#fff;font-size:clamp(26px,3.6vw,44px);line-height:1.02;text-transform:uppercase;letter-spacing:-.5px;font-weight:900;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.hs-title span{color:var(--mh-orange)}
.hs-model{color:#9CC4E4;font-weight:800;font-size:14.5px;margin:12px 0 6px;border-top:3px solid var(--mh-orange);display:inline-block;padding-top:9px;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.hs-desc{color:#DDE7F0;font-size:13.5px;max-width:380px;margin:0 0 18px;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.hs-cta{display:inline-flex;align-items:center;gap:8px;background:var(--mh-orange);color:#002845!important;font-weight:900;font-size:15px;padding:12px 22px;border-radius:6px;text-decoration:none!important;text-transform:uppercase;letter-spacing:.02em;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.hs-cta:hover{background:var(--mh-orange-hover)}
.hs-price{position:absolute;top:18px;right:max(16px,calc((100% - 1320px)/2 + 16px));z-index:2;background:rgba(8,12,18,.78);backdrop-filter:blur(3px);border-radius:10px;padding:16px 18px;text-align:right;min-width:212px;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.hs-flag{display:inline-block;background:#D22B2B;color:#fff;font-weight:900;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:4px;margin-bottom:8px}
.hs-now{font-size:clamp(26px,3vw,38px);font-weight:900;color:#fff;line-height:1}
.hs-now small{font-size:13px;font-weight:700;color:#C9D6E2;margin-left:3px}
.hs-list{color:#C9D6E2;font-size:12.5px;margin-top:8px}
.hs-list s{color:#9FB1C1}
.hs-save{display:inline-block;background:#D22B2B;color:#fff;font-weight:800;font-size:12.5px;padding:4px 10px;border-radius:4px;margin-top:8px}
.hs-terms{color:#C9D6E2;font-size:12px;font-weight:600;margin-top:8px;max-width:190px;margin-left:auto}
.hs-rep{display:flex;align-items:center;gap:10px;margin-top:16px}
.hs-rep-av{flex:none;width:38px;height:38px;border-radius:50%;background:var(--mh-blue);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.55);box-shadow:0 3px 10px rgba(0,0,0,.4)}
.hs-rep-txt{font-size:12px;color:#C9D6E2;line-height:1.45;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.hs-rep-txt strong{display:block;color:#fff;font-size:12.5px}
.hs-rep-txt a{color:#9CC4E4;font-weight:700;text-decoration:none}
.hs-rep-txt a:hover{text-decoration:underline}
.hs-feats{position:relative;z-index:1;background:rgba(8,12,18,.72);backdrop-filter:blur(2px);border-top:1px solid rgba(255,255,255,.08)}
.hs-feats .container{display:flex;flex-wrap:wrap;gap:6px 26px;justify-content:center;padding-top:10px;padding-bottom:26px}
.hs-feat{color:#E5EFF7;font-size:12.5px;font-weight:700;white-space:nowrap}
.hs-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.35);color:#fff;font-size:22px;line-height:1;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center}
.hs-arrow:hover{background:var(--mh-blue)}
.hs-prev{left:10px}.hs-next{right:10px}
.hs-dots{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:8px;z-index:3}
.hs-dot{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.35);cursor:pointer;padding:0}
.hs-dot.on{background:var(--mh-orange)}
@media(max-width:960px){
.hs-brand{aspect-ratio:auto;min-height:560px;align-items:flex-start;padding:34px 0 300px}
.hs-brand .hs-bg{object-position:center bottom}
.hs-brand::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,20,38,.55) 0%,rgba(0,20,38,.25) 45%,rgba(0,20,38,0) 70%);z-index:0}
.hs-brand-inner{position:relative;z-index:1}
.hs-brand-stats{gap:6px 18px;margin-top:18px}
.hs-promo{min-height:480px;aspect-ratio:auto}.hs-bg{left:0;width:100%;object-fit:cover;object-position:center}.hs-promo::before{background:linear-gradient(180deg,rgba(8,12,18,.25) 0%,rgba(8,12,18,.72) 55%,rgba(8,12,18,.9) 100%)}.hs-inner{align-items:flex-end}}
@media(max-width:640px){.hs-price{position:static;margin:14px 16px 0 auto;width:max-content}.hs-promo{min-height:520px}.hs-feats .container{gap:6px 14px}.hs-arrow{display:none}.hs-rep{margin-top:12px}
.hs-brand{min-height:540px;padding:28px 0 260px}
.hs-brand h1{font-size:clamp(24px,6.4vw,30px)}
.hs-brand p{font-size:14.5px}
.hs-brand-stats{display:none}}
.trustbar{background:var(--mh-blue-pale);border-bottom:1px solid var(--g-200)}
.trustbar .container{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:center;padding:9px 16px;font-size:12.5px;font-weight:700;color:var(--g-700)}
.cat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.cat-cards a{border:1px solid var(--g-200);border-radius:var(--radius);padding:18px 16px;font-weight:800;font-size:14px;color:var(--mh-ink);text-decoration:none!important;background:#fff}
.cat-cards a span{display:block;font-size:12px;color:var(--g-500);font-weight:600;margin-top:4px}
.cat-cards a:hover{border-color:var(--mh-blue);box-shadow:var(--shadow)}

/* Image-backed category tiles (Webstaurant-style) */
.cat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.cat-tile{border:1px solid var(--g-200);border-radius:var(--radius);background:#fff;padding:12px 10px;text-align:center;text-decoration:none!important;display:flex;flex-direction:column;align-items:center;transition:box-shadow .15s,border-color .15s}
.cat-tile:hover{border-color:var(--mh-blue);box-shadow:var(--shadow-lg)}
.cat-tile-img{width:110px;height:110px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.cat-tile-img img{max-width:110px;max-height:110px;object-fit:contain}
.cat-tile-ph{width:90px;height:90px;background:var(--g-100);border-radius:8px}
.cat-tile-name{font-weight:800;font-size:13px;color:var(--mh-ink);line-height:1.25}
.cat-tile:hover .cat-tile-name{color:var(--mh-blue)}
.cat-tile-count{font-size:11.5px;color:var(--g-500);font-weight:600;margin-top:2px}
.cat-tiles-sub{margin:14px 0 22px}
.fcount{color:var(--g-500);font-weight:500;font-size:12px}

/* Homepage merch rows & bands */
.pgrid-row{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.merch-row{padding:18px 0}
.deals-band{background:var(--mh-blue-pale);border-top:1px solid var(--g-200);border-bottom:1px solid var(--g-200);padding:26px 0}
.deals-band .pcard{background:#fff}
.why-band{border-top:1px solid var(--g-200);margin-top:14px}
/* v63.29 — closing CTA band (homepage) */
/* ===== Pre-footer (v63.45): 2-col spec-help + newsletter, flows seamlessly
   into the footer (no white gap — footer margin removed via :has below).
   Design language matches the hero banners: deep brand-blue gradient,
   faint grid, machine-orange accents. ===== */
.prefoot{position:relative;margin-top:48px;color:#fff;isolation:isolate;
  background:linear-gradient(115deg,#001A30 0%,#002845 34%,#00406F 72%,var(--mh-blue,#00599c) 100%)}
.prefoot::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.05;
  background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:72px 72px}
.prefoot::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--mh-orange) 0%,var(--mh-orange) 42%,transparent 100%)}
.prefoot-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:0;padding:0}
.prefoot-col{padding:46px 44px 50px 0}
.prefoot-news{padding:46px 0 50px 48px;border-left:1px solid rgba(255,255,255,.14);position:relative}
.prefoot-news::before{content:"";position:absolute;left:-1px;top:46px;bottom:50px;width:3px;background:var(--mh-orange);border-radius:2px}
.prefoot-kicker{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mh-orange);margin-bottom:10px}
.prefoot h2{color:#fff;font-size:clamp(20px,2.4vw,27px);line-height:1.18;margin-bottom:10px}
.prefoot h2 span{color:var(--mh-orange)}
.prefoot p{color:#C9D6E2;max-width:520px;font-size:15px}
.prefoot-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.cta-band-btn{font-size:16px;padding:13px 26px;background:var(--mh-orange);color:#002845!important;border:none;font-weight:800}
.cta-band-btn:hover{background:var(--mh-orange-hover)}
.cta-band-phone{background:transparent;color:#fff!important;border-color:#fff;font-size:16px;padding:13px 22px;white-space:nowrap}
.cta-band-phone:hover{background:rgba(255,255,255,.12)}
.news-form{margin-top:20px}
.news-row{display:flex;gap:0;max-width:480px;border-radius:10px;overflow:hidden;box-shadow:0 8px 26px rgba(0,0,0,.35)}
.news-row input{flex:1;min-width:0;border:none;padding:15px 18px;font-size:15px;background:#fff;color:#0b1620;outline:none}
.news-row input::placeholder{color:#7a8a99}
.news-btn{border:none;background:var(--mh-orange);color:#002845;font-weight:800;font-size:15px;padding:0 24px;cursor:pointer;white-space:nowrap;transition:background .15s}
.news-btn:hover{background:var(--mh-orange-hover)}
.news-btn:disabled{opacity:.6;cursor:default}
.news-fine{margin-top:9px;font-size:12.5px;color:#8FA3B5}
.news-fine.ok{color:#7CE3A3;font-weight:700}
.news-fine.err{color:#FFB3A6;font-weight:700}
.news-perks{list-style:none;display:flex;gap:8px 20px;flex-wrap:wrap;margin-top:16px;padding:0}
.news-perks li{font-size:13px;color:#C9D6E2;font-weight:600}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
/* the dark pre-footer must touch the dark footer — kill the white gap */
main#main:has(.prefoot)+footer.site{margin-top:0}
.prefoot{scroll-margin-top:80px}
@media(max-width:860px){
  .prefoot-grid{grid-template-columns:1fr}
  .prefoot-col{padding:34px 0 30px}
  .prefoot-news{padding:32px 0 40px;border-left:none;border-top:1px solid rgba(255,255,255,.14)}
  .prefoot-news::before{left:0;right:auto;top:-1px;bottom:auto;width:120px;height:3px}
}
.why-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.why-cols h3{font-size:15px;margin-bottom:6px}
.why-cols p{font-size:13.5px;color:var(--g-700)}
@media(max-width:900px){.why-cols{grid-template-columns:1fr 1fr}}

/* FAQ / AEO */
.faq details{border:1px solid var(--g-200);border-radius:var(--radius);margin-bottom:8px;background:#fff}
.faq summary{padding:13px 16px;font-weight:700;cursor:pointer;font-size:14px}
.faq details div{padding:0 16px 14px;color:var(--g-700);font-size:14px}

/* Footer */
footer.site{background:var(--mh-ink);color:#B8C2CC;margin-top:48px;font-size:13.5px}
footer.site .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:32px;padding:40px 0}
footer.site h4,footer.site .foot-h{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-weight:700}
footer.site a{color:#B8C2CC;display:block;padding:3px 0}
footer.site a:hover{color:#fff}
footer.site .legal{border-top:1px solid #24303B;padding:16px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px}
.load-more-wrap{display:flex;justify-content:center;padding:26px 0}
.load-more{padding:12px 28px;border:2px solid var(--mh-blue);border-radius:var(--radius);background:#fff;color:var(--mh-blue);font-weight:800;font-size:14.5px;cursor:pointer;transition:background .15s,color .15s}
.load-more:hover{background:var(--mh-blue);color:#fff}
.load-more:disabled{opacity:.6;cursor:wait}
.load-more .lm-count{font-weight:400;font-size:12.5px;opacity:.75;margin-left:6px}

@media(max-width:1200px){
  .pdp-v2{grid-template-columns:72px minmax(0,1fr) 320px;grid-template-areas:"thumbs gallery buy" "info info buy" "long long long"}
  .pdp-v2 .pdp-thumb{width:64px;height:64px}
  /* gallery sits above the info row at this width — sticky would slide over the text.
     v63.42: must be `relative`, NOT `static` — the Save-% flag and expand button are
     position:absolute inside the gallery; static destroyed their anchor and they
     escaped to the top of the page. */
  .pdp-v2 .pdp-thumbs{position:static}
  .pdp-v2 .pdp-gallery{position:relative;top:auto}
}
@media(max-width:900px){
  .hdr{grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:12px}
  .searchwrap{grid-column:1/-1;grid-row:2;max-width:none}
  .hdr-phone{display:none}
  .cat-layout{grid-template-columns:1fr}
  /* v68.19: mobile filters = slide-in drawer (was display:none — filters were
   * simply GONE on phones). Opened by the "Filters" toolbar button. */
  .facets{display:block;position:fixed;top:0;left:0;bottom:0;width:min(320px,86vw);z-index:1200;
    background:#fff;overflow-y:auto;padding:0 16px 16px;box-shadow:4px 0 24px rgba(0,0,0,.18);
    transform:translateX(-105%);transition:transform .25s ease;visibility:hidden}
  .facets.open{transform:translateX(0);visibility:visible}
  .facets-mob-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;
    background:#fff;padding:14px 0 10px;margin:0 0 4px;border-bottom:1px solid var(--g-200);
    font-size:15px;font-weight:800;color:var(--g-900);z-index:1}
  .facets-close{border:0;background:none;font-size:18px;cursor:pointer;color:var(--g-500);padding:4px 8px}
  .facets-apply{width:100%;margin-top:16px;position:sticky;bottom:0}
  .facets-backdrop:not([hidden]){position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1199}
  .facets-open-btn{display:inline-flex}
  .pdp{grid-template-columns:1fr}
  .pdp-v2{grid-template-columns:1fr;grid-template-areas:"gallery" "thumbs" "info" "buy" "long"}
  .pdp-v2 .pdp-thumbs{flex-direction:row;max-height:none;overflow-x:auto;position:static}
  /* v63.42: relative, not static — keeps the Save flag + expand button anchored */
  .pdp-v2 .pdp-gallery{position:relative;top:auto;min-height:320px}
  .pdp-buycard{position:static}
  .pdp-stickybar.show{display:flex}
  footer.site .cols{grid-template-columns:1fr 1fr}
}
@media(min-width:901px){
  .pdp-stickybar{display:none!important}
}

/* Forms */
.finput{width:100%;padding:10px 12px;border:1px solid var(--g-300);border-radius:var(--radius);font-size:14px;font-family:var(--font);margin-top:4px}
#quote-form label{font-size:13px;font-weight:700;color:var(--g-700)}

/* ===== Category toolbar / facets v2 ===== */
.cat-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
/* v68.19: mobile "Filters" button — hidden on desktop where the sidebar is visible */
.facets-open-btn{align-items:center;gap:7px;padding:8px 14px;border:1.5px solid var(--g-300);
  border-radius:var(--radius);background:#fff;font-family:var(--font);font-size:13px;font-weight:800;
  color:var(--g-800);cursor:pointer}
.facets-open-n{background:var(--mh-blue);color:#fff;border-radius:99px;font-size:11px;min-width:18px;height:18px;
  display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
@media(min-width:901px){.facets-mob-head,.facets-close,.facets-apply,.facets-backdrop,.facets-open-btn{display:none!important}}
.cat-count{color:var(--g-500);font-size:13px;margin:0}
.sortwrap{margin-left:auto;font-size:13px;font-weight:700;color:var(--g-700);display:flex;align-items:center;gap:8px}
.sortwrap select{padding:7px 10px;border:1px solid var(--g-300);border-radius:var(--radius);font-size:13px;font-family:var(--font);background:#fff;cursor:pointer}
.filter-chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--mh-blue);color:#fff!important;font-size:12.5px;font-weight:700;padding:5px 11px;border-radius:999px;text-decoration:none!important}
.chip span{opacity:.75}
.chip:hover span{opacity:1}
.facet-opt{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13.5px;color:var(--g-700);text-decoration:none!important}
.facet-opt .facet-box{width:16px;height:16px;border:1.5px solid var(--g-300);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;color:#fff;flex:none}
.facet-opt.on .facet-box{background:var(--mh-blue);border-color:var(--mh-blue)}
.facet-opt.on{font-weight:700;color:var(--mh-blue)}
/* v63.18: Brand facet — logo-only option (name lives in title/aria-label) */
.facet-brand-logo{height:22px;max-width:110px;width:auto;object-fit:contain;display:inline-block}
.facet-brand.on .facet-brand-logo{filter:none}
.facet-clear{display:inline-block;margin-top:12px;font-size:12.5px;font-weight:700;color:var(--mh-blue)}
.no-results{padding:40px 0;color:var(--g-500);font-size:14px}

/* ===== Blog / article v2 ===== */
.post-article{max-width:860px;padding-bottom:48px}
.post-head h1{font-size:30px;line-height:1.25}
.post-byline{color:var(--g-500);font-size:13px;margin:10px 0 22px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.post-byline .dot{opacity:.5}
.post-hero{margin:0 0 26px}
.post-hero img{width:100%;height:auto;border-radius:10px;display:block}
.post-body{border:none;padding:0;font-size:15.5px;line-height:1.75}
.post-body h2{margin:30px 0 12px;font-size:22px}
.post-body h3{margin:22px 0 10px;font-size:18px}
.post-body p{margin-bottom:14px}
.post-body img{max-width:100%;height:auto;border-radius:8px;margin:10px 0}
.post-body ul,.post-body ol{margin:0 0 14px 22px}
.post-body li{margin-bottom:6px}
.post-cta{background:linear-gradient(120deg,var(--mh-blue),#003e6e);border-radius:12px;color:#fff;padding:28px;margin:34px 0}
.post-cta h2{color:#fff;font-size:20px;margin-bottom:6px}
.post-cta p{opacity:.9;font-size:14px;margin-bottom:16px}
.post-cta-actions{display:flex;gap:10px;flex-wrap:wrap}
.post-cta .btn-outline{background:transparent;color:#fff!important;border-color:#fff}
.post-related h2{font-size:20px;margin-bottom:14px}
.post-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.post-card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--g-200);border-radius:10px;padding:16px;text-decoration:none!important;color:var(--g-900);background:#fff;transition:box-shadow .15s}
.post-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.08)}
.post-card strong{font-size:14.5px;line-height:1.4}
.post-card span{font-size:12.5px;color:var(--g-500)}
.blog-index{max-width:1100px}
.blog-index-sub{color:var(--g-500);margin:6px 0 24px;font-size:14.5px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.blog-card{border:1px solid var(--g-200);border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .15s}
.blog-card:hover{box-shadow:0 8px 22px rgba(0,0,0,.09)}
.blog-card-img img{width:100%;height:190px;object-fit:cover;display:block}
.blog-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.blog-card h2{font-size:16.5px;line-height:1.35}
.blog-card h2 a{color:var(--g-900);text-decoration:none}
.blog-card h2 a:hover{color:var(--mh-blue)}
.blog-card-date{color:var(--g-500);font-size:12px}
.blog-card-excerpt{color:var(--g-700);font-size:13.5px;line-height:1.55;flex:1}
.blog-card-more{font-size:13px;font-weight:800;color:var(--mh-blue);text-decoration:none}
@media(max-width:900px){
  .post-related-grid,.blog-grid{grid-template-columns:1fr}
  .sortwrap{margin-left:0;width:100%}
}
.seo-rel-links{columns:2;list-style:none;margin:8px 0 0!important;padding:0}.seo-rel-links li{margin-bottom:6px}.seo-block h2{font-size:20px;margin-bottom:10px}.seo-block h3{font-size:16px;margin:18px 0 8px}.seo-block ul{margin:0 0 12px 20px}.seo-block li{margin-bottom:5px;font-size:14px}

/* ===== Phase A: attribute facets + compare ===== */
.facet-unit{font-weight:600;text-transform:none;letter-spacing:0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.compare-pick{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:var(--g-500);cursor:pointer;font-weight:600}
.compare-pick input{accent-color:var(--mh-blue);width:14px;height:14px;cursor:pointer}
#compare-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:2px solid var(--mh-blue);box-shadow:0 -4px 16px rgba(16,24,40,.12);padding:10px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
.compare-bar-label{font-weight:800;color:var(--mh-blue)}
.compare-item{background:var(--g-100);border-radius:999px;padding:4px 10px;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.compare-x{border:0;background:none;cursor:pointer;color:var(--g-500);font-size:12px;padding:0 2px;line-height:1}
.compare-x:hover{color:#991B1B}
.compare-go{padding:7px 18px!important;font-size:13px!important}
.compare-hint{color:var(--g-500);font-style:italic}
.compare-clear{border:0;background:none;cursor:pointer;color:var(--g-500);font-weight:700;text-decoration:underline;font-size:12.5px;margin-left:auto}
.compare-wrap{overflow-x:auto;margin-top:18px;border:1px solid var(--g-200);border-radius:var(--radius)}
.compare-table{border-collapse:collapse;width:100%;font-size:13.5px;background:#fff}
.compare-table th,.compare-table td{padding:10px 14px;border-bottom:1px solid var(--g-200);text-align:left;vertical-align:top;min-width:170px}
.compare-table thead th{background:var(--g-50,#f9fafb);vertical-align:bottom}
.compare-table tbody th[scope=row]{font-weight:700;color:var(--g-500);white-space:nowrap;background:var(--g-50,#f9fafb);min-width:150px}
.compare-table tbody tr:nth-child(even) td{background:#FCFCFD}
.compare-phead{display:grid;gap:8px;justify-items:start;color:var(--g-900);font-weight:700;text-decoration:none;max-width:220px}
.compare-phead img{object-fit:contain;background:#fff;border:1px solid var(--g-200);border-radius:8px}
.compare-phead:hover span{color:var(--mh-blue)}
.compat-note{font-size:13px;color:var(--g-500);margin:-6px 0 12px}

/* ---------- Selection tools (/tools/) ---------- */
.tool-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.tool-card{display:block;border:1px solid var(--g-200,#E5E7EB);border-radius:10px;padding:22px;text-decoration:none;color:inherit;background:#fff;transition:box-shadow .15s,border-color .15s}
.tool-card:hover{border-color:#00599c;box-shadow:0 4px 14px rgba(0,89,156,.12)}
.tool-card h2{font-size:19px;color:#00599c;margin:0 0 8px}
.tool-card p{font-size:14px;color:var(--g-700,#374151);margin:0 0 12px}
.tool-cta{font-weight:700;font-size:14px;color:#00599c}
.tool-form{border:1px solid var(--g-200,#E5E7EB);border-radius:10px;padding:20px;background:var(--g-50,#F9FAFB);margin-bottom:26px}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-bottom:16px}
.tool-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--g-700,#374151)}
.tool-grid .req{color:#991B1B}
.tool-verdict{border-left:4px solid #00599c;background:#EFF6FF;border-radius:0 8px 8px 0;padding:14px 18px;margin:0 0 8px}
.tool-verdict p{margin:4px 0;font-size:15px}
.tool-verdict .muted{color:var(--g-500,#6B7280);font-size:13px;font-weight:400}
.tool-result{margin:22px 0}
.tool-result h2{font-size:20px;margin-bottom:10px}
.tool-notes{margin-top:34px;border-top:1px solid var(--g-200,#E5E7EB);padding-top:22px}
.tool-notes h2{font-size:20px;margin-bottom:12px}
.tool-notes ol{padding-left:22px;display:grid;gap:10px;font-size:15px;color:var(--g-700,#374151)}

/* ---------- API docs ---------- */
.api-docs section{margin-top:34px}
.api-docs h2{font-size:21px;margin-bottom:12px}
.api-docs h3{font-size:16px;margin:18px 0 8px}
.api-code{background:#0F172A;color:#E2E8F0;border-radius:8px;padding:14px 16px;overflow-x:auto;font-size:13px;line-height:1.55;margin:10px 0}
.api-table{width:100%;border-collapse:collapse;font-size:14px;margin:10px 0}
.api-table th,.api-table td{border:1px solid var(--g-200,#E5E7EB);padding:8px 12px;text-align:left;vertical-align:top}
.api-table th{background:var(--g-50,#F9FAFB);font-weight:700}
.api-table code,.api-docs p code,.api-docs li code{background:var(--g-100,#F3F4F6);border-radius:4px;padding:1px 5px;font-size:13px}
.api-docs ul{padding-left:22px;display:grid;gap:8px;font-size:15px;color:var(--g-700,#374151)}
.tool-notes a,.tool-verdict a,.tool-result p a:not(.btn),.container.section > p a{text-decoration:underline}

/* ---------- Brand pages v2 ---------- */
.bhero{display:flex;align-items:center;gap:22px;padding:26px 28px;margin-top:14px;border:1px solid var(--g-200);border-radius:10px;background:linear-gradient(120deg,var(--mh-blue-pale),#fff 55%);flex-wrap:wrap}
.bhero-badge{flex:0 0 auto}
.bhero-mono{display:flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:12px;background:var(--mh-blue);color:#fff;font-size:32px;font-weight:800;letter-spacing:1px}
.bhero-logo{max-width:180px;max-height:88px;width:auto;height:auto;object-fit:contain}
.bhero-main{flex:1 1 320px;min-width:260px}
.bhero-main h1{margin:0;font-size:30px;line-height:1.15}
.bhero-tag{margin:6px 0 0;color:var(--g-700);font-size:15px}
.bhero-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.bhero-pill{display:inline-flex;align-items:center;padding:4px 11px;border:1px solid var(--g-200);border-radius:999px;background:#fff;font-size:12.5px;color:var(--g-700)}
.bhero-pill strong{color:var(--mh-blue)}
.bhero-usa{border-color:#c7ddf0;background:var(--mh-blue-light)}
.bhero-cta{display:flex;flex-direction:column;gap:10px;flex:0 0 auto}
.babout{max-width:860px;margin-top:18px;color:var(--g-700);font-size:14.5px;line-height:1.65}
.babout p{margin:0 0 10px}
.bcat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;margin-top:14px}
.bcat-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:16px 12px;border:1px solid var(--g-200);border-radius:var(--radius);background:#fff;text-decoration:none;transition:box-shadow .12s,border-color .12s}
.bcat-tile:hover{border-color:var(--mh-blue);box-shadow:var(--shadow);text-decoration:none}
.bcat-img img{width:110px;height:110px;object-fit:contain}
.bcat-name{font-weight:600;font-size:14px;color:var(--g-900)}
.bcat-tile:hover .bcat-name{color:var(--mh-blue)}
.bcat-count{font-size:12px;color:var(--g-500)}
.bline-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:14px}
.bline-card{border:1px solid var(--g-200);border-radius:var(--radius);background:#fff;padding:16px 18px}
.bline-card h3{margin:0 0 8px;font-size:15.5px}
.bline-links{list-style:none;margin:0;padding:0}
.bline-links li{margin:0}
.bline-links a{display:block;padding:4px 0;font-size:13.5px;color:var(--g-700)}
.bline-links a:hover{color:var(--mh-blue)}
.bline-all{display:inline-block;margin-top:8px;font-size:13px;font-weight:600}
.bcta{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:32px;padding:22px 26px;border-radius:10px;background:var(--mh-blue-deep);color:#fff}
.bcta h2{margin:0;color:#fff;font-size:20px}
.bcta p{margin:6px 0 0;color:#cfe2f2;font-size:14px;max-width:520px}
.bidx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.bidx-card{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--g-200);border-radius:var(--radius);background:#fff;text-decoration:none;transition:box-shadow .12s,border-color .12s}
.bidx-card:hover{border-color:var(--mh-blue);box-shadow:var(--shadow);text-decoration:none}
.bidx-mark .bhero-mono{width:56px;height:56px;font-size:20px;border-radius:9px}
.bidx-mark .bhero-logo{max-width:96px;max-height:56px}
.bidx-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.bidx-name{font-weight:700;font-size:15px;color:var(--g-900)}
.bidx-card:hover .bidx-name{color:var(--mh-blue)}
.bidx-tag{font-size:12.5px;color:var(--g-500);line-height:1.35}
@media(max-width:640px){.bhero{padding:20px 18px}.bhero-main h1{font-size:24px}.bhero-cta{flex-direction:row;width:100%}}

/* ============ Phase B: Account, Auth, Checkout ============ */
.stbadge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;background:var(--g-100);color:var(--g-700);border:1px solid var(--g-300)}
.stbadge.ok{background:#e8f5ec;color:#166534;border-color:#bbe3c8}
.stbadge.warn{background:#fef6e6;color:#92600a;border-color:#f3ddb0}
.stbadge.err{background:#fdecec;color:#b42318;border-color:#f5c6c3}
.stbadge.info{background:#e8f1fa;color:#00599c;border-color:#c2dcf2}
.linkbtn{background:none;border:none;color:#00599c;font-size:13px;font-weight:600;cursor:pointer;padding:2px 0;text-decoration:underline;font-family:var(--font)}
.linkbtn.danger{color:#b42318}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.three{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
@media(max-width:640px){.two,.three{grid-template-columns:1fr}}

/* --- auth (login/register) --- */
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:920px;margin:28px auto}
@media(max-width:800px){.auth-grid{grid-template-columns:1fr}}
.auth-card{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:26px 28px;box-shadow:var(--shadow-sm)}
.auth-card h1,.auth-card h2{font-size:20px;margin:0 0 6px;color:var(--g-900)}
.auth-sub{color:var(--g-500);font-size:13.5px;margin:0 0 16px}
.auth-card label{display:block;font-size:13px;font-weight:600;color:var(--g-700);margin-top:12px}
.auth-card .btn{width:100%;margin-top:18px}

/* --- account shell --- */
.acct-grid{display:grid;grid-template-columns:230px 1fr;gap:28px;margin:26px 0 50px}
@media(max-width:800px){.acct-grid{grid-template-columns:1fr}}
.acct-nav{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:16px;align-self:start;position:sticky;top:90px}
.acct-hello{font-size:13.5px;color:var(--g-700);padding-bottom:12px;border-bottom:1px solid var(--g-200);margin-bottom:10px}
.acct-hello span{display:block;color:var(--g-500);font-size:12px}
.acct-nav a{display:block;padding:8px 10px;border-radius:var(--radius);color:var(--g-700);font-size:14px;text-decoration:none;font-weight:500}
.acct-nav a:hover{background:var(--g-100)}
.acct-nav a.on{background:#e8f1fa;color:#00599c;font-weight:700}
.acct-logout{background:none;border:1px solid var(--g-300);border-radius:var(--radius);width:100%;padding:7px;font-size:13px;color:var(--g-600);cursor:pointer;font-family:var(--font)}
.acct-logout:hover{border-color:#b42318;color:#b42318}
.acct-main h1{font-size:22px;margin:0 0 14px}
.acct-main h2{font-size:16.5px;margin:26px 0 10px}
.acct-msg{padding:11px 16px;border-radius:var(--radius);font-size:14px;font-weight:600;margin-bottom:16px}
.acct-msg.ok{background:#e8f5ec;color:#166534;border:1px solid #bbe3c8}
.acct-msg.err{background:#fdecec;color:#b42318;border:1px solid #f5c6c3}
.acct-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:6px}
.acct-card{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:14px 18px}
.acct-card .l{font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--g-500);font-weight:700}
.acct-card .v{font-size:18px;font-weight:800;color:var(--g-900);margin-top:4px}
.acct-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--g-200);border-radius:var(--radius);overflow:hidden;font-size:13.5px}
.acct-table th{text-align:left;background:var(--g-50,#f8fafc);color:var(--g-600);font-size:12px;text-transform:uppercase;letter-spacing:.4px;padding:9px 12px;border-bottom:1px solid var(--g-200)}
.acct-table td{padding:10px 12px;border-bottom:1px solid var(--g-100);vertical-align:middle}
.acct-table tr:last-child td{border-bottom:none}
.buyagain{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.ba-item{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:13px 15px;display:flex;flex-direction:column;gap:4px}
.ba-name{font-weight:600;font-size:13.5px;color:var(--g-900);line-height:1.35}
.ba-sku{font-size:12px;color:var(--g-500)}
.ba-add{margin-top:8px;align-self:flex-start}

/* --- addresses --- */
.addr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:20px}
.addr-card{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:15px 17px;font-size:13.5px;line-height:1.55;color:var(--g-700);position:relative}
.addr-card .stbadge{position:absolute;top:12px;right:12px}
.addr-card .actions{display:flex;gap:14px;margin-top:10px}
.addr-form{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:20px 22px;max-width:640px}
.addr-form label{display:block;font-size:13px;font-weight:600;color:var(--g-700);margin-top:10px}
.addr-form .opt{color:var(--g-400);font-weight:400}
.addr-form .btn{margin-top:16px}

/* --- saved lists --- */
.list-card{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:16px}
.list-head{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.list-head strong{font-size:15.5px}
.list-head span{color:var(--g-500);font-size:12.5px}
.list-head form,.list-head .btn{margin-left:auto}
.list-head form+form{margin-left:0}
.pdp-savelist{margin-top:8px;font-size:13px}

/* --- order detail --- */
.ord-totals{max-width:340px;margin-left:auto;margin-top:14px;background:#fff;border:1px solid var(--g-200);border-radius:var(--radius);padding:12px 16px;font-size:14px}
.ord-totals>div{display:flex;justify-content:space-between;padding:4px 0}
.ord-totals .grand{font-weight:800;font-size:16px;border-top:2px solid var(--g-900);margin-top:6px;padding-top:8px}

/* --- checkout --- */
.co-signin{background:#e8f1fa;border:1px solid #c2dcf2;border-radius:var(--radius);padding:11px 16px;font-size:13.5px;color:#0b4a7a;margin:18px 0 4px}
/* v65.4 tax-exempt transparency banner at checkout */
.co-taxinfo{display:flex;gap:12px;align-items:flex-start;background:#F8FAFC;border:1px solid #E2E8F0;border-radius:var(--radius);padding:12px 16px;font-size:13px;color:#334155;line-height:1.55;margin:10px 0 4px}
.co-taxinfo a{color:#00599C;font-weight:600}
.co-taxinfo-ic{font-size:18px;line-height:1.3;flex:none}
.co-taxinfo.pending{background:#FFFAEB;border-color:#F9DBAF;color:#7A4A0B}
.co-taxinfo.pending a{color:#B54708}
.co-grid{display:grid;grid-template-columns:1fr 360px;gap:26px;margin:22px 0 60px;align-items:start}
@media(max-width:900px){.co-grid{grid-template-columns:1fr}.co-side{order:-1}}
/* v68.20: mobile sticky Place Order bar — summary sits above the form on
 * phones, so the real button ends up a full page-scroll away after the buyer
 * fills in their info. Desktop never shows it. */
.co-stickybar{display:none}
@media(max-width:900px){
  .co-stickybar:not([hidden]){display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1100;
    align-items:center;gap:14px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:#fff;border-top:1.5px solid var(--g-200);box-shadow:0 -4px 18px rgba(0,0,0,.10)}
  .co-stickybar .btn{flex:1;padding:12px 10px;font-size:15px}
  .co-stick-tot{display:flex;flex-direction:column;line-height:1.15;min-width:86px}
  .co-stick-tot span{font-size:11px;color:var(--g-500);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
  .co-stick-tot strong{font-size:17px;color:var(--g-900)}
  /* lift the chat bubble clear of the sticky bar */
  body.co-stick-on #mh-chat-launch{bottom:88px}
}
.co-card{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:18px}
.co-card h2{font-size:16px;margin:0 0 12px;color:var(--g-900)}
.co-card h3{font-size:16px;margin:0 0 12px}
.co-card label{display:block;font-size:13px;font-weight:600;color:var(--g-700);margin-top:10px}
.co-addrpick{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.co-addr{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--g-200);border-radius:var(--radius);padding:11px 14px;cursor:pointer;font-size:13.5px;line-height:1.5;font-weight:400!important;margin-top:0!important}
.co-addr:has(input:checked){border-color:#00599c;background:#f4f9fe}
.co-addr input{margin-top:3px}
#new-addr[data-collapsed]{display:none}
.co-pay{display:flex;flex-direction:column;gap:8px}
.co-payopt{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--g-200);border-radius:var(--radius);padding:12px 14px;cursor:pointer;font-size:13.5px;line-height:1.5;font-weight:400!important;margin-top:0!important}
.co-payopt:has(input:checked){border-color:#00599c;background:#f4f9fe}
.co-payopt.off{opacity:.55;cursor:not-allowed}
.co-payopt input{margin-top:3px}
.co-payopt > span > strong{display:flex;align-items:center;flex-wrap:wrap}
.co-payopt em strong{display:inline;font-style:normal}
.co-payopt small{color:var(--g-500)}
.co-side .co-card{position:sticky;top:90px}
.co-items{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:10px}
.co-items td{padding:6px 0;border-bottom:1px solid var(--g-100);vertical-align:top}
.co-items td:last-child{text-align:right;white-space:nowrap;font-weight:600}
.co-items .q{color:var(--g-500);margin-left:6px;font-weight:400}
.co-tot{display:flex;justify-content:space-between;font-size:13.5px;padding:4px 0;color:var(--g-700)}
.co-tot.grand{font-weight:800;font-size:17px;color:var(--g-900);border-top:2px solid var(--g-900);margin-top:6px;padding-top:9px}
.co-fine{font-size:11.5px;color:var(--g-500);line-height:1.55;margin:12px 0 0}
.co-side .btn{width:100%;margin-top:12px}
/* ---- Checkout v2 polish (matches cart v2) ---- */
.co-v2 .cart-head h1{font-size:26px;margin:0}
.co-lock{font-size:18px;vertical-align:2px;margin-left:2px}
.co-step{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#00599c;color:#fff;border-radius:50%;font-size:12.5px;font-weight:800;margin-right:8px;vertical-align:-4px}
.co-v2 .co-card{box-shadow:0 1px 3px rgba(15,23,42,.05)}
.co-v2 .co-card h2{display:flex;align-items:center;font-size:16.5px}
.co-summary h2{justify-content:space-between}
.co-sum-count{font-size:12px;font-weight:600;color:var(--g-500)}
.co-itemlist{max-height:320px;overflow-y:auto;margin-bottom:10px;border-bottom:1px solid var(--g-100)}
.co-item{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--g-100)}
.co-item:last-child{border-bottom:none}
.co-item-img{width:52px;height:52px;border-radius:8px;object-fit:contain;background:#fff;border:1px solid var(--g-200);flex:0 0 auto}
span.co-item-ph{display:inline-flex;align-items:center;justify-content:center;font-size:22px}
.co-item-body{flex:1;min-width:0}
.co-item-name{display:block;font-size:12.5px;font-weight:600;color:var(--g-900);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.co-item-meta{display:block;font-size:11.5px;color:var(--g-500);margin-top:2px}
/* v68.17: manufacturer lead time on checkout lines + order-level banner */
.co-item-lead{display:inline-block;font-size:11px;font-weight:600;color:#92400E;background:#FEF3C7;border:1px solid #FDE68A;border-radius:999px;padding:1px 8px;margin-top:3px}
.co-leadbanner{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:#92400E;background:#FFFBEB;border:1px solid #FDE68A;border-radius:8px;padding:10px 12px;margin:10px 0 2px}
.co-leadbanner a{color:#92400E;font-weight:700}
.co-item-price{font-size:13px;white-space:nowrap}
.co-v2 .cart-cta{margin-top:14px}
.co-coupon-d{margin-top:12px;font-size:13px}
.co-coupon-d summary{cursor:pointer;color:#00599c;font-weight:600;font-size:12.5px}
.co-coupon-d .cart-coupon-row{display:flex;gap:8px}
.co-coupon-d .cart-coupon-row .finput{flex:1;margin:0}
.co-v2 .cart-accepts{margin-top:12px}
/* checkout live freight */
.co-fr-hint{font-size:12.5px;color:var(--g-500);line-height:1.55;margin:0}
.co-fr-picked{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1.5px solid #00599c;background:#f4f9fe;border-radius:var(--radius);padding:12px 14px;font-size:13.5px;line-height:1.5}
.co-fr-picked em{color:var(--g-500);font-style:normal}
label.co-fr-opt{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--g-200);border-radius:var(--radius);padding:11px 14px;cursor:pointer;font-size:13.5px;line-height:1.45;font-weight:400!important;margin:0 0 8px!important}
.co-fr-opt:has(input:checked){border-color:#00599c;background:#f4f9fe}
.co-fr-opt input{margin-top:3px}
.co-fr-opt > span:not(.frp){flex:1}
.co-fr-opt .frp{margin-left:auto;font-weight:800;white-space:nowrap;color:var(--g-900);font-size:14.5px}
.co-fr-best{display:inline-block;background:#00599c;color:#fff;font-size:10px;font-weight:800;letter-spacing:.5px;border-radius:99px;padding:2px 8px;margin-left:6px;vertical-align:2px}
.co-fr-logo{width:30px;height:30px;border-radius:7px;object-fit:contain;background:#fff;border:1px solid var(--g-200);padding:2px;flex:0 0 auto;margin-top:1px}
span.co-fr-logo-ph{display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;flex:0 0 30px!important;width:30px;height:30px}
.co-fr-picked .co-fr-logo{width:34px;height:34px}
.co-fr-picked > div{flex:1}
.co-fr-toggle{display:block;width:100%;background:#fff;border:1.5px dashed var(--g-300);border-radius:var(--radius);padding:9px 12px;font-size:13px;font-weight:700;color:#00599c;cursor:pointer;margin:2px 0 8px}
.co-fr-toggle:hover{border-color:#00599c;background:#f4f9fe}
#co-fr-more[hidden]{display:none}
/* per-vendor freight groups (multi-origin) */
.co-frgroup{border:1px solid var(--g-200);border-radius:10px;padding:12px 14px;margin-bottom:12px;background:#fff}
.co-frgroup[data-selected]:not([data-selected=""]){border-color:#bfdcf0;background:#fcfeff}
.co-frg-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-bottom:9px;margin-bottom:10px;border-bottom:1px dashed var(--g-200)}
.co-frg-logo{height:22px;max-width:88px;object-fit:contain;background:#fff;border:1px solid var(--g-200);border-radius:5px;padding:2px 6px}
.co-frg-mono{display:inline-flex;align-items:center;justify-content:center;width:26px;height:22px;font-size:10px;font-weight:800;color:#fff;background:linear-gradient(135deg,#00599c,#0079c8);border-radius:5px}
.co-frg-name{font-weight:800;font-size:13.5px;color:var(--g-900)}
.co-frg-from{font-size:11.5px;font-weight:600;color:#00599c;background:#eaf3fa;border-radius:99px;padding:3px 9px;white-space:nowrap}
.co-frg-count{font-style:normal;font-size:11px;color:var(--g-500);margin-left:auto;white-space:nowrap}
.co-frg-ok{font-size:11px;font-weight:800;color:#15803D;background:#DCFCE7;border-radius:99px;padding:3px 9px;white-space:nowrap}
.co-frgroup .co-fr-picked{margin:0}
.co-frgroup .co-frg-results > .co-fr-opt:last-of-type{margin-bottom:0!important}
.co-fr-multi{display:inline-block;font-size:12px;font-weight:600;color:#00599c;background:#eaf3fa;border-radius:99px;padding:3px 10px;margin-left:8px;vertical-align:2px;letter-spacing:0;text-transform:none}
.co-fr-more[hidden]{display:none}
/* per-vendor freight line in order summary */
.co-vgship{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--g-500);padding:4px 0 8px;border-bottom:1px dashed var(--g-200);margin-bottom:8px}
.co-vgship .q{font-style:normal;color:var(--g-400)}
.co-vgship strong{color:var(--g-900)}
/* per-shipment freight on confirmation cards */
.conf-ship-fr{display:block;font-size:11.5px!important;font-weight:700;color:#00599c!important;margin-top:2px}
.fr-mini-row > span:first-child{display:inline-flex;align-items:center;gap:7px}
.fr-mini-logo{width:20px;height:20px;border-radius:5px;object-fit:contain;background:#fff;border:1px solid var(--g-200);padding:1px;flex:0 0 auto}
span.fr-mini-logo-ph{display:inline-flex;align-items:center;justify-content:center;font-size:13px;border:none;background:transparent}
.co-fr-zip{display:flex;gap:8px;align-items:flex-end;margin-bottom:10px}
.co-fr-zip .finput{max-width:130px}

/* ============ Sidecart drawer ============ */
.sc-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:998;opacity:0;transition:opacity .22s}
.sc-overlay.open{opacity:1}
.sidecart{position:fixed;top:0;right:0;bottom:0;width:min(430px,94vw);background:#fff;z-index:999;display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(15,23,42,.18);transform:translateX(102%);transition:transform .26s cubic-bezier(.4,0,.2,1)}
.sidecart.open{transform:translateX(0)}
.sc-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--g-200);background:#00599c;color:#fff}
.sc-head h2{margin:0;font-size:16px;font-weight:800;color:#fff}
.sc-n{background:#fff;color:#00599c;font-size:11.5px;font-weight:800;border-radius:99px;padding:2px 9px;margin-left:8px;vertical-align:1px}
.sc-close{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:4px 8px;line-height:1}
.sc-body{flex:1;overflow-y:auto;padding:14px 20px}
.sc-item{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--g-100,#f1f5f9)}
.sc-item img{width:58px;height:58px;object-fit:contain;border:1px solid var(--g-200);border-radius:8px;background:#fff;flex-shrink:0}
.sc-item .nm{font-size:13px;font-weight:600;line-height:1.35;color:var(--g-900)}
.sc-item .nm a{color:inherit;text-decoration:none}
.sc-item .meta{font-size:11.5px;color:var(--g-500);margin-top:2px}
.sc-item .pr{margin-left:auto;text-align:right;white-space:nowrap;font-weight:800;font-size:13.5px}
.sc-qty{display:inline-flex;align-items:center;gap:0;border:1px solid var(--g-300,#cbd5e1);border-radius:7px;margin-top:6px;overflow:hidden}
.sc-qty button{background:#f8fafc;border:none;width:26px;height:26px;font-size:14px;cursor:pointer;color:var(--g-700)}
.sc-qty span{min-width:30px;text-align:center;font-size:12.5px;font-weight:700}
.sc-rm{background:none;border:none;color:#b42318;font-size:11px;cursor:pointer;padding:0;margin-top:5px;display:block}
.sc-rel{margin-top:16px}
.sc-rel h3{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--g-500);margin:0 0 10px}
.sc-rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sc-rel-card{border:1px solid var(--g-200);border-radius:9px;padding:10px;text-align:center;font-size:12px;line-height:1.35}
.sc-rel-card img{width:100%;height:72px;object-fit:contain;margin-bottom:6px}
.sc-rel-card .nm{display:block;color:var(--g-900);font-weight:600;text-decoration:none;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:32px}
.sc-rel-card .pr{font-weight:800;color:#00599c;display:block;margin:4px 0 6px}
.sc-rel-card button{background:#fff;border:1.5px solid #00599c;color:#00599c;border-radius:7px;font-size:11.5px;font-weight:700;padding:5px 10px;cursor:pointer;width:100%}
.sc-rel-card button:hover{background:#00599c;color:#fff}
.sc-foot{border-top:1px solid var(--g-200);padding:14px 20px 18px;background:#fff}
.sc-sub{display:flex;justify-content:space-between;font-size:14.5px;font-weight:800;margin-bottom:4px}
.sc-note{font-size:11px;color:var(--g-500);margin:0 0 10px}
.sc-foot .btn{width:100%;display:block;text-align:center}
.sc-foot .btn+ .btn{margin-top:8px}
.sc-empty{text-align:center;color:var(--g-500);padding:40px 0;font-size:14px}
@media (max-width:560px){.sc-rel-grid{grid-template-columns:1fr 1fr}}

/* ============ Business Portal v2 ============ */
/* sidebar groups + customer number */
.acct-sec{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.9px;color:var(--g-400,#94a3b8);margin:14px 0 3px;padding:0 10px}
.acct-cnum{display:block;color:#00599c!important;font-size:11.5px!important;font-weight:700;margin-top:3px}

/* hub dashboard */
.hub-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.hub-sub{color:var(--g-500);font-size:13.5px;margin:0}
.hub-badges{display:flex;gap:8px;flex-wrap:wrap}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.hub-card{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:20px 22px;transition:box-shadow .15s,border-color .15s;position:relative}
.hub-card:hover{border-color:#c2dcf2;box-shadow:0 6px 18px rgba(0,89,156,.09)}
.hub-ic{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#e8f1fa,#d5e7f6);color:#00599c;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.hub-card h2{font-size:16.5px;margin:0 0 4px}
.hub-card h2 a{color:var(--g-900);text-decoration:none}
.hub-card h2 a:hover{color:#00599c}
.hub-card>p{font-size:12.5px;color:var(--g-500);margin:0 0 10px;line-height:1.5}
.hub-card ul{list-style:none;margin:0;padding:0}
.hub-card ul li{padding:3px 0}
.hub-card ul a{font-size:13px;color:#00599c;text-decoration:none;font-weight:500}
.hub-card ul a:hover{text-decoration:underline}
.hub-team{background:linear-gradient(180deg,#f5f9fd,#fff);border-color:#c2dcf2}
.hub-member{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--g-100)}
.hub-member b{display:block;font-size:13.5px;color:var(--g-900)}
.hub-member em{display:block;font-style:normal;font-size:11.5px;color:var(--g-500)}
.hub-member a{font-size:12.5px;color:#00599c;text-decoration:none;font-weight:600}
.hub-avatar{width:38px;height:38px;border-radius:50%;background:#00599c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex:none;letter-spacing:.5px}
.hub-teamlink{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;color:#00599c;text-decoration:none}
.hub-teamlink:hover{text-decoration:underline}

/* shared portal bits */
.pg-sub{color:var(--g-500);font-size:13.5px;margin:-6px 0 18px;line-height:1.55}
.tbl-wrap{overflow-x:auto;border-radius:var(--radius)}
.empty-note{background:#fff;border:1px dashed var(--g-300);border-radius:var(--radius-lg);padding:30px 26px;text-align:center;color:var(--g-500);font-size:14px}
.empty-note p{margin:0}
.track-filter{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:18px}
.track-filter .finput{margin-top:2px}
.track-filter input[type=search]{min-width:230px}
.track-filter label{font-size:12px;font-weight:600;color:var(--g-600)}
.flabel{display:block;font-size:13px;font-weight:600;color:var(--g-700);margin-top:12px}
.fhint{display:block;font-size:11.5px;color:var(--g-500);font-weight:400;margin-top:3px;line-height:1.45}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.frow{grid-template-columns:1fr}}
.acct-panel{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:22px 24px}
.acct-panel h2{font-size:16px;margin:0 0 4px}
.acct-panel .btn{margin-top:16px}
.acct-2col{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
@media(max-width:860px){.acct-2col{grid-template-columns:1fr}}

/* reports bars */
.rep-bars{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:18px 20px;margin:14px 0 22px}
.rep-row{display:grid;grid-template-columns:76px 1fr 92px;align-items:center;gap:12px;padding:5px 0}
.rep-lbl{font-size:12.5px;font-weight:600;color:var(--g-600)}
.rep-track{background:var(--g-100);border-radius:999px;height:14px;overflow:hidden}
.rep-fill{background:linear-gradient(90deg,#00599c,#2f83c5);height:100%;border-radius:999px;min-width:2px}
.rep-val{font-size:12.5px;font-weight:700;color:var(--g-800);text-align:right}

/* favorites */
.fav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
.fav-card{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;position:relative;transition:box-shadow .15s}
.fav-card:hover{box-shadow:0 6px 16px rgba(15,23,42,.08)}
.fav-img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:var(--radius);background:#fff}
.fav-noimg{width:100%;aspect-ratio:1;border-radius:var(--radius);background:var(--g-100);display:flex;align-items:center;justify-content:center;color:var(--g-400);font-size:12px}
.fav-name{font-size:13.5px;font-weight:600;color:var(--g-900);text-decoration:none;margin-top:10px;line-height:1.4;display:block}
.fav-name:hover{color:#00599c}
.fav-meta{font-size:12px;color:var(--g-500);margin-top:3px}
.fav-foot{margin-top:auto;padding-top:10px;display:flex;gap:8px;align-items:center}
.fav-x{position:absolute;top:8px;right:8px;background:#fff;border:1px solid var(--g-200);border-radius:50%;width:26px;height:26px;color:var(--g-500);cursor:pointer;font-size:14px;line-height:1}
.fav-x:hover{color:#b42318;border-color:#f5c6c3}

/* settings toggles */
.set-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--g-100);cursor:pointer}
.set-row:last-of-type{border-bottom:none}
.set-txt strong{display:block;font-size:14px;color:var(--g-900)}
.set-check{width:20px;height:20px;accent-color:#00599c;flex:none;cursor:pointer}

/* account team page */
.team-hero{background:linear-gradient(135deg,#003a66 0%,#00599c 60%,#1272b8 100%);border-radius:var(--radius-lg);padding:38px 36px;color:#fff;margin-bottom:24px;position:relative;overflow:hidden}
.team-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:34px 34px}
.team-hero-in{position:relative;max-width:560px}
.team-kicker{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:4px 12px;margin-bottom:12px}
.team-hero h1{color:#fff;font-size:26px;margin:0 0 8px}
.team-hero p{color:#cfe3f4;font-size:14.5px;line-height:1.6;margin:0}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.team-card{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:26px 28px;box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s}
.team-card:hover{border-color:#c2dcf2;box-shadow:0 10px 26px rgba(0,89,156,.1)}
.team-top{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.team-avatar{width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,#00599c,#1272b8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;letter-spacing:1px;flex:none;box-shadow:0 4px 12px rgba(0,89,156,.25);overflow:hidden}
.team-avatar img{width:100%;height:100%;object-fit:cover}
.team-name{font-size:19px;margin:0 0 2px;color:var(--g-900)}
.team-title{font-size:13px;font-weight:700;color:#00599c;text-transform:uppercase;letter-spacing:.5px}
.team-lines{list-style:none;margin:0;padding:0;border-top:1px solid var(--g-100)}
.team-lines li{display:flex;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--g-100);font-size:13.5px;color:var(--g-700)}
.team-lines a{color:var(--g-900);text-decoration:none}
.team-lines a:hover{color:#00599c}
.tli{flex:none;width:58px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--g-400)}
.team-actions{display:flex;gap:10px;margin-top:16px}
.team-actions .btn{flex:1;text-align:center}
.team-btn2{background:#e8f1fa;color:#00599c;border:1px solid #c2dcf2}
.team-btn2:hover{background:#d5e7f6}
.team-help{margin-top:28px}
.team-help h2{font-size:18px;margin:0 0 12px}
.team-help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.team-help-card{background:#fff;border:1px solid var(--g-200);border-radius:var(--radius-lg);padding:16px 18px}
.team-help-card strong{display:block;font-size:13.5px;color:var(--g-900);margin-bottom:4px}
.team-help-card span{font-size:12.5px;color:var(--g-500);line-height:1.5}
@media(max-width:640px){.team-hero{padding:26px 22px}.team-hero h1{font-size:21px}.hub-head{align-items:flex-start}}
.pdp-saverow{display:flex;gap:18px;align-items:center}
.pdp-fav.on{color:#b42318}

/* ===== Cart page v2 (webstaurant-class) ===== */
.cart-v2 .btn-sm{padding:7px 14px;font-size:13px}
.cart-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.cart-head h1{font-size:26px;margin:0}
.cart-h-count{font-size:14px;font-weight:600;color:var(--g-500)}
.pay-brands{display:flex;gap:6px;align-items:center}
.pay-brands img{display:block;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.cart-msg{background:#fef3c7;border:1px solid #fcd34d;color:#92400e;font-size:13px;padding:9px 14px;border-radius:8px;margin:6px 0 10px}
.cart-grid{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:start;margin-top:8px}
.cart-main{min-width:0}
.cart-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cart-empty-state{padding:44px 0;text-align:center;color:var(--g-500)}
.cart-empty-state p{margin:0 0 16px;font-size:15px}
/* rows */
.cart-rows-head{display:grid;grid-template-columns:76px 1fr 110px 92px 92px 30px;gap:12px;padding:8px 4px;border-bottom:2px solid var(--g-200);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--g-500)}
.cart-rows-head .crh-qty,.cart-rows-head .crh-price,.cart-rows-head .crh-total{text-align:center}
.cart-rows-head span:first-child{grid-column:1/3}
.cart-row{display:grid;grid-template-columns:76px 1fr 110px 92px 92px 30px;gap:12px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--g-100)}
.cart-row-img{width:76px;height:76px;border:1px solid var(--g-200);border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden}
.cart-row-img img{max-width:100%;max-height:100%;object-fit:contain}
.cart-noimg{font-size:26px}
.cart-row-info{min-width:0;display:flex;flex-direction:column;gap:3px}
.cart-row-name{font-size:14px;font-weight:700;color:#00599c;text-decoration:none;line-height:1.35}
.cart-row-name:hover{text-decoration:underline}
.cart-row-sku{font-size:11.5px;color:var(--g-500)}
.cart-row-ship{font-size:11.5px;color:var(--g-700);background:var(--g-50);border:1px solid var(--g-200);border-radius:999px;padding:1px 9px;align-self:flex-start}
/* v68.17: honest manufacturer lead time on cart lines (avoid refunds) */
.cart-leadtime{display:block;font-size:11.5px;color:var(--g-500);margin-top:2px}
.cart-leadtime.warn{color:#92400E;background:#FEF3C7;border:1px solid #FDE68A;border-radius:999px;padding:1px 9px;display:inline-block;align-self:flex-start;font-weight:600}
.cart-row-qty{display:flex;align-items:center;justify-content:center;border:1px solid var(--g-300);border-radius:7px;overflow:hidden;width:104px;margin:0 auto}
.cart-row-qty button{width:28px;height:34px;background:var(--g-50);border:none;font-size:16px;cursor:pointer;color:var(--g-700)}
.cart-row-qty button:hover{background:#e8f1fa;color:#00599c}
.cart-row-qty input{width:44px;height:34px;border:none;border-left:1px solid var(--g-200);border-right:1px solid var(--g-200);text-align:center;font-size:14px;font-weight:700;-moz-appearance:textfield}
.cart-row-qty input::-webkit-outer-spin-button,.cart-row-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cart-row-price{text-align:center;font-size:13.5px;color:var(--g-700)}
.crp-each{display:block;font-size:10.5px;color:var(--g-500)}
.cart-row-total{text-align:center;font-size:15px;font-weight:800;color:var(--g-900)}
.cart-row-rm{background:none;border:none;color:var(--g-500);font-size:14px;cursor:pointer;padding:4px}
.cart-row-rm:hover{color:#b42318}
/* recommendations */
.cart-reco{margin-top:26px;border:1px solid var(--g-200);border-radius:10px;padding:16px 18px;background:#fff}
.cart-reco h2{font-size:15px;margin:0 0 12px}
.cart-reco-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.cart-reco-card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--g-100);border-radius:8px;padding:10px;background:#fff}
.crc-img{height:96px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.crc-img img{max-width:100%;max-height:100%;object-fit:contain}
.crc-name{font-size:12px;font-weight:700;color:#00599c;text-decoration:none;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:32px}
.crc-name:hover{text-decoration:underline}
.crc-price{font-size:13.5px;font-weight:800;color:var(--g-900)}
.crc-price em{font-style:normal;font-size:10.5px;font-weight:600;color:var(--g-500)}
.cart-reco-card .btn{margin-top:auto;text-align:center}
/* sidebar */
.cart-side{position:sticky;top:14px;display:flex;flex-direction:column;gap:14px}
.cart-card{background:#fff;border:1px solid var(--g-200);border-radius:10px;padding:16px 18px}
.cart-subrow{display:flex;justify-content:space-between;align-items:baseline;font-size:14px}
.cart-subrow strong{font-size:22px;color:var(--g-900)}
.cart-coupon-note{margin-top:8px;font-size:12px;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:7px;padding:7px 10px}
.cart-shipsto{margin-top:12px;border-top:1px solid var(--g-100);padding-top:12px}
.cart-shipsto-head{font-size:12px;font-weight:800;color:var(--g-700);margin-bottom:8px}
.cart-shipsto-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cart-shipsto label{font-size:11px;font-weight:700;color:var(--g-500);display:flex;flex-direction:column;gap:3px}
.cart-shipsto input,.cart-shipsto select{padding:7px 9px;border:1px solid var(--g-300);border-radius:7px;font-size:13px;font-family:var(--font)}
.cart-lift{flex-direction:row!important;align-items:center;gap:6px!important;margin-top:8px;font-weight:600!important;font-size:12px!important}
.cart-shipsto .linkbtn{margin-top:8px;font-size:12.5px}
.fr-mini{margin-top:10px;border:1px solid var(--g-200);border-radius:8px;overflow:hidden}
.fr-mini-row{display:flex;justify-content:space-between;gap:8px;padding:7px 10px;font-size:12.5px;border-bottom:1px solid var(--g-100);align-items:center}
.fr-mini-row:last-child{border-bottom:none}
.fr-mini-row.best{background:#f0f6fc}
.fr-mini-row strong{font-weight:800}
.fr-best{font-style:normal;background:#00599c;color:#fff;font-size:9px;font-weight:800;padding:1px 6px;border-radius:999px;vertical-align:middle}
.fr-err{color:#B91C1C;font-size:12.5px;margin:8px 0 0}
.fr-note{color:var(--g-500);font-size:11.5px;margin:8px 0 0}
.cart-cta{display:block;text-align:center;margin-top:14px;padding:13px;font-size:15px;font-weight:800;background:#f68121;border-color:#f68121}
.cart-cta:hover{background:#e0731a;border-color:#e0731a}
.cart-secure{font-size:11px;color:var(--g-500);margin:8px 0 0;text-align:center}
.co-item-noret{display:block;font-size:11px;color:#b42318;font-weight:600;margin-top:2px}
/* v68.26.2: checkout trust badges — quiet, text-based (no fake seals) */
.co-trustrow{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--g-100,#F1F5F9)}
.co-trustrow span{font-size:11px;color:var(--g-500);white-space:nowrap}
.co-trustrow a{color:inherit;text-decoration:underline}
.cart-coupon-row{display:flex;gap:8px;margin-top:6px}
.cart-coupon-row input{flex:1;padding:8px 10px;border:1px solid var(--g-300);border-radius:7px;font-size:13px}
.cart-help strong{font-size:13.5px}
.cart-help p{font-size:12.5px;color:var(--g-500);margin:5px 0 10px}
.cart-help .btn{display:block;text-align:center;margin-bottom:8px}
.cart-phone{display:block;text-align:center;font-size:15px;font-weight:800;color:#00599c;text-decoration:none;margin:4px 0 2px}
@media(max-width:860px){
  .cart-grid{grid-template-columns:1fr}
  .cart-side{position:static}
  .cart-rows-head{display:none}
  .cart-row{grid-template-columns:64px 1fr;grid-template-areas:"img info" "img qtyline";row-gap:8px}
  .cart-row-img{grid-area:img;width:64px;height:64px}
  .cart-row-info{grid-area:info}
  .cart-row-qty{grid-area:qtyline;margin:0;justify-self:start}
  .cart-row-price{display:none}
  .cart-row-total{grid-area:qtyline;justify-self:end;align-self:center}
  .cart-row-rm{grid-area:info;justify-self:end;align-self:start}
}

/* Cart/checkout polish: real card art + Stripe financing messaging */
.cart-financing{margin-top:10px;min-height:0}
.cart-financing:not([hidden]){border-top:1px dashed var(--g-200);padding-top:10px}
.cart-accepts{display:flex;gap:6px;justify-content:center;margin-top:10px}
.cart-accepts img{display:block;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.co-cardrow{display:inline-flex;gap:4px;vertical-align:middle;margin-left:8px}
.co-cardrow img{display:block;border-radius:3px;box-shadow:0 1px 1px rgba(0,0,0,.12)}
.co-financing{display:block;margin-top:8px}
.co-financing:empty{display:none}
.co-payopt > span{flex:1;min-width:0}
.co-financing{min-height:0;overflow:visible}
.co-financing iframe{max-width:100%}

/* ═══════ Multi-vendor factory-direct shipments — cart / checkout / orders ═══════ */
/* Multi-shipment banner (cart) */
.cart-multiship{display:flex;align-items:center;gap:14px;padding:14px 18px;margin-bottom:16px;border-radius:12px;background:linear-gradient(135deg,#eaf3fa 0%,#f2f8fd 55%,#fff 100%);border:1px solid #cbe0f0;box-shadow:0 2px 8px rgba(0,89,156,.07)}
.cart-multiship .cms-icon{font-size:26px;filter:drop-shadow(0 2px 3px rgba(0,89,156,.18))}
.cart-multiship strong{display:block;color:#00599c;font-size:14.5px}
.cart-multiship span{display:block;font-size:12.5px;color:var(--g-600,#475569);margin-top:2px}

/* Vendor group section (cart page) */
.vendor-group{border:1px solid var(--g-200,#E2E8F0);border-radius:14px;overflow:hidden;margin-bottom:18px;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.05);transition:box-shadow .2s}
.vendor-group:hover{box-shadow:0 4px 18px rgba(0,89,156,.1)}
.vg-head{display:flex;align-items:center;gap:14px;padding:13px 18px;background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:2px solid #00599c1a;position:relative}
.vg-head::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#00599c,#0079c8)}
.vg-logo{width:auto;max-width:120px;height:34px;object-fit:contain;background:#fff;border:1px solid var(--g-200,#E2E8F0);border-radius:8px;padding:3px 8px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.vg-mono{display:inline-flex;align-items:center;justify-content:center;width:40px;height:34px;font-size:14px;font-weight:800;color:#fff;background:linear-gradient(135deg,#00599c,#0079c8);border-radius:8px;letter-spacing:.5px}
.vg-meta{flex:1;min-width:0}
.vg-name{display:block;font-weight:800;font-size:15px;color:var(--g-900,#0F172A);letter-spacing:-.01em}
.vg-sub{display:block;font-size:11.5px;color:#00599c;font-weight:600;margin-top:1px}
.vg-sub::before{content:"🏭 ";font-size:11px}
.vg-tot{text-align:right}
.vg-count{display:block;font-size:11.5px;color:var(--g-500,#64748B)}
.vg-sum{display:block;font-weight:800;font-size:15px;color:var(--g-900,#0F172A)}
.vendor-group .cart-rows-head{margin:0;border-radius:0}
.vendor-group .cart-row:last-child{border-bottom:none}

/* Sidecart drawer vendor headers */
.sc-vghead{display:flex;align-items:center;gap:9px;padding:9px 2px 7px;margin-top:8px;border-bottom:2px solid #00599c22}
.sc-vghead:first-child{margin-top:0}
.sc-vghead img{height:22px;max-width:84px;object-fit:contain;background:#fff;border:1px solid var(--g-200,#E2E8F0);border-radius:5px;padding:2px 5px}
.sc-vgmono{display:inline-flex;align-items:center;justify-content:center;width:26px;height:22px;font-size:10.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#00599c,#0079c8);border-radius:5px}
.sc-vghead span{font-weight:800;font-size:12.5px;color:var(--g-900,#0F172A)}
.sc-vghead em{font-style:normal;font-size:10.5px;color:#00599c;font-weight:600;margin-left:auto}

/* Checkout summary vendor grouping */
.co-multiship{font-size:12.5px;color:var(--g-700,#334155);background:linear-gradient(135deg,#eaf3fa,#f6fafd);border:1px solid #cbe0f0;border-radius:9px;padding:9px 12px;margin-bottom:10px}
.co-multiship strong{color:#00599c}
.co-vghead{display:flex;align-items:center;gap:8px;padding:8px 0 6px;border-bottom:2px solid #00599c1c;margin-top:6px}
.co-vghead:first-child{margin-top:0}
.co-vghead img{height:20px;max-width:80px;object-fit:contain;background:#fff;border:1px solid var(--g-200,#E2E8F0);border-radius:5px;padding:2px 5px}
.co-vgmono{display:inline-flex;align-items:center;justify-content:center;width:24px;height:20px;font-size:10px;font-weight:800;color:#fff;background:linear-gradient(135deg,#00599c,#0079c8);border-radius:5px}
.co-vgname{font-weight:800;font-size:12px;color:var(--g-900,#0F172A)}
.co-vghead em{font-style:normal;font-size:10px;color:#00599c;font-weight:600;margin-left:auto;white-space:nowrap}

/* Order confirmation multi-shipment cards */
.conf-ships{max-width:620px;margin:14px auto 8px}
.conf-ships-lead{font-size:14px;color:var(--g-700,#334155);margin-bottom:12px}
.conf-ship-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.conf-ship{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--g-200,#E2E8F0);border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.06);text-align:left}
.conf-ship img{height:30px;max-width:96px;object-fit:contain;background:#fff;border:1px solid var(--g-200,#E2E8F0);border-radius:7px;padding:3px 7px}
.conf-ship-mono{display:inline-flex;align-items:center;justify-content:center;width:36px;height:30px;font-size:13px;font-weight:800;color:#fff;background:linear-gradient(135deg,#00599c,#0079c8);border-radius:7px}
.conf-ship strong{display:block;font-size:13.5px;color:var(--g-900,#0F172A)}
.conf-ship span{display:block;font-size:11.5px;color:var(--g-500,#64748B)}

/* Account order detail — per-vendor shipment cards */
.ship-lead{font-size:13.5px;color:var(--g-700,#334155);background:linear-gradient(135deg,#eaf3fa,#f6fafd);border:1px solid #cbe0f0;border-radius:10px;padding:11px 14px;margin:14px 0}
.ship-lead strong{color:#00599c}
.ship-card{border:1px solid var(--g-200,#E2E8F0);border-radius:14px;overflow:hidden;margin:14px 0;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.05)}
.ship-head{display:flex;align-items:center;gap:14px;padding:13px 16px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:1px solid var(--g-200,#E2E8F0);position:relative}
.ship-head::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#00599c,#0079c8)}
.ship-logo{height:32px;max-width:110px;object-fit:contain;background:#fff;border:1px solid var(--g-200,#E2E8F0);border-radius:8px;padding:3px 8px}
.ship-mono{display:inline-flex;align-items:center;justify-content:center;width:40px;font-size:13.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#00599c,#0079c8)}
.ship-meta{flex:1;min-width:0}
.ship-meta strong{display:block;font-size:14.5px;color:var(--g-900,#0F172A)}
.ship-meta span{display:block;font-size:11.5px;color:#00599c;font-weight:600;margin-top:1px}
.ship-meta .ship-fr{color:var(--g-500,#64748B);font-weight:700}
.ship-track{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;background:#f0fdf4;border-bottom:1px solid #bbf7d0;font-size:13px}
.ship-track-label{color:#15803d;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.ship-track-num{font-family:ui-monospace,monospace;font-size:14px;color:var(--g-900,#0F172A);letter-spacing:.03em;user-select:all}
.ship-track-date{font-size:11.5px;color:var(--g-500,#64748B);margin-left:auto}
.ship-track-pending{background:#fffbeb;border-bottom-color:#fde68a;color:#92600a;font-size:12.5px}
.ship-items{margin:0!important;border:none!important;border-radius:0!important}

/* Admin — per-vendor shipment editor */
.adm-ship{border:1px solid var(--g300,#CBD5E1);border-radius:10px;padding:12px 14px;margin-bottom:12px;background:#fbfcfe}
.adm-ship-head{display:flex;align-items:center;gap:12px}
.adm-ship-logo{height:26px;max-width:90px;object-fit:contain;background:#fff;border:1px solid var(--g300,#CBD5E1);border-radius:6px;padding:2px 6px}
.adm-ship-mono{display:inline-flex;align-items:center;justify-content:center;width:32px;font-size:11.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#00599c,#0079c8)}
.adm-ship-form{display:grid;grid-template-columns:1fr 1fr 130px auto;gap:8px;align-items:center}
@media(max-width:760px){.adm-ship-form{grid-template-columns:1fr 1fr}}

/* ── MH mark + PHS attribution + multi-vendor sold-by (v22) ── */
.foot-phs{display:flex;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;background:rgba(255,255,255,.05);border:1px solid #24303B;border-radius:10px;max-width:380px}
.foot-phs img{width:44px;height:44px;border-radius:8px;background:#fff;padding:3px;flex:none}
.foot-phs p{font-size:12.5px;line-height:1.5;margin:0}
.foot-phs strong{color:#fff}
.pdp-soldby{font-size:12.5px;color:var(--g-700);margin:8px 0 0;padding:8px 10px;background:#f8fafc;border:1px solid var(--g-200);border-radius:8px}
.pdp-soldby a{color:var(--mh-blue);font-weight:700;text-decoration:underline;text-underline-offset:2px;display:inline;padding:0}
.pdp-shipfrom{font-size:12.5px;color:var(--g-700);margin:6px 0 0;padding:7px 10px;background:#f0f7ee;border:1px solid #d3e6cd;border-radius:8px}
.pdp-shipfrom strong{color:#2f6b24}
/* v50.4: 3+ warehouses collapse into a <details> expander */
.pdp-shipfrom-multi summary{cursor:pointer;list-style:none;display:block}
.pdp-shipfrom-multi summary::-webkit-details-marker{display:none}
.pdp-shipfrom-multi .sf-toggle{color:var(--mh-blue);font-weight:700;text-decoration:underline;text-underline-offset:2px;white-space:nowrap;font-size:11.5px;margin-left:4px}
.pdp-shipfrom-multi[open] .sf-toggle{display:none}
.pdp-shipfrom-multi .sf-locs{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.pdp-shipfrom-multi .sf-loc{background:#fff;border:1px solid #d3e6cd;border-radius:20px;padding:2px 9px;font-size:11.5px;color:#2f6b24;font-weight:600;white-space:nowrap}
/* v47: volume pricing tier table */
.pdp-tiers{margin:10px 0 2px;border:1px solid #cfe0ef;border-radius:10px;overflow:hidden;background:#fff}
.pdp-tiers-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(180deg,#eaf3fb,#e0edf8);border-bottom:1px solid #cfe0ef}
.pdp-tiers-title{font-weight:800;font-size:13px;color:#00599c}
.pdp-tiers-aslow{font-size:12px;color:var(--g-700)}
.pdp-tiers-aslow strong{color:#1c7a2e}
.pdp-tier-table{width:100%;border-collapse:collapse;font-size:13px}
.pdp-tier-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--g-600);padding:6px 12px 4px;border-bottom:1px solid #eef2f6}
.pdp-tier-table td{padding:7px 12px;border-bottom:1px solid #f3f6f9}
.pdp-tier-table tr:last-child td{border-bottom:none}
.pdp-tier-row .tr-qty{font-weight:700;color:var(--g-800)}
.pdp-tier-row .tr-price{font-weight:800;color:var(--g-900)}
.tr-save-chip{display:inline-block;font-size:11px;font-weight:800;color:#1c7a2e;background:#e7f5e9;border:1px solid #c8e6cd;border-radius:20px;padding:1px 8px}
.tr-dash{color:var(--g-400)}
.pdp-tier-row.is-active{background:#f0f7ff;box-shadow:inset 3px 0 0 #00599c}
.pdp-tier-row.is-active .tr-price{color:#00599c}
.pdp-tier-total{margin:0;padding:8px 12px;font-size:12.5px;color:var(--g-700);background:#fbfdff;border-top:1px solid #eef2f6}
.pdp-tier-total strong{color:#00599c}
.perk-phs img{display:inline-block;vertical-align:-5px;border-radius:4px;margin-right:4px}
.why-phs{margin-top:20px;padding-top:16px;border-top:1px solid var(--g-200);font-size:13.5px;color:var(--g-700);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.why-phs img{border-radius:5px;flex:none}
.phs-trust{display:flex;align-items:flex-start;gap:14px;margin:0 0 22px;padding:14px 16px;background:#eef5fb;border:1px solid #cfe3f3;border-radius:10px}
.phs-trust img{width:48px;height:48px;border-radius:8px;background:#fff;flex:none}
.phs-trust strong{display:block;color:var(--mh-blue);font-size:14px;margin-bottom:3px}
.phs-trust p{font-size:13px;color:var(--g-700);margin:0;line-height:1.55}

/* ── Logistics network map + vendor strip + footer payment icons (v23) ── */
.foot-pay{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid #24303B;padding:14px 0}
.foot-pay img{display:block;border-radius:4px}
.foot-pay-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#fff;margin-right:4px}
.foot-pay-extra{font-size:12px;color:#8fa0b0;margin-left:6px}
.netmap-section{padding-top:8px}
.netmap-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:38px;align-items:center;background:#fff;border:1px solid var(--g-200);border-radius:14px;padding:28px;box-shadow:0 1px 3px rgba(2,32,58,.05)}
.netmap-map svg{width:100%;height:auto;display:block}
.nm-dot{fill:var(--mh-blue);stroke:#fff;stroke-width:1.6}
.nm-pulse{fill:var(--mh-blue);opacity:.18;transform-origin:center;transform-box:fill-box;animation:nmPulse 2.6s ease-out infinite}
.nm-hq-dot{fill:#e8590c;stroke:#fff;stroke-width:1.8}
.nm-hq-pulse{fill:#e8590c;opacity:.16;transform-origin:center;transform-box:fill-box;animation:nmPulse 2.6s ease-out infinite}
@keyframes nmPulse{0%{transform:scale(.5);opacity:.35}70%{transform:scale(1.35);opacity:0}100%{transform:scale(1.35);opacity:0}}
.nm-arc{fill:none;stroke:var(--mh-blue);stroke-width:1.4;opacity:.28;stroke-dasharray:6 7;animation:nmDash 6s linear infinite}
@keyframes nmDash{to{stroke-dashoffset:-130}}
.nm-pkg{fill:#e8590c;stroke:#fff;stroke-width:1;opacity:.9}
.netmap-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px;font-size:12.5px;color:var(--g-700);font-weight:600}
.netmap-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.nm-lg-hq{background:#e8590c;border-radius:3px!important}
.nm-lg-dot{background:var(--mh-blue)}
.nm-lg-arc{background:transparent;border-top:2px dashed var(--mh-blue);border-radius:0!important;height:0!important;width:18px!important;vertical-align:3px!important}
.netmap-copy .eyebrow{color:var(--mh-blue);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px;margin-bottom:8px}
.netmap-copy h2{font-size:clamp(24px,3vw,34px);line-height:1.15;margin-bottom:12px}
.netmap-accent{color:var(--mh-blue)}
.netmap-copy>p{color:var(--g-700);font-size:14.5px;line-height:1.6;margin-bottom:18px}
.netmap-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.netmap-stats div{border:1px solid var(--g-200);border-radius:10px;padding:12px 14px}
.netmap-stats strong{display:block;font-size:26px;font-weight:900;color:var(--mh-blue);line-height:1.1}
.netmap-stats span{font-size:12.5px;color:var(--g-500);font-weight:600}
.netmap-cta{display:flex;gap:10px;flex-wrap:wrap}
.vendor-band{background:var(--mh-blue-pale);border-top:1px solid var(--g-200);border-bottom:1px solid var(--g-200)}
.vendor-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.vendor-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#fff;border:1px solid var(--g-200);border-radius:10px;padding:16px 12px;text-decoration:none!important;min-height:92px}
.vendor-tile img{max-width:110px;max-height:40px;object-fit:contain}
.vendor-tile span{font-size:11.5px;color:var(--g-500);font-weight:700}
.vendor-tile:hover{border-color:var(--mh-blue);box-shadow:var(--shadow)}
@media(max-width:960px){.netmap-grid{grid-template-columns:1fr;padding:18px}.netmap-stats{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.netmap-stats{grid-template-columns:1fr 1fr}}

/* ===== v24: footer financing badges, card brand chips, PDP vendor trust panel, brand hero verified, cart multiship logos ===== */
.foot-pay-sep{width:1px;height:22px;background:rgba(255,255,255,.18);margin:0 6px}
.pcard .brand{display:flex;align-items:center;gap:6px}
.brand-chip-img{height:16px;width:auto;max-width:64px;object-fit:contain;background:#fff;border-radius:3px;padding:1px 3px;border:1px solid var(--g-200,#e2e8f0)}
.pdp-vendor-panel{margin-top:16px;padding:14px 16px;border:1px solid #dbe6ef;border-radius:10px;background:linear-gradient(180deg,#f7fafd 0%,#fff 100%)}
.pvp-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.pvp-logo{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:6px 10px;min-width:70px;min-height:36px}
.pvp-logo img{max-height:32px;width:auto;max-width:110px;object-fit:contain}
.pvp-mono{font-weight:800;font-size:16px;color:#00599c;text-decoration:none}
.pvp-meta{display:flex;flex-direction:column;gap:2px}
.pvp-name{font-weight:700;font-size:14px;color:#17242f}
.pvp-verified{font-size:12px;color:#15803d;font-weight:600}
.pvp-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.pvp-facts li{font-size:12.5px;color:#42525f}
.pvp-storelink{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;color:#00599c;text-decoration:none}
.pvp-storelink:hover{text-decoration:underline}
.bhero-verified{margin:2px 0 4px;font-size:13px;color:#15803d;font-weight:600}
.bhero-ship{background:#eaf3fa;border-color:#cbe0f0}
.cart-multiship .cms-logos{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap}
.cms-logo{height:22px;width:auto;max-width:72px;object-fit:contain;background:#fff;border:1px solid #dbe6ef;border-radius:5px;padding:2px 5px}
span.cms-logo.vg-mono{display:inline-flex;align-items:center;justify-content:center;height:26px;min-width:26px;font-size:11px;font-weight:800;color:#00599c;background:#eaf3fa;border:1px solid #cbe0f0;border-radius:5px;padding:0 4px}
@media (max-width:640px){.cart-multiship .cms-logos{display:none}.pvp-head{flex-wrap:wrap}}

/* ===== v25: mobile polish + larger card images + logo-only brand chips ===== */
/* Card images fill the square imgbox instead of rendering at tiny natural size */
.pcard .imgbox img{width:100%;height:100%;object-fit:contain}
/* v63.20: hover swap — cards with a 2nd gallery image cross-fade to it.
 * Pure CSS; the alt image stacks on top and fades in on hover/focus.
 * Both images are lazy-loaded; no effect on cards with a single image. */
.pcard .imgbox.has-alt{position:relative}
.pcard .imgbox.has-alt .img-alt{position:absolute;inset:0;opacity:0;transition:opacity .22s ease}
.pcard a:hover .imgbox.has-alt .img-alt,.pcard a:focus-visible .imgbox.has-alt .img-alt{opacity:1}
@media (hover:none){.pcard .imgbox.has-alt .img-alt{display:none}}
.brand-chip-img{height:20px;max-width:92px;padding:2px 6px}
.pcard .brand{min-height:24px}
/* Mobile: 2-up product grid (cards were huge single-column with tiny images) */
@media(max-width:700px){
  .pgrid,.pgrid-row,.pgrid-rail{grid-template-columns:repeat(2,1fr);gap:10px}
  .pcard{padding:10px}
  .pcard .imgbox{margin-bottom:8px}
  .pcard .title{font-size:12.5px}
  .pcard .price{font-size:15px}
  .pcard .quickadd{padding:9px 8px;font-size:12.5px}
  .compare-pick{font-size:11px}
}
/* Mobile padding & chrome tightening */
@media(max-width:640px){
  .container{padding:0 12px}
  .utilbar{font-size:11.5px}
  .utilbar .container{flex-direction:column;align-items:center;gap:1px;padding:5px 12px;text-align:center}
  .hdr{padding:10px 0;gap:10px}
  /* v63.41: mobile header overflow fix — nowrap tagline forced the logo column
     to ~280px, pushing cart/search off-screen and making the page pannable.
     Owner-approved: remove the tagline on mobile; tighten logo + action gaps. */
  .logo-tag{display:none}
  .hdr > *{min-width:0}
  .logo img{width:168px;height:auto}
  .hdr-actions{gap:12px}
  .hero{padding:28px 0}
  .hero p{font-size:14.5px;margin:10px 0 18px}
  .trustbar .container{gap:5px 16px;font-size:11.5px;padding:8px 12px}
  .section{padding:20px 0}
  .netmap-grid{padding:16px 12px;gap:20px}
  .cat-tiles{gap:10px}
  .cat-tile-img{width:92px;height:92px}
  .cat-tile-img img{max-width:92px;max-height:92px}
  .crumbs{padding:8px 0}
  footer.site .cols{grid-template-columns:1fr;gap:18px}
}

/* ===== v26: restore container side padding site-wide =====
   Root cause of edge-to-edge mobile pages: combo classes on the same element
   (.section, .hdr, .crumbs, footer .cols/.foot-pay/.legal, .cart-v2, .co-v2,
   .post-article, .blog-index, ...) declare shorthand `padding: X 0` LATER in
   this file, zeroing .container's horizontal padding. These longhand rules
   are declared last so they always win, restoring gutters on every page.
   Vertical padding from the combo classes is preserved. */
.container{padding-left:16px;padding-right:16px}
@media(max-width:640px){.container{padding-left:12px;padding-right:12px}}
/* footer rules have higher specificity (footer.site .cols) — match it */
footer.site .container.cols,footer.site .container.legal{padding-left:16px;padding-right:16px}
@media(max-width:640px){footer.site .container.cols,footer.site .container.legal{padding-left:12px;padding-right:12px}}

/* ===== v27: menu hover-title fix, All Departments mega menu v3, branded lightbox ===== */
/* Fix: global a:hover color rule beat .mn-top{color:#fff} — hovered titles went invisible */
.mn-top:hover,.mn-top:focus-visible,.mn-item:hover>.mn-top,.mn-item.open>.mn-top{color:#fff;text-decoration:none}

/* --- All Departments panel: department rail + tile panes + A–Z + footer band --- */
.mn-panel-dept .mn-panel-in{display:flex;gap:0;padding:0;height:min(540px,72vh)}
.mn-dept-rail{flex:none;width:315px;overflow-y:auto;scrollbar-width:thin;border-right:1px solid var(--g-200);background:var(--g-50);padding:10px 0}
.mn-dept-tab{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:none;border-left:3px solid transparent;padding:11px 14px 11px 16px;cursor:pointer;font-family:var(--font)}
.mn-dept-tab svg{width:21px;height:21px;flex:none;color:var(--g-500)}
.mn-dept-tab-txt{flex:1;min-width:0;font-size:13.5px;font-weight:700;color:var(--g-900);line-height:1.25}
.mn-dept-tab-txt em{display:block;font-style:normal;font-size:11px;font-weight:600;color:var(--g-500);margin-top:1px}
.mn-dept-arr{color:var(--g-300);font-size:16px;flex:none}
.mn-dept-tab:hover,.mn-dept-tab.active{background:var(--mh-blue-pale);border-left-color:var(--mh-blue)}
.mn-dept-tab:hover .mn-dept-tab-txt,.mn-dept-tab.active .mn-dept-tab-txt{color:var(--mh-blue)}
.mn-dept-tab:hover svg,.mn-dept-tab.active svg,.mn-dept-tab.active .mn-dept-arr{color:var(--mh-blue)}
.mn-dept-tab-az{border-top:1px solid var(--g-200);margin-top:6px;padding-top:14px}
.mn-dept-panes{flex:1;min-width:0;overflow-y:auto;scrollbar-width:thin;padding:20px 24px 24px}
.mn-dept-pane{display:none}
.mn-dept-pane.active{display:block}
.mn-dept-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--g-200)}
.mn-dept-head h3{font-size:17px;font-weight:800;color:var(--g-900)}
.mn-dept-head p{font-size:12.5px;color:var(--g-500);margin-top:1px}
.mn-dept-total{flex:none;font-size:11.5px;font-weight:800;color:var(--mh-blue);background:var(--mh-blue-pale);border-radius:999px;padding:4px 11px;white-space:nowrap}
.mn-dept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.mn-dept-tile{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--g-200);border-radius:8px;text-decoration:none;background:#fff;min-width:0}
.mn-dept-tile:hover{border-color:var(--mh-blue);background:var(--mh-blue-pale);text-decoration:none}
.mn-dept-img{flex:none;width:44px;height:44px;border-radius:6px;background:var(--g-50);display:flex;align-items:center;justify-content:center;overflow:hidden}
.mn-dept-img img{width:44px;height:44px;object-fit:contain;mix-blend-mode:multiply}
.mn-dept-img svg{width:22px;height:22px;color:var(--g-300)}
.mn-dept-name{flex:1;min-width:0;font-size:13px;font-weight:700;color:var(--g-900);line-height:1.25}
.mn-dept-tile:hover .mn-dept-name{color:var(--mh-blue)}
.mn-dept-foot{border-top:1px solid var(--g-200);background:var(--g-50)}
.mn-dept-foot .container{display:flex;align-items:center;gap:26px;flex-wrap:wrap;padding-top:11px;padding-bottom:11px}
.mn-dept-foot a{font-size:13px;font-weight:800;color:var(--mh-blue);text-decoration:none}
.mn-dept-foot a:hover{text-decoration:underline}
.mn-dept-foot-phone{margin-left:auto;font-size:12.5px;color:var(--g-500)}
.mn-panel-dept .mn-allgrid{columns:3}

/* --- PDP gallery: expand affordance + video thumbs --- */
.pdp-expand{position:absolute;top:10px;right:10px;width:36px;height:36px;border:1px solid var(--g-200);border-radius:8px;background:rgba(255,255,255,.92);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--g-700);z-index:2}
.pdp-expand:hover{color:var(--mh-blue);border-color:var(--mh-blue)}
.pdp-expand svg{width:18px;height:18px}
.pdp-vthumb{width:80px;height:80px;border:2px solid var(--g-200);border-radius:var(--radius);background:#000;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;flex:0 0 auto;position:relative;overflow:hidden}
.pdp-vthumb img{width:100%;height:100%;object-fit:cover;opacity:.85}
.pdp-vthumb:hover{border-color:var(--mh-blue)}
.pdp-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.pdp-play::after{content:"";width:26px;height:26px;border-radius:50%;background:var(--mh-blue) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M8 5v14l11-7z"/></svg>') center/14px no-repeat;box-shadow:0 2px 8px rgba(0,0,0,.4)}
@media(max-width:900px){.pdp-vthumb{width:64px;height:64px}}

/* --- MH branded media lightbox --- */
.mh-lb{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;background:rgba(3,17,29,.95);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.mh-lb[hidden]{display:none!important}
.mh-lb-top{flex:none;display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.12)}
.mh-lb-top img.mh-lb-logo{height:26px;width:auto}
.mh-lb-count{font-size:13px;font-weight:700;color:rgba(255,255,255,.75)}
.mh-lb-title{flex:1;min-width:0;font-size:13px;font-weight:600;color:rgba(255,255,255,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mh-lb-ctl{display:flex;align-items:center;gap:6px}
.mh-lb-btn{width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;font-family:var(--font);transition:background .12s}
.mh-lb-btn:hover:not(:disabled){background:var(--mh-blue)}
.mh-lb-btn:disabled{opacity:.35;cursor:default}
.mh-lb-btn svg{width:18px;height:18px}
.mh-lb-zpct{min-width:52px;text-align:center;font-size:12.5px;font-weight:800;color:rgba(255,255,255,.8)}
.mh-lb-stage{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none}
.mh-lb-stage img{max-width:calc(100% - 40px);max-height:calc(100% - 24px);object-fit:contain;user-select:none;-webkit-user-drag:none;background:#fff;border-radius:10px;padding:14px;transition:transform .12s ease-out;cursor:zoom-in}
.mh-lb.zoomed .mh-lb-stage img{cursor:grab;transition:none}
.mh-lb.panning .mh-lb-stage img{cursor:grabbing}
.mh-lb-video{width:min(960px,calc(100% - 110px));aspect-ratio:16/9;border:none;border-radius:10px;background:#000;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.mh-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:none;background:var(--mh-blue);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.35);z-index:3;transition:background .12s}
.mh-lb-nav:hover{background:var(--mh-blue-hover)}
.mh-lb-nav svg{width:22px;height:22px}
.mh-lb-prev{left:18px}.mh-lb-next{right:18px}
.mh-lb-film{flex:none;display:flex;gap:8px;padding:12px 16px;overflow-x:auto;scrollbar-width:thin;justify-content:safe center;border-top:1px solid rgba(255,255,255,.12)}
.mh-lb-th{flex:0 0 auto;width:62px;height:62px;border:2px solid rgba(255,255,255,.25);border-radius:8px;background:#fff;cursor:pointer;padding:3px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.mh-lb-th img{max-width:100%;max-height:100%;object-fit:contain}
.mh-lb-th.vid{background:#000;padding:0}
.mh-lb-th.vid img{width:100%;height:100%;object-fit:cover;opacity:.85}
.mh-lb-th.vid::after{content:"▶";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.mh-lb-th:hover{border-color:rgba(255,255,255,.6)}
.mh-lb-th.active{border-color:var(--mh-blue);box-shadow:0 0 0 2px rgba(0,89,156,.5)}
.mh-lb-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:11.5px;color:rgba(255,255,255,.55);background:rgba(0,0,0,.4);padding:4px 12px;border-radius:999px;pointer-events:none;z-index:3}
@media(max-width:640px){
  .mh-lb-title{display:none}
  .mh-lb-nav{width:40px;height:40px}
  .mh-lb-prev{left:8px}.mh-lb-next{right:8px}
  .mh-lb-stage img{max-width:calc(100% - 12px);padding:8px}
  .mh-lb-video{width:calc(100% - 16px)}
  .mh-lb-hint{display:none}
}
/* v27.1: lightbox counter must never wrap on narrow screens */
.mh-lb-count{white-space:nowrap}
@media(max-width:640px){.mh-lb-top{gap:8px;padding:8px 10px}.mh-lb-top img.mh-lb-logo{height:20px}.mh-lb-btn{width:34px;height:34px}.mh-lb-zpct{min-width:40px}}

/* ===================== v28: MH Live Chat widget ===================== */
#mh-chat-launch{position:fixed;right:22px;bottom:22px;z-index:9000;width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,#0072c6 0%,#00599c 100%);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(0,89,156,.45),0 2px 6px rgba(0,0,0,.2);transition:transform .18s ease,box-shadow .18s ease,bottom .2s ease}
/* v63.41: lift the chat launcher clear of the mobile sticky add-to-cart bar (body class toggled by the stickybar observer in app.js) */
body.mh-sbar #mh-chat-launch{bottom:92px}
body.mh-sbar #mh-chat-panel{bottom:164px}
/* v63.41: on laptop widths (≈901–1500px) the PDP buy card column reaches the
   bottom-right corner and the launcher covered Add to Cart. Dodge the chat to
   the bottom-LEFT on product pages in that range — only longform text there. */
@media(min-width:901px) and (max-width:1500px){
  body:has(.pdp-buycard) #mh-chat-launch{left:22px;right:auto}
  body:has(.pdp-buycard) #mh-chat-panel{left:22px;right:auto}
}
#mh-chat-launch:hover{transform:scale(1.07);box-shadow:0 10px 30px rgba(0,89,156,.55)}
#mh-chat-launch.open svg{transform:rotate(90deg)}
#mh-chat-launch svg{transition:transform .2s ease}
.mh-chat-badge{position:absolute;top:-3px;right:-3px;background:#DC2626;color:#fff;font-size:11px;font-weight:800;min-width:20px;height:20px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid #fff}
#mh-chat-panel{position:fixed;right:22px;bottom:94px;z-index:9001;width:388px;max-width:calc(100vw - 24px);height:min(600px,calc(100vh - 130px));background:#fff;border-radius:16px;box-shadow:0 24px 64px rgba(3,17,29,.35),0 4px 16px rgba(3,17,29,.18);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(14px) scale(.98);pointer-events:none;transition:opacity .22s ease,transform .22s ease}
#mh-chat-panel.open{opacity:1;transform:none;pointer-events:auto}
#mh-chat-panel.mh-attn{animation:mhChatAttn .5s ease 2}
#mh-chat-launch.mh-attn{animation:mhChatAttn .5s ease 2}
@keyframes mhChatAttn{0%,100%{transform:none}35%{transform:translateY(-6px)}}
.mh-chat-head{background:linear-gradient(135deg,#00599c 0%,#004a82 100%);color:#fff;padding:14px 16px;display:flex;align-items:center;gap:12px}
.mh-chat-logo{height:26px;width:auto}
.mh-chat-head-t{display:flex;flex-direction:column;min-width:0}
.mh-chat-head-t b{font-size:15px;font-weight:800;letter-spacing:.01em}
.mh-chat-head-t span{font-size:11px;opacity:.85;display:flex;align-items:center;gap:5px;margin-top:1px}
.mh-chat-live{width:7px;height:7px;border-radius:50%;background:#4ADE80;display:inline-block;box-shadow:0 0 0 2px rgba(74,222,128,.3)}
.mh-chat-x{margin-left:auto;background:rgba(255,255,255,.12);border:none;color:#fff;width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}
.mh-chat-x:hover{background:rgba(255,255,255,.22)}
.mh-chat-msgs{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:#F5F8FB}
.mh-cm{max-width:82%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.mh-cm.ai{align-self:flex-start;background:#fff;border:1px solid #E2EAF2;border-bottom-left-radius:4px;box-shadow:0 1px 2px rgba(3,17,29,.05)}
.mh-cm.agent{align-self:flex-start;background:#EAF4EC;border:1px solid #CDE8D3;border-bottom-left-radius:4px}
.mh-cm.me{align-self:flex-end;background:#00599c;color:#fff;border-bottom-right-radius:4px}
.mh-cm.system{align-self:center;background:#EDF2F7;color:#5A6B7C;font-size:12px;border-radius:8px;max-width:92%;text-align:center}
.mh-cm-who{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#0072c6;margin-bottom:3px}
.mh-cm.agent .mh-cm-who{color:#15803D}
.mh-typing{display:flex;gap:4px;align-items:center;padding:13px 15px}
.mh-typing span{width:7px;height:7px;border-radius:50%;background:#9DB2C4;animation:mhTyp 1.2s infinite}
.mh-typing span:nth-child(2){animation-delay:.15s}.mh-typing span:nth-child(3){animation-delay:.3s}
@keyframes mhTyp{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-5px);opacity:1}}
.mh-cm-cards{display:flex;gap:8px;margin-top:9px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.mh-cm-card{flex:0 0 150px;background:#fff;border:1px solid #E2EAF2;border-radius:10px;padding:8px;text-decoration:none;color:#0B1B2B;display:flex;flex-direction:column;gap:2px;transition:border-color .15s,box-shadow .15s}
.mh-cm-card:hover{border-color:#0072c6;box-shadow:0 3px 10px rgba(0,89,156,.14)}
.mh-cm-card img{width:100%;height:86px;object-fit:contain;background:#fff}
.mh-cm-card .n{font-size:11.5px;font-weight:700;line-height:1.3;max-height:44px;overflow:hidden}
.mh-cm-card .b{font-size:10px;color:#5A6B7C;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.mh-cm-card .p{font-size:13.5px;font-weight:800;color:#00599c}
.mh-cm-card .p s{font-size:11px;color:#94A3B8;font-weight:600;margin-left:4px}
.mh-cm-card .cta{font-size:10.5px;color:#0072c6;font-weight:700;margin-top:2px}
.mh-chat-quick{display:flex;gap:7px;flex-wrap:wrap;padding:0 14px 10px;background:#F5F8FB}
.mh-chat-quick button{border:1px solid #BFD7EA;background:#fff;color:#00599c;border-radius:999px;padding:6px 13px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}
.mh-chat-quick button:hover{background:#E7F1FA}
.mh-chat-foot{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid #E2EAF2;background:#fff}
.mh-chat-foot textarea{flex:1;border:1px solid #CBD9E5;border-radius:11px;padding:9px 12px;font-size:13.5px;font-family:inherit;resize:none;max-height:110px;line-height:1.4}
.mh-chat-foot textarea:focus{outline:2px solid #0072c6;border-color:transparent}
#mh-chat-send{width:40px;height:40px;border-radius:11px;border:none;background:#00599c;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:0 0 40px;transition:background .15s}
#mh-chat-send:hover{background:#0072c6}
.mh-chat-brand{text-align:center;font-size:10px;color:#8CA0B3;padding:5px 0 7px;background:#fff}
@media(max-width:640px){
  #mh-chat-launch{right:14px;bottom:14px;width:54px;height:54px}
  #mh-chat-panel{right:8px;left:8px;bottom:78px;width:auto;height:min(560px,calc(100dvh - 96px));border-radius:14px}
}

/* ===================== MH Live Chat v29 additions ===================== */
/* Header sound toggle */
.mh-chat-snd{background:none;border:0;color:#fff;font-size:15px;cursor:pointer;padding:4px 6px;border-radius:6px;line-height:1;opacity:.9}
.mh-chat-snd:hover{background:rgba(255,255,255,.15)}
/* Footer tool buttons (emoji / attach / product) */
.mh-chat-foot{align-items:flex-end}
.mh-chat-tool{background:none;border:0;color:#64748B;cursor:pointer;padding:8px 5px;font-size:16px;line-height:1;border-radius:8px;flex:0 0 auto;display:flex;align-items:center}
.mh-chat-tool:hover{color:#00599c;background:#EFF6FC}
/* Popovers (emoji + product) */
.mh-chat-emopop,.mh-chat-prodpop{position:absolute;bottom:86px;left:10px;right:10px;background:#fff;border:1px solid #E2E8F0;border-radius:12px;box-shadow:0 12px 36px rgba(2,32,58,.18);padding:12px;z-index:5}
.mh-chat-emopop .lb,.mh-chat-prodpop .lb{font-size:9.5px;font-weight:800;color:#94A3B8;text-transform:uppercase;letter-spacing:.06em;margin:2px 0 5px}
.mh-chat-emopop .row{display:flex;flex-wrap:wrap;gap:2px;max-height:108px;overflow:auto}
.mh-chat-emopop .row button{border:0;background:none;font-size:20px;padding:4px 6px;cursor:pointer;border-radius:8px;line-height:1}
.mh-chat-emopop .row button:hover{background:#F1F5F9}
.mh-chat-prodpop input{width:100%;border:1px solid #CBD5E1;border-radius:8px;padding:8px 11px;font-size:13px;font-family:inherit}
.mh-chat-prodpop input:focus{outline:2px solid #0072c6;border-color:transparent}
.mh-chat-prodpop #mh-prod-res{max-height:210px;overflow:auto;margin-top:6px}
.mh-chat-prodpop .hint{padding:12px;color:#94A3B8;font-size:12px;text-align:center}
.mh-pr{display:flex;gap:9px;padding:7px 6px;border-radius:9px;cursor:pointer;align-items:center}
.mh-pr:hover{background:#F1F7FC}
.mh-pr img{width:40px;height:40px;object-fit:contain;flex:0 0 40px;background:#fff;border:1px solid #EEF2F6;border-radius:7px}
.mh-pr .n{font-size:12px;font-weight:600;line-height:1.3;max-height:31px;overflow:hidden;color:#0F172A}
.mh-pr .m{font-size:10.5px;color:#94A3B8;margin-top:1px}
.mh-pr .p{margin-left:auto;font-weight:800;color:#00599c;font-size:12.5px;white-space:nowrap}
/* Attachments in message bubbles */
.mh-cm .mh-cm-att{display:block;margin-top:7px}
.mh-cm .mh-cm-att img{max-width:200px;max-height:160px;border-radius:10px;display:block;border:1px solid rgba(0,0,0,.08)}
.mh-cm .mh-cm-att.doc{display:inline-flex;align-items:center;gap:7px;background:rgba(0,0,0,.05);border-radius:9px;padding:8px 12px;text-decoration:none;color:inherit;font-size:12.5px;font-weight:600}
.mh-cm.me .mh-cm-att.doc{background:rgba(255,255,255,.18);color:#fff}
.mh-cm.agent .mh-cm-att.doc{background:rgba(21,128,61,.1);color:#14532D}
@media(max-width:640px){
  .mh-chat-emopop,.mh-chat-prodpop{bottom:92px}
}

/* ============ v30: quick quote, ratings, transcript, typing ============ */
/* Quote form card (inside agent bubble) */
.mh-qf{background:#fff;border:1px solid #d5dee8;border-radius:12px;overflow:hidden;min-width:238px;max-width:280px;text-align:left}
.mh-qf .qh{background:#00599c;color:#fff;font-weight:800;font-size:12.5px;padding:8px 12px;display:flex;align-items:center;gap:6px}
.mh-qf .qi{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid #eef2f6}
.mh-qf .qi img{width:34px;height:34px;object-fit:contain;border:1px solid #e3e9f0;border-radius:6px;background:#fff;flex:none}
.mh-qf .qi .n{flex:1;min-width:0;font-size:11.5px;font-weight:700;color:#16324c;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mh-qf .qi .p{font-size:11px;font-weight:800;color:#00599c;flex:none}
.mh-qf .qi input.qty{width:44px;padding:4px 4px;border:1px solid #cdd7e1;border-radius:6px;font-size:12px;font-weight:700;text-align:center;color:#16324c;flex:none}
.mh-qf .qbody{padding:9px 10px 10px}
.mh-qf .qrow{display:flex;gap:6px;margin-bottom:6px}
.mh-qf .qrow input{flex:1;min-width:0}
.mh-qf input[type=text],.mh-qf input[type=email],.mh-qf input[type=tel]{width:100%;padding:7px 8px;border:1px solid #cdd7e1;border-radius:7px;font-size:12px;color:#16324c;box-sizing:border-box}
.mh-qf input:focus{outline:none;border-color:#00599c;box-shadow:0 0 0 2px rgba(0,89,156,.12)}
.mh-qf .qacc{display:flex;gap:10px;margin:2px 0 7px;flex-wrap:wrap}
.mh-qf .qacc label{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#3d5568;cursor:pointer}
.mh-qf .qacc input{accent-color:#00599c}
.mh-qf .qerr{color:#c0392b;font-size:11px;font-weight:700;margin:0 0 6px}
.mh-qf .qgo{width:100%;background:#00599c;color:#fff;border:0;border-radius:8px;padding:9px 10px;font-size:12.5px;font-weight:800;cursor:pointer}
.mh-qf .qgo:hover{background:#004a82}
.mh-qf .qgo:disabled{opacity:.6;cursor:default}
.mh-qf .qfine{font-size:10px;color:#7d919f;margin:6px 0 0;line-height:1.35}
.mh-qf .qdone{padding:12px 12px;font-size:12.5px;font-weight:800;color:#1e7e34;display:flex;align-items:center;gap:6px}
/* Quote result card */
.mh-qr{background:#f2faf4;border:1px solid #bfe3c8;border-radius:12px;padding:10px 12px;min-width:238px;max-width:280px;text-align:left}
.mh-qr .qn{font-size:13px;font-weight:900;color:#1e7e34;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.mh-qr .ql{display:flex;justify-content:space-between;gap:10px;font-size:11.5px;color:#2c3f50;font-weight:600;padding:2px 0}
.mh-qr .ql b{color:#16324c;font-weight:800;white-space:nowrap}
.mh-qr .ql.sm{font-size:10.5px;color:#6c8296;font-weight:500;padding:0 0 3px}
.mh-qr .qsep{border-top:1px dashed #bfe3c8;margin:6px 0}
.mh-qr .qtot{display:flex;justify-content:space-between;font-size:13px;font-weight:900;color:#16324c;padding:2px 0}
.mh-qr .qtot b{color:#00599c}
.mh-qr .qvalid{font-size:10.5px;color:#5d7385;margin-top:6px;line-height:1.4}
.mh-qr .qvalid a{color:#00599c;font-weight:700;text-decoration:none}
/* Post-chat rating */
.mh-rate{background:#fff;border:1px solid #d5dee8;border-radius:12px;padding:11px 12px;min-width:220px;max-width:270px;text-align:center}
.mh-rate .rl{font-size:12px;font-weight:800;color:#16324c;margin-bottom:7px}
.mh-rate .stars{display:flex;justify-content:center;gap:4px;margin-bottom:8px}
.mh-rate .st{background:none;border:0;font-size:24px;line-height:1;cursor:pointer;color:#cdd7e1;padding:2px;transition:transform .1s}
.mh-rate .st:hover{transform:scale(1.15)}
.mh-rate .st.on{color:#f5a623}
.mh-rate .rc{margin-bottom:2px}
.mh-rate .rtxt{width:100%;box-sizing:border-box;border:1px solid #cdd7e1;border-radius:7px;padding:7px 8px;font-size:11.5px;font-family:inherit;color:#16324c;resize:vertical;min-height:44px;margin-bottom:7px}
.mh-rate .rtxt:focus{outline:none;border-color:#00599c}
.mh-rate .rgo{width:100%;background:#00599c;color:#fff;border:0;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:800;cursor:pointer}
.mh-rate .rgo:hover{background:#004a82}
.mh-rate .rgo:disabled{opacity:.6;cursor:default}
.rthx{font-size:12px;font-weight:800;color:#1e7e34;padding:4px 2px}
/* Transcript email offer */
.mh-trans{background:#fff;border:1px solid #d5dee8;border-radius:12px;padding:10px 12px;min-width:230px;max-width:270px;text-align:left}
.mh-trans .tl{font-size:11.5px;font-weight:700;color:#16324c;margin-bottom:7px}
.mh-trans .trow{display:flex;gap:6px}
.mh-trans .tmail{flex:1;min-width:0;padding:7px 8px;border:1px solid #cdd7e1;border-radius:7px;font-size:12px;color:#16324c}
.mh-trans .tmail:focus{outline:none;border-color:#00599c}
.mh-trans .tgo{background:#00599c;color:#fff;border:0;border-radius:7px;padding:7px 11px;font-size:11.5px;font-weight:800;cursor:pointer;flex:none}
.mh-trans .tgo:hover{background:#004a82}
.mh-trans .tgo:disabled{opacity:.6;cursor:default}
.mh-trans .terr{color:#c0392b;font-size:10.5px;font-weight:700;margin-top:5px}
@media(max-width:640px){
  .mh-qf,.mh-qr,.mh-rate,.mh-trans{max-width:min(280px,78vw)}
  .mh-qf .qi .n{font-size:11px}
}
#mh-agent-typing .mh-cm-who{margin:0 4px 0 0;font-size:11px;color:#6c8296;font-weight:600}

/* ============ v44: tax-exempt form card (chat) ============ */
.mh-tx .tx-type{flex:1;min-width:0;padding:7px 8px;border:1px solid #cdd7e1;border-radius:7px;font-size:12px;color:#16324c;background:#fff}
.mh-tx .tx-type:focus{outline:none;border-color:#00599c}
.mh-tx .tx-file-l{display:flex;align-items:center;gap:8px;margin:2px 0 8px;flex-wrap:wrap}
.mh-tx .tx-file-btn{display:inline-flex;align-items:center;gap:5px;border:1px dashed #9db8cc;border-radius:8px;padding:7px 10px;font-size:11.5px;font-weight:700;color:#00599c;cursor:pointer;background:#f4f9fd}
.mh-tx .tx-file-btn:hover{background:#e8f2fa;border-color:#00599c}
.mh-tx .tx-file-name{font-size:11px;color:#1e7e34;font-weight:700;word-break:break-all}
.mh-tx .txgo{width:100%;background:#00599c;color:#fff;border:0;border-radius:8px;padding:9px 10px;font-size:12.5px;font-weight:800;cursor:pointer}
.mh-tx .txgo:hover{background:#004a82}
.mh-tx .txgo:disabled{opacity:.6;cursor:default}

/* ============ v30.1: black chat header + quote-form spacing polish ============ */
.mh-chat-head{background:linear-gradient(135deg,#1c1c1e 0%,#000 100%)}
.mh-chat-head-t span{opacity:.75}
/* quote form: breathe */
.mh-qf{width:100%;max-width:none;min-width:0;margin-top:8px}
.mh-qf .qh{padding:10px 14px;font-size:13px}
.mh-qf .qi{padding:9px 12px;gap:10px}
.mh-qf .qi img{width:38px;height:38px}
.mh-qf .qi .n{font-size:12px}
.mh-qf .qi .p{font-size:11.5px}
.mh-qf .qi .q{font-size:12px;font-weight:800;color:#16324c;flex:none}
.mh-qf .qbody{padding:12px 14px 13px}
.mh-qf .qrow{gap:8px;margin-bottom:8px}
.mh-qf input[type=text],.mh-qf input[type=email]{padding:9px 10px;font-size:12.5px;border-radius:8px}
.mh-qf .qacc{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:11.5px;font-weight:600;color:#3d5568;cursor:pointer;line-height:1.35}
.mh-qf .qacc input{margin:0;flex:none;width:15px;height:15px}
.mh-qf .qerr{margin:2px 0 8px}
.mh-qf .qgo{padding:11px 12px;font-size:13px;margin-top:2px}
.mh-qf .qfine{margin:8px 0 0;font-size:10.5px;text-align:center}
.mh-qf .qdone{padding:13px 14px}
/* result card matches */
.mh-qr{width:100%;max-width:none;min-width:0;margin-top:8px;padding:12px 14px}
/* bubble hosting a card: trim doubled padding feel */
.mh-cm.agent .mh-qf,.mh-cm .mh-qr{box-shadow:0 1px 4px rgba(0,0,0,.06)}
@media(max-width:640px){
  .mh-qf,.mh-qr{max-width:none}
}
.mh-qf,.mh-qr,.mh-rate,.mh-trans{white-space:normal}
.mh-qf .qacc{align-items:flex-start}
.mh-qf .qacc input{margin-top:1px}
.mh-qf .qacc span{flex:1;min-width:0}
/* v31: account intelligence card in chat (sign in / request access) */
.mh-acct{width:100%;max-width:none;min-width:0;margin-top:8px;background:#fff;border:1px solid #cbe0f0;border-radius:12px;padding:12px 14px;box-shadow:0 1px 4px rgba(0,0,0,.06);white-space:normal}
.mh-acct .ah{font-weight:800;font-size:13px;color:#16324c;margin:0 0 9px}
.mh-acct .abtn{display:block;width:100%;box-sizing:border-box;text-align:center;background:#00599c;color:#fff;border:0;border-radius:9px;padding:10px 12px;font-size:13px;font-weight:800;cursor:pointer;text-decoration:none}
.mh-acct .abtn:hover{background:#004a82}
.mh-acct .abtn[disabled]{opacity:.6;cursor:default}
.mh-acct .afine{font-size:10.5px;color:#5b7284;margin:8px 0 0;text-align:center;line-height:1.45}
.mh-acct .rthx{font-size:12.5px;color:#16324c;font-weight:600;text-align:center;padding:4px 0}

/* v34: sales-first quote pending card (visitor never sees automated rates) */
.mh-qpend .qpend-note{display:flex;gap:8px;align-items:flex-start;background:#eaf3fa;border:1px solid #cbe0f0;border-radius:8px;padding:9px 11px;margin-top:8px;font-size:12.5px;color:#12202c;line-height:1.5}
.mh-qpend .qpend-dot{flex:none;width:8px;height:8px;border-radius:99px;background:#00599c;margin-top:5px;animation:mhqp 1.4s ease-in-out infinite}
@keyframes mhqp{0%,100%{opacity:1}50%{opacity:.25}}

/* v51: Vestil Syndigo — PDP manufacturer disclosures + Options & Accessories rail */
.pdp-disclosures{list-style:none;margin:10px 0 0;padding:9px 12px;background:#f7fafc;border:1px solid #dde8f0;border-radius:9px;display:flex;flex-direction:column;gap:5px}
.pdp-disclosures .disc{font-size:12.5px;color:#2c4257;line-height:1.45}
.pdp-disclosures .disc-no{color:#8a4b1f}
.pdp-disclosures .disc-approval{color:#1f4d7a;font-size:12.5px}
.pdp-disclosures .disc strong{font-weight:800}
.acc-card-wrap{position:relative;display:flex;flex-direction:column}
.acc-card-wrap>.acc-chip{position:absolute;top:8px;left:8px;z-index:2}
.acc-chip{display:inline-block;background:#eef4ff;border:1px solid #c6d8f5;color:#1d4e94;border-radius:20px;padding:2px 9px;font-size:10.5px;font-weight:800;white-space:nowrap}
.acc-chip.acc-field{background:#f0faf0;border-color:#cbe6c8;color:#2f6b24}
.compat-note .acc-key{color:#5b7284;font-weight:400}

/* v57: Syndigo manufacturer-data tabbed lightbox */
.pdp-syn-open{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1.5px solid #00599c;color:#00599c;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer;margin:0 0 12px;transition:background .15s,color .15s}
.pdp-syn-open:hover{background:#00599c;color:#fff}
.mh-syn-lock{overflow:hidden}
.mh-syn{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:18px}
.mh-syn[hidden]{display:none}
.mh-syn-backdrop{position:absolute;inset:0;background:rgba(8,24,38,.62);backdrop-filter:blur(2px)}
.mh-syn-card{position:relative;background:#fff;border-radius:14px;width:min(860px,100%);max-height:min(86vh,760px);display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(0,20,40,.35);overflow:hidden}
.mh-syn-head{display:flex;align-items:center;gap:12px;padding:14px 18px 10px;border-bottom:1px solid #e3ecf3}
.mh-syn-titles{display:flex;flex-direction:column;gap:2px;min-width:0}
.mh-syn-kicker{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#00599c}
.mh-syn-name{font-size:15px;color:#12202c;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mh-syn-x{margin-left:auto;flex:none;background:#f1f6fa;border:1px solid #d8e5ee;border-radius:8px;width:34px;height:34px;font-size:15px;color:#2c4257;cursor:pointer}
.mh-syn-x:hover{background:#e3eef7}
.mh-syn-tabs{display:flex;gap:2px;padding:8px 14px 0;border-bottom:2px solid #e3ecf3;overflow-x:auto;scrollbar-width:thin}
.mh-syn-tab{flex:none;background:none;border:none;border-bottom:3px solid transparent;padding:8px 13px 9px;font-size:13px;font-weight:700;color:#5b7284;cursor:pointer;margin-bottom:-2px;white-space:nowrap}
.mh-syn-tab:hover{color:#00599c}
.mh-syn-tab[aria-selected="true"]{color:#00599c;border-bottom-color:#00599c}
.mh-syn-body{overflow-y:auto;padding:16px 18px 20px}
.mh-syn-table{width:100%}
.mh-syn-copy{font-size:13.5px;line-height:1.65;color:#12202c;margin:0 0 12px}
.mh-syn-bullets{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.mh-syn-bullets li{font-size:13px;line-height:1.5;color:#2c4257}
.mh-syn-empty{font-size:13px;color:#5b7284}
@media (max-width:640px){.mh-syn{padding:0}.mh-syn-card{width:100%;max-height:100vh;height:100%;border-radius:0}}

/* ===== v58: PDP Documents & Resources ===== */
.pdp-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.pdp-doc-type{font-size:14px;font-weight:700;color:#333;margin:0 0 8px;text-transform:uppercase;letter-spacing:.03em}
.pdp-doc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pdp-doc-link{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e2e6ea;border-radius:6px;background:#fff;color:#00599c;text-decoration:none;font-size:14px;line-height:1.3;transition:border-color .12s,background .12s}
.pdp-doc-link:hover{border-color:#00599c;background:#f4f9fd}
.pdp-doc-link svg{flex:0 0 auto;color:#c0392b}
.pdp-doc-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdp-doc-meta{flex:0 0 auto;font-size:12px;color:#777;white-space:nowrap}
@media (max-width:640px){.pdp-docs{grid-template-columns:1fr}.pdp-doc-title{white-space:normal}}

/* ===== v59: branded PDF document lightbox ===== */
body.mh-doc-lock{overflow:hidden}
.mh-doc{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px}
.mh-doc[hidden]{display:none}
.mh-doc-backdrop{position:absolute;inset:0;background:rgba(10,25,41,.62)}
.mh-doc-card{position:relative;width:min(980px,100%);height:min(90vh,860px);background:#fff;border-radius:10px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.35)}
.mh-doc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#00599c;color:#fff}
.mh-doc-titles{display:flex;flex-direction:column;min-width:0}
.mh-doc-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.85}
.mh-doc-name{font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mh-doc-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.mh-doc-dl{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid rgba(255,255,255,.55);border-radius:6px;color:#fff;text-decoration:none;font-size:13px;font-weight:600;transition:background .12s}
.mh-doc-dl:hover{background:rgba(255,255,255,.14)}
.mh-doc-x{background:none;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px}
.mh-doc-x:hover{background:rgba(255,255,255,.14)}
.mh-doc-body{flex:1 1 auto;min-height:0;background:#525659}
.mh-doc-frame{display:block;width:100%;height:100%;border:0}
.mh-doc-pages{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:8px}
.mh-doc-page{display:block;background:#fff;border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.4);max-width:100%}
.mh-doc-loading{color:#cbd5e1;font-size:14px;padding:32px 16px;text-align:center}
@media (max-width:760px){.mh-doc{padding:0}.mh-doc-card{width:100%;height:100%;border-radius:0}.mh-doc-name{font-size:13px}}

/* ===== v61: survey forms ===== */
.survey-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.survey-card a{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--g-300);border-radius:10px;background:#fff;text-decoration:none;height:100%;transition:border-color .12s,box-shadow .12s}
.survey-card a:hover{border-color:var(--mh-blue);box-shadow:0 2px 10px rgba(0,89,156,.10)}
.survey-card strong{color:var(--mh-blue);font-size:15px;letter-spacing:.02em}
.survey-card span{color:var(--g-800);font-size:13.5px;line-height:1.45}
.survey-card em{color:var(--g-500);font-size:12px;font-style:normal;margin-top:auto;padding-top:6px}
.survey-fs{border:1px solid var(--g-300);border-radius:10px;padding:16px 18px;margin:0}
.survey-fs legend{font-weight:700;font-size:14px;color:var(--mh-blue);padding:0 8px}
.survey-qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.survey-qgrid label{font-size:13px;color:var(--g-800);display:block}
@media (max-width:640px){.survey-qgrid{grid-template-columns:1fr}#survey-form [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}}

/* ===== v63.3: password UX ===== */
.pw-wrap{position:relative;display:block}
.pw-wrap .finput{padding-right:44px;width:100%}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;font-size:16px;padding:6px;line-height:1;opacity:.55;border-radius:6px}
.pw-toggle:hover{opacity:1;background:var(--g-100,#f2f4f7)}
.pw-meter{display:block;height:5px;background:var(--g-200,#eaecf0);border-radius:3px;margin-top:7px;overflow:hidden}
.pw-meter i{display:block;height:100%;width:0;border-radius:3px;transition:width .25s ease,background .25s ease}
.pw-meter i.weak{background:#d92d20}.pw-meter i.fair{background:#f79009}.pw-meter i.good{background:#12b76a}.pw-meter i.strong{background:#067647}
.pw-meter-label{display:block;font-size:11.5px;margin-top:4px;font-weight:600;min-height:14px}
.pw-meter-label.weak{color:#d92d20}.pw-meter-label.fair{color:#b54708}.pw-meter-label.good{color:#12b76a}.pw-meter-label.strong{color:#067647}
.pw-match-label{display:block;font-size:11.5px;margin-top:4px;font-weight:600;min-height:14px}
.pw-match-label.ok{color:#067647}.pw-match-label.err{color:#d92d20}
.auth-benefits{margin-top:22px;padding-top:18px;border-top:1px solid var(--g-200,#eaecf0)}
.auth-benefits strong{font-size:13.5px;color:var(--g-900,#101828)}
.auth-benefits ul{list-style:none;margin:10px 0 0;padding:0}
.auth-benefits li{font-size:13px;color:var(--g-700,#344054);padding:4px 0}

/* ===== v63.42: Search by image (camera icon in search bar + modal) ===== */
.search-cam{display:flex;align-items:center;justify-content:center;background:#fff;border:none;border-left:1px solid var(--g-200);color:var(--g-500);padding:0 12px;cursor:pointer;transition:color .15s}
.search-cam:hover{color:var(--mh-blue)}
.imgs-overlay{position:fixed;inset:0;background:rgba(3,17,29,.55);z-index:9500;display:none;align-items:flex-start;justify-content:center;padding:8vh 16px 16px}
.imgs-overlay.open{display:flex}
.imgs-modal{background:#fff;border-radius:16px;box-shadow:0 24px 64px rgba(3,17,29,.35);width:100%;max-width:560px;max-height:84vh;display:flex;flex-direction:column;overflow:hidden}
.imgs-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0}
.imgs-head h3{font-size:16.5px;font-weight:800;color:var(--g-900)}
.imgs-x{background:none;border:none;font-size:20px;color:var(--g-500);cursor:pointer;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center}
.imgs-x:hover{background:var(--g-100);color:var(--g-900)}
.imgs-body{padding:14px 20px 20px;overflow-y:auto}
.imgs-drop{border:2px dashed var(--g-300);border-radius:12px;padding:34px 18px;text-align:center;color:var(--g-700);font-size:13.5px;line-height:1.7;cursor:pointer;transition:border-color .15s,background .15s}
.imgs-drop:hover,.imgs-drop.drag{border-color:var(--mh-blue);background:var(--mh-blue-pale)}
.imgs-drop svg{width:34px;height:34px;color:var(--g-500);margin-bottom:6px}
.imgs-drop kbd{border:1px solid var(--g-300);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:11.5px;font-family:inherit;background:var(--g-50)}
.imgs-upbtn{display:inline-flex;align-items:center;gap:8px;background:var(--mh-blue);color:#fff;border:none;border-radius:999px;padding:10px 26px;font-weight:800;font-size:14px;cursor:pointer;margin-top:12px;font-family:inherit}
.imgs-upbtn:hover{background:var(--mh-blue-hover)}
.imgs-note{font-size:11.5px;color:var(--g-500);margin-top:12px}
.imgs-preview{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.imgs-preview img{width:84px;height:84px;object-fit:contain;border:1px solid var(--g-200);border-radius:10px;background:#fff}
.imgs-status{font-size:13.5px;color:var(--g-700);font-weight:600}
.imgs-status .q{color:var(--mh-blue)}
.imgs-spin{width:18px;height:18px;border:2.5px solid var(--mh-blue-light);border-top-color:var(--mh-blue);border-radius:50%;animation:imgsSpin .7s linear infinite;display:inline-block;vertical-align:-4px;margin-right:8px}
@keyframes imgsSpin{to{transform:rotate(360deg)}}
.imgs-results{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.imgs-card{display:flex;gap:10px;border:1px solid var(--g-200);border-radius:10px;padding:10px;text-decoration:none!important;transition:border-color .15s,box-shadow .15s;background:#fff}
.imgs-card:hover{border-color:var(--mh-blue);box-shadow:0 4px 14px rgba(0,89,156,.12)}
.imgs-card img{width:56px;height:56px;object-fit:contain;flex:none}
.imgs-card-t{min-width:0}
.imgs-card-t .nm{font-size:12.5px;font-weight:700;color:var(--g-900);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.imgs-card-t .pr{font-size:13px;font-weight:800;color:var(--mh-ink);margin-top:3px}
.imgs-card-t .pr s{color:var(--g-500);font-weight:600;font-size:11.5px;margin-left:5px}
.imgs-more{display:block;text-align:center;margin-top:12px;font-weight:700;font-size:13.5px;color:var(--mh-blue)}
.imgs-err{color:var(--danger);font-size:13.5px;font-weight:600;margin-top:10px}
.imgs-retry{background:none;border:none;color:var(--mh-blue);font-weight:700;cursor:pointer;font-size:13px;font-family:inherit;padding:0;margin-left:8px;text-decoration:underline}
@media(max-width:640px){.imgs-overlay{padding:4vh 10px 10px}.imgs-results{grid-template-columns:1fr}.imgs-drop{padding:26px 14px}.imgs-drop .imgs-paste-hint{display:none}}
/* v63.43: exact-match badge + search-instead links in image search */
.imgs-exact{color:#0a7d33;font-weight:800;font-size:14px}
.imgs-trylinks{color:var(--g-700);font-weight:600}
.imgs-trylinks a{color:var(--mh-blue);font-weight:700}
/* v64: Category banner hero — user-supplied art + HTML text/CTA overlay.
 * Contained in the 1320px container (sizes attr matches). aspect-ratio per
 * breakpoint mirrors the <picture> media split => zero CLS before decode. */
.cat-hero{position:relative;margin:14px 0 18px;border-radius:12px;overflow:hidden;background:var(--mh-blue)}
.cat-hero picture,.cat-hero-img{display:block;width:100%;height:auto;aspect-ratio:3840/1646;object-fit:cover}
.cat-hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:16px 4.5%;max-width:58%;background:linear-gradient(90deg,rgba(8,24,48,.62) 0%,rgba(8,24,48,.38) 68%,rgba(8,24,48,0) 100%)}
.cat-hero-h1{margin:0;color:#fff;font-size:clamp(22px,3.2vw,44px);line-height:1.12;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.cat-hero-tag{margin:0;color:#e8eef7;font-size:clamp(13px,1.4vw,18px);font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.5);max-width:46ch}
.cat-hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.cat-hero-cta .btn{font-weight:700}
.cat-hero-phone{background:rgba(255,255,255,.92)}
@media(max-width:767px){
  .cat-hero picture,.cat-hero-img{aspect-ratio:3/2}
  .cat-hero-overlay{max-width:100%;justify-content:flex-end;padding:14px 16px;background:linear-gradient(180deg,rgba(8,24,48,0) 30%,rgba(8,24,48,.66) 100%)}
  .cat-hero-cta .btn{padding:8px 14px;font-size:14px}
}

/* ===== v66: PDP color variant swatches (Vikan color families) ===== */
.pdp-variants{margin:10px 0 4px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#fafbfc}
.pdp-var-label{font-size:13px;color:#334155;margin-bottom:8px}
.pdp-var-swatches{display:flex;flex-wrap:wrap;gap:6px}
.pdp-swatch{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1.5px solid #cbd5e1;border-radius:999px;background:#fff;cursor:pointer;font-size:12.5px;color:#334155;transition:border-color .12s, box-shadow .12s}
.pdp-swatch:hover{border-color:#64748b}
.pdp-swatch.selected{border-color:#0d63d8;box-shadow:0 0 0 2px rgba(13,99,216,.18);font-weight:600;color:#0b3f87}
.sw-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex:none}
.sw-green{background:#1e9e4a}.sw-blue{background:#1667d8}.sw-red{background:#d92c2c}
.sw-white{background:#fff}.sw-yellow{background:#f4c81b}.sw-orange{background:#f07f13}
.sw-black{background:#1c1c1e}.sw-pink{background:#f077b0}.sw-purple{background:#7a3fc4}
.sw-brown{background:#7a4a21}.sw-lime{background:#a9d326}.sw-grey{background:#8a929c}
.sw-transparent{background:repeating-conic-gradient(#e5e7eb 0 25%,#fff 0 50%) 0 0/8px 8px}
.pdp-var-hint{font-size:11.5px;color:#64748b;margin:8px 0 0}
.pdp-var-attn{border-color:#f0a013;background:#fef7e8;animation:varShake .3s}
@keyframes varShake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.pdp-moq{margin:8px 0 4px;padding:8px 12px;border:1px solid #f0d9a8;border-radius:8px;background:#fef7e8;font-size:13px;color:#7a5410;line-height:1.4}
.pdp-moq strong{color:#5c3d05}
/* v68.6: Contact Us revamp */
.contact-channels{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 30px}
.cc-card{display:flex;flex-direction:column;gap:3px;padding:18px 16px;background:#fff;border:1px solid var(--g-200);border-radius:12px;text-decoration:none;color:var(--g-900);box-shadow:0 1px 3px rgba(16,24,40,.05);transition:border-color .15s,box-shadow .15s}
.cc-card:hover{border-color:#0072c6;box-shadow:0 4px 14px rgba(0,89,156,.12)}
.cc-card strong{font-size:13px;color:var(--g-500);text-transform:uppercase;letter-spacing:.4px}
.cc-ico{font-size:22px;line-height:1;margin-bottom:4px}
.cc-big{font-weight:800;font-size:16.5px;color:#00599c;word-break:break-word}
.cc-sub{font-size:12.5px;color:var(--g-500);line-height:1.4}
.contact-cols{display:grid;grid-template-columns:1fr 320px;gap:26px;align-items:start}
.contact-form-wrap{background:#fff;border:1px solid var(--g-200);border-radius:12px;padding:22px 24px;box-shadow:0 1px 3px rgba(16,24,40,.05)}
.contact-side{display:grid;gap:14px}
.contact-card{background:var(--g-50,#f9fafb);border:1px solid var(--g-200);border-radius:12px;padding:16px 18px}
.contact-card h3{margin:0 0 8px;font-size:15px}
.contact-depts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.dept-card{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--g-200);border-radius:12px;padding:16px}
.dept-card p{margin:4px 0 0;font-size:13px;color:var(--g-700);line-height:1.5}
.dept-card strong{font-size:14.5px}
@media(max-width:960px){.contact-channels{grid-template-columns:repeat(2,1fr)}.contact-cols{grid-template-columns:1fr}.contact-depts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.contact-channels{grid-template-columns:1fr}.contact-depts{grid-template-columns:1fr}.contact-form-wrap{padding:16px}}

/* v68.7: header menu update — Best Sellers chips row */
.bs-cats{display:flex;flex-wrap:wrap;gap:8px}

/* ===== v68.39/v68.41 Category showcase hero (.ch) — FULL-BLEED like the home
   slider (owner request): edge-to-edge blue gradient + diagonal orange/yellow
   accents (pure CSS), auto-featured product w/ live DB price. Inner content
   sits in .container. Shorter than the home hero so the product grid stays
   near the fold. .ch-lg = primary, .ch-sm = subcategory. SHOP NOW scrolls
   to #plp-grid. Shadows are baked into the cutout art (v68.40). ===== */
.ch{position:relative;margin:0 0 18px;overflow:hidden;color:#fff;isolation:isolate;
  background:linear-gradient(118deg,#071c30 0%,#0b3358 42%,var(--mh-blue-deep) 68%,#0e4c86 100%)}
.ch::before{content:"";position:absolute;top:-12%;bottom:-12%;right:-40px;width:min(300px,24vw);z-index:0;
  background:linear-gradient(100deg,transparent 0 38%,var(--mh-orange) 38% 58%,transparent 58% 66%,#F7B733 66% 100%);
  transform:skewX(-14deg);opacity:.92}
.ch::after{content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(90% 130% at 68% 58%,rgba(21,94,163,.55) 0%,rgba(9,33,58,0) 60%)}
.ch-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:center;padding-top:26px;padding-bottom:26px}
.ch-lg .ch-inner{min-height:360px;padding-top:34px;padding-bottom:30px}
.ch-sm .ch-inner{min-height:210px;padding-top:22px;padding-bottom:22px}
.ch-copy{max-width:600px}
.ch-brandchip{display:inline-flex;align-items:center;background:#fff;border-radius:8px;padding:5px 10px;margin-bottom:10px;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.ch-brandchip img{height:22px;width:auto;display:block}
.ch-title{color:#fff;text-transform:uppercase;font-weight:900;letter-spacing:-.5px;line-height:1.04;margin:0}
.ch-lg .ch-title{font-size:clamp(27px,4vw,48px)}
.ch-sm .ch-title{font-size:clamp(21px,2.8vw,32px)}
.ch-title span{color:var(--mh-orange)}
.ch-model{color:#9CC4E4;font-weight:800;font-size:13.5px;margin:10px 0 0;letter-spacing:.02em}
.ch-desc{color:#D5E2EE;font-size:14.5px;line-height:1.5;margin:8px 0 0;max-width:500px}
.ch-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.ch-cta{display:inline-flex;align-items:center;gap:8px;background:var(--mh-orange);color:#002845;font-weight:900;font-size:14.5px;padding:11px 22px;border-radius:9px;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.35);transition:background .15s}
.ch-cta:hover{background:var(--mh-orange-hover);text-decoration:none}
.ch-cta-view{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55);box-shadow:none;font-weight:700}
.ch-cta-view:hover{background:rgba(255,255,255,.12);border-color:#fff}
.ch-rep{display:flex;align-items:center;gap:10px;margin-top:18px}
.ch-rep-av{width:36px;height:36px;border-radius:50%;background:#0e4c86;border:2px solid #9CC4E4;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:12.5px;color:#fff;flex:none}
.ch-rep-txt{font-size:12px;color:#BCD2E4;line-height:1.35}
.ch-rep-txt strong{display:block;color:#fff;font-size:12.5px}
.ch-rep-txt a{color:#fff;font-weight:700}
.ch-visual{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-width:0}
.ch-art{max-width:100%;height:auto;object-fit:contain}
.ch-lg .ch-art-cut{max-height:360px;width:auto}/* v68.40: shadow baked into the art */
.ch-sm .ch-art{max-height:180px;width:auto}
.ch-card{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:14px;padding:12px;box-shadow:0 14px 34px rgba(0,6,14,.45)}
.ch-card .ch-art{max-height:158px}
.ch-lg .ch-card .ch-art{max-height:260px}
/* price panel pinned to the container edge — same alignment trick as .hs-price */
.ch-price{position:absolute;top:16px;right:max(16px,calc((100% - 1320px)/2 + 16px));z-index:2;background:rgba(8,12,18,.8);backdrop-filter:blur(3px);border-radius:10px;padding:13px 16px;text-align:right;min-width:186px;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.ch-sm .ch-price{padding:10px 14px;min-width:160px}
.ch-flag{display:inline-block;background:#dc2626;color:#fff;font-size:10.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border-radius:5px;padding:3px 9px;margin-bottom:6px}
.ch-now{font-size:26px;font-weight:900;color:#fff;line-height:1.05}
.ch-sm .ch-now{font-size:21px}
.ch-now small{font-size:12px;font-weight:700;color:#9CC4E4;margin-left:3px}
.ch-now.ch-quote{font-size:17px}
.ch-sm .ch-now.ch-quote{font-size:15px}
.ch-list{font-size:12px;color:#BCD2E4;margin-top:3px}
.ch-list s{color:#8FA8BD}
.ch-save{display:inline-block;background:#dc2626;color:#fff;font-size:11.5px;font-weight:900;border-radius:5px;padding:3px 8px;margin-top:6px}
.ch-terms{font-size:11px;color:#9CC4E4;margin-top:4px}
.ch-feats{position:relative;z-index:1;background:rgba(0,8,18,.5);border-top:1px solid rgba(255,255,255,.14)}
.ch-feats-in{display:flex;gap:8px 22px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.ch-feat{font-size:12.5px;font-weight:700;color:#D5E2EE;white-space:nowrap}
/* content after the hero needs breathing room (hero no longer has top margin) */
.ch + .container, section.ch ~ .container{padding-top:4px}
@media(max-width:860px){
  .ch-inner,.ch-lg .ch-inner{grid-template-columns:1fr;padding-top:20px;padding-bottom:22px;gap:12px;min-height:0}
  .ch-price{position:static;margin:0 16px 16px;text-align:left;display:inline-block}
  .ch-visual{order:-1;justify-content:center;padding-top:6px}
  .ch-lg .ch-art-cut{max-height:230px}
  .ch-sm .ch-art{max-height:140px}
  .ch-lg .ch-card .ch-art{max-height:160px}
  .ch-feats-in{padding-top:10px;padding-bottom:10px}
  .ch-desc{display:none}
}

/* v72: chat attachment image overlay */
.mh-imgov{position:fixed;inset:0;z-index:1300;background:rgba(4,12,22,.88);display:flex;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}
.mh-imgov[hidden]{display:none}
.mh-imgov img{max-width:96vw;max-height:92vh;border-radius:6px;box-shadow:0 16px 48px rgba(0,0,0,.5)}
.mh-imgov-x{position:absolute;top:10px;right:14px;background:none;border:0;color:#fff;font-size:32px;line-height:1;cursor:pointer;padding:4px 8px}

/* ===== v73.2: 404 recovery page ===== */
.nf-page{max-width:980px;padding-top:26px;padding-bottom:40px}
.nf-hero{text-align:center;max-width:680px;margin:0 auto}
.nf-label{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--mh-blue);background:var(--mh-blue-pale);border:1px solid var(--mh-blue-light);border-radius:99px;padding:5px 14px;margin:0 0 14px}
.nf-h1{font-size:clamp(26px,4.5vw,38px);line-height:1.15;margin:0 0 10px;color:var(--g-900)}
.nf-sub{font-size:15.5px;line-height:1.65;color:var(--g-500);margin:0 0 22px}
.nf-search{position:relative;text-align:left;margin:0 0 18px}
.nf-search-label{display:block;font-size:13px;font-weight:800;color:var(--g-900);margin:0 0 6px}
.nf-search-row{display:flex;gap:8px}
.nf-search-row input[type="search"]{flex:1;min-width:0;height:48px;border:2px solid var(--g-300);border-radius:10px;padding:0 14px;font-size:15px;background:#fff}
.nf-search-row input[type="search"]:focus{outline:none;border-color:var(--mh-blue);box-shadow:0 0 0 3px var(--mh-blue-light)}
.nf-search-btn{height:48px;white-space:nowrap;padding:0 18px}
.nf-search .sg-box{top:calc(100% + 4px)}
.nf-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 0 10px}
.nf-actions .btn{min-width:180px;height:44px;display:inline-flex;align-items:center;justify-content:center}
.nf-homelink{margin:4px 0 0;font-size:14px}
.nf-homelink a{color:var(--g-500);text-decoration:underline}
.nf-homelink a:hover{color:var(--mh-blue)}
.nf-h2{font-size:19px;margin:0 0 12px;color:var(--g-900)}
.nf-suggest{margin:34px 0 0}
.nf-cats{margin:34px 0 0}
.nf-cat-tiles{margin:0}
.nf-support{margin:38px 0 0;background:var(--mh-blue-pale);border:1px solid var(--mh-blue-light);border-radius:14px;padding:22px;text-align:center}
.nf-support-text{font-size:14.5px;color:var(--g-500);margin:0 0 14px;line-height:1.6}
.nf-support-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.nf-report{margin:18px 0 0;font-size:13px}
.nf-report-link{background:none;border:0;color:var(--g-500);text-decoration:underline;cursor:pointer;font:inherit;font-size:13px;padding:4px}
.nf-report-link:hover{color:var(--mh-blue)}
#nf-report-form{max-width:480px;margin:12px auto 0;text-align:left}
#nf-report-form label{display:block;font-size:13px;font-weight:700;margin:0 0 6px;color:var(--g-900)}
#nf-report-form .nf-opt{font-weight:400;color:var(--g-500)}
#nf-report-form textarea{width:100%;border:1px solid var(--g-300);border-radius:8px;padding:10px 12px;font:inherit;font-size:14px;resize:vertical}
#nf-report-form textarea:focus{outline:none;border-color:var(--mh-blue);box-shadow:0 0 0 3px var(--mh-blue-light)}
.nf-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.nf-report-row{display:flex;align-items:center;gap:12px;margin-top:10px}
.nf-report-status{font-size:13.5px;font-weight:600}
.nf-report-status.ok{color:#15803D}
.nf-report-status.err{color:#B91C1C}
@media (max-width:560px){
  .nf-page{padding-top:14px}
  .nf-search-row{flex-direction:column}
  .nf-search-btn{width:100%}
  .nf-actions .btn{flex:1;min-width:0}
}

/* ===== v73.3: homepage intro / about band ===== */
.home-intro{border-top:1px solid var(--g-200);padding-top:34px}
.home-intro .hi-eyebrow{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--g500);font-weight:700;margin:0 0 6px}
.home-intro h2{font-size:clamp(20px,3vw,27px);color:var(--mh-blue,#1268b3);margin:0 0 16px}
.hi-cols{display:grid;grid-template-columns:1.7fr 1fr;gap:34px;align-items:start}
.hi-main p{font-size:15px;line-height:1.7;color:var(--g700,#333);margin:0 0 14px}
.hi-main a{color:var(--mh-blue,#1268b3);text-decoration:underline;text-underline-offset:2px}
.hi-side{background:var(--mh-blue-pale,#eef5fb);border:1px solid var(--g-200);border-radius:10px;padding:20px 22px}
.hi-side h3{margin:0 0 8px;font-size:17px}
.hi-side p{font-size:14px;line-height:1.6;margin:0 0 12px}
.hi-side-cta .btn{margin-bottom:10px}
.hi-phone{font-weight:700;color:var(--mh-blue,#1268b3);text-decoration:none;font-size:15px}
.hi-side-fine{font-size:12.5px;color:var(--g500)}
@media (max-width:820px){.hi-cols{grid-template-columns:1fr;gap:20px}}
