.spg{padding-block:22px 60px}
.sp-h{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:22px}
.sp-h .eyebrow{color:var(--accent)}
.sp-h h1{font-size:clamp(34px,3vw,56px);font-weight:900;letter-spacing:-.03em;margin:8px 0 6px}
.sp-h h1 span{color:var(--accent)}
.sp-h p{margin:0;color:var(--fg-2);font-size:15.5px}
.sp-form{display:flex;align-items:center;gap:10px;width:min(560px,100%);height:58px;padding:6px 6px 6px 18px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 30px -24px rgba(14,17,22,.35)}
.sp-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.12)}
.sp-form svg{width:20px;height:20px;color:var(--fg-3);flex:none}
.sp-form input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:15.5px;color:var(--fg)}
.sp-form .btn{height:46px}
.sp-cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.spc{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:12px;background:#fff;border:1px solid var(--line);font-weight:700;font-size:14.5px;color:var(--fg-2);transition:.15s}
.spc svg{width:18px;height:18px;color:var(--fg-3)}
.spc em{font-style:normal;font-size:12px;padding:2px 8px;border-radius:999px;background:var(--panel-2);color:var(--fg-3)}
.spc:hover{border-color:var(--line-2);color:var(--fg)}
.spc.on{background:linear-gradient(135deg,var(--accent),var(--accent-lt));border-color:transparent;color:#fff;box-shadow:0 10px 22px -12px rgba(var(--accent-rgb),.8)}
.spc.on svg{color:#fff}
.spc.on em{background:rgba(255,255,255,.22);color:#fff}
.sp-body{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}
.sp-f{position:sticky;top:110px;border-radius:20px;background:#fff;border:1px solid var(--line);padding:6px 20px 20px;box-shadow:0 14px 34px -30px rgba(14,17,22,.4)}
.spf-h{display:flex;align-items:center;justify-content:space-between;padding:14px 0 12px;border-bottom:1px solid var(--line)}
.spf-h b{font-size:18px}
.spf-h button#spReset{font-size:13.5px;font-weight:600;color:var(--accent)}
.spf-x,.spf-go{display:none!important}
.spf-g{padding:16px 0;border-bottom:1px solid var(--line)}
.spf-g:last-of-type{border-bottom:0}
.spf-g h5{margin:0 0 12px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);font-weight:700}
.sw{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:600;font-size:14.5px}
.sw input{position:absolute;opacity:0;width:1px;height:1px}
.sw span{width:42px;height:24px;border-radius:999px;background:#dfe5ee;position:relative;transition:.2s;flex:none}
.sw span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:.2s}
.sw input:checked + span{background:var(--accent)}
.sw input:checked + span::after{left:21px}
.sw input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.spf-chips{display:flex;flex-wrap:wrap;gap:6px}
.spf-chips button{display:inline-flex;gap:6px;align-items:center;padding:7px 11px;border-radius:9px;background:#f4f6fa;border:1px solid transparent;font-family:var(--mono);font-weight:600;font-size:13px}
.spf-chips button em{font-style:normal;font-family:var(--font);font-size:11px;color:var(--fg-3)}
.spf-chips button:hover{border-color:var(--line-2)}
.spf-chips button.on{background:var(--accent);color:#fff}
.spf-chips button.on em{color:rgba(255,255,255,.8)}
.spf-pr{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;color:var(--fg-3)}
.spf-pr input{height:44px;border-radius:10px;border:1px solid var(--line-2);background:#f9fafc;padding:0 12px;font:inherit;font-size:14.5px;color:var(--fg);min-width:0}
.spf-pr input:focus{outline:0;border-color:var(--accent);background:#fff}
.spf-list{display:grid;gap:4px;max-height:280px;overflow-y:auto}
.ck2{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:9px;cursor:pointer;font-size:14.5px;font-weight:500}
.ck2:hover{background:#f5f7fb}
.ck2 input{position:absolute;opacity:0;width:1px;height:1px}
.ck2 span{width:20px;height:20px;border-radius:6px;border:1.5px solid #c7d1df;display:grid;place-items:center;flex:none;transition:.15s}
.ck2 input:checked + span{background:var(--accent);border-color:var(--accent)}
.ck2 input:checked + span::after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.ck2 em{margin-left:auto;font-style:normal;font-size:12px;color:var(--fg-3)}
.sp-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.sp-fbtn{display:none}
.sp-fbtn em{font-style:normal;min-width:20px;height:20px;border-radius:10px;background:var(--accent);color:#fff;font-size:11px;display:grid;place-items:center;padding:0 5px}
.sp-act{display:flex;gap:6px;flex-wrap:wrap;flex:1;min-width:0}
.sp-act button{display:inline-flex;gap:6px;align-items:center;padding:7px 10px 7px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:13px}
.sp-act svg{width:14px;height:14px}
.sp-act button:hover{background:rgba(var(--accent-rgb),.16)}
.sp-sort{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:13.5px;color:var(--fg-3)}
.sp-sort select{height:42px;border-radius:10px;border:1px solid var(--line);background:#fff;padding:0 12px;font:inherit;font-weight:600;color:var(--fg)}
.sp-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px}
.sp-grid .card h3 mark{background:rgba(var(--accent-rgb),.1);color:var(--accent);border-radius:3px;padding:0 2px}
.price.na{font-size:16px;color:var(--fg-3);font-weight:700}
.c-btns .cart-b[disabled]{opacity:.45;cursor:not-allowed}
.sp-more{display:grid;justify-items:center;gap:8px;margin-top:26px}
.sp-more .btn{min-width:260px}
.sp-more span{font-size:13px;color:var(--fg-3)}
.sp-empty{text-align:center;padding:60px 20px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.sp-empty .ic{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}
.sp-empty .ic svg{width:32px;height:32px}
.sp-empty h3{font-size:24px;font-weight:900}
.sp-empty p{color:var(--fg-2);max-width:56ch;margin:10px auto 20px}
.sp-try{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.sp-try a{padding:8px 14px;border-radius:10px;background:#f4f6fa;font-weight:600;font-size:14px}
.sp-try a:hover{background:var(--accent);color:#fff}
.sp-msg{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.sp-msg a{display:inline-flex;gap:8px;align-items:center;padding:10px 16px;border-radius:12px;border:1px solid var(--line);font-weight:700;font-size:14px}
.sp-msg svg{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--c);color:#fff}
.spf-ov{position:fixed;inset:0;z-index:105;background:rgba(14,17,22,.4)}
@media (max-width:1500px){.sp-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:1100px){
 .sp-body{grid-template-columns:1fr}
 .sp-fbtn{display:inline-flex}
 .sp-f{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:110;max-height:86vh;max-height:86dvh;overflow-y:auto;border-radius:22px 22px 0 0;padding:0 18px calc(18px + env(safe-area-inset-bottom,0px));transform:translateY(105%);transition:transform .3s ease;box-shadow:0 -30px 60px -30px rgba(14,17,22,.4)}
 .sp-f.open{transform:none}
 .spf-h{position:sticky;top:0;background:#fff;z-index:1;gap:12px}
 .spf-h #spReset{margin-left:auto}
 .spf-x{display:grid!important;width:40px;height:40px;border-radius:11px;border:1px solid var(--line);place-items:center}
 .spf-go{display:flex!important;width:100%;height:52px;position:sticky;bottom:0;margin-top:8px}
}
@media (max-width:720px){
 .spg{padding-block:14px 30px}
 .sp-h{margin-bottom:16px;gap:16px}.sp-h h1{font-size:30px}
 .sp-form{height:52px}.sp-form .btn{height:40px;padding:0 14px}
 .sp-cats{flex-wrap:nowrap;overflow-x:auto;margin-inline:-16px;padding:0 16px 4px;scrollbar-width:none}.sp-cats::-webkit-scrollbar{display:none}.spc{flex:none;padding:9px 13px;font-size:13.5px}
 .sp-sort span{display:none}.sp-sort select{height:44px}
 .sp-act{order:3;flex-basis:100%}
 .sp-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
 .sp-more .btn{min-width:0;width:100%}
}
.bc{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--fg-3);margin-bottom:18px}
.bc svg{width:14px;height:14px}
.bc a:hover{color:var(--fg)}
@media (max-width:720px){.sp-bar{flex-wrap:wrap}.sp-fbtn{flex:1;height:44px}.sp-sort{flex:1;margin:0}.sp-sort select{width:100%}}