/* Steel & Stud, category filters, v250 look.
   Same filters, links and counts as before; this file is presentation only:
   a sticky filter card (folding sections, search, size chips, price boxes),
   a "Refine" bar (scrolls with the page, v257) with pill filters and a sort popover, a filter card
   that drops in under the bar, "Applied" chips, a loading pill, and on phones
   a bottom sheet with a two-pane filter list. */

[data-ssf-root]{background:#fff}
[data-ssf-root] .ssf a,[data-ssf-root] .ssf a:hover,[data-ssf-root] .ssf a *,[data-ssf-root] .ssf-head a{text-decoration:none!important}
.ssf,.ssf-head,.ssf-mbar,.ssf-side{
  --f-ink:#0f2136;--f-sub:#4f5f73;--f-mute:#8593a6;--f-line:#e5ebf3;--f-line2:#d3ddea;--f-soft:#f5f8fc;--f-soft2:#eef3f9;
  --f-nav:var(--primary,#004280);--f-navd:var(--primary-dark,#001d3d);--f-acc:var(--accent,#f07300);--f-accd:var(--accent-dark,#c45f00);--f-accs:#fff3e6;--f-accb:#ffd6ad;
  --f-r:16px;--f-top:var(--ssf-top,96px);--f-ease:cubic-bezier(.22,.61,.36,1);
}
.ssf-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- results header ---------- */
.ssf-head{position:relative;z-index:35;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;margin-top:0}
.ssf-head-l{min-width:0}
.ssf-head-l .ssf-sub{margin-top:6px}
.ssf-top.is-empty{display:none}
.ssf-hall{display:none!important}
.ssf-title{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-family:var(--display,inherit);font-size:clamp(1.3rem,2.2vw,1.6rem);font-weight:800;line-height:1.2;letter-spacing:-.01em;color:var(--f-navd)}
.ssf-title>b{font-weight:800;letter-spacing:-.01em}
.ssf-count{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 12px;border-radius:999px;background:var(--f-soft2);color:var(--f-nav);font-family:var(--sans,inherit);font-size:.8rem;font-weight:600;letter-spacing:0}
.ssf-count b{font-weight:800;color:var(--f-navd)}
.ssf-sub{margin:0;font-size:.84rem;color:var(--f-mute)}

/* ---------- layout ---------- */
.ssf{display:grid;grid-template-columns:286px minmax(0,1fr);gap:28px;align-items:start;margin-top:18px;color:var(--f-ink);font-family:var(--sans,inherit)}
.ssf :focus-visible{outline:2px solid var(--f-nav);outline-offset:2px;border-radius:8px}

/* ---------- filter card (sidebar) ---------- */
.ssf-side{position:sticky;top:var(--f-top);max-height:calc(100vh - var(--f-top) - 18px);display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--f-line);border-radius:20px;box-shadow:0 1px 2px rgba(15,33,54,.04),0 12px 32px rgba(15,33,54,.06);overflow:hidden;transition:top .2s var(--f-ease)}
.ssf-side-h{flex:none;display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--f-line);background:linear-gradient(180deg,#fff,#fafcfe)}
.ssf-h{display:inline-flex;align-items:center;gap:9px;font-family:var(--display,inherit);font-size:1.02rem;font-weight:800;color:var(--f-navd)}
.ssf-h svg{color:var(--f-nav)}
.ssf-hcount{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--f-acc);color:#fff;font-family:var(--sans,inherit);font-size:.72rem;font-weight:800;box-shadow:0 3px 8px rgba(240,115,0,.3)}
.ssf-clear{margin-left:auto;padding:6px 10px;border-radius:9px;font-size:.8rem;font-weight:700;color:var(--f-acc)!important;transition:background .15s}
.ssf-clear:hover{background:var(--f-accs)}
.ssf-x{display:none}
.ssf-side-b{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 18px 6px;scrollbar-width:thin;scrollbar-color:#cdd7e4 transparent}
.ssf-side-b::-webkit-scrollbar{width:8px}
.ssf-side-b::-webkit-scrollbar-thumb{background:#d3dce8;border-radius:8px;border:2px solid #fff}
.ssf-side-f{display:none}
.ssf-m-only{display:none}

/* sections */
.ssf-sec{padding:14px 0 16px;border-bottom:1px solid var(--f-line)}
.ssf-side-b>.ssf-sec:last-of-type{border-bottom:0}
.ssf-sec-h{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ssf-sec-t{font-family:var(--display,inherit);font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--f-navd)}
.ssf-sec-n{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 6px;border-radius:9px;background:var(--f-acc);color:#fff;font-size:.68rem;font-weight:800}
.ssf-sec-h .ssf-car{margin-left:auto;color:var(--f-mute);transition:transform .2s var(--f-ease)}
.ssf-sec-h:hover .ssf-car{color:var(--f-nav)}
.ssf-sec.is-folded .ssf-sec-b{display:none}
.ssf-sec.is-folded .ssf-sec-h .ssf-car{transform:rotate(-90deg)}
.ssf-sec-b{padding-top:12px}

/* search */
.ssf-sqw{position:relative;display:block;margin:0 0 10px}
.ssf-sqw svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--f-mute);pointer-events:none}
.ssf-sq{width:100%;height:38px;margin:0;padding:0 12px 0 36px;border:1.5px solid var(--f-line2);border-radius:11px;background:var(--f-soft);font:inherit;font-size:.84rem;color:var(--f-ink);outline:0;transition:border-color .15s,box-shadow .15s,background .15s}
.ssf-sq::placeholder{color:var(--f-mute)}
.ssf-sq:focus{border-color:var(--f-nav);background:#fff;box-shadow:0 0 0 4px rgba(0,66,128,.1)}

/* list rows */
.ssf-opts{list-style:none;margin:0;padding:0}
.ssf-opts li{margin:0}
.ssf-opts li[data-ssf-extra],.ssf-opts li.ssf-zero{display:none}
.ssf-opts li.ssf-hide{display:none!important}
.ssf-sec.all .ssf-opts li[data-ssf-extra]{display:block}
.ssf-sec.all .ssf-opts li.ssf-hide{display:none}
.ssf-opt{display:flex;align-items:flex-start;gap:11px;margin:0 -8px;padding:7px 8px;border-radius:10px;font-size:.875rem;line-height:1.35;color:var(--f-ink)!important;cursor:pointer;transition:background .12s;-webkit-tap-highlight-color:transparent}
.ssf-opt:hover{background:var(--f-soft)}
.ssf-cb{flex:0 0 auto;position:relative;width:18px;height:18px;margin-top:1px;border:1.5px solid #b8c4d3;border-radius:5px;background:#fff;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.ssf-opt:hover .ssf-cb{border-color:var(--f-nav)}
.ssf-opt.is-on .ssf-cb{background:var(--f-acc);border-color:var(--f-acc);box-shadow:0 3px 8px rgba(240,115,0,.32);animation:ssfPop .22s var(--f-ease)}
.ssf-opt.is-on .ssf-cb::after{content:"";position:absolute;left:5px;top:1.5px;width:5px;height:9px;border:solid #fff;border-width:0 2.2px 2.2px 0;transform:rotate(45deg)}
.ssf-lbl{flex:1 1 auto;min-width:0}
.ssf-opt.is-on .ssf-lbl{font-weight:700;color:var(--f-navd)}
.ssf-n{flex:0 0 auto;margin-left:auto;padding-top:1px;font-size:.74rem;font-weight:600;color:var(--f-mute);font-variant-numeric:tabular-nums}
.ssf-opt.is-on .ssf-n{color:var(--f-accd)}

/* size chips (width / length / height): v257 compact pills with a count badge */
.ssf-sec--chips .ssf-opts li[data-ssf-extra]{display:none}
.ssf-sec--chips.all .ssf-opts li[data-ssf-extra]{display:block}
.ssf-sec.ssf-sec--chips .ssf-opts{display:flex;flex-wrap:wrap;gap:8px}
.ssf-sec.ssf-sec--chips .ssf-opt{position:relative;height:36px;margin:0;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:0 5px 0 14px;border:1.5px solid var(--f-line2);border-radius:999px;background:#fff;text-align:left;box-shadow:0 1px 2px rgba(15,33,54,.04);transition:border-color .15s,background .15s,box-shadow .15s}
.ssf-sec--chips .ssf-cb{display:none}
.ssf-sec.ssf-sec--chips .ssf-lbl{font-family:var(--display,inherit);font-size:.84rem;font-weight:700;line-height:1;white-space:nowrap;color:var(--f-navd)}
.ssf-sec.ssf-sec--chips .ssf-n{display:inline-grid;place-items:center;min-width:22px;height:22px;margin:0;padding:0 7px;border-radius:999px;background:var(--f-soft2);font-size:.68rem;font-weight:700;line-height:1;color:var(--f-sub);transition:background .15s,color .15s}
.ssf-sec.ssf-sec--chips .ssf-opt:hover{border-color:var(--f-nav);background:var(--f-soft);transform:none;box-shadow:0 4px 10px rgba(0,66,128,.08)}
.ssf-sec.ssf-sec--chips .ssf-opt:hover .ssf-n{background:#fff}
.ssf-sec.ssf-sec--chips .ssf-opt.is-on{padding-left:12px;background:var(--f-navd);border-color:var(--f-navd);box-shadow:0 6px 14px rgba(0,29,61,.2)}
.ssf-sec.ssf-sec--chips .ssf-opt.is-on::before{content:"";flex:none;width:5px;height:9px;margin:-3px 0 0 1px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ssf-sec.ssf-sec--chips .ssf-opt.is-on .ssf-lbl{color:#fff}
.ssf-sec.ssf-sec--chips .ssf-opt.is-on .ssf-n{background:rgba(255,255,255,.16);color:#fff}
.ssf-sec.ssf-sec--chips .ssf-opt:focus-visible{outline:3px solid rgba(240,115,0,.35);outline-offset:2px}

/* show more */
.ssf-more{display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;padding:6px 10px 6px 0;border:0;background:none;font:inherit;font-size:.82rem;font-weight:700;color:var(--f-nav);cursor:pointer}
.ssf-more:hover{color:var(--f-acc)}
.ssf-more .ssf-car{transition:transform .2s var(--f-ease)}
.ssf-sec.all .ssf-more .ssf-car{transform:rotate(180deg)}

/* price */
.ssf-pboxes{display:grid;grid-template-columns:1fr 12px 1fr;align-items:center;gap:8px;margin-bottom:16px}
.ssf-pbox{min-width:0;padding:7px 11px 8px;border:1.5px solid var(--f-line2);border-radius:11px;background:var(--f-soft)}
.ssf-pbox small{display:block;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--f-mute)}
.ssf-pbox output{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--display,inherit);font-size:.92rem;font-weight:800;color:var(--f-navd);font-variant-numeric:tabular-nums}
.ssf-pdash{height:2px;border-radius:2px;background:var(--f-line2)}
.ssf-rng{position:relative;height:30px;margin:0 10px 4px}
.ssf-rail{position:absolute;left:0;right:0;top:12px;height:6px;border-radius:6px;background:var(--f-soft2)}
.ssf-fill{position:absolute;top:0;bottom:0;border-radius:6px;background:linear-gradient(90deg,var(--f-acc),#ff9a3d)}
.ssf-rng input{position:absolute;left:-10px;width:calc(100% + 20px);top:3px;height:24px;margin:0;background:none;-webkit-appearance:none;appearance:none;pointer-events:none;outline:0}
.ssf-rng input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;pointer-events:auto;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--f-acc);box-shadow:0 2px 8px rgba(15,33,54,.22);cursor:grab;transition:transform .12s}
.ssf-rng input::-webkit-slider-thumb:hover{transform:scale(1.12)}
.ssf-rng input:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.18)}
.ssf-rng input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 5px rgba(240,115,0,.2),0 2px 8px rgba(15,33,54,.22)}
.ssf-rng input::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--f-acc);box-shadow:0 2px 8px rgba(15,33,54,.22);cursor:grab}
.ssf-rng input::-webkit-slider-runnable-track{background:none}
.ssf-rng input::-moz-range-track{background:none}
.ssf-rng-out{font-size:.74rem;color:var(--f-mute);text-align:center}

/* help card */
.ssf-help{padding:14px 0 16px}
.ssf-help a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,var(--f-accs),#fff8f0);border:1px solid var(--f-accb);font-size:.82rem;line-height:1.35;color:var(--f-accd)!important;transition:transform .15s,box-shadow .15s}
.ssf-help a:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(240,115,0,.14)}
.ssf-help svg{flex:none;color:var(--f-acc)}
.ssf-help b{display:block;color:var(--f-navd)}

/* ---------- refine bar ---------- */
.ssf-main{min-width:0}
.ssf-top{position:relative;z-index:30;display:flex;align-items:center;gap:10px;min-height:58px;padding:9px 10px 9px 16px;background:#fff;border:1px solid var(--f-line);border-radius:18px;box-shadow:0 8px 24px rgba(15,33,54,.06);transition:top .2s var(--f-ease)}
.ssf-hlabel{flex:none;font-family:var(--display,inherit);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--f-mute)}
.ssf-hrow{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.ssf-hbtn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px 0 15px;border:1.5px solid var(--f-line2);border-radius:999px;background:#fff;font:inherit;font-size:.85rem;font-weight:600;color:var(--f-ink);white-space:nowrap;cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}
.ssf-hbtn:hover{border-color:var(--f-nav);color:var(--f-nav)}
.ssf-hbtn .ssf-car{color:var(--f-mute);transition:transform .2s var(--f-ease)}
.ssf-hbtn.has-on{border-color:var(--f-accb);background:var(--f-accs);color:var(--f-accd);font-weight:700}
.ssf-hbtn.has-on .ssf-car{color:var(--f-accd)}
.ssf-hbtn[aria-expanded="true"]{border-color:var(--f-navd);background:var(--f-navd);color:#fff;box-shadow:0 6px 16px rgba(0,29,61,.22)}
.ssf-hbtn[aria-expanded="true"] .ssf-car{color:#fff;transform:rotate(180deg)}
.ssf-hn{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 6px;border-radius:10px;background:var(--f-acc);color:#fff;font-size:.68rem;font-weight:800}

/* sort */
.ssf-sort{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:8px;height:40px;margin-left:auto;padding:0 12px 0 14px;border:1.5px solid var(--f-line2);border-radius:12px;background:#fff;font-size:.84rem;color:var(--f-sub);cursor:pointer;z-index:20;transition:border-color .15s,box-shadow .15s}
.ssf-sort:hover,.ssf-sort:focus-within,.ssf-sort.open{border-color:var(--f-nav);box-shadow:0 0 0 4px rgba(0,66,128,.08)}
.ssf-sort>svg:first-child{color:var(--f-nav)}
.ssf-sort-t{white-space:nowrap}
.ssf-sort-t b{color:var(--f-navd);font-weight:800}
.ssf-sort>.ssf-car{color:var(--f-mute);transition:transform .2s var(--f-ease)}
.ssf-sort:hover>.ssf-car,.ssf-sort:focus-within>.ssf-car,.ssf-sort.open>.ssf-car{transform:rotate(180deg)}
.ssf-sort-list{position:absolute;right:-2px;top:calc(100% + 8px);min-width:252px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--f-line);border-radius:16px;box-shadow:0 20px 44px rgba(15,33,54,.16);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility 0s .16s}
.ssf-sort-list::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.ssf-sort:hover .ssf-sort-list,.ssf-sort:focus-within .ssf-sort-list,.ssf-sort.open .ssf-sort-list{opacity:1;visibility:visible;transform:none;transition:opacity .16s,transform .16s}
.ssf-sort-h{display:none}
.ssf-sort-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;font-size:.86rem;font-weight:600;color:var(--f-ink)!important;transition:background .12s}
.ssf-sort-list a:hover{background:var(--f-soft)}
.ssf-sort-list .ssf-tick{opacity:0;color:var(--f-acc)}
.ssf-sort-list a.on{background:var(--f-accs);color:var(--f-accd)!important;font-weight:800}
.ssf-sort-list a.on .ssf-tick{opacity:1}

/* drop-down filter card */
.ssf-hpanel{position:relative;margin-top:10px;padding:14px 16px 16px;background:#fff;border:1px solid var(--f-line);border-radius:18px;box-shadow:0 14px 34px rgba(15,33,54,.09);animation:ssfDrop .2s var(--f-ease)}
.ssf-hpanel-h{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;padding-right:40px}
.ssf-hpanel-h b{font-family:var(--display,inherit);font-size:.98rem;font-weight:800;color:var(--f-navd)}
.ssf-hpanel-h span{font-size:.78rem;color:var(--f-mute)}
.ssf-hpanel-x{position:absolute;right:12px;top:11px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:var(--f-soft2);color:var(--f-sub);cursor:pointer;transition:background .15s,color .15s}
.ssf-hpanel-x:hover{background:var(--f-navd);color:#fff}
.ssf-hpanel .ssf-opts{display:flex;flex-wrap:wrap;gap:8px}
.ssf-hpanel .ssf-opt{margin:0;align-items:center;gap:9px;padding:8px 14px 8px 11px;border:1.5px solid var(--f-line2);border-radius:999px;background:#fff;font-size:.86rem;transition:border-color .15s,background .15s,box-shadow .15s}
.ssf-hpanel .ssf-opt:hover{border-color:var(--f-nav);background:#fff}
.ssf-hpanel .ssf-cb{width:16px;height:16px;margin:0;border-radius:50%}
.ssf-hpanel .ssf-opt.is-on{border-color:var(--f-acc);background:var(--f-accs);box-shadow:0 4px 12px rgba(240,115,0,.14)}
.ssf-hpanel .ssf-opt.is-on .ssf-cb::after{left:4.5px;top:1.5px;width:4px;height:8px}
.ssf-hpanel .ssf-n{padding:0;margin-left:2px}
.ssf-hpanel--chips .ssf-cb{display:none}

/* applied chips */
.ssf-pills{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 2px;animation:ssfFade .2s ease}
.ssf-pills-t{font-family:var(--display,inherit);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--f-mute);margin-right:2px}
.ssf-pill{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 6px 0 13px;border:1px solid var(--f-accb);border-radius:999px;background:var(--f-accs);font-size:.82rem;font-weight:700;color:var(--f-accd)!important;transition:background .15s,border-color .15s,transform .12s}
.ssf-pill-k{font-weight:600;color:#a0623a}
.ssf-pill-k::after{content:":"}
.ssf-pill i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(240,115,0,.16);color:var(--f-accd);font-style:normal;transition:background .15s,color .15s}
.ssf-pill:hover{background:#ffe7cf;border-color:var(--f-acc)}
.ssf-pill:hover i{background:var(--f-acc);color:#fff}
.ssf-pill.is-leaving{opacity:.35;transform:scale(.94)}
.ssf-pills-clear{margin-left:4px;padding:6px 8px;border-radius:8px;font-size:.82rem;font-weight:700;color:var(--f-nav)!important}
.ssf-pills-clear:hover{background:var(--f-soft2)}

/* grid + loading + empty */
.ssf-main .ssf-grid{margin-top:16px}
.ssf-main .plp-price-basis,.ssf-main .ss-pop-row{margin-top:16px}
.ssf-loading{position:sticky;top:calc(var(--f-top) + 70px);z-index:25;display:none;align-items:center;gap:10px;width:max-content;margin:14px auto -48px;padding:9px 16px;border-radius:999px;background:var(--f-navd);color:#fff;font-size:.82rem;font-weight:700;box-shadow:0 12px 28px rgba(0,29,61,.3)}
.ssf-spin{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:ssfSpin .7s linear infinite}
.ssf.is-loading .ssf-loading{display:flex;animation:ssfFade .15s ease}
.ssf.is-loading .ssf-grid,.ssf.is-loading .ss-pagination,.ssf.is-loading .ssf-empty{opacity:.32;filter:saturate(.5);pointer-events:none;transition:opacity .2s,filter .2s}
.ssf.is-loading .ssf-side-b,.ssf.is-loading .ssf-top{pointer-events:none}
.ssf.is-loading::before{content:"";position:fixed;left:0;top:0;height:3px;width:40%;background:linear-gradient(90deg,var(--f-acc),#ffb066);z-index:100001;animation:ssfbar 1s linear infinite}
.ssf-empty{margin-top:18px;padding:44px 24px;text-align:center;border:1.5px dashed var(--f-line2);border-radius:20px;background:var(--f-soft)}
.ssf-empty-ic{display:inline-grid;place-items:center;width:58px;height:58px;margin-bottom:12px;border-radius:50%;background:#fff;color:var(--f-acc);box-shadow:0 8px 20px rgba(15,33,54,.08)}
.ssf-empty-ic svg{width:26px;height:26px}
.ssf-empty h3{margin:0 0 6px;font-size:1.15rem;color:var(--f-navd)}
.ssf-empty p{margin:0 auto 18px;max-width:42ch;color:var(--f-sub)}
.ssf-empty-a{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.ssf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:12px;border:1.5px solid transparent;font:inherit;font-size:.9rem;font-weight:800;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .12s}
.ssf-btn--go{background:var(--f-acc);color:#fff!important;box-shadow:0 8px 18px rgba(240,115,0,.28)}
.ssf-btn--go:hover{background:var(--f-accd);transform:translateY(-1px)}
.ssf-btn--go b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:rgba(255,255,255,.25);font-size:.74rem}
.ssf-btn--go b:empty{display:none}
.ssf-btn--ghost{background:#fff;border-color:var(--f-line2);color:var(--f-navd)!important}
.ssf-btn--ghost:hover{border-color:var(--f-nav)}

.ssf-mbar{display:none}
.ssf-nav{display:none}
.ssf-scrim{position:fixed;inset:0;background:rgba(0,20,40,.55);z-index:99990;opacity:0;pointer-events:none;transition:opacity .25s}
.ssf-scrim.show{opacity:1;pointer-events:auto}

@keyframes ssfbar{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
@keyframes ssfSpin{to{transform:rotate(360deg)}}
@keyframes ssfPop{0%{transform:scale(.7)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes ssfDrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes ssfFade{from{opacity:0}to{opacity:1}}

@media (max-width:1240px){
  .ssf{grid-template-columns:262px minmax(0,1fr);gap:22px}
  .ssf-hlabel{display:none}
}
@media (max-width:1120px){
  .ssf-sort-t{max-width:150px;overflow:hidden;text-overflow:ellipsis}
}

/* ---------- phones & tablets ---------- */
@media (max-width:980px){
  .ssf-head{margin-top:0}
  .ssf-sub{display:none}
  .ssf{display:block;margin-top:12px}
  .ssf-top{margin:0 -16px;padding:8px 16px;min-height:0;border-radius:0;border-width:0 0 1px;box-shadow:0 6px 14px rgba(15,33,54,.05)}
  .ssf-hlabel{display:none}
  .ssf-hrow{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 24px 2px 0;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  .ssf-hall{display:inline-flex!important;border-color:var(--f-navd)!important;background:var(--f-navd)!important;color:#fff!important}
  .ssf-hall b{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 6px;border-radius:10px;background:var(--f-acc);color:#fff;font-size:.68rem}
  .ssf-hrow::-webkit-scrollbar{display:none}
  .ssf-hbtn{flex:0 0 auto;height:34px;font-size:.82rem}
  .ssf-hbtn[aria-expanded="true"]{border-color:var(--f-line2);background:#fff;color:var(--f-ink);box-shadow:none}
  .ssf-sort{display:none}
  .ssf-hpanel{display:none!important}
  .ssf-pills{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:12px -16px 0;padding:0 16px 2px}
  .ssf-pills::-webkit-scrollbar{display:none}
  .ssf-pill{flex:0 0 auto}
  .ssf-pills-clear{flex:0 0 auto}
  .ssf-m-only{display:block}

  /* bottom sheet */
  .ssf-side{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;height:min(90vh,calc(100% - 28px));max-height:none;z-index:100000;border:0;border-radius:24px 24px 0 0;box-shadow:0 -20px 60px rgba(0,20,40,.35);transform:translateY(104%);transition:transform .32s cubic-bezier(.22,1,.36,1)}
  .ssf-side.open{transform:none}
  .ssf-side-h{position:relative;padding:22px 16px 14px}
  .ssf-side-h::before{content:"";position:absolute;left:50%;top:8px;width:42px;height:5px;margin-left:-21px;border-radius:3px;background:#d3dce8}
  .ssf-x{display:grid;place-items:center;width:36px;height:36px;margin-left:6px;border:0;border-radius:50%;background:var(--f-soft2);color:var(--f-ink);cursor:pointer}
  .ssf-clear{margin-left:auto}
  .ssf-side-b{display:grid;grid-template-columns:clamp(118px,34%,150px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding:0;overflow:hidden}
  .ssf-nav{display:block;grid-column:1;grid-row:1;overflow-y:auto;background:var(--f-soft);border-right:1px solid var(--f-line);scrollbar-width:none}
  .ssf-nav::-webkit-scrollbar{display:none}
  .ssf-nav button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;min-height:52px;padding:10px 12px 10px 14px;border:0;border-bottom:1px solid var(--f-line);background:none;font:inherit;font-size:.82rem;font-weight:700;line-height:1.25;text-align:left;color:var(--f-sub);cursor:pointer}
  .ssf-nav button.on{background:#fff;color:var(--f-navd)}
  .ssf-nav button.on::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--f-acc)}
  .ssf-nav b{flex:none;display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--f-acc);color:#fff;font-size:.66rem}
  .ssf-nav b:empty{display:none}
  .ssf-side-b>.ssf-sec,.ssf-side-b>.ssf-help{grid-column:2;grid-row:1;min-height:0;overflow-y:auto;padding:16px 16px 24px;border:0}
  .ssf-side.has-rail .ssf-side-b>.ssf-sec:not(.is-active){display:none}
  .ssf-side-b>.ssf-help{display:none}
  .ssf-sec-h{pointer-events:none}
  .ssf-sec-h .ssf-car{display:none}
  .ssf-sec.is-folded .ssf-sec-b{display:block}
  .ssf-sec .ssf-opts li[data-ssf-extra]{display:block}
  .ssf-sec .ssf-more{display:none}
  .ssf-opt{padding:10px 8px;font-size:.92rem}
  .ssf-cb{width:20px;height:20px}
  .ssf-opt.is-on .ssf-cb::after{left:6px;top:2.5px}
  .ssf-sec.ssf-sec--chips .ssf-opt{height:40px;padding:0 6px 0 15px}
  .ssf-sec.ssf-sec--chips .ssf-opt.is-on{padding-left:13px}
  .ssf-side-f{flex:none;display:grid;grid-template-columns:1fr 1.6fr;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--f-line);background:#fff;box-shadow:0 -8px 20px rgba(15,33,54,.06)}
  .ssf-side-f .ssf-btn{width:100%;height:48px}

  /* floating Sort | Filter */
  .ssf-mbar{position:sticky;bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;width:max-content;margin:20px auto 0;border-radius:999px;background:var(--f-navd);box-shadow:0 14px 30px rgba(0,20,40,.32);overflow:hidden}
  .ssf-mbar button{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 22px;border:0;background:none;color:#fff;font:inherit;font-size:.9rem;font-weight:800;cursor:pointer}
  .ssf-mbar button+button{border-left:1px solid rgba(255,255,255,.18)}
  .ssf-mbar b{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--f-acc);font-size:.72rem}

  /* sort as a bottom sheet */
  .ssf-top.sort-open{position:static;display:block;min-height:0;padding:0;border:0;box-shadow:none;background:none}
  /* v286: the results header (z-index 35) held the sheet under the dark scrim, so
     the whole sheet looked greyed out. While Sort is open it stops being a layer. */
  .ssf-head.sort-open,.ssf-head:has(.ssf-sort.open){z-index:auto}
  .ssf-top.sort-open .ssf-hrow{display:none}
  .ssf-sort.open{position:fixed;left:0;right:0;bottom:0;top:auto;display:block;height:auto;margin:0;padding:24px 10px calc(12px + env(safe-area-inset-bottom,0px));border:0;border-radius:24px 24px 0 0;box-shadow:0 -20px 60px rgba(0,20,40,.35);z-index:100000;animation:ssfUp .28s cubic-bezier(.22,1,.36,1)}
  .ssf-sort.open::before{content:"";position:absolute;left:50%;top:8px;width:42px;height:5px;margin-left:-21px;border-radius:3px;background:#d3dce8}
  .ssf-sort.open>svg,.ssf-sort.open .ssf-sort-t{display:none}
  .ssf-sort.open .ssf-sort-list{position:static;min-width:0;padding:0;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .ssf-sort.open .ssf-sort-h{display:block;padding:4px 12px 10px;font-family:var(--display,inherit);font-size:1rem;font-weight:800;color:var(--f-navd)}
  .ssf-sort.open .ssf-sort-list a{padding:14px 12px;font-size:.95rem}
}
@keyframes ssfUp{from{transform:translateY(100%)}to{transform:none}}
/* touch screens: no "stuck" hover looks after a tap */
@media (hover:none){
  .ssf-opt:not(.is-on):hover{background:none}
  .ssf-opt:not(.is-on):hover .ssf-cb{border-color:#b8c4d3}
  .ssf-sec--chips .ssf-opt:not(.is-on):hover{border-color:var(--f-line2);background:#fff;transform:none;box-shadow:none}
  .ssf-sec.ssf-sec--chips .ssf-opt:not(.is-on):hover{border-color:var(--f-line2);background:#fff;box-shadow:none}
  .ssf-sec.ssf-sec--chips .ssf-opt:not(.is-on):hover .ssf-n{background:var(--f-soft2)}
  .ssf-hpanel .ssf-opt:not(.is-on):hover{border-color:var(--f-line2)}
  .ssf-hbtn:not(.has-on):hover{border-color:var(--f-line2);color:var(--f-ink)}
  .ssf-sort-list a:not(.on):hover{background:none}
  .ssf-pill:hover{background:var(--f-accs);border-color:var(--f-accb)}
  .ssf-pill:hover i{background:rgba(240,115,0,.16);color:var(--f-accd)}
}
@media (prefers-reduced-motion:reduce){
  .ssf *,.ssf-side,.ssf-sort-list{animation:none!important;transition:none!important}
}

/* v264: "Don't see your width / length?" card at the end of the Width and
   Length filters, linking to the quote form. The general "Need a custom size?"
   link at the bottom of the panel steps aside when these cards are there. */
.ssf-cq{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;align-items:center;margin-top:14px;padding:14px;border:1px dashed #F2BE88;border-radius:14px;background:linear-gradient(180deg,#FFF9F3,#FFF2E4);color:inherit;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.ssf-cq:hover,.ssf-cq:focus-visible{border-color:var(--accent,#f07300);box-shadow:0 12px 24px -16px rgba(240,115,0,.7)}
.ssf-cq:focus-visible{outline:3px solid rgba(240,115,0,.35);outline-offset:2px}
.ssf-cq-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#fff;color:var(--accent,#f07300);box-shadow:0 1px 3px rgba(0,29,61,.08)}
.ssf-cq-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.ssf-cq-t b{font-size:.88rem;line-height:1.3;color:var(--primary-dark,#001d3d)}
.ssf-cq-t small{font-size:.74rem;line-height:1.4;color:#52606d}
.ssf-cq-btn{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:6px;height:40px;margin-top:10px;border-radius:999px;background:var(--accent,#f07300);color:#fff;font-size:.85rem;font-weight:800;box-shadow:0 8px 18px -10px rgba(240,115,0,.9);transition:background .2s}
.ssf-cq:hover .ssf-cq-btn{background:var(--accent-dark,#c45f00)}
.ssf-side-b:has(.ssf-cq) .ssf-help{display:none}
