#catalogFilters {--cfLine: var(--baseMidGray);--cfSurface: var(--baseLight);--cfHover: var(--baseMidLight);--cfAccent: var(--primaryDarkColor);--cfAccentSoft: #e3f2f1;--cfMuted: var(--textMuted);box-sizing:border-box;width:100%;padding:2rem var(--gutter) 0;border-top:1px dotted var(--baseGray);scroll-margin-top:5.5rem;}[data-theme='dark'] #catalogFilters {--cfLine: #ffffff2e;--cfSurface: #232323;--cfHover: #ffffff12;--cfAccent: #7fe3df;--cfAccentSoft: rgb(127 227 223 / 0.12);--cfMuted: #c8c8c8;border-top-color:#ffffff24;}#catalogFilters[data-active] ~ #catalogDefault {display:none;}#catalogFilters .cfResults,
    #catalogFilters ~ #catalogDefault {transition:opacity 0.2s ease-out;}

    /* Пока грузится новый выбор, старый список приглушён: задержка — чтобы быстрый ответ не мигал */#catalogFilters[data-loading] .cfResults,
    #catalogFilters[data-loading] ~ #catalogDefault {opacity:0.45;transition-delay:0.12s;pointer-events:none;}#catalogFilters form {margin:0;padding:0;border:0;}#catalogFilters .cfHidden {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}#catalogFilters .cfBar {display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem 2rem;}#catalogFilters .cfFacets {display:flex;flex-wrap:wrap;gap:0.5rem;min-width:0;}

    /* Кнопка группы: название, число выбранного (или цена) и стрелка */#catalogFilters .cfFacet {position:relative;}#catalogFilters .cfFacet > summary,
    #catalogFilters .cfOpen {display:inline-flex;align-items:center;gap:0.5rem;box-sizing:border-box;min-height:2.75rem;margin:0;padding:0 0.85rem 0 1rem;border:1px solid var(--cfLine);border-radius:0.5rem;background:var(--cfSurface);color:inherit;font:inherit;font-weight:500;letter-spacing:0.01em;line-height:1.2;text-shadow:none;list-style:none;cursor:pointer;user-select:none;transition:border-color 0.15s ease-out,
        background-color 0.15s ease-out;}

    /* Кнопка «Фильтры» и шапка с подвалом листа — только на телефоне со скриптом */#catalogFilters .cfOpen,
    #catalogFilters .cfSheetHead,
    #catalogFilters .cfSheetFoot {display:none;}#catalogFilters .cfFacet > summary::-webkit-details-marker {display:none;}#catalogFilters .cfFacet > summary::after {content:'';width:0.6rem;height:0.6rem;margin:-0.25rem 0 0 0.1rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:0.6;transition:transform 0.2s ease-out;}#catalogFilters .cfFacet[open] > summary::after {margin-top:0.25rem;transform:rotate(-135deg);}#catalogFilters .cfFacet > summary:hover,
    #catalogFilters .cfOpen:hover {border-color:var(--baseDarkGray);}#catalogFilters .cfFacet[open] > summary {border-color:currentColor;}

    /* Есть выбор — кнопка в акценте; работает и до ответа сервера */#catalogFilters .cfFacet:has(input:checked:not([value=''])) > summary,
    #catalogFilters .cfFacet:has(.cfRange input:not(:placeholder-shown)) > summary {border-color:var(--cfAccent);background:var(--cfAccentSoft);color:var(--cfAccent);}#catalogFilters .cfBadge {display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 0.4rem;box-sizing:border-box;border-radius:1rem;background:var(--cfAccent);color:var(--cfSurface);font-size:0.8rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap;}#catalogFilters .cfBadge:empty {display:none;}

    /* Панель группы — поверх товаров, у правого края окна прижимается вправо (cfEnd ставит скрипт) */#catalogFilters .cfPanel {position:absolute;top:calc(100% + 0.5rem);left:0;z-index:30;box-sizing:border-box;width:max-content;min-width:17rem;max-width:min(38rem, calc(100vw - 2rem));padding:1rem;border:1px solid var(--cfLine);border-radius:0.75rem;background:var(--cfSurface);box-shadow:0 0.75rem 2rem rgb(0 0 0 / 0.14),
        0 0.125rem 0.375rem rgb(0 0 0 / 0.08);text-shadow:none;}#catalogFilters .cfFacet.cfEnd .cfPanel {left:auto;right:0;}[data-theme='dark'] #catalogFilters .cfPanel {box-shadow:0 0.75rem 2rem rgb(0 0 0 / 0.55),
        0 0.125rem 0.375rem rgb(0 0 0 / 0.4);}#catalogFilters fieldset {min-width:0;margin:0;padding:0;border:0;}#catalogFilters fieldset + fieldset {margin-top:1rem;padding-top:1rem;border-top:1px solid var(--cfLine);}#catalogFilters legend {float:left;width:100%;box-sizing:border-box;padding:0 0.5rem 0.4rem;font-size:0.85rem;font-weight:600;color:var(--cfMuted);}#catalogFilters .cfOptions {clear:both;display:grid;grid-template-columns:repeat(var(--cols, 1), minmax(0, 1fr));gap:0.125rem 1rem;margin:0;padding:0;list-style:none;}#catalogFilters .cfOptions li {margin:0;padding:0;list-style:none;}#catalogFilters .cfOptions li::before {content:none;}#catalogFilters .cfOption {display:flex;align-items:center;gap:0.6rem;min-height:2.5rem;margin:0;padding:0.25rem 0.5rem;border-radius:0.4rem;font-weight:400;line-height:1.25;cursor:pointer;white-space:nowrap;}#catalogFilters .cfOption:hover {background:var(--cfHover);}#catalogFilters .cfOption input {margin:0;}#catalogFilters .cfOption.cfZero {opacity:0.45;cursor:default;}#catalogFilters .cfOption.cfZero:hover {background:none;}#catalogFilters .cfLabel {flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;}#catalogFilters .cfCount {margin-left:auto;padding-left:0.5rem;font-size:0.85em;color:var(--cfMuted);font-variant-numeric:tabular-nums;}#catalogFilters .cfUnit {color:var(--cfMuted);font-size:0.85em;}#catalogFilters .cfSwatch {flex:none;width:1.75rem;height:1.75rem;overflow:hidden;border-radius:50%;background:var(--tone);box-shadow:inset 0 0 0 1px rgb(0 0 0 / 0.18);}#catalogFilters .cfSwatch img {display:block;width:100%;height:100%;object-fit:cover;}#catalogFilters .cfRange {display:flex;align-items:center;gap:0.5rem;margin-top:0.75rem;padding:0.75rem 0.5rem 0;border-top:1px solid var(--cfLine);}#catalogFilters .cfRange label {display:flex;align-items:center;gap:0.4rem;margin:0;font-weight:400;}#catalogFilters .cfRange input {box-sizing:border-box;width:6.5rem;height:2.5rem;margin:0;padding:0 0.6rem;font-variant-numeric:tabular-nums;}[data-theme='dark'] #catalogFilters .cfRange input,
    [data-theme='dark'] #catalogFilters select {color:var(--baseLightGray);background-color:#262626;border-color:#ffffff38;color-scheme:dark;}#catalogFilters .cfPanelActions {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem 0.5rem 0;border-top:1px solid var(--cfLine);}#catalogFilters .cfPanelActions .button {margin:0;white-space:nowrap;}#catalogFilters .cfClear,
    #catalogFilters .cfReset,
    #catalogFilters .cfSheetReset {color:var(--linkColor);text-decoration:underline dotted 1px;text-underline-offset:0.2em;}#catalogFilters .cfClear:hover,
    #catalogFilters .cfReset:hover {text-decoration-style:solid;color:var(--linkHoverColor);}

    /* Сортировка и число на странице — справа от фильтров */#catalogFilters .cfOrder {display:flex;align-items:center;gap:1rem;flex:none;}#catalogFilters .cfOrder label {display:inline-flex;align-items:center;gap:0.5rem;margin:0;font-weight:400;color:var(--cfMuted);}#catalogFilters .cfOrder select {width:auto;min-height:2.75rem;margin:0;}#catalogFilters .cfMeta {display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem 2rem;padding:1.25rem 0 1.75rem;}#catalogFilters .cfSummary {display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 1rem;min-width:0;min-height:2.75rem;}#catalogFilters .cfLimit {display:inline-flex;align-items:center;gap:0.5rem;flex:none;margin:0;font-weight:400;color:var(--cfMuted);}#catalogFilters .cfLimit select {width:auto;min-height:2.75rem;margin:0;}#catalogFilters .cfFound {margin:0;color:var(--cfMuted);}#catalogFilters .cfFound strong {color:var(--baseDark);font-weight:600;}[data-theme='dark'] #catalogFilters .cfFound strong {color:var(--baseLight);}#catalogFilters .cfChips {display:flex;flex-wrap:wrap;gap:0.5rem;margin:0;padding:0;list-style:none;}#catalogFilters .cfChips li {margin:0;padding:0;list-style:none;}#catalogFilters .cfChips li::before {content:none;}#catalogFilters .cfChip {display:inline-flex;align-items:center;gap:0.45rem;min-height:2.25rem;padding:0 0.6rem 0 0.9rem;border:1px solid var(--cfLine);border-radius:2rem;background:var(--cfSurface);color:inherit;text-decoration:none;line-height:1.2;}#catalogFilters .cfChip::after {content:'';width:0.75rem;height:0.75rem;background:currentColor;mask:var(--iconClose) center / contain no-repeat;opacity:0.6;}#catalogFilters .cfChip:hover {border-color:var(--cfAccent);color:var(--cfAccent);}#catalogFilters .cfChip:hover::after {opacity:1;}#catalogFilters .cfResults {margin:0 calc(var(--gutter) * -1);}#catalogFilters .cfNothing {max-width:40rem;margin:0 auto;padding:2rem 1rem 4rem;text-align:center;}#catalogFilters .cfNothingTitle {margin:0 0 0.5rem;font-size:1.4rem;font-weight:500;}#catalogFilters .cfNothingActions {display:flex;flex-wrap:wrap;justify-content:center;gap:0.75rem;margin-top:1.5rem;}#catalogFilters .cfNothingActions .button {margin:0;}

    @media screen and (max-width: 1100px) {#catalogFilters {padding-inline:1rem;}#catalogFilters .cfResults {margin-inline:-1rem;}#catalogFilters .cfBar {flex-direction:column;align-items:stretch;}
    }

    /* Телефон со скриптом: одна кнопка «Фильтры», группы — в листе на весь экран, раскрываются по одной */
    @media screen and (max-width: 768px) {#catalogFilters {padding-top:1.25rem;}#catalogFilters .cfBar {flex-direction:row;flex-wrap:wrap;align-items:center;}#catalogFilters .cfOrder {flex:1 1 auto;justify-content:flex-end;}

      /* Без фильтров (мало товаров) сортировка — слева, а не одна у правого края */#catalogFilters .cfBar:not(:has(.cfFacets)) .cfOrder {justify-content:flex-start;}#catalogFilters .cfMeta .cfLimit,
      #catalogFilters .cfSort > span {display:none;}#catalogFilters .cfSort select {max-width:12rem;}#catalogFilters .cfPanel {max-width:calc(100vw - 2rem);min-width:0;}#catalogFilters[data-enhanced] .cfOpen {display:inline-flex;}#catalogFilters[data-enhanced] .cfOpen::before {content:'';width:1.1rem;height:1.1rem;background:currentColor;mask:var(--iconFilter) center / contain no-repeat;}#catalogFilters[data-enhanced]:has(.cfFacets input:checked:not([value=''])) .cfOpen {border-color:var(--cfAccent);background:var(--cfAccentSoft);color:var(--cfAccent);}#catalogFilters[data-enhanced] .cfFacets {display:none;}#catalogFilters[data-enhanced][data-sheet] .cfFacets {position:fixed;inset:0;z-index:1100;display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;overflow-y:auto;overscroll-behavior:contain;background:var(--cfSurface);
        animation: cfSheetIn 0.28s cubic-bezier(0.16, 1, 0.3, 1);}#catalogFilters[data-sheet] .cfSheetHead {position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:3.5rem;padding:0 0.5rem 0 1rem;border-bottom:1px solid var(--cfLine);background:var(--cfSurface);}#catalogFilters .cfSheetTitle {margin:0;font-size:1.2rem;font-weight:600;}#catalogFilters .cfSheetClose {position:relative;width:2.75rem;height:2.75rem;margin:0;padding:0;border:0;border-radius:50%;background:none;box-shadow:none;color:inherit;}#catalogFilters .cfSheetClose::before {content:'';position:absolute;inset:0.85rem;background:currentColor;mask:var(--iconClose) center / contain no-repeat;}#catalogFilters[data-sheet] .cfFacet {position:static;border-bottom:1px solid var(--cfLine);}#catalogFilters[data-sheet] .cfFacet > summary {display:flex;width:100%;min-height:3.5rem;padding:0 1rem;border:0;border-radius:0;background:none;font-size:1.05rem;}#catalogFilters[data-sheet] .cfFacet > summary .cfName {flex:1 1 auto;}#catalogFilters[data-sheet] .cfFacet:has(input:checked:not([value=''])) > summary,
      #catalogFilters[data-sheet] .cfFacet:has(.cfRange input:not(:placeholder-shown)) > summary {background:none;color:inherit;}#catalogFilters[data-sheet] .cfPanel {position:static;width:auto;max-width:none;padding:0 0.5rem 1rem;border:0;border-radius:0;box-shadow:none;}#catalogFilters[data-sheet] .cfOptions {grid-template-columns:repeat(min(var(--cols, 1), 2), minmax(0, 1fr));}#catalogFilters[data-sheet] #cfo-stone {grid-template-columns:minmax(0, 1fr);}#catalogFilters[data-sheet] .cfOption {min-height:2.75rem;}#catalogFilters[data-sheet] .cfPanelActions {display:none;}#catalogFilters[data-sheet] .cfSheetFoot {position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding:0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--cfLine);background:var(--cfSurface);}#catalogFilters .cfSheetReset {margin:0;padding:0;border:0;background:none;box-shadow:none;font:inherit;letter-spacing:0;line-height:2.75rem;text-shadow:none;}#catalogFilters .cfSheetFoot .button {flex:1 1 auto;max-width:16rem;margin:0;}html:has(#catalogFilters[data-sheet]) {overflow:hidden;}

      /* «Наверх» не ложится на кнопку «Показать» внизу листа */html:has(#catalogFilters[data-sheet]) #moveTop {display:none;}#catalogFilters .cfMeta {padding:1rem 0 1.25rem;}
    }

    @keyframes cfSheetIn {
      from {
        opacity: 0;
        transform: translateY(1.5rem);
      }
    }

    @media (prefers-reduced-motion: reduce) {#catalogFilters[data-enhanced][data-sheet] .cfFacets {
        animation: none;}
    }