.category-shop-page .catalog-filter {
    --filter-accent: var(--store-accent, #008e91);
    position: fixed;
    inset: 0 auto 0 0;
    width: min(400px, 100vw);
    max-width: 100%;
    height: 100vh;
    height: 100dvh;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--store-surface, #fff);
    color: var(--store-text, #263344);
    border: 0;
    box-shadow: 12px 0 50px #15253526;
    transform: translateX(-100%);
    visibility: hidden;
    transition: transform .25s ease, visibility .25s ease;
}
.catalog-filter *, .catalog-filter *::before, .catalog-filter *::after { box-sizing: border-box; }
.catalog-filter .catalog-filter-heading { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:16px; padding:24px; border-bottom:1px solid var(--store-border,#e6eaed); }
.catalog-filter-heading small { display:block; font-size:10px; font-weight:700; letter-spacing:1.6px; color:var(--store-muted,#677484); margin-bottom:6px; }
.catalog-filter .catalog-filter-heading h2 { margin:0; font-size:22px; font-weight:600; color:inherit; }
.catalog-filter .filter-cls-btn { position:static; display:grid; place-items:center; flex-shrink:0; width:36px; height:36px; padding:0; margin:0; border:0; border-radius:50%; font-size:27px; line-height:1; background:var(--store-muted-surface,#f4f6f8); color:inherit; cursor:pointer; }
.catalog-filter #category-filter-form { display:flex; flex:1; flex-direction:column; min-height:0; margin:0; }
.catalog-filter-scroll { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:24px; scrollbar-width:thin; }
.catalog-filter fieldset { min-width:0; margin:0 0 24px; padding:0 0 24px; border:0; border-bottom:1px solid var(--store-border,#e6eaed); }
.catalog-filter fieldset:last-child { margin:0; padding:0; border:0; }
.catalog-filter legend { float:none; width:auto; padding:0; margin:0 0 12px; font-size:15px; font-weight:600; color:inherit; }
.catalog-filter .filter-hint { font-size:12px; margin:-5px 0 14px; color:var(--store-muted,#677484); }
.filter-category-list { display:grid; gap:6px; }
.catalog-filter .filter-choice { display:flex; align-items:center; gap:11px; padding:10px 12px; margin:0; border:1px solid transparent; border-radius:10px; font-size:14px; cursor:pointer; }
.catalog-filter .filter-choice:hover { background:var(--store-muted-surface,#f4f6f8); }
.catalog-filter .filter-choice:has(input:checked) { background:color-mix(in srgb,var(--filter-accent) 9%,var(--store-surface,#fff)); border-color:color-mix(in srgb,var(--filter-accent) 40%,transparent); }
.catalog-filter .filter-choice input { appearance:auto; position:static; width:18px; height:18px; flex:0 0 18px; margin:0; opacity:1; accent-color:var(--filter-accent); cursor:pointer; }
.filter-choice > span { min-width:0; overflow-wrap:anywhere; }
.filter-choice > small { margin-left:auto; color:var(--store-muted,#677484); font-size:11px; border-radius:6px; padding:2px 7px; background:var(--store-muted-surface,#f4f6f8); }
.catalog-filter .filter-deal { border-color:var(--store-border,#e6eaed); padding:14px; margin:0 0 24px; }
.filter-deal strong { display:block; font-size:14px; font-weight:600; }
.filter-deal span small { display:block; margin-top:3px; font-size:11px; color:var(--store-muted,#677484); }
.filter-deal .filter-deal-icon { margin-left:auto; color:var(--filter-accent); font-size:23px; font-weight:600; }
.filter-chips, .filter-colors { display:flex; flex-wrap:wrap; gap:8px; }
.catalog-filter .filter-chip { position:relative; display:block; max-width:100%; margin:0; cursor:pointer; }
.filter-chip input { position:absolute; width:1px; height:1px; opacity:0; }
.filter-chip > span { display:flex; align-items:center; justify-content:center; gap:8px; min-width:44px; min-height:42px; height:100%; padding:9px 13px; border:1px solid var(--store-border,#dce2e7); border-radius:9px; font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.filter-chip input:checked + span { border-color:var(--filter-accent); background:color-mix(in srgb,var(--filter-accent) 10%,var(--store-surface,#fff)); box-shadow:inset 0 0 0 1px var(--filter-accent); }
.filter-chip:hover > span { border-color:var(--filter-accent); }
.filter-chip input:focus-visible + span, .catalog-filter :focus-visible { outline:2px solid var(--filter-accent); outline-offset:3px; }
.filter-color i { display:block; width:18px; height:18px; flex:0 0 18px; border-radius:50%; border:1px solid #0002; box-shadow:inset 0 0 0 2px #ffffff80; }
.filter-price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.filter-price-grid > label { min-width:0; margin:0; font-size:12px; color:var(--store-muted,#677484); }
.filter-money { display:flex; align-items:center; margin-top:7px; padding:0 10px; border:1px solid var(--store-border,#dce2e7); border-radius:9px; background:var(--store-surface,#fff); }
.filter-money:focus-within { border-color:var(--filter-accent); }
.catalog-filter .filter-money input { width:100%; min-width:0; height:44px; padding:0; margin:0; border:0; border-radius:0; background:transparent; color:var(--store-text,#263344); font-size:13px; }
.filter-money > span { font-size:11px; padding-left:4px; }
.catalog-filter-actions { flex-shrink:0; padding:18px 24px max(18px,env(safe-area-inset-bottom)); border-top:1px solid var(--store-border,#e6eaed); background:var(--store-surface,#fff); }
.catalog-filter-actions button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:46px; padding:12px 18px; border:0; border-radius:10px; background:var(--filter-accent); color:#fff; font-size:14px; font-weight:600; cursor:pointer; }
.catalog-filter-actions a { display:block; padding:12px 0 0; text-align:center; color:var(--store-muted,#677484); font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.category-shop-page .filter-sidebar-overlay { position:fixed; inset:0; background:#14202b80; backdrop-filter:blur(3px); }
@media (max-width:360px) { .catalog-filter .catalog-filter-heading,.catalog-filter-scroll { padding:18px; } .catalog-filter-actions { padding-left:18px; padding-right:18px; } }
@media (prefers-reduced-motion:reduce) { .category-shop-page .catalog-filter { transition:none; } }
