

/* Start:/local/templates/wayoff/components/bitrix/catalog/wayoff_catalog/catalog_listing_v1.css?178791159954947*/
/* Wayoff catalog listing v2 — strict Emil plan.
   Layout: sidebar 240px (sticky) + content (filter bar + grid).
   Tokens: tokens.css. */

/* ============================================================
   1. CONTAINER — 2-col grid
   ============================================================ */
.wayoff-catalog-v1 .cl-container {
    display: grid;
    grid-template-columns: 1fr; /* левый сайдбар-категории убран — каталог на всю ширину */
    align-items: start;
    padding-top: 8px;
}

/* Шапка страницы результатов поиска (/products/?q=, движок Meili) */
.wayoff-catalog-v1 .cl-search-head { margin: 4px 0 22px; }
.wayoff-catalog-v1 .cl-search-head__title {
    font-family: var(--font-display, inherit);
    font-size: 22px;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--c-ink);
    margin: 0;
}
.wayoff-catalog-v1 .cl-search-head__count { margin: 6px 0 0; font-size: 13px; color: var(--c-muted); }

/* Шапка страницы бренда: H1 «Товары бренда X» + описание (вместо силуэтов-категорий) */
.wayoff-catalog-v1 .cl-brand-head { margin: 4px 0 26px; max-width: 860px; }
.wayoff-catalog-v1 .cl-brand-head__title {
    font-family: var(--font-display, inherit);
    font-size: 26px;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--c-ink);
    margin: 0 0 12px;
}
.wayoff-catalog-v1 .cl-brand-head__desc {
    font-size: 14px;
    line-height: 1.65;
    color: var(--c-muted, #6a6a6a);
    max-width: 780px;
}
@media (max-width: 640px) {
    .wayoff-catalog-v1 .cl-brand-head__title { font-size: 22px; }
    .wayoff-catalog-v1 .cl-brand-head__desc { font-size: 13.5px; }
}

/* Страница коллекции (landings) — вид как у бренда: шапка (крошки + H1 + описание)
   во всю ширину сверху, сетка товаров во всю ширину снизу (убираем legacy float). */
.wf-collection-head .cl-brand-head { margin-top: 8px; }
.wf-collection-catalog .collections-detail { display: none !important; }
.wf-collection-catalog .ordered-block.right_block,
.wf-collection-catalog .right_block.wide_Y,
.wf-collection-catalog .ordered-block {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media (max-width: 1100px) {
    .wayoff-catalog-v1 .cl-container { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .wayoff-catalog-v1 .cl-container { grid-template-columns: 1fr; row-gap: 0; }
    .wayoff-catalog-v1 .cl-side      { order: 2; margin-top: var(--space-6); position: static; }
    .wayoff-catalog-v1 .cl-main      { order: 1; }
}

/* ============================================================
   2. SIDEBAR — TIER 1 + TIER 2 (active branch only)
   Active accent: 2px red bar on the left, red bold text.
   No layout shift on hover (color-only).
   ============================================================ */
.wayoff-catalog-v1 .cl-side {
    position: sticky;
    top: 156px;            /* under sticky header + crumb + titlebar */
    align-self: start;
    font-family: var(--font-ui);
    max-height: calc(100vh - 180px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 8px 8px;
    margin-left: -8px;     /* keep optical alignment with content gutter */
}
.wayoff-catalog-v1 .cl-side::-webkit-scrollbar       { width: 6px; }
.wayoff-catalog-v1 .cl-side::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.12); border-radius: 3px; }
.wayoff-catalog-v1 .cl-side::-webkit-scrollbar-thumb:hover { background: rgba(0, 0, 0, 0.22); }

.cl-side__nav { display: flex; flex-direction: column; gap: 4px; }

/* TIER 1 group — wrapper for category + chevron + collapsible children */
.cl-side__group { display: flex; flex-direction: column; }

/* Whole row clickable = expands/collapses. Renders as <button> (or <a> for leaf nodes).
   Типография взята из side-menu (header drawer): vertical padding 14px, без bg-hover,
   uppercase + letter-spacing: normal, hover — только меняет цвет на #8b253b. */
.cl-side__row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    padding: 14px 8px 14px 12px;
    border: 0;
    background: transparent;
    border-radius: 0;
    cursor: pointer;
    color: var(--c-ink);
    text-decoration: none;
    transition: color 180ms var(--ease);
}
.cl-side__row:hover  {
    color: #8b253b;
}
.cl-side__row:active {
    transform: scale(0.985);
    transition: transform 100ms ease-out, background 180ms var(--ease), color 180ms var(--ease);
}
.cl-side__row:focus-visible {
    outline: 2px solid var(--c-ink);
    outline-offset: 2px;
}

/* TIER 1 label — same as side-menu drawer: Normalidad 14 / 400 UPPERCASE без letter-spacing */
.cl-side__t1 {
    position: relative;
    flex: 1;
    min-width: 0;
    text-align: left;
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: normal;
    color: inherit;
}
.cl-side__t1::before {
    content: "";
    position: absolute;
    left: -12px;
    top: 50%;
    width: 2px;
    height: 16px;
    background: var(--c-red);
    border-radius: 2px;
    transform: translateY(-50%) scaleY(0);
    transform-origin: center;
    transition: transform 220ms var(--ease);
}
.cl-side__t1.is-active {
    color: var(--c-red);
    font-weight: 700;
}
.cl-side__row.is-active .cl-side__t1::before,
.cl-side__t1.is-active::before {
    transform: translateY(-50%) scaleY(1);
}

/* Chevron — visual only, doesn't catch clicks separately */
.cl-side__chev {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    color: var(--c-muted);
    transition: color 180ms var(--ease);
}
.cl-side__row:hover .cl-side__chev { color: var(--c-ink); }
.cl-side__chev svg { transition: transform 220ms var(--ease); }
.cl-side__group.is-expanded .cl-side__chev svg { transform: rotate(180deg); }

/* Leaf rows (TIER 1 without children) — no chevron, render as <a> */
.cl-side__row--leaf { padding-right: 12px; }

/* Collapsible TIER 2 wrapper — max-height transition (reliable cross-browser).
   max-height: 0 fully collapses (including padding inside child) thanks to overflow:hidden. */
.cl-side__t2-wrap {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition:
        max-height 280ms var(--ease),
        opacity   180ms var(--ease);
}
.cl-side__group.is-expanded .cl-side__t2-wrap {
    max-height: 3000px;          /* generous — actual height is auto */
    opacity: 1;
    pointer-events: auto;
}
.cl-side__t2-group {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 4px 0 8px;
}

/* Search input inside expanded TIER 2 list (only when > 5 children) */
.cl-side__t2-search { padding: 4px 12px 6px 28px; }
.cl-side__t2-input {
    width: 100%;
    height: 28px;
    padding: 0 10px;
    border: 1px solid var(--c-line);
    border-radius: 6px;
    background: #fff;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--c-ink);
    transition: border-color 160ms var(--ease);
}
.cl-side__t2-input::placeholder {
    color: var(--c-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.cl-side__t2-input:focus { outline: 0; border-color: var(--c-ink); }

/* "Все →" link — same as drawer typography */
.cl-side__t2--all {
    font-family: var(--font-display);
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
    color: var(--c-ink) !important;
}
.cl-side__t2--all:hover { color: #8b253b !important; }

/* Filtered-out items */
.cl-side__t2.is-hidden { display: none; }

/* Overflow items — hidden by default, revealed when "Ещё N →" clicked or during search */
.cl-side__group:not(.is-shown-all):not(.is-searching) .cl-side__t2.is-overflow {
    display: none;
}

/* "Ещё N →" disclosure button */
.cl-side__t2-more {
    margin-top: 4px;
    width: 100%;
    padding: 8px 12px 8px 28px;
    border: 0;
    background: transparent;
    text-align: left;
    font-family: var(--font-ui);
    font-size: 12px;
    font-weight: 500;
    color: var(--c-muted);
    cursor: pointer;
    border-radius: 6px;
    transition: color 160ms var(--ease), background 160ms var(--ease);
}
.cl-side__t2-more:hover  { color: var(--c-ink); background: rgba(0, 0, 0, 0.03); }
.cl-side__t2-more:active { transform: scale(0.985); transition: transform 100ms ease-out; }
.cl-side__group.is-shown-all .cl-side__t2-more,
.cl-side__group.is-searching .cl-side__t2-more {
    display: none;
}

/* Empty state */
.cl-side__t2-empty {
    padding: 8px 12px 8px 28px;
    font-family: var(--font-ui);
    font-size: 12px;
    color: var(--c-muted);
    opacity: 0;
    transition: opacity 180ms var(--ease);
}
.cl-side__t2-empty:not([hidden]) { opacity: 1; }

/* TIER 2 child — Normalidad из drawer (без uppercase, нормальный case) */
.cl-side__t2 {
    padding: 10px 12px 10px 28px;
    display: flex;
    align-items: center;
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 400;
    color: var(--c-ink-2);
    text-decoration: none;
    border-radius: 0;
    transition: color 180ms var(--ease);
}
.cl-side__t2:hover  {
    color: #8b253b;
}
.cl-side__t2.is-active {
    color: var(--c-red);
    font-weight: var(--fw-bold);
}

@media (prefers-reduced-motion: reduce) {
    .cl-side__t2-wrap,
    .cl-side__toggle svg,
    .cl-side__t1::before { transition: none !important; }
}

/* ============================================================
   3. CONTENT — title row + filter bar + grid
   ============================================================ */
.wayoff-catalog-v1 .cl-main { min-width: 0; }

/* ============================================================
   Хлебные крошки каталога — стиль страницы товара
   (.wayoff-catalog-breadcrumbs). Капс, серый, разделитель «/»,
   без иконки домика. Раньше был .cl-bc.
   Отступы: зазор до заголовка «Каталог» = зазору от хедера.
   ============================================================ */
.wayoff-catalog-breadcrumbs--catalog {
    margin-bottom: 14px;
}
/* Отступы как на странице товара: зазор от хедера и до заголовка «Каталог» = 29px
   (на PDP — header↔крошки и крошки↔галерея по 29px). Десктоп, как на PDP. */
@media (min-width: 961px) {
    .wayoff-catalog-breadcrumbs--catalog {
        padding-top: 14px;
        margin-bottom: 29px;
    }
    /* Поиск: у h1 «Результаты поиска» line-height 30.8px против 22px кегля —
       лишние ~7px воздуха сверху. 22px компенсируют, визуально = 29px от хедера. */
    .wayoff-catalog-breadcrumbs--catalog:has(+ .cl-search-head) {
        margin-bottom: 22px;
    }
}
.wayoff-catalog-breadcrumbs__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0;
    line-height: 1;
    color: #BDBDBD;                 /* цвет крошек не меняем */
    /* Параметры текста = левое меню (.cl-drill__name): Normalidad 14 / 400 / uppercase / normal */
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: normal;
    text-transform: uppercase;
}
.wayoff-catalog-breadcrumbs__item {
    display: inline-flex;
    align-items: center;
}
.wayoff-catalog-breadcrumbs__item:not(:last-child)::after {
    content: '/';
    margin: 0 0.35rem;
    color: #BDBDBD;
    font-weight: 400;
}
.wayoff-catalog-breadcrumbs__link {
    color: inherit;
    text-decoration: none;
    transition: color 160ms var(--ease);
}
@media (hover: hover) and (pointer: fine) {
    .wayoff-catalog-breadcrumbs__link:hover { text-decoration: underline; }
}

/* «Ищут чаще всего» — мини-карточки популярных силуэтов в 2 ряда.
   Layout: text слева, photo справа (66×66). Photo сейчас placeholder
   (data-model=slug → позже подменим на /img/silhouettes/{slug}.jpg). */
.cl-silhouettes {
    margin-bottom: 24px;
}
.cl-silhouettes__head {
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.cl-silhouettes__title,
.cl-cat-head__title {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--c-ink);
    line-height: 1.1;
    margin: 0;
}
/* H1 раздела-листа (без блока подкатегорий) — отступ как у блока силуэтов */
.cl-cat-head__title { margin: 0 0 18px; }
/* Стрелки навигации — 1в1 с боковым меню (.wf-h3-sidemenu__nav-arrow).
   Bare icon: без обводки и фона, муtированный цвет → ink на hover. */
.cl-silhouettes__nav {
    display: inline-flex;
    gap: var(--space-4);
    align-items: center;
}
.cl-silhouettes__nav-arrow {
    -webkit-appearance: none;
    appearance: none;
    width: 30px;
    height: 30px;
    min-width: 0;
    border-radius: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    outline: none;
    display: grid;
    place-items: center;
    cursor: pointer;
    color: var(--c-muted, #8a8a8a);
    padding: 0;
    margin: 0;
    font: inherit;
    line-height: 1;
    transition: color 180ms cubic-bezier(0.23, 1, 0.32, 1),
                transform 140ms cubic-bezier(0.23, 1, 0.32, 1),
                opacity 180ms ease;
}
.cl-silhouettes__nav-arrow:focus { outline: none; }
.cl-silhouettes__nav-arrow:focus-visible {
    outline: 2px solid #1a1a1a;
    outline-offset: 2px;
    border-radius: 4px;
}
.cl-silhouettes__nav-arrow svg {
    width: 22px;
    height: 22px;
    display: block;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.5;
}
@media (hover: hover) and (pointer: fine) {
    .cl-silhouettes__nav-arrow:hover {
        color: var(--c-ink, #1a1a1a);
    }
}
.cl-silhouettes__nav-arrow:active {
    transform: scale(0.88);
}
.cl-silhouettes__nav-arrow[disabled],
.cl-silhouettes__nav-arrow:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}
@media (max-width: 640px) {
    .cl-silhouettes__nav { display: none; }
    .cl-silhouettes { margin-bottom: 10px; } /* меньше зазор до фильтр-бара на мобиле */
}
.cl-silhouettes__grid {
    /* По умолчанию (ДО инициализации JS) — сразу 2 ряда с горизонтальной прокруткой,
       как в финальном .is-paged. Иначе при переходе между разделами на миг мелькала
       полная многорядная сетка всех категорий. JS (initSilhouettesNav) затем либо
       оставляет это состояние и включает стрелки (>2 рядов), либо перестраивает в
       обычную row-major сетку (если всё влезает в 2 ряда). */
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    grid-template-columns: none;
    grid-auto-columns: 190px;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    /* Прячем грид, пока JS не зафиксировал финальную раскладку (190px-column-дефолт →
       row-major repeat(cols,1fr) или is-paged). Иначе при каждом переходе между разделами
       видно «сжалось→разжалось». opacity (не display) сохраняет размеры → JS меряет ширину,
       а место под планку не схлопывается (нет сдвига контента ниже). Фолбэк-анимация
       раскрывает грид без JS. JS снимает её, добавив .cl-sil-ready. */
    opacity: 0;
    animation: cl-sil-reveal 0.01s linear 0.45s forwards;
}
.cl-silhouettes__grid.cl-sil-ready {
    opacity: 1;
    animation: none;
}
@keyframes cl-sil-reveal { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
    .cl-silhouettes__grid { animation-delay: 0s; }
}
/* Если items больше, чем влезает в 2 строки — непрерывный горизонтальный скролл
   в 2 ряда (column-major). Карточки фиксированной ширины (= как в обычной сетке,
   задаётся из JS через --cl-sil-card). Стрелки листают на ширину экрана, последний
   сдвиг браузер упирает в правый край контента — пустоты справа нет. */
.cl-silhouettes__grid.is-paged {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    grid-auto-columns: var(--cl-sil-card, 190px);
    gap: 8px;
    align-content: start;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.cl-silhouettes__grid.is-paged::-webkit-scrollbar { display: none; height: 0; width: 0; }
.cl-silhouettes__page {
    flex: 0 0 100%;
    display: grid;
    gap: 8px;
    align-content: start;
    scroll-snap-align: start;
}
/* Скрываем scrollbar визуально (Chrome/Safari/Firefox), но scroll остаётся */
.cl-silhouettes__grid {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/old Edge */
}
.cl-silhouettes__grid::-webkit-scrollbar { display: none; height: 0; width: 0; }

/* Прогресс-индикатор слайдера категорий — только на мобилке (где скрыты стрелки).
   Создаётся из JS под гридом; виден лишь когда есть что листать (display из JS).
   Ширина ползунка = видимая доля, позиция = доля прокрутки. */
.cl-silhouettes__progress {
    display: none;
    position: relative;
    width: 64px;
    height: 3px;
    margin: 8px auto 0;
    background: rgba(26, 26, 26, 0.12);
    border-radius: 999px;
}
.cl-silhouettes__progress-thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 30%;
    height: 100%;
    background: var(--c-ink, #1a1a1a);
    border-radius: 999px;
}
@media (min-width: 641px) {
    .cl-silhouettes__progress { display: none !important; } /* десктоп — листают стрелки */
}

.cl-silhouette {
    position: relative; /* для абсолютного фото — текст получает полную ширину */
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    /* больше воздуха слева/справа; сверху/снизу — прежние 8px */
    padding: 8px 16px 8px 22px;
    background: transparent; /* сливаем с фоном — не перегружаем каталог серым (2026-06-07) */
    border: 1px solid transparent; /* резерв под hover-обводку, чтобы не было сдвига */
    border-radius: 10px;
    text-decoration: none;
    color: var(--c-ink);
    transition: background 180ms var(--ease), border-color 180ms var(--ease), transform 100ms ease-out;
    min-height: 64px;
}
.cl-silhouette:hover {
    background: transparent; /* без серого */
    border-color: var(--c-ink); /* тонкая обводка чёрным (как в проекте), не контрастным красным */
}
.cl-silhouette:hover .cl-silhouette__name { color: var(--c-ink); }
.cl-silhouette.is-active { border-color: var(--c-ink); } /* выбранный раздел — тонкая чёрная обводка */
.cl-silhouette.is-active .cl-silhouette__name { color: var(--c-ink); font-weight: 700; }
.cl-silhouette:active { transform: scale(0.98); }

.cl-silhouette__name {
    /* Параметры текста = левое меню (.cl-drill__name): Normalidad 14 / 400 / uppercase / normal */
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.25;
    letter-spacing: normal;
    color: var(--c-ink);
    transition: color 180ms var(--ease);
    /* Перенос на 2 строки + троеточие. Справа резервируем ПОЛНУЮ ширину фото —
       чтобы многословные названия («THE NORTH FACE») переносились/обрезались
       троеточием ДО фото, а не накладывались на него. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    position: relative;
    z-index: 2;
    flex: 1 1 auto;
    padding-right: 86px; /* фото 78px + ~8px зазор → текст не заходит на фото */
}
.cl-silhouette__photo {
    /* Прозрачные PNG моделей лежат прямо на карточке (фон не нужен).
       Абсолютим к правому краю, чтобы не отнимать ширину у текста и не резать его. */
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    width: 78px;
    height: 58px;
    background: transparent;
    display: grid;
    place-items: center;
}
.cl-silhouette__img {
    /* Картинка не должна вылезать за бокс по высоте (height:100% не резолвится
       в grid-ячейке) → явный px = высоте бокса. Центрируется grid'ом по одной
       оси с текстом. */
    max-width: 100%;
    max-height: 58px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}
.cl-silhouette__icon {
    width: 78%;
    height: auto;
    color: var(--c-ink);
    opacity: 0.32;
}

@media (max-width: 768px) {
    .cl-silhouettes__grid {
        /* как и базовое — 2 ряда горизонтально, без вспышки полной сетки */
        grid-auto-columns: 150px;
        gap: 6px;
    }
    .cl-silhouette { padding: 8px 12px 8px 16px; min-height: 56px; }
    .cl-silhouette__name { font-size: 12px; padding-right: 72px; } /* фото 64px + ~8px зазор */
    .cl-silhouette__photo { width: 64px; height: 52px; right: 12px; }
    .cl-silhouette__img { max-height: 52px; }
}

/* SR-only utility — H1 для SEO, скрыт визуально */
.wf-sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ============================================================
   BRAND BAR — sticky horizontal list of top brands in current section
   ============================================================ */
.cl-brandbar {
    position: sticky;
    top: 156px;
    z-index: 10;
    background: var(--c-bg);
    margin: 0 0 var(--space-5);
    padding: 14px 0;
    border-bottom: 1px solid var(--c-line);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
}
.cl-brandbar__item {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--c-ink);
    text-decoration: none;
    transition: color 180ms var(--ease);
}
.cl-brandbar__item:hover  { color: var(--c-red); }
.cl-brandbar__item.is-active {
    color: var(--c-red);
    font-weight: 700;
}
.cl-brandbar__dot {
    color: var(--c-line-2);
    user-select: none;
    font-family: var(--font-display);
}

@media (max-width: 640px) {
    .cl-brandbar {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        padding: 12px 16px;
        margin-left: -16px; margin-right: -16px;
    }
    .cl-brandbar::-webkit-scrollbar { display: none; }
    .cl-brandbar__item { scroll-snap-align: start; white-space: nowrap; }
}

/* ============================================================
/* Sale badge styles (used inside catalog.section template) */
.cl-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    padding: 4px 8px;
    border-radius: 4px;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
    background: var(--c-ink);
    line-height: 1;
}
.cl-badge--sale { background: var(--c-red); }
.cl-badge--new  { background: var(--c-ink); }

/* Old price styling — inline next to current price */
.cl-price-old {
    color: var(--c-muted);
    text-decoration: line-through;
    font-weight: 500;
    margin-right: 6px;
}
.cl-price-new { color: var(--c-red); font-weight: 700; }

/* ============================================================
   SALE BADGES — restyle existing catalog.item .product-label-* classes
   in wayoff style. They appear automatically when a product has real
   discount (PERCENT > 0) or LIST_PROPERTY_CODE labels (NEWPRODUCT etc).
   ============================================================ */
.wayoff-catalog-v1 .product-item-container { position: relative; }

/* ============================================================
   HOVER STATE — мягкая обёртка вокруг карточки + sizes под ней.
   Sizes — position: absolute (не влияют на grid row height).
   Chrome — ::before pseudo-element за карточкой, расширяется во все стороны
   на --hover-pad + захватывает sizes area внизу.
   На hover карточка получает z-index: 20 чтобы перекрывать соседей.
   ============================================================ */
.wayoff-catalog-v1 {
    --hover-pad: 10px;
    --sizes-gap: 12px;   /* пространство между ценой и размерами */
    /* 4 ряда pills + label = 16 + (30+5)*3 + 30 = 151px + breathing = 184px.
       Вмещает до 16 размеров (4 ряда × 4 cols) — full sneaker run 38–48.5. */
    --sizes-max-h: 184px;
}

/* Horizontal buffer вокруг grid — shadow и chrome не клипаются edge'ом
   parent контейнера (margin negative компенсирует, columns остаются на месте). */
.wayoff-catalog-v1 .wayoff-products-grid {
    /* Низ: умеренный резерв под hover-размеры последнего ряда (был ~222px —
       слишком большой зазор до пагинации). Типичный размерный блок ~2 ряда. */
    padding: 0 var(--hover-pad) 72px;
    margin: 0 calc(-1 * var(--hover-pad));
}
/* Самый дальний overflow guard — только на body level, через html.
   `clip` НЕ создаёт scroll context. */
html:has(.wayoff-catalog-v1) {
    overflow-x: clip;
}

.wayoff-catalog-v1 .product-item-container {
    z-index: 1;
    border-radius: var(--r-lg, 16px);
    transition: z-index 0s 220ms;
}

.wayoff-catalog-v1 .product-item-container::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: transparent;
    border-radius: var(--r-lg, 16px);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    transition:
        top 220ms var(--ease),
        left 220ms var(--ease),
        right 220ms var(--ease),
        bottom 220ms var(--ease),
        background 220ms var(--ease),
        box-shadow 220ms var(--ease);
    z-index: -1;
    pointer-events: none;
}

/* Чтобы parent grid-cell не клипал ::before, expanded surface, sizes */
.wayoff-catalog-v1 .wayoff-product-item {
    overflow: visible !important;
    contain: none !important;
}
/* CRITICAL: parent (.wayoff-product-item) имеет transform → создаёт свой
   stacking context. Без подъёма z-index НА ПАРЕНТЕ соседние grid-cells
   рисуются поверх sizes. Используем :has() чтобы поднять при hover. */
.wayoff-catalog-v1 .wayoff-product-item:has(.product-item-container:hover) {
    z-index: 30;
}

/* Sizes-блок — absolute под карточкой, max-height: 0 в idle.
   display: block override чтобы перекрыть глобальное hide из tokens.css. */
.wayoff-catalog-v1 .wayoff-quick-sizes {
    display: block;
    position: absolute;
    top: 100%;               /* примыкает к карточке — нет пустого зазора */
    left: 0; right: 0;
    padding-top: var(--sizes-gap);  /* зазор = padding (часть hit-area) → hover-мост */
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transition:
        max-height 220ms var(--ease),
        opacity 160ms var(--ease),
        overflow 0s linear 220ms;
    z-index: 1;
}
/* Когда sizes-блок полностью раскрыт — overflow visible, чтобы hover-shadow
   на pills последнего ряда не клипалась. */
.wayoff-catalog-v1 .product-item-container:hover .wayoff-quick-sizes {
    overflow: visible;
    transition:
        max-height 220ms var(--ease),
        opacity 160ms var(--ease),
        overflow 0s linear 220ms;
}

.wayoff-catalog-v1 .wayoff-quick-sizes__label {
    font-family: var(--font-ui);
    font-size: 10px;
    font-weight: var(--fw-medium, 500);
    color: var(--c-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
    padding: 0 4px;
}
.wayoff-catalog-v1 .wayoff-quick-sizes__strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5px;
    padding: 0 4px;
}
/* Dedicated SemiCondensed face — на сайте SemiCondensed свалена под
   'Normalidad Text'/normal и конфликтует с Regular. Объявляем чистое имя. */
@font-face {
    font-family: 'Normalidad SemiCondensed';
    src: url('/local/templates/wayoff/fonts/NormalidadText-SemiCondensed.woff2') format('woff2'),
         url('/local/templates/wayoff/fonts/NormalidadText-SemiCondensed.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Pills (вариант D): Normalidad SemiCondensed, формат «40 EU».
   Pill #E6E6E6 на grey chrome #F2F2F2. Hover конкретного размера → ink. */
.wayoff-catalog-v1 .wayoff-quick-size {
    height: 38px;
    padding: 0 4px;
    border: 0;
    background: #E6E6E6;
    border-radius: var(--r-sm, 8px);
    font-family: 'Normalidad SemiCondensed', var(--font-display);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.01em;
    color: var(--c-ink);
    text-decoration: none;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition:
        background 140ms var(--ease),
        color 140ms var(--ease),
        transform 100ms ease-out;
}
/* Hover — тот же серый, чуть темнее (не чёрный), текст остаётся тёмным */
.wayoff-catalog-v1 .wayoff-quick-size:hover {
    background: #D6D6D6;
    color: var(--c-ink);
}
.wayoff-catalog-v1 .wayoff-quick-size:active {
    transform: scale(0.97);
}
/* Состояние «добавлено» — галочка на 2с после клика */
.wayoff-catalog-v1 .wayoff-quick-size.is-added {
    background: #D6D6D6;
    color: var(--c-ink);
    pointer-events: none;
}
.wayoff-catalog-v1 .wayoff-quick-size__check {
    width: 16px;
    height: 16px;
    display: block;
}
.wayoff-catalog-v1 .wayoff-quick-size--soon {
    color: var(--c-muted-2, #b8b8b8);
    background: #E6E6E6;
    text-decoration: line-through;
    text-decoration-color: rgba(0, 0, 0, 0.18);
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
/* One size (носки без размерного ряда / аксессуары) — одна кнопка-CTA на всю ширину */
.wayoff-catalog-v1 .wayoff-quick-size--onesize {
    grid-column: 1 / -1;
    background: var(--c-ink);
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.wayoff-catalog-v1 .wayoff-quick-size--onesize:hover {
    background: #000;
    color: #fff;
}

/* Только desktop с реальным курсором */
@media (hover: hover) and (pointer: fine) {
    .wayoff-catalog-v1 .product-item-container:hover {
        z-index: 20;
        transition: z-index 0s;
    }
    .wayoff-catalog-v1 .product-item-container:hover::before {
        top: calc(-1 * var(--hover-pad));
        left: calc(-1 * var(--hover-pad));
        right: calc(-1 * var(--hover-pad));
        /* Использует natural-h (per-card, через JS) с fallback max-h.
           Точная высота под кол-во размеров → нет пустот и обрезаний. */
        /* natural-h уже включает padding-top (--sizes-gap), не дублируем */
        bottom: calc(-1 * (var(--hover-pad) + var(--sizes-natural-h, var(--sizes-max-h))));
        background: var(--cl-photo-bg, #F2F2F2); /* подложка карточки = цвет фона фото (JS), фолбэк #F2F2F2 */
        box-shadow:
            0 0 0 1px rgba(0, 0, 0, 0.04),
            0 2px 8px -2px rgba(0, 0, 0, 0.05),
            0 8px 24px -6px rgba(0, 0, 0, 0.08);
    }
    .wayoff-catalog-v1 .product-item-container:hover .wayoff-quick-sizes {
        max-height: var(--sizes-natural-h, var(--sizes-max-h));
        opacity: 1;
        pointer-events: auto;
        transition-delay: 100ms;
    }
    /* Контейнера под фото нет: фото лежит прямо на подложке карточки, цвет которой
       = фон фото (--cl-photo-bg, JS). Фон фото и подложка совпадают → шва нет,
       без отдельного бокса/рамки. multiply не нужен (цвета уже совпадают). */
    .wayoff-catalog-v1 .product-item-container:hover .product-item .image,
    .wayoff-catalog-v1 .product-item-container:hover .product-item .image.contain-image,
    .wayoff-catalog-v1 .product-item-container:hover .image.js-notice-block__image {
        background: transparent !important;
    }
    /* Активная карточка: у иконки «избранное» убираем кружок-подложку — голое сердце
       прямо на подложке карточки (фон фото). Hover-увеличение тоже снимаем. */
    .wayoff-catalog-v1 .product-item-container:hover .fav-btn,
    .wayoff-catalog-v1 .product-item-container:hover .fav-btn:hover {
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }
    /* Заливка пустого сердца — прозрачная, чтобы стакалось с подложкой (виден только
       контур). У добавленного в избранное (.active) заливка остаётся красной. */
    .wayoff-catalog-v1 .product-item-container:hover .fav-btn:not(.active) .ico svg .fill {
        fill: transparent !important;
    }
    /* Сердце скрыто на неактивных карточках — появляется только при наведении.
       Уже добавленное в избранное (.active) видно всегда. На тач (нет hover) — видно. */
    .wayoff-catalog-v1 .fav-btn:not(.active) {
        opacity: 0;
        pointer-events: none;
        transition: opacity 180ms var(--ease);
    }
    .wayoff-catalog-v1 .product-item-container:hover .fav-btn {
        opacity: 1;
        pointer-events: auto;
    }
}

/* Размеры ВСЕГДА раскрываются вниз (flip-up убран по требованию).
   Для нижнего ряда место обеспечивает padding-bottom у .wayoff-products-grid
   + страница доскролливается. */

/* Touch — hover-эффект полностью отключен */
@media (hover: none) {
    .wayoff-catalog-v1 .wayoff-quick-sizes { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .wayoff-catalog-v1 .product-item-container::before,
    .wayoff-catalog-v1 .wayoff-quick-sizes,
    .wayoff-catalog-v1 .wayoff-quick-size {
        transition-duration: 0.001s !important;
    }
}

.wayoff-catalog-v1 .product-label {
    position: absolute;
    top: 10px;
    z-index: 2;
    padding: 4px 8px;
    border-radius: 4px;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
    pointer-events: none;
}
.wayoff-catalog-v1 .product-label span { color: inherit; font: inherit; }

/* Discount % — red, top-left */
.wayoff-catalog-v1 .product-label-discount {
    left: 10px;
    background: var(--c-red);
}

/* Text labels (NEWPRODUCT, SALELEADER...) — dark, top-right */
.wayoff-catalog-v1 .product-label-text {
    right: 10px;
    background: var(--c-ink);
}

/* If both labels present — text label moves below discount */
.wayoff-catalog-v1 .product-label-discount + .product-label-text {
    top: 38px;
}

/* NEW badge (NEWPRODUCT) — чёрный, как SALE по позиции и размеру (слева сверху) */
.wayoff-catalog-v1 .product-label-new {
    left: 10px;
    right: auto;
    background: var(--c-ink);
}

/* SALE badge (from HAS_SALE prop) — red, top-left */
.wayoff-catalog-v1 .product-label-sale {
    left: 10px;
    background: var(--c-red);
}

/* ПРЕДЗАКАЗ (WYSION_PREORDER) — серый: вещь в производстве у бренда, продажи нет */
.wayoff-catalog-v1 .product-label-preorder {
    left: 10px;
    background: var(--c-muted, #6b6b6b);
}

/* ============================================================
   ZOOM product photo — closer without resizing the card.
   contain-image keeps the sneaker fully visible (no crop);
   we just scale up the image inside the same container.
   ============================================================ */
.wayoff-catalog-v1 .product-item .image.contain-image img {
    transform: scale(1.18);
    transition: transform 320ms var(--ease);
}
.wayoff-catalog-v1 .product-item:hover .image.contain-image img {
    transform: scale(1.22);
}

/* Стек слева сверху (DOM-порядок: discount %, NEW, SALE). Рендерятся только
   присутствующие; каждый следующий бейдж опускается на 28px. Поддерживает два
   тега одновременно (NEW + SALE) и все комбинации с discount %. */
.wayoff-catalog-v1 .product-label-discount ~ .product-label-new { top: 38px; }
.wayoff-catalog-v1 .product-label-discount ~ .product-label-sale,
.wayoff-catalog-v1 .product-label-new ~ .product-label-sale { top: 38px; }
.wayoff-catalog-v1 .product-label-discount ~ .product-label-new ~ .product-label-sale { top: 66px; }

/* OLD PRICE — struck-through in muted, NEW price red */
.wayoff-catalog-v1 .price-wrapper {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}
.wayoff-catalog-v1 .price-wrapper .special-price {
    color: var(--c-red);
    font-weight: 700;
}
.wayoff-catalog-v1 .price-wrapper .special-price .price { color: inherit; }
.wayoff-catalog-v1 .price-wrapper .old-price {
    color: var(--c-muted);
    text-decoration: line-through;
    font-size: 12px;
    font-weight: 500;
}

/* Символ валюты ₽ — вторичный по отношению к сумме (Ecommerce L897):
   чуть меньше и светлее цифр. opacity (а не цвет) → работает и на ink, и на
   красной SALE-цене, сохраняя её оттенок. */
.wayoff-catalog-v1 .cur {
    font-size: 0.82em;
    opacity: 0.55;
    font-weight: 400;
}

/* Типографика карточки в листинге по дизайн-токенам (Baymard L1147: имя и цена —
   первичные элементы; различаем осями — имя размером+капсом, цена весом).
   Было на мобилке: имя 12px, цена 12px/400 — оба ниже токенов и слабый акцент.
   Стало: имя 14px (--text-md, осознанный недокат от card-title 16px под 2 колонки),
   цена 13px/500 (--text-base / --fw-medium, ровно по ролевому токену). */
@media (max-width: 768px) {
    .wayoff-catalog-v1 .product-item h3 {
        font-size: 14px;
    }
    .wayoff-catalog-v1 .product-item .price {
        font-size: 13px;
        font-weight: 500;
    }
}

/* Filter bar slot. Chips are emitted by wayoff_filter_pills template. */
.cl-filterbar { margin-bottom: 32px; }

/* Мобилка (≤960 — где в баре остаются только чипы «Сортировка» + «Фильтры»):
   закрепляем панель под фикс-шапкой V3. В ПОКОЕ — без фона/тени/линии (1:1 как
   было). Когда панель «прилипает» (JS вешает .is-stuck), включаем фон цвета
   страницы — товары уходят под него — и снизу 1px линию. z-index между
   карточками (≤10) и шапкой (1001). top по высоте шапки: планшет 721–960 ≈ 72px,
   телефон ≤720 ≈ 64px. */
@media (max-width: 960px) {
    .wayoff-catalog-v1 .cl-filterbar {
        position: sticky;
        top: 72px;
        /* z-index ВСЕГДА: position:sticky сам создаёт контекст наложения, поэтому
           бар надо поднять над сеткой товаров (иначе шит сортировки внутри бара
           уходит ПОД карточки). Боттом-шит виден над затемнением за счёт того, что
           бэкдроп сортировки держим ниже 90 (см. wfp__sheet-backdrop:70). */
        z-index: 90;
        /* воздух вокруг чипов (всегда — чтобы не прыгало при .is-stuck):
           сверху зазор от шапки, снизу — от линии/товаров. У строки чипов
           .wfp__row--primary свой margin-bottom:10px, поэтому нижний padding
           уменьшен до 2px → визуально снизу те же 12px, что и сверху. */
        padding: 10px 0 1px;
        margin-bottom: 12px;
    }
    .wayoff-catalog-v1 .cl-filterbar.is-stuck {
        background: var(--c-bg, #f9f9f9);
        /* 1px линия снизу через box-shadow — не сдвигает layout */
        box-shadow: 0 1px 0 0 rgba(26, 26, 26, 0.12);
    }
}
@media (max-width: 720px) {
    .wayoff-catalog-v1 .cl-filterbar { top: 64px; }
}

/* Grid wrapper — soft fade-in on (re)mount; helps mask reflow after filter apply */
.cl-grid-wrap {
    width: 100%;
    animation: cl-fadeIn 280ms var(--ease) both;
}
@keyframes cl-fadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   4. Kill duplicates inside catalog.section template
   The inner template emits its own breadcrumb + H1 + sort dropdown.
   We render those at the wrapper level, so suppress here.
   ============================================================ */
.wayoff-catalog-v1 .wayoff-catalog-breadcrumbs--top,
/* На /brands/<id>/ обёртка .brand-catalog-page (brands/index.php) рендерит ОТДЕЛЬНЫЙ
   bitrix:breadcrumb (--top) СНАРУЖИ .wayoff-catalog-v1 — каталог ниже уже даёт свою
   крошку (--catalog). Этот дубль прячем (на десктопе и мобилке). */
.brand-catalog-page > .wayoff-catalog-breadcrumbs--top,
.wayoff-catalog-v1 .wayoff-catalog-section .catalog-header-block,
.wayoff-catalog-v1 .wayoff-catalog-section .catalog-mobile-controls {
    display: none !important;
}
/* Tighten spacing — catalog.section first child shouldn't have extra margin */
.wayoff-catalog-v1 .wayoff-catalog-section > :first-child { margin-top: 0; }

@media (prefers-reduced-motion: reduce) {
    .wayoff-catalog-v1 *,
    .wayoff-catalog-v1 *::before,
    .wayoff-catalog-v1 *::after {
        transition: none !important;
        animation: none !important;
    }
}

/* ============================================================
   ПРЕДПРОСМОТР РАКУРСОВ В ЛИСТИНГЕ (Variant 3) — ТОЛЬКО индикатор-сегменты.
   Само фото не меняется: JS подменяет src существующего <img>
   (тот же contain/scale/multiply). Сегменты — оверлей снизу, видимы лишь
   на hover; в покое opacity:0 → каталог выглядит как раньше.
   ============================================================ */
.wayoff-catalog-v1 .product-item .image[data-cl-photos] .cl-gsegs {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 9px;
    display: flex;
    gap: 4px;
    z-index: 3;
    opacity: 0;
    transition: opacity 200ms var(--ease);
    pointer-events: none;
}
.wayoff-catalog-v1 .product-item-container:hover .image[data-cl-photos] .cl-gsegs {
    opacity: 1;
}
.wayoff-catalog-v1 .product-item .image[data-cl-photos] .cl-gseg {
    flex: 1 1 0;
    height: 3px;
    border-radius: var(--r-pill, 999px);
    background: rgba(26, 26, 26, 0.18);
}
.wayoff-catalog-v1 .product-item .image[data-cl-photos] .cl-gseg.on {
    background: var(--c-ink, #1a1a1a);
}
/* Тач (мобильная): индикатор-полоски/точки убраны — перелистывание
   считывается по самому slide-переходу (см. slidePhoto в JS). */
@media (hover: none) {
    /* подрезаем вылет фото за край во время слайда (см. slidePhoto);
       лейблы внутри отступов не обрезаются, статичный рендер тот же */
    .wayoff-catalog-v1 .product-item .image[data-cl-photos] {
        overflow: hidden;
    }
    .wayoff-catalog-v1 .product-item .image[data-cl-photos] .cl-gsegs {
        display: none;
    }
}

/* ============================================================
   САЙДБАР КАТАЛОГА — DRILL-DOWN (Variant 3), в дизайн-коде сайта.
   Без карточки/рамок/разделителей — прозрачный типографичный рейку
   (как было): Normalidad 14/400 UPPERCASE, hover → охра (только цвет),
   красный акцент-бар на активном. Клик по разделу заменяет список на его
   бренды + «Назад». Одна короткая колонка, страницу не толкает.
   Контейнер .cl-side (sticky/scroll/ширина/padding) наследуется.
   ============================================================ */
.wayoff-catalog-v1 .cl-side.cl-drill { background: transparent; border: 0; }

.wayoff-catalog-v1 .cl-drill__view { display: none; }
.wayoff-catalog-v1 .cl-drill__view.is-active {
    display: block;
    animation: clDrillIn 0.24s var(--ease, cubic-bezier(0.23, 1, 0.32, 1));
}
@keyframes clDrillIn {
    from { opacity: 0; transform: translateX(6px); }
    to   { opacity: 1; transform: none; }
}

/* Мастер: строки разделов = как .cl-side__row / .cl-side__t1 */
.wayoff-catalog-v1 .cl-drill__row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    padding: 14px 8px 14px 12px;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: var(--c-ink);
    text-decoration: none;
    transition: color 180ms var(--ease);
}
.wayoff-catalog-v1 .cl-drill__row:active { transform: scale(0.985); }
/* Первая строка мастер-вида («КРОССОВКИ») выравнивается верхом по верхней
   границе пилюль-фильтров справа — убираем её верхний padding. */
.wayoff-catalog-v1 .cl-drill__view[data-view="master"] > .cl-drill__row:first-child { padding-top: 0; }
.wayoff-catalog-v1 .cl-drill__name {
    position: relative;
    flex: 1;
    min-width: 0;
    text-align: left;
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: normal;
    color: inherit;
}
/* Текущее местоположение помечаем только красным цветом текста — без вертикальной
   чёрточки слева (она выглядела как лишний слоп). */
.wayoff-catalog-v1 .cl-drill__row.is-active .cl-drill__name { color: var(--c-red); font-weight: 700; }
.wayoff-catalog-v1 .cl-drill__chev {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    color: var(--c-muted);
    transition: color 180ms var(--ease), transform 180ms var(--ease);
}
@media (hover: hover) and (pointer: fine) {
    .wayoff-catalog-v1 .cl-drill__row:hover { color: #8b253b; }
    .wayoff-catalog-v1 .cl-drill__row:hover .cl-drill__chev { color: var(--c-ink); transform: translateX(2px); }
}

/* «Назад» — тихая строка-возврат: мелкий uppercase + охра-шеврон */
.wayoff-catalog-v1 .cl-drill__back {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 10px 8px 10px 12px;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--c-muted);
    transition: color 160ms var(--ease);
}
.wayoff-catalog-v1 .cl-drill__back-ico { display: inline-flex; color: var(--c-ochre); }
@media (hover: hover) and (pointer: fine) {
    .wayoff-catalog-v1 .cl-drill__back:hover { color: var(--c-ink); }
}

/* Детально: бренды/подкатегории = как .cl-side__t2 */
.wayoff-catalog-v1 .cl-drill__list {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 2px 0 8px;
}
.wayoff-catalog-v1 .cl-drill__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px 10px 28px;
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 400;
    color: var(--c-ink-2);
    text-decoration: none;
    transition: color 180ms var(--ease);
}
@media (hover: hover) and (pointer: fine) {
    .wayoff-catalog-v1 .cl-drill__item:hover { color: #8b253b; }
}
.wayoff-catalog-v1 .cl-drill__item.is-active { color: var(--c-red); font-weight: 700; }
.wayoff-catalog-v1 .cl-drill__item--all { color: var(--c-ink); }
.wayoff-catalog-v1 .cl-drill__arr { color: var(--c-muted); flex: 0 0 auto; }
@media (hover: hover) and (pointer: fine) {
    .wayoff-catalog-v1 .cl-drill__item--all:hover { color: #8b253b; }
    .wayoff-catalog-v1 .cl-drill__item--all:hover .cl-drill__arr { color: #8b253b; }
}

/* Поиск внутри раздела: лупа в шапке, инпут скрыт до клика по лупе */
.wayoff-catalog-v1 .cl-drill__head { display: flex; align-items: center; }
.wayoff-catalog-v1 .cl-drill__head .cl-drill__back { flex: 1; min-width: 0; }
.wayoff-catalog-v1 .cl-drill__search-btn {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    margin-right: 4px;
    display: inline-grid;
    place-items: center;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: var(--c-muted);
    transition: color 160ms var(--ease);
}
@media (hover: hover) and (pointer: fine) {
    .wayoff-catalog-v1 .cl-drill__search-btn:hover { color: var(--c-ink); }
}
.wayoff-catalog-v1 .cl-drill__search-btn[aria-expanded="true"] { color: var(--c-ink); }
.wayoff-catalog-v1 .cl-drill__search { padding: 2px 12px 6px; }
.wayoff-catalog-v1 .cl-drill__search-input {
    width: 100%;
    height: 32px;
    padding: 0 12px;
    border: 1px solid var(--c-line);
    border-radius: 8px;
    background: #fff;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--c-ink);
    transition: border-color 160ms var(--ease);
}
.wayoff-catalog-v1 .cl-drill__search-input::placeholder { color: var(--c-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.wayoff-catalog-v1 .cl-drill__search-input:focus { outline: 0; border-color: var(--c-ink); }
.wayoff-catalog-v1 .cl-drill__item.is-hidden { display: none; }
.wayoff-catalog-v1 .cl-drill__empty {
    padding: 10px 12px 10px 28px;
    font-size: 13px;
    color: var(--c-muted);
}

/* Ручная подгрузка: пагинатор (← номера →) ПОКАЗЫВАЕМ — чтобы после «Назад» (страница
   ?PAGEN_1=N) можно было вернуться на предыдущие страницы. «Загрузить ещё»
   (.pagination-load-more) продолжает ленту вниз по клику (без авто-скролла). */
.wayoff-catalog .pagination { display: flex; }

/* End */


/* Start:/local/templates/wayoff/components/bitrix/catalog.smart.filter/wayoff_filter_pills/style.css?178786605953657*/
/* Wayoff filter pills v2 — strict Emil plan.
   Tokens via tokens.css (--c-ink, --c-red, --c-line, --c-warm, --c-muted, --font-ui, --font-display, --ease). */

.wfp { font-family: var(--font-display); width: 100%; -webkit-tap-highlight-color: transparent; }
.wfp__form { margin: 0; padding: 0; }

/* На мобилке (≤960px) в баре пилюль оставляем ТОЛЬКО 2 чипа: Сортировка (.wfp__group--sort)
   + Фильтры (.wfp__chip--filters). Контекст/бренд-группы, SALE и тоггл-чипы прячем — они доступны
   внутри дровера фильтров. Ряд активных фильтров (.wfp__row--active) остаётся. 2026-06-07 */
@media (max-width: 960px) {
	.wfp__row--primary > *:not(.wfp__group--sort):not(.wfp__chip--filters):not(.wfp__row-toggles) { display: none; }
}

/* All inner controls and content adopt the display font + uppercase for cohesion
   with the slide-out side menu (.wf-h3-sidemenu__row): Normalidad Regular, UPPERCASE. */
.wfp__chip,
.wfp__chip-label,
.wfp__pop-name,
.wfp__pop-tab,
.wfp__pop-size,
.wfp__pop-search-input,
.wfp__pop-input,
.wfp__pop-hint,
.wfp__pop-count,
.wfp__pop-dash,
.wfp__chip--clear-all .wfp__chip-label {
    font-family: var(--font-display);
    text-transform: uppercase;
    letter-spacing: normal;
}
/* Inputs need ::placeholder uppercase too */
.wfp__pop-search-input::placeholder,
.wfp__pop-input::placeholder {
    text-transform: uppercase;
}

/* ============================================================
   ROWS
   ============================================================ */
.wfp__row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.wfp__row--primary   { margin-bottom: 10px; }
.wfp__row--secondary { gap: 8px; margin-top: 0; }

.wfp__group {
    position: relative;
    display: inline-flex;
}

/* ============================================================
   CHIP — base
   ============================================================ */
.wfp__chip {
    height: 34px;
    padding: 0 20px;
    border: 1px solid rgba(0, 0, 0, 0.22);
    border-radius: 999px;
    background: transparent;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    /* Match slide-out menu: Normalidad Regular, UPPERCASE */
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: normal;
    text-transform: uppercase;
    color: var(--c-ink);
    cursor: pointer;
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
    transition: border-color 200ms var(--ease), background-color 200ms var(--ease), color 200ms var(--ease);
}
.wfp__chip:hover {
    border-color: var(--c-ink);
    background-color: rgba(0, 0, 0, 0.03);
}
.wfp__chip:active { transform: scale(0.97); transition: transform 100ms ease-out, border-color 200ms var(--ease); }
.wfp__chip:focus-visible {
    outline: 2px solid var(--c-ink);
    outline-offset: 2px;
}

/* Active = filter currently applied → black filled chip */
.wfp__chip.is-active {
    background: var(--c-ink);
    border-color: var(--c-ink);
    color: #fff;
}
.wfp__chip.is-active:hover { background: #000; border-color: #000; }

/* SALE-тоггл активен → наш контрастный бордовый акцент (а не общий тёмный is-active) */
.wfp__chip--sale.is-active {
    background: var(--c-accent, #8B253B);
    border-color: var(--c-accent, #8B253B);
    color: #fff;
}
.wfp__chip--sale.is-active:hover {
    background: var(--c-accent-dark, #6e1d30);
    border-color: var(--c-accent-dark, #6e1d30);
}

/* ── SALE / Моментальная — ТАКИЕ ЖЕ пилюли-чипы, как «Фильтры» (наследуют .wfp__chip:
   размер 34px, бордер, шрифт, hover, :active-жим), + мини-тумблер внутри.
   Клик = переход на ?wf_*=Y; вкл — по .is-on (НЕ .is-active, чтобы пилюля не заливалась,
   а состояние показывал только рычажок). */
/* Обёртка тумблеров: на десктопе прозрачна (тумблеры инлайн в баре),
   на мобиле (≤640) становится отдельной строкой под сортировкой/фильтрами. */
.wfp__row-toggles { display: contents; }
.wfp__chip--switch { gap: 9px; }
.wfp__chip-switch {
    position: relative;
    flex: 0 0 auto;
    width: 30px;
    height: 16px;
    border-radius: 999px;
    background: #e3e3e3; /* нейтральный серый (не тёплый) */
    transition: background 0.22s var(--ease);
}
.wfp__chip-knob {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    transition: transform 0.22s var(--ease);
}
.wfp__chip--switch.is-on .wfp__chip-switch { background: var(--c-ink); }
.wfp__chip--switch.is-on .wfp__chip-knob { transform: translateX(14px); }
.wfp__chip--switch.wfp__chip--sale.is-on .wfp__chip-switch { background: var(--c-accent, #8b253b); }

/* дубль-крестик для sale/moment не нужен — состояние показывает рычажок.
   Спецификой перебиваем .wfp__active-chip{display:...} (равный вес, но идёт позже),
   иначе на мобиле чип-дубль всё равно показывался. */
.wfp__row--active .wfp__active-chip--has-tab { display: none; }

.wfp__chip-label { font-family: inherit; display: inline-flex; align-items: center; gap: var(--space-1); }
.wfp__chip-sep   { opacity: 0.55; font-weight: 400; }

/* Chevron + clear + sort icon */
.wfp__chip-chev,
.wfp__chip-clear,
.wfp__chip-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}
.wfp__chip-chev  { width: 12px; height: 7px; transition: transform 220ms var(--ease); }
.wfp__group[data-wfp-open] .wfp__chip-chev { transform: rotate(180deg); }
.wfp__chip-clear {
    width: 20px; height: 20px;
    margin-left: 2px; margin-right: -6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    cursor: pointer;
    opacity: 1;
    transition: background-color 160ms var(--ease), transform 100ms ease-out;
}
.wfp__chip-clear:hover  { background: rgba(255, 255, 255, 0.32); }
.wfp__chip-clear:active { transform: scale(0.88); }
.wfp__chip-clear svg    { width: 10px; height: 10px; }
.wfp__chip-icon  { width: 12px; height: 14px; opacity: 0.85; }

/* WAYOFF Рекомендует — sort chip subtle */
.wfp__chip--sort { padding-left: 18px; }

/* WAYOFF chip — black hover (signals it's the brand/active sort) */
.wfp__chip--sort:hover {
    background: var(--c-ink);
    border-color: var(--c-ink);
    color: #fff;
}
/* When popover is OPEN — chip stays in black state */
.wfp__group--sort[data-wfp-open] .wfp__chip--sort {
    background: var(--c-ink);
    border-color: var(--c-ink);
    color: #fff;
}

/* Secondary row toggles share base chip styles */
.wfp__chip--toggle { /* identical */ }

/* Decorative chip — visual-only placeholder (no popover, no smart-filter wire).
   Identical visuals; chevron slightly de-emphasized as a subtle "soon" hint. */
.wfp__chip--decorative .wfp__chip-chev { opacity: 0.45; }
.wfp__chip--decorative:hover .wfp__chip-chev { opacity: 0.75; }

/* Очистить фильтры — text link */
.wfp__chip--clear-all {
    border: 0;
    background: transparent;
    padding: 0 8px;
    color: var(--c-muted);
    height: 32px;
    font-weight: 500;
}
.wfp__chip--clear-all:hover {
    background: transparent;
    color: var(--c-ink);
    border: 0;
}
.wfp__chip--clear-all .wfp__chip-label {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(0, 0, 0, 0.25);
    transition: text-decoration-color 180ms var(--ease);
}
.wfp__chip--clear-all:hover .wfp__chip-label {
    text-decoration-color: var(--c-ink);
}

/* ============================================================
   ACTIVE FILTERS — выбранные значения как чипы с крестиком
   ============================================================ */
.wfp__row--active {
    margin-top: -2px;
    margin-bottom: 12px;
    gap: 8px;
}
.wfp__active-chip {
    height: 34px;
    padding: 0 6px 0 16px;
    border: 1px solid var(--c-ink);
    border-radius: 999px;
    background: transparent;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    color: var(--c-ink);
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
    transition: background-color 180ms var(--ease), border-color 180ms var(--ease);
}
.wfp__active-chip:hover { background: rgba(0, 0, 0, 0.04); }
.wfp__active-chip:active { transform: scale(0.97); }
.wfp__active-chip-label { font-family: inherit; }
.wfp__active-chip-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    color: var(--c-muted);
    transition: background-color 160ms var(--ease), color 160ms var(--ease);
}
.wfp__active-chip:hover .wfp__active-chip-x { color: var(--c-ink); }
.wfp__active-chip-x:hover { background: rgba(0, 0, 0, 0.08); color: var(--c-ink); }
.wfp__active-chip-x svg { width: 9px; height: 9px; }

/* Reset — текстовая кнопка «Сбросить» в ряду активных */
.wfp__active-reset {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 6px;
    margin-left: 2px;
    font-family: var(--font-display);
    font-size: 12px;
    text-transform: uppercase;
    color: var(--c-muted);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(0, 0, 0, 0.25);
    white-space: nowrap;
    transition: color 180ms var(--ease), text-decoration-color 180ms var(--ease);
}
.wfp__active-reset:hover { color: var(--c-ink); text-decoration-color: var(--c-ink); }

/* ============================================================
   POPOVER
   transform-origin: top left  (origin-aware, from chip)
   ============================================================ */
.wfp__pop {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 280px;
    max-width: 360px;
    background: #fff;
    border: 1px solid var(--c-line);
    border-radius: 12px;
    box-shadow:
        0 22px 48px rgba(0, 0, 0, 0.14),
        0 4px 12px rgba(0, 0, 0, 0.05);
    padding: 12px;
    z-index: 50;
    opacity: 0;
    transform: scale(0.96) translateY(-4px);
    transform-origin: top left;
    pointer-events: none;
    /* Exit: snappier (system responds) */
    transition: opacity 160ms var(--ease), transform 160ms var(--ease);
}
.wfp__group[data-wfp-open] .wfp__pop,
.wfp__pop.is-sheet-open {
    /* .is-sheet-open — шит, портированный в <body> на мобиле (см. script.js):
       селектор по группе до него уже не достаёт */
    opacity: 1;
    transform: scale(1) translateY(0);
    pointer-events: auto;
    /* Entry: deliberate (user is looking) */
    transition: opacity 220ms var(--ease), transform 220ms var(--ease);
}

/* ============================================================
   POPOVER · list (Бренд, Цвет, Материал, Сезон)
   ============================================================ */
.wfp__pop-search {
    margin-bottom: 8px;
}
.wfp__pop-search-input {
    width: 100%;
    height: 36px;
    padding: 0 12px;
    border: 1px solid var(--c-line);
    border-radius: 8px;
    font-family: var(--font-display);
    font-size: 13px;
    color: var(--c-ink);
    background: #fff;
    transition: border-color 160ms var(--ease);
}
.wfp__pop-search-input::placeholder { color: var(--c-muted); }
.wfp__pop-search-input:focus { outline: 0; border-color: var(--c-ink); }

.wfp__pop-list {
    display: flex;
    flex-direction: column;
    max-height: 360px;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.wfp__pop-list::-webkit-scrollbar       { width: 6px; }
.wfp__pop-list::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.15); border-radius: 3px; }

.wfp__pop-item {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 36px;
    padding: 0 10px;
    border-radius: 8px;
    color: var(--c-ink);
    text-decoration: none;
    transition: background-color 160ms var(--ease);
}
.wfp__pop-item:hover  { background: rgba(0, 0, 0, 0.04); }
.wfp__pop-item:active { transform: scale(0.985); transition: transform 80ms ease-out; }
.wfp__pop-item.is-hidden { display: none; }

.wfp__pop-cb {
    width: 18px;
    height: 18px;
    border: 1.5px solid rgba(0, 0, 0, 0.26);
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: transparent;
    transition: background-color 160ms var(--ease), border-color 160ms var(--ease), color 160ms var(--ease);
}
.wfp__pop-cb svg { width: 12px; height: 12px; opacity: 0; transition: opacity 120ms var(--ease); }
.wfp__pop-item.is-checked .wfp__pop-cb {
    background: var(--c-ink);
    border-color: var(--c-ink);
    color: #fff;
}
.wfp__pop-item.is-checked .wfp__pop-cb svg { opacity: 1; }
.wfp__pop-item.is-checked .wfp__pop-name   { font-weight: var(--fw-bold); }

.wfp__pop-name {
    flex: 1;
    font-weight: 400;
    font-family: var(--font-display);
    font-size: 13px;
    color: var(--c-ink);
}

/* ============================================================
   Сортировка (.wfp__pop--sort) — вариант A: строки + галочка справа.
   Хедер «Сортировка» + крестик — только в мобильном bottom-sheet.
   ============================================================ */
.wfp__pop--sort .wfp__pop-head { display: none; }       /* десктоп — обычный дропдаун */
.wfp__pop--sort .wfp__pop-sublabel { display: none; }   /* десктоп — без под-лейбла */
.wfp__pop--sort .wfp__pop-card { display: contents; }   /* десктоп — обёртка прозрачна */
.wfp__pop--sort .wfp__pop-item { justify-content: space-between; }
.wfp__pop--sort .wfp__pop-check {
    flex-shrink: 0;
    display: inline-flex;
    color: var(--c-ink);
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 150ms var(--ease), transform 150ms var(--ease);
}
.wfp__pop--sort .wfp__pop-item.is-checked .wfp__pop-check { opacity: 1; transform: scale(1); }

@media (max-width: 960px) {
    /* Шит как у дровера «Фильтры»: серый фон + крупное скругление сверху,
       внутри — белая карточка. Без «квадратной» плоской заливки.
       Двойной класс — перебить базовое .wfp__pop (оно ниже по файлу). */
    .wfp__pop.wfp__pop--sort {
        background: #fff;
        border: 0;             /* база .wfp__pop даёт 1px рамку — убираем на мобилке */
        box-shadow: none;      /* и тень-«карточку» десктоп-дропдауна */
        border-radius: 22px 22px 0 0;
        padding: 18px 8px calc(12px + env(safe-area-inset-bottom, 0px));
    }
    /* hover-подсветка строк на тач залипает «коробкой» — гасим */
    .wfp__pop--sort .wfp__pop-item:hover { background: transparent; }
    /* Grab-полоска сверху — намёк, что лист закрывается (без крестика; закрытие по тапу на фон) */
    .wfp__pop.wfp__pop--sort::before {
        content: "";
        position: absolute;
        top: 8px;
        left: 50%;
        transform: translateX(-50%);
        width: 40px;
        height: 4px;
        border-radius: 999px;
        background: rgba(26, 26, 26, 0.18);
    }
    /* Хедер шита (на сером фоне) */
    .wfp__pop--sort .wfp__pop-head {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        padding: 2px 4px 14px;
    }
    .wfp__pop--sort .wfp__pop-title {
        font-family: var(--font-display);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        font-size: 16px;
        color: var(--c-ink);
    }
    .wfp__pop--sort .wfp__pop-close {
        position: absolute;
        left: 0;
        top: -4px;
        width: 36px;
        height: 36px;
        display: grid;
        place-items: center;
        background: none;
        border: 0;
        color: var(--c-ink);
        cursor: pointer;
    }
    /* Карточка-обёртка сливается с белым шитом (без серой рамки) */
    .wfp__pop--sort .wfp__pop-card {
        display: block;
        background: transparent;
        border-radius: 0;
        padding: 0;
    }
    .wfp__pop--sort .wfp__pop-sublabel {
        display: block;
        font-family: var(--font-display);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.02em;
        font-size: 13px;
        color: var(--c-muted);
        padding: 14px 10px 6px;
    }
    /* Тач-строки повыше, текст крупнее, с тонким разделителем */
    .wfp__pop--sort .wfp__pop-item {
        height: auto;
        padding: 15px 10px;
        border-radius: 10px;
    }
    .wfp__pop--sort .wfp__pop-list .wfp__pop-item:not(:last-child) {
        box-shadow: inset 0 -1px 0 #f1efec;
    }
    .wfp__pop--sort .wfp__pop-name { font-size: 16px; }
    .wfp__pop--sort .wfp__pop-item.is-checked .wfp__pop-name { font-weight: var(--fw-bold); }
    .wfp__pop--sort .wfp__pop-check svg { width: 20px; height: 20px; }
}
.wfp__pop-count {
    font-family: var(--font-display);
    font-size: 11px;
    color: var(--c-muted);
}

/* ============================================================
   POPOVER · sizes (tabbed)
   ============================================================ */
.wfp__pop--sizes { min-width: 320px; }
.wfp__pop-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid var(--c-line);
    padding-bottom: 6px;
    margin-bottom: 10px;
}
.wfp__pop-tab {
    height: 28px;
    padding: 0 12px;
    border: 0;
    background: transparent;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 400;
    color: var(--c-muted);
    cursor: pointer;
    border-radius: 6px;
    transition: color 160ms var(--ease), background-color 160ms var(--ease);
}
.wfp__pop-tab:hover   { color: var(--c-ink); }
.wfp__pop-tab.is-active {
    color: var(--c-ink);
    background: var(--c-warm);
}
.wfp__pop-pane { display: none; }
.wfp__pop-pane.is-active { display: block; }
.wfp__pop-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
}
.wfp__pop-size {
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--c-line);
    border-radius: 6px;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 400;
    color: var(--c-ink);
    text-decoration: none;
    transition: border-color 160ms var(--ease), background-color 160ms var(--ease), color 160ms var(--ease);
}
.wfp__pop-size:hover  { border-color: var(--c-ink); }
.wfp__pop-size:active { transform: scale(0.95); transition: transform 80ms ease-out; }
.wfp__pop-size.is-checked {
    background: var(--c-ink);
    border-color: var(--c-ink);
    color: #fff;
}

/* ============================================================
   POPOVER · price
   ============================================================ */
.wfp__pop--price { min-width: 260px; max-width: 280px; }
.wfp__pop-inputs {
    display: flex;
    align-items: center;
    gap: 8px;
}
.wfp__pop-input {
    height: 36px;
    padding: 0 12px;
    border: 1px solid var(--c-line);
    border-radius: 8px;
    font-family: var(--font-display);
    font-size: 13px;
    color: var(--c-ink);
    background: #fff;
    width: 100px;
    transition: border-color 160ms var(--ease);
}
.wfp__pop-input::placeholder { color: var(--c-muted); }
.wfp__pop-input:focus {
    outline: 0;
    border-color: var(--c-ink);
}
.wfp__pop-dash {
    color: var(--c-muted);
    font-size: 14px;
    user-select: none;
}
.wfp__pop-hint {
    margin-top: 10px;
    font-family: var(--font-display);
    font-size: 11px;
    color: var(--c-muted);
}

/* ============================================================
   POPOVER · sort (radio list)
   ============================================================ */
.wfp__pop--sort { min-width: 240px; }
.wfp__pop-radio {
    width: 18px;
    height: 18px;
    border: 1.5px solid rgba(0, 0, 0, 0.26);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: border-color 160ms var(--ease);
}
.wfp__pop-radio-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: transparent;
    transition: background-color 160ms var(--ease);
}
.wfp__pop-item.is-checked .wfp__pop-radio       { border-color: var(--c-ink); }
.wfp__pop-item.is-checked .wfp__pop-radio-dot   { background: var(--c-ink); }

/* ============================================================
   Reduced motion
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
    .wfp *,
    .wfp *::before,
    .wfp *::after {
        transition: none !important;
        animation: none !important;
    }
}

/* ============================================================
   DRAWER (right slide-out) — cultt-style filters
   ============================================================ */
.wfp-drawer {
    position: fixed;
    inset: 0;
    z-index: 1100;       /* above sticky header (z-index 1001) */
    pointer-events: none;
    overflow: hidden;    /* клипаем уехавшую вправо панель (translateX(100%)),
                            иначе на iOS она расширяет документ → белая полоса справа */
}
.wfp-drawer[data-wfp-drawer-open] { pointer-events: auto; }

.wfp-drawer__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: opacity 280ms var(--ease);
}
.wfp-drawer[data-wfp-drawer-open] .wfp-drawer__backdrop { opacity: 1; }

.wfp-drawer__panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 420px;
    max-width: 100%;
    background: var(--c-bg);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 320ms cubic-bezier(0.32, 0.72, 0, 1);
    /* тень — ТОЛЬКО когда дровер открыт. Иначе off-screen панель (translateX(100%))
       отбрасывает тень обратно в правый край вьюпорта → тонкая линия справа. */
}
.wfp-drawer[data-wfp-drawer-open] .wfp-drawer__panel {
    transform: translateX(0);
    box-shadow: -22px 0 48px rgba(0, 0, 0, 0.10);
}

/* Header — receipt-style: black divider, editorial title */
.wfp-drawer__head {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-6) var(--space-6) var(--space-4);
    border-bottom: 1px solid var(--c-ink);
}
.wfp-drawer__title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--c-ink);
}
.wfp-drawer__close {
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    border-radius: 50%;
    display: grid;
    place-items: center;
    cursor: pointer;
    color: var(--c-ink);
    transition: background 160ms var(--ease);
}
.wfp-drawer__close:hover  { background: rgba(0, 0, 0, 0.05); }
.wfp-drawer__close:active { transform: scale(0.92); transition: transform 100ms ease-out; }

/* Body */
.wfp-drawer__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px 0;
}
.wfp-drawer__body::-webkit-scrollbar       { width: 6px; }
.wfp-drawer__body::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.15); border-radius: 3px; }

/* Footer (sticky) */
.wfp-drawer__foot {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 24px 22px;
    background: var(--c-bg);
}
.wfp-drawer__reset {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--c-muted);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(0, 0, 0, 0.2);
    cursor: pointer;
    transition: color 160ms var(--ease), text-decoration-color 160ms var(--ease);
}
.wfp-drawer__reset:hover { color: var(--c-ink); text-decoration-color: var(--c-ink); }

.wfp-drawer__apply {
    flex: 1;
    height: 52px;
    padding: 0 24px;
    border: 0;
    background: var(--c-ink);
    color: #fff;
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: 999px;
    cursor: pointer;
    transition: background 200ms var(--ease), transform 100ms ease-out;
}
.wfp-drawer__apply:hover  { background: #000; }
.wfp-drawer__apply:active { transform: scale(0.985); }

/* Body scroll lock when drawer is open */
/* Скролл фона заблокирован: фиксируем body (iOS не держит overflow:hidden).
   Смещение top = -scrollY ставит JS, чтобы визуально не прыгало. */
body.wfp-drawer-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
    left: 0;
    right: 0;
}

/* ============================================================
   DRAWER SECTIONS (accordion-style)
   ============================================================ */
.wfp-dsec {
    border-bottom: 1px solid var(--c-line);
}
.wfp-dsec:last-of-type { border-bottom: 0; }

/* Цена — на самый верх выезжающего фильтра (через flex-порядок, разметку не трогаем).
   Раз цена больше не последняя в потоке — возвращаем ей нижний разделитель. */
.wfp-dsec.wfp-price {
    order: -1;
    border-bottom: 1px solid var(--c-line);
}

.wfp-dsec__head {
    width: 100%;
    padding: 16px 24px;
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    text-align: left;
    transition: background 160ms var(--ease);
}
.wfp-dsec__head:hover  { background: rgba(0, 0, 0, 0.03); }
.wfp-dsec__head:active { transform: scale(0.998); }

.wfp-dsec__title {
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--c-ink);
}
.wfp-dsec.is-expanded .wfp-dsec__title { font-weight: 700; }

.wfp-dsec__chev {
    color: var(--c-muted);
    display: inline-flex;
    transition: transform 220ms var(--ease), color 160ms var(--ease);
}
.wfp-dsec.is-expanded .wfp-dsec__chev { transform: rotate(180deg); color: var(--c-ink); }

/* Collapsible body — same max-height pattern as sidebar */
.wfp-dsec__body {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition:
        max-height 320ms var(--ease),
        opacity   200ms var(--ease);
}
.wfp-dsec.is-expanded .wfp-dsec__body {
    max-height: 1200px;
    opacity: 1;
    pointer-events: auto;
    padding: 4px 24px 18px;
}

/* Sub-list (Цвет, Материал, Сезон, Пол) — internal scroll if long */
.wfp-dsec__list {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 360px;
    overflow-y: auto;
    overscroll-behavior: contain;
    margin-right: -6px;
    padding-right: 6px;
}
.wfp-dsec__list::-webkit-scrollbar       { width: 5px; }
.wfp-dsec__list::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.18); border-radius: 3px; }
.wfp-dsec__list::-webkit-scrollbar-thumb:hover { background: rgba(0, 0, 0, 0.3); }
.wfp-dsec__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 8px;
    border-radius: 8px;
    color: var(--c-ink);
    text-decoration: none;
    transition: background 160ms var(--ease);
}
.wfp-dsec__item:hover  { background: rgba(0, 0, 0, 0.04); }
.wfp-dsec__item:active { transform: scale(0.985); transition: transform 80ms ease-out; }

.wfp-dsec__cb {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    border: 1.5px solid rgba(0, 0, 0, 0.26);
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: transparent;
    transition: background 160ms var(--ease), border-color 160ms var(--ease), color 160ms var(--ease);
}
.wfp-dsec__cb svg { width: 12px; height: 12px; opacity: 0; transition: opacity 120ms var(--ease); }
.wfp-dsec__item.is-checked .wfp-dsec__cb {
    background: var(--c-ink); border-color: var(--c-ink); color: #fff;
}
.wfp-dsec__item.is-checked .wfp-dsec__cb svg { opacity: 1; }
.wfp-dsec__item.is-checked .wfp-dsec__name   { font-weight: var(--fw-bold); }

.wfp-dsec__name {
    flex: 1;
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--c-ink);
}

/* Color swatch — rectangle, sits before the name */
.wfp-dsec__swatch {
    width: 30px;
    height: 22px;
    flex-shrink: 0;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25);
}
.wfp-dsec__swatch--unknown {
    background: repeating-linear-gradient(45deg, #eee 0 4px, #fff 4px 8px);
    border-color: rgba(0, 0, 0, 0.1);
}
.wfp-dsec__swatch--multi {
    background: linear-gradient(90deg,
        #e07e2f 0%, #e07e2f 14%,
        #e9c34c 14%, #e9c34c 28%,
        #3a8c4c 28%, #3a8c4c 42%,
        #7cb8d8 42%, #7cb8d8 56%,
        #2a4a8c 56%, #2a4a8c 70%,
        #6e4a96 70%, #6e4a96 84%,
        #c8242c 84%, #c8242c 100%);
    border-color: rgba(0, 0, 0, 0.2);
}
/* Color row: slightly taller because of swatch */
.wfp-dsec__item--color { padding: 8px 10px; }

/* ============================================================
   BRAND alphabet navigation
   ============================================================ */
.wfp-dsec__alpha {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin-bottom: 10px;
    padding: 8px 8px 10px;
    border-bottom: 1px dashed rgba(0, 0, 0, 0.12);
}
.wfp-dsec__alpha-letter {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--c-muted);
    text-decoration: none;
    transition: color 160ms var(--ease), background 160ms var(--ease);
}
.wfp-dsec__alpha-letter:hover {
    color: var(--c-ink);
    background: rgba(0, 0, 0, 0.05);
}
.wfp-dsec__alpha-letter:active { transform: scale(0.92); transition: transform 100ms ease-out; }

.wfp-dsec__alpha-group { padding-top: 6px; }
.wfp-dsec__alpha-group.is-hidden { display: none; }
.wfp-dsec__alpha-heading {
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-muted);
    padding: 8px 2px 4px;
    margin-top: 4px;
    line-height: 1;
}
.wfp-dsec__alpha-group:first-child .wfp-dsec__alpha-heading { margin-top: 0; }
.wfp-dsec__count {
    font-family: var(--font-display);
    font-size: 11px;
    color: var(--c-muted);
}

/* Sizes (tabs) */
.wfp-dsec__tabs {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid var(--c-line);
    padding-bottom: 6px;
    margin-bottom: 10px;
}
.wfp-dsec__tab {
    height: 30px;
    padding: 0 14px;
    border: 0;
    background: transparent;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    color: var(--c-muted);
    cursor: pointer;
    border-radius: 6px;
    transition: color 160ms var(--ease), background 160ms var(--ease);
}
.wfp-dsec__tab:hover    { color: var(--c-ink); }
.wfp-dsec__tab.is-active { color: var(--c-ink); background: var(--c-warm); }
.wfp-dsec__pane { display: none; }
.wfp-dsec__pane.is-active { display: block; }
.wfp-dsec__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
}
/* Подзаголовок группы US-размеров (Взрослые/Женские/Подростковые/Детские) — на всю строку грида */
.wfp-dsec__size-group {
    grid-column: 1 / -1;
    margin: 12px 2px 2px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #9a9a9a;
}
.wfp-dsec__size-group:first-child { margin-top: 0; }
.wfp-dsec__size {
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--c-line);
    border-radius: 6px;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 400;
    color: var(--c-ink);
    text-decoration: none;
    transition: border-color 160ms var(--ease), background 160ms var(--ease), color 160ms var(--ease);
}
.wfp-dsec__size:hover     { border-color: var(--c-ink); }
.wfp-dsec__size:active    { transform: scale(0.95); transition: transform 80ms ease-out; }
.wfp-dsec__size.is-checked { background: var(--c-ink); border-color: var(--c-ink); color: #fff; }

/* Decorative tab + sizes (visual placeholder, no real filtering yet) */
.wfp-dsec__tab--decorative {
    opacity: 0.55;
    position: relative;
}
.wfp-dsec__tab--decorative:hover { opacity: 0.85; }
.wfp-dsec__tab--decorative.is-active {
    color: var(--c-muted);
    background: rgba(0, 0, 0, 0.04);
}

.wfp-dsec__size--decorative {
    color: var(--c-muted);
    background: rgba(0, 0, 0, 0.02);
    cursor: not-allowed;
    pointer-events: none;
    border-style: dashed;
    border-color: rgba(0, 0, 0, 0.12);
}

.wfp-dsec__note {
    margin-top: 12px;
    padding: 10px 12px;
    background: rgba(0, 0, 0, 0.03);
    border-radius: 8px;
    font-family: var(--font-ui);
    font-size: 11px;
    line-height: 1.45;
    color: var(--c-muted);
}
.wfp-dsec__note a {
    color: var(--c-ink);
    font-weight: var(--fw-bold);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

/* ============================================================
   STATIC section (no accordion) — used for Price
   ============================================================ */
.wfp-dsec--static .wfp-dsec__head--static {
    padding: 16px 24px 8px;
    cursor: default;
}
.wfp-dsec--static .wfp-dsec__head--static:hover { background: transparent; }
.wfp-dsec--static .wfp-dsec__title { font-weight: 700; }
.wfp-dsec__body--static {
    max-height: none;
    opacity: 1;
    pointer-events: auto;
    padding: 0 24px 20px;
    overflow: visible;
}

/* ============================================================
   PRICE — range slider + min/max inputs
   ============================================================ */
.wfp-price__slider {
    position: relative;
    height: 24px;
    margin: 14px 0 18px;
}
.wfp-price__track {
    position: absolute;
    top: 50%;
    left: 0; right: 0;
    height: 2px;
    background: var(--c-line);
    border-radius: 2px;
    transform: translateY(-50%);
}
.wfp-price__fill {
    position: absolute;
    top: 50%;
    height: 2px;
    background: var(--c-ink);
    border-radius: 2px;
    transform: translateY(-50%);
    /* `left` and `right` set dynamically by JS */
    transition: background 160ms var(--ease);
}
.wfp-price__handle {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 24px;
    margin: 0;
    background: transparent;
    pointer-events: none;
    -webkit-appearance: none;
    appearance: none;
    z-index: 2;
}
.wfp-price__handle::-webkit-slider-thumb {
    -webkit-appearance: none;
    pointer-events: auto;
    width: 18px; height: 18px;
    margin-top: -8px; /* (thumb 18 - track 2) / 2 → center on visible 2px line */
    border-radius: 50%;
    background: var(--c-ink);
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
    cursor: grab;
    transition: transform 160ms var(--ease);
}
.wfp-price__handle::-webkit-slider-thumb:hover  { transform: scale(1.12); }
.wfp-price__handle::-webkit-slider-thumb:active { transform: scale(1.18); cursor: grabbing; }
.wfp-price__handle::-moz-range-thumb {
    pointer-events: auto;
    width: 18px; height: 18px;
    border-radius: 50%;
    background: var(--c-ink);
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
    cursor: grab;
    transition: transform 160ms var(--ease);
}
.wfp-price__handle::-moz-range-thumb:hover  { transform: scale(1.12); }
.wfp-price__handle::-moz-range-thumb:active { transform: scale(1.18); cursor: grabbing; }
.wfp-price__handle::-webkit-slider-runnable-track { background: transparent; height: 2px; border: 0; }
.wfp-price__handle::-moz-range-track            { background: transparent; height: 2px; border: 0; }
.wfp-price__handle:focus { outline: 0; }
.wfp-price__handle:focus-visible::-webkit-slider-thumb {
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.18), 0 1px 4px rgba(0, 0, 0, 0.18);
}

.wfp-price__inputs {
    display: flex;
    align-items: center;
    gap: 10px;
}
.wfp-price__input-wrap {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}
.wfp-price__input-label {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--font-display);
    font-size: 12px;
    color: var(--c-muted);
    text-transform: uppercase;
    pointer-events: none;
}
.wfp-price__input {
    width: 100%;
    height: 44px;
    padding: 0 14px 0 38px;
    border: 1px solid var(--c-line);
    border-radius: 10px;
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    color: var(--c-ink);
    background: #fff;
    transition: border-color 160ms var(--ease);
}
.wfp-price__input::placeholder { color: var(--c-muted); }
.wfp-price__input:focus { outline: 0; border-color: var(--c-ink); }
.wfp-price__dash {
    color: var(--c-muted);
    font-size: 14px;
    user-select: none;
}

/* ============================================================
   SEARCH inside drawer section (for Бренд with 200+ values)
   ============================================================ */
.wfp-dsec__search { padding-bottom: 10px; }
.wfp-dsec__search-input {
    width: 100%;
    height: 36px;
    padding: 0 12px;
    border: 1px solid var(--c-line);
    border-radius: 8px;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--c-ink);
    background: #fff;
    transition: border-color 160ms var(--ease);
}
.wfp-dsec__search-input::placeholder { color: var(--c-muted); text-transform: uppercase; }
.wfp-dsec__search-input:focus { outline: 0; border-color: var(--c-ink); }
.wfp-dsec__item.is-hidden { display: none; }
.wfp-dsec__empty {
    padding: 12px 8px;
    font-family: var(--font-ui);
    font-size: 12px;
    color: var(--c-muted);
}

/* Фильтры trigger chip — neutral by default, ink-bg when has active count */
.wfp__chip--filters { padding-left: 12px; gap: 6px; }
.wfp__chip--filters .wfp__chip-icon { width: 14px; height: 14px; }

@media (prefers-reduced-motion: reduce) {
    .wfp-drawer__panel,
    .wfp-drawer__backdrop,
    .wfp-dsec__body,
    .wfp-dsec__chev { transition: none !important; }
}

/* ============================================================
   Mobile (<640px) — horizontal scroll for chips, bottom-sheet popover
   ============================================================ */
@media (max-width: 640px) {
    /* Две строки: сортировка+«Фильтры» сверху, тумблеры отдельной строкой снизу.
       (Раньше был горизонтальный скролл; убрали — на iOS он уводил сортировку влево.) */
    .wfp__row--primary { flex-wrap: wrap; }

    .wfp__chip { height: 36px; padding: 0 14px; font-size: 13px; }
    /* Тумблеры Моментальная+SALE — отдельной строкой на всю ширину под баром */
    .wfp__row-toggles { display: flex; flex-basis: 100%; gap: 8px; }
    .wfp__pop  {
        position: fixed;
        /* bottom:0 на iOS = видимый низ (НЕ за тулбаром) — lvh/dvh-смещение
           давало «парящий» шит, не повторять */
        bottom: 0;
        left: 0;
        right: 0;
        top: auto;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        max-height: calc(100dvh - 84px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 16px 16px 0 0;
        padding: 16px 16px calc(20px + env(safe-area-inset-bottom, 0px));
        transform-origin: bottom center;
        transform: translateY(100%);
        transition: transform 280ms cubic-bezier(0.32, 0.72, 0, 1), opacity 200ms var(--ease);
    }
    .wfp__group[data-wfp-open] .wfp__pop {
        transform: translateY(0);
    }
}

/* Bottom-sheet сортировки на всём мобильном диапазоне (≤960) + затемнение-бэкдроп.
   Раньше лист висел у низа без фона (выглядел сломанно). Бэкдроп добавляется из JS
   (.wfp__sheet-backdrop), ловит тап → закрывает, блокирует случайную навигацию. 2026-06-07 */
.wfp__sheet-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    /* ВАЖНО: ниже z-index sticky-бара .cl-filterbar (=90). Бар создаёт контекст
       наложения, и боттом-шит сортировки (z-index:1001) живёт внутри него →
       чтобы шит был НАД затемнением, бэкдроп должен быть ниже бара. Иначе шит
       проваливается под бэкдроп (затемнённый список без карточки). */
    z-index: 70;
    opacity: 0;
    pointer-events: none;
    transition: opacity 220ms var(--ease);
}
.wfp__sheet-backdrop.is-visible { opacity: 1; pointer-events: auto; }

@media (max-width: 960px) {
    .wfp__pop {
        position: fixed;
        bottom: 0; left: 0; right: 0; top: auto;
        width: 100%; max-width: 100%; min-width: 0;
        max-height: calc(100dvh - 84px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 16px 16px 0 0;
        padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px));
        transform: translateY(100%);
        z-index: 1001;
        transition: transform 280ms cubic-bezier(0.32, 0.72, 0, 1), opacity 200ms var(--ease);
    }
    .wfp__group[data-wfp-open] .wfp__pop { transform: translateY(0); }

    /* Дровер «Фильтры» на телефоне — на ВСЮ ширину: жёсткие 420px на экранах
       шире 420 (Pro Max = 430pt) оставляли полоску страницы слева. */
    .wfp-drawer__panel { width: 100%; }
}

/* ============================================================
   Drawer-фильтр в режиме чекбоксов: значения — <label> + hidden input,
   «Показать товары» = submit формы (set_filter). Отметка выбранного —
   по :checked, чтобы появлялась мгновенно до отправки.
   ============================================================ */
.wfp-dsec__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.wfp-dsec__item, .wfp-dsec__size { cursor: pointer; }

.wfp-dsec__item:has(.wfp-dsec__input:checked) .wfp-dsec__cb {
    background: var(--c-ink); border-color: var(--c-ink); color: #fff;
}
.wfp-dsec__item:has(.wfp-dsec__input:checked) .wfp-dsec__cb svg { opacity: 1; }
.wfp-dsec__item:has(.wfp-dsec__input:checked) .wfp-dsec__name { font-weight: var(--fw-bold); }
.wfp-dsec__size:has(.wfp-dsec__input:checked) {
    background: var(--c-ink); border-color: var(--c-ink); color: #fff;
}

/* ============================================================
   DRILL-DOWN: карточки-строки на главном + слайд под-панели (cultt-style)
   ============================================================ */
.wfp-drawer__panel { overflow: hidden; } /* клип под-панелей */
.wfp-drawer__body--root { display: flex; flex-direction: column; padding: 12px; }
/* Цена — на самом верху списка, независимо от позиции в разметке */
.wfp-drawer__body--root .wfp-mcard--price { order: -1; }

.wfp-mcard {
    background: #fff;
    border-radius: 16px;
    margin-bottom: 12px;
    overflow: hidden;
    flex-shrink: 0; /* во flex-колонке не сжимать карточки (иначе контент режется overflow:hidden) */
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03), 0 6px 18px rgba(0, 0, 0, 0.03);
}
.wfp-mcard--pad { padding: 16px 18px; }

.wfp-mrow {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 17px 18px;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s var(--ease);
}
.wfp-mrow:hover  { background: rgba(0, 0, 0, 0.02); }
.wfp-mrow:active { transform: scale(0.995); transition: transform 100ms ease-out; }
/* Разделитель между строками — с отступами по краям (не на всю ширину) */
.wfp-mrow + .wfp-mrow::before {
    content: "";
    position: absolute;
    top: 0;
    left: 18px;
    right: 18px;
    height: 1px;
    background: var(--c-line);
}
.wfp-mrow__label {
    flex: 1;
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--c-ink);
}
.wfp-mrow__badge { font-size: 13px; font-weight: 600; color: var(--c-red); margin-right: 2px; }
.wfp-mrow__chev  { width: 18px; height: 18px; flex: 0 0 auto; color: #bdbdbd; display: grid; place-items: center; }

.wfp-minline__title {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--c-ink);
    margin-bottom: 14px;
}
.wfp-chip-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.wfp-fchip {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(0, 0, 0, 0.14);
    background: #fff;
    border-radius: 100px;
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 500;
    color: var(--c-ink);
    cursor: pointer;
    user-select: none;
    transition: background 0.15s var(--ease), color 0.15s var(--ease), border-color 0.15s var(--ease);
}
.wfp-fchip:hover { border-color: var(--c-ink); }
.wfp-fchip.is-on,
.wfp-fchip:has(input:checked) { background: var(--c-ink); color: #fff; border-color: var(--c-ink); }

/* Под-панель (push-навигация поверх дровера) */
.wfp-sub {
    position: absolute;
    inset: 0;
    z-index: 6;
    background: var(--c-bg);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 320ms cubic-bezier(0.32, 0.72, 0, 1);
    will-change: transform;
}
.wfp-sub.is-open { transform: translateX(0); }
.wfp-sub__head {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: var(--space-6) var(--space-4) var(--space-4);
    border-bottom: 1px solid var(--c-ink);
}
.wfp-sub__back {
    width: 36px; height: 36px;
    border: 0; background: transparent; border-radius: 50%;
    display: grid; place-items: center; cursor: pointer; color: var(--c-ink); flex: 0 0 auto;
    transition: background 0.15s var(--ease);
}
.wfp-sub__back:hover  { background: rgba(0, 0, 0, 0.05); }
.wfp-sub__back:active { transform: scale(0.92); transition: transform 100ms ease-out; }
.wfp-sub__title {
    flex: 1;
    text-align: center;
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--c-ink);
}
.wfp-sub__head-sp { width: 36px; flex: 0 0 auto; }
.wfp-sub__body {
    flex: 1;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 12px 20px;
}
.wfp-sub__body::-webkit-scrollbar       { width: 6px; }
.wfp-sub__body::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.15); border-radius: 3px; }
.wfp-sub__foot { flex-shrink: 0; padding: 14px 20px 20px; background: var(--c-bg); }
/* В под-панели список скроллит вся панель, а не свой внутренний бокс */
.wfp-sub .wfp-dsec__list   { max-height: none; overflow: visible; }
.wfp-sub .wfp-dsec__search { padding-left: 0; padding-right: 0; }

/* ============ «Категория» — навигационные ссылки (не чекбоксы) ============ */
.wfp-cat__item { gap: 8px; }
.wfp-cat__chev {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    color: var(--c-muted);
    transition: transform 160ms var(--ease), color 160ms var(--ease);
}
.wfp-cat__item:hover .wfp-cat__chev { color: var(--c-ink); transform: translateX(2px); }
.wfp-cat__item.is-current { background: rgba(0, 0, 0, 0.05); }
.wfp-cat__item.is-current .wfp-dsec__name { font-weight: var(--fw-bold); }
.wfp-cat__item.is-current .wfp-cat__chev  { color: var(--c-ink); }

/* ============ Тумблеры внизу (Скидка / Новинки) ============ */
.wfp-mcard--toggles { padding: 4px 18px; }
.wfp-tgl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 0;
    text-decoration: none;
    color: var(--c-ink);
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.wfp-tgl + .wfp-tgl { box-shadow: inset 0 1px 0 var(--c-line); }
.wfp-tgl__label {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--c-ink);
}
/* Название + пояснение в колонку. min-width:0 — чтобы длинная подпись переносилась,
   а не распирала строку и не съедала место у переключателя на узких экранах. */
.wfp-tgl__text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
/* Пояснение к тумблеру: термины «шоурум»/«моментальная» неочевидны без расшифровки.
   Вместо тултипа — строка ниже: на touch нет hover (см. DESIGN-GUIDELINES §6). */
.wfp-tgl__sub {
    font-family: var(--font-ui);
    font-size: var(--text-xs);
    font-weight: 400;
    line-height: 1.35;
    color: var(--c-muted);
    text-transform: none;
    letter-spacing: 0;
    margin-top: 3px;
}
.wfp-tgl__switch {
    position: relative;
    flex: 0 0 auto;
    width: 46px;
    height: 28px;
    border-radius: 999px;
    background: #e3e3e3; /* наш нейтральный серый (не тёплый/коричневый) */
    transition: background 0.22s var(--ease);
}
.wfp-tgl__knob {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.28);
    transition: transform 0.22s var(--ease);
}
/* Состояние «вкл» — по чекбоксу (input идёт перед .wfp-tgl__switch) */
.wfp-tgl__input:checked ~ .wfp-tgl__switch { background: var(--c-ink); }
.wfp-tgl__input:checked ~ .wfp-tgl__switch .wfp-tgl__knob { transform: translateX(18px); }
/* Скидка-активная — фирменный бордовый акцент */
.wfp-tgl--sale .wfp-tgl__input:checked ~ .wfp-tgl__switch { background: var(--c-accent, #8b253b); }
.wfp-tgl:active .wfp-tgl__knob { width: 26px; } /* лёгкий «жим» */

/* На десктопе «Со скидкой» уже показан отдельным табом «Товар со скидкой» —
   дублирующий чип-крестик в ленте активных не нужен. На мобиле таб скрыт → чип нужен. */
@media (min-width: 961px) {
    .wfp__active-chip--has-tab { display: none; }
}

/* End */


/* Start:/local/templates/wayoff/components/bitrix/catalog.section/wayoff_catalog/style.css?178137222723114*/
/* Стили для шаблона catalog.section wayoff_catalog */
/* Стили для шаблона каталога WAYOFF */

.wayoff-catalog {
	font-family: var(--ui-font-family-primary), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.catalog-page {
	width: 100%;
}

.catalog-page__container {}

.catalog-page__content {
	display: flex;
	gap: 30px;
}

.catalog-page__sidebar {
	flex: 0 0 280px;
}

.catalog-page__main {
	flex: 1;
	min-width: 0;
}

.catalog-filter {
	margin-bottom: 30px;
}

.catalog-filter--horizontal {
	margin-bottom: 20px;
}

.catalog-sidebar {
	margin-top: 30px;
}

.catalog-sections {
	width: 100%;
}

.catalog-sections__container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px;
}

.catalog-detail {
	width: 100%;
}

/* Адаптивность */
@media (max-width: 960px) {

	.catalog-page__main {
		padding-right: 0;
	}

	.catalog-page__content {
		flex-direction: column;
		gap: 20px;
	}

	.catalog-page__sidebar {
		flex: 1 1 auto;
		width: 100%;
	}

	.catalog-page__container,
	.catalog-sections__container {
		padding: 0;
	}

	.wayoff-catalog-seo-block__title {
		font-size: 1rem;
	}
}

.wayoff-catalog-section {
	font-family: var(--ui-font-family-primary), -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	width: 100%;
}

.wayoff-catalog-description {
	margin-bottom: 30px;
	padding: 20px 0;
	background: #f8f9fa;
	border-radius: 4px;
	font-size: 16px;
	line-height: 1.6;
	color: #333;
}

.wayoff-catalog-pagination {
	margin: 30px 0;
	text-align: center;
}

/* Блок заголовка и сортировки */
.catalog-header-block {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
	padding: 20px 0;
	flex-wrap: wrap;
	gap: 20px;
}

.title-block h1 {
	margin: 0 0 10px 0;
	font-size: 28px;
	font-weight: 600;
	color: #333;
}

.title-block .count {
	font-size: 14px;
	color: #666;
}

.catalog-controls {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
}

.wayoff-filter-open-btn {
	display: none;
}

.sort-list {
	position: relative;
	display: inline-block;
}

.sort-list.white-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.07);
	background-color: var(--ui-color-primary);
	text-transform: uppercase;
	border: none;
	font-size: 12px;
	line-height: 1;
	color: #000000;
	padding: 0;
	cursor: pointer;
	transition: all 0.6s ease 0s;
	-webkit-transition: all 0.6s ease 0s;
}

.sort-list.white-btn:hover {
	background-color: #000000;
	color: #FFFFFF;
}

.sort-list .js-sort-select {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}

.custom-drop {
	position: relative;
	display: inline-block;
}

.custom-drop select {
	display: none;
}

.custom-dropdown {
	border-radius: 0;
	width: 100%;
	height: 36px;
	font-weight: 400;
	font-size: 13px;
	position: relative;
	cursor: pointer;
}

.custom-dropdown .current {
	width: 100%;
	cursor: pointer;
	line-height: 34px;
	padding-left: 10px;
	padding-right: 20px;
	border: 1px solid #000000;
	border-radius: 4px;
	position: relative;
}

.custom-dropdown .current:before {
	font-family: "icomoon" !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\e908";
	display: block;
	position: absolute;
	top: 50%;
	font-size: 6px;
	margin-top: -3px;
	right: 8px;
	transition: all 0.6s ease 0s;
	-webkit-transition: all 0.6s ease 0s;
}

.custom-dropdown.active .current:before {
	transform: rotate(180deg);
}

.custom-dropdown .drop-list {
	display: none;
	list-style: none;
	position: absolute;
	right: 0;
	top: 100%;
	margin-top: 5px;
	width: 200px;
	max-width: 90vw;
	max-height: 270px;
	border-radius: 4px;
	overflow: auto;
	z-index: 10;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.07);
	background-color: #FFFFFF;
	scrollbar-color: #000000 #FFFFFF;
	scrollbar-width: thin;
	padding: 0;
	margin-left: 0;
}

.custom-dropdown.active .drop-list {
	display: block;
}

.custom-dropdown .drop-list li {
	display: block;
	padding: 10px 20px;
	cursor: pointer;
	width: 100%;
	transition: all 0.6s ease 0s;
	-webkit-transition: all 0.6s ease 0s;
	color: #000000;
	list-style: none;
}

.custom-dropdown .drop-list li.active {
	background-color: #FFFFFF;
	color: #000000;
}

.custom-dropdown .drop-list li:hover {
	background-color: #000000;
	color: #FFFFFF;
}

.custom-dropdown ::-webkit-scrollbar {
	width: 4px;
	background-color: #BDBDBD;
}

.custom-dropdown ::-webkit-scrollbar-thumb {
	background-color: #000000;
	border-radius: 2px;
}

.custom-dropdown ::-webkit-scrollbar-thumb:hover {
	opacity: 1;
}

.custom-dropdown ::-webkit-scrollbar-track {
	background-color: transparent;
}

/* Стили для блока сортировки в каталоге */
.catalog-page .catalogue-section .catalogue-row .sort-block .sort-list,
.catalog-header-block .catalog-controls .sort-list {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 30px;
	height: 40px;
	border-radius: 20px;
	max-width: 100%;
	padding: 0 45px;
}

.catalog-page .catalogue-section .catalogue-row .sort-block .sort-list:hover,
.catalog-header-block .catalog-controls .sort-list:hover {
	background-color: #FFFFFF;
	color: #000000;
}

.catalog-page .catalogue-section .catalogue-row .sort-block .sort-list .custom-drop,
.catalog-header-block .catalog-controls .sort-list .custom-drop {
	position: static;
}

.catalog-page .catalogue-section .catalogue-row .sort-block .sort-list .custom-dropdown,
.catalog-header-block .catalog-controls .sort-list .custom-dropdown {
	width: auto;
	height: auto;
	color: #BDBDBD;
	position: static;
}

.catalog-page .catalogue-section .catalogue-row .sort-block .sort-list .custom-dropdown .current,
.catalog-header-block .catalog-controls .sort-list .custom-dropdown .current {
	border: none;
	font-size: 12px;
}

.catalog-page .catalogue-section .catalogue-row .sort-block .sort-list .custom-dropdown .current:before,
.catalog-header-block .catalog-controls .sort-list .custom-dropdown .current:before {
	right: 0;
}

.catalog-page .catalogue-section .catalogue-row .sort-block .sort-list .custom-dropdown .drop-list,
.catalog-header-block .catalog-controls .sort-list .custom-dropdown .drop-list {
	border-radius: 20px;
	width: 100%;
}

.catalog-page .catalogue-section .catalogue-row .sort-block .sort-list .custom-dropdown .drop-list li,
.catalog-header-block .catalog-controls .sort-list .custom-dropdown .drop-list li {
	font-size: 12px;
}

/* Мобильный блок управления каталогом */
.catalog-mobile-controls {
	display: none;
}

.mobile-only {
	display: none;
}

@media (max-width: 960px) {
	.mobile-only {
		display: block;
	}

	.catalog-mobile-controls {
		display: block;
		position: sticky;
		top: 0;
		z-index: 100;
		background: #FFFFFF;
		padding: 12px 0;
		border-bottom: 1px solid #E0E0E0;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	}

	.catalog-mobile-search {
		display: none; /* на мобилке оставляем только 2 чипа: Фильтры + Сортировка (поиск — в шапке) */
	}

	.mobile-search-btn {
		width: 100%;
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 10px 16px;
		background: #F5F5F5;
		border: 1px solid #E0E0E0;
		border-radius: 4px;
		font-size: 14px;
		font-weight: 400;
		color: #666666;
		cursor: pointer;
		transition: all 0.3s ease;
		text-align: left;
	}

	.mobile-search-btn:hover {
		background: #EEEEEE;
		border-color: #000000;
		color: #000000;
	}

	.mobile-search-btn svg {
		flex-shrink: 0;
		width: 20px;
		height: 20px;
		fill: currentColor;
	}

	.mobile-search-text {
		flex: 1;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.catalog-mobile-sort-filter {
		display: flex;
		gap: 12px;
		align-items: center;
	}

	.mobile-sort-btn,
	.mobile-filter-btn {
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 10px 16px;
		background: #FFFFFF;
		border: 0;
		border-radius: 4px;
		font-size: 14px;
		font-weight: 400;
		min-height: 40px;
		color: #000000;
		cursor: pointer;
		transition: all 0.3s ease;
		position: relative;
	}

	.mobile-sort-btn:hover,
	.mobile-filter-btn:hover {
		background: #000000;
		color: #FFFFFF;
	}

	.mobile-sort-btn svg,
	.mobile-filter-btn svg {
		flex-shrink: 0;
		width: 20px;
		height: 20px;
		fill: currentColor;
	}

	.mobile-sort-btn svg {
		width: 20px;
		height: 20px;
		fill: currentColor;
	}

	.mobile-sort-btn svg use {
		fill: currentColor;
	}

	.mobile-sort-btn svg path {
		fill: currentColor;
	}

	.mobile-sort-text,
	.mobile-filter-text {
		flex-shrink: 0;
		text-align: left;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.mobile-filter-badge,
	.filter-badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 18px;
		height: 18px;
		padding: 0 6px;
		background: #000000;
		color: #FFFFFF;
		border-radius: 10px;
		font-size: 11px;
		font-weight: 600;
		line-height: 1;
		margin-left: 4px;
	}

	.mobile-filter-badge:empty,
	.filter-badge:empty {
		display: none;
	}

	.mobile-filter-btn:hover .mobile-filter-badge,
	.wayoff-filter-open-btn:hover .filter-badge {
		background: #FFFFFF;
		color: #000000;
	}

	.mobile-sort-dropdown {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: #FFFFFF;
		border: 1px solid #000000;
		border-top: none;
		border-radius: 0 0 4px 4px;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
		z-index: 101;
		margin-top: -1px;
	}

	.mobile-sort-dropdown.active {
		display: block;
	}

	.mobile-sort-list {
		list-style: none;
		padding: 0;
		margin: 0;
	}

	.mobile-sort-list li {
		border-bottom: 1px solid #E0E0E0;
	}

	.mobile-sort-list li:last-child {
		border-bottom: none;
	}

	.mobile-sort-list li a {
		display: block;
		padding: 12px 16px;
		color: #000000;
		text-decoration: none;
		font-size: 14px;
		transition: all 0.3s ease;
	}

	.mobile-sort-list li.active a {
		background: #F5F5F5;
		font-weight: 600;
	}

	.mobile-sort-list li a:hover {
		background: #000000;
		color: #FFFFFF;
	}

	.mobile-sort-btn {
		position: relative;
	}

	.wayoff-filter-open-btn {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.catalog-header-block {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 0;
	}

	.catalog-controls {
		width: 100%;
	}

	.sort-list.no-mobile,
	.wayoff-catalog-breadcrumbs--top.no-mobile {
		display: none !important;
	}

	.custom-drop select {
		display: none;
	}

	.custom-dropdown {
		border-radius: 0;
		width: 100%;
		height: 36px;
		font-weight: 400;
		font-size: 13px;
	}

	.custom-dropdown .current {
		width: 100%;
		cursor: pointer;
		line-height: 34px;
		padding-left: 10px;
		padding-right: 20px;
		border: 1px solid #000000;
		border-radius: 4px;
	}

	.custom-dropdown .current:before {
		font-family: "icomoon" !important;
		speak: none;
		font-style: normal;
		font-weight: normal;
		font-variant: normal;
		text-transform: none;
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		content: "\e908";
		display: block;
		position: absolute;
		top: 50%;
		font-size: 6px;
		margin-top: -3px;
		right: 8px;
		transition: all 0.6s ease 0s;
		-webkit-transition: all 0.6s ease 0s;
	}

	.custom-dropdown .drop-list {
		display: none;
		list-style: none;
		position: absolute;
		right: 0;
		top: 100%;
		margin-top: 5px;
		width: 200px;
		max-width: 90vw;
		max-height: 270px;
		border-radius: 4px;
		overflow: auto;
		z-index: 10;
		box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.07);
		background-color: #FFFFFF;
		scrollbar-color: #000000 #FFFFFF;
		scrollbar-width: thin;
	}

	.custom-dropdown .drop-list li {
		display: block;
		padding: 10px 20px;
		cursor: pointer;
		width: 100%;
		transition: all 0.6s ease 0s;
		-webkit-transition: all 0.6s ease 0s;
		color: #000000;
	}

	.custom-dropdown .drop-list li.active {
		background-color: #FFFFFF;
		color: #000000;
	}

	.custom-dropdown .drop-list li:hover {
		background-color: #000000;
		color: #FFFFFF;
	}

	.custom-dropdown ::-webkit-scrollbar {
		width: 4px;
		background-color: #BDBDBD;
	}

	.custom-dropdown ::-webkit-scrollbar-thumb {
		background-color: #000000;
		border-radius: 2px;
	}

	.custom-dropdown ::-webkit-scrollbar-thumb:hover {
		opacity: 1;
	}

	.custom-dropdown ::-webkit-scrollbar-track {
		background-color: transparent;
	}

	.submit-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.07);
		background-color: #000000;
		text-transform: uppercase;
		border: none;
		line-height: 1;
		color: #FFFFFF;
		padding: 0;
		cursor: pointer;
		transition: all 0.6s ease 0s;
		-webkit-transition: all 0.6s ease 0s;
	}

	.submit-btn:hover {
		background-color: #FFFFFF;
		color: #000000;
	}

	.submit-btn.white-btn {
		background-color: #FFFFFF;
		color: #000000;
	}

	.submit-btn.white-btn:hover {
		background-color: #000000;
		color: #FFFFFF;
	}
}

/* Сетка товаров - адаптивная */
.wayoff-products-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	/* gap: <вертикальный ряд> <горизонтальная колонка> — вертикаль крупнее
	   для «воздушного» ритма рядов (как на brandshop.ru) */
	gap: 60px 20px;
	margin-bottom: 30px;
}

/* Планшеты - 3 колонки */
@media (min-width: 768px) {
	.wayoff-products-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 72px 24px;
	}
}

/* Десктоп - 4 колонки */
@media (min-width: 1024px) {
	.wayoff-products-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 84px 30px;
	}
}

/* Карточки каталога на ~13% меньше (планшет+десктоп): уменьшаем сам элемент в ячейке,
   фото (width:100%) и текст скейлятся пропорционально. Кол-во колонок не меняем,
   мобилку (2 кол) не трогаем. 2026-06-07.
   width (НЕ max-width): с max-width + margin auto грид-айтем ужимается до
   fit-content — карточки с коротким названием получались уже остальных. */
@media (min-width: 768px) {
	.wayoff-products-grid .wayoff-product-item {
		width: 87%;
		margin-inline: auto;
	}
}

/* Стили для карточки товара */
.wayoff-product-item {
	display: flex;
	flex-direction: column;
	background: var(--ui-color-primary);
	border-radius: 12px;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wayoff-product-item:hover {
	transform: translateY(-4px);
}

/* Адаптация внутренних элементов товара */
.wayoff-product-item .product-item {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.wayoff-product-item .product-item-image-wrapper {
	flex-shrink: 0;
	position: relative;
	width: 100%;
	padding-top: 100%;
	/* Квадратное соотношение */
	overflow: hidden;
	background: #f8f9fa;
}

.wayoff-product-item .product-item-image-wrapper img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.wayoff-product-item:hover .product-item-image-wrapper img {
	transform: scale(1.05);
}

.wayoff-product-item .product-item-info-container {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 16px;
}

.wayoff-product-item .product-item-title {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 12px;
	color: var(--c-ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	min-height: 2.9em;
}

.wayoff-product-item .product-item-title a {
	color: var(--c-ink);
	text-decoration: none;
	transition: color 200ms var(--ease);
}

.wayoff-product-item .product-item-title a:hover {
	color: var(--c-ochre);
}

.wayoff-product-item .product-item-price {
	margin-top: auto;
	padding-top: 10px;
}

.wayoff-product-item .product-item-price-current {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-ink);
	font-variant-numeric: tabular-nums;
}

.wayoff-product-item .product-item-price-old {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-muted);
	text-decoration: line-through;
	margin-left: 8px;
	font-variant-numeric: tabular-nums;
}

.wayoff-product-item .product-item-button-container {
	margin-top: 12px;
}

.wayoff-product-item .btn {
	padding: 10px 20px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.2s ease;
	border: none;
	cursor: pointer;
	width: 100%;
}

.wayoff-product-item .btn-primary {
	background: #000;
	color: #fff;
}

.wayoff-product-item .btn-primary:hover {
	background: #333;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Мобильная адаптация */
@media (max-width: 960px) {
	.wayoff-products-grid {
		/* вертикаль крупнее горизонтали — воздушный ритм рядов */
		gap: 48px 16px;
	}

	.wayoff-product-item .product-item-info-container {
		padding: 12px;
	}

	.wayoff-product-item .product-item-title {
		font-size: 11px;
		min-height: 40px;
	}

	.wayoff-product-item .product-item-price-current {
		font-size: 12px;
	}

	.wayoff-catalog-description {
		padding: 16px;
		font-size: 14px;
	}
}

/* Стили для пагинации */
.wayoff-catalog-pagination .bx-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.wayoff-catalog-pagination .bx-pagination a,
.wayoff-catalog-pagination .bx-pagination span {
	padding: 8px 12px;
	border-radius: 4px;
	text-decoration: none;
	color: #333;
	background: #fff;
	border: 1px solid #e0e0e0;
	transition: all 0.2s ease;
	min-width: 40px;
	text-align: center;
	display: inline-block;
}

.wayoff-catalog-pagination .bx-pagination a:hover {
	background: #f8f9fa;
	border-color: #000;
	color: #000;
}

.wayoff-catalog-pagination .bx-pagination .bx-active span {
	background: #000;
	color: #fff;
	border-color: #000;
}


/* Заголовок блока на главной (только при BLOCK_TITLE) — в стиле остальных секций главной */
.index-block-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 28px;
	padding: 0;
}

.index-block-title {
	font-family: var(--font-display);
	font-size: var(--fs-h2-sec);
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.05;
	text-transform: none;
	color: var(--c-ink);
	margin: 0;
}
/* Точка в конце заголовков убрана (по требованию — без точек у всех заголовков). */
.index-block-title::after {
	content: none;
}

.index-block-all {
	font-family: var(--font-ui);
	font-weight: 500;
	font-size: 13px;
	color: var(--c-ink-2);
	text-transform: none;
	white-space: nowrap;
	position: relative;
	padding-bottom: 2px;
	text-decoration: none;
	transition: color 200ms var(--ease);
}
/* Animated underline — выезжает слева направо при hover (clip-path trick a la Emil) */
.index-block-all::after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 1px;
	background: currentColor;
	clip-path: inset(0 100% 0 0);
	transition: clip-path 280ms var(--ease);
}
@media (hover: hover) and (pointer: fine) {
	.index-block-all:hover { color: var(--c-ink); }
	.index-block-all:hover::after { clip-path: inset(0 0 0 0); }
}

.index-block-all .ico {
	font-size: 11px;
	margin-left: 8px;
}

@media (max-width: 960px) {
	.index-block-all .ico {
		font-size: 9px;
		margin-left: 6px;
	}
}

@media (max-width: 1024px) {
	.index-block-title {
		font-size: clamp(24px, 5vw, 32px);
	}
	.index-block-all {
		font-size: 12px;
	}
}

/* Блок под SEO-текст внизу листинга */
.wayoff-catalog-seo-block {
	margin: 2.5rem 0;
	padding: 2rem 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.wayoff-catalog-seo-block__title {
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.3;
	color: #1a1a1a;
	margin: 0 0 1rem;
}

.wayoff-catalog-seo-block__content {
	font-size: 1rem;
	line-height: 1.6;
	color: #333;
}

.wayoff-catalog-seo-block__content p {
	margin: 0 0 0.75em;
}

.wayoff-catalog-seo-block__content p:last-child {
	margin-bottom: 0;
}

.wayoff-catalog-seo-block__content a {
	color: #1a1a1a;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.wayoff-catalog-seo-block__content a:hover {
	opacity: 0.8;
}

.wayoff-catalog-seo-block__content ul,
.wayoff-catalog-seo-block__content ol {
	margin: 0 0 1em;
	padding-left: 1.5em;
}

.wayoff-catalog-seo-block__content li {
	margin-bottom: 0.35em;
}

.wayoff-catalog-seo-block__content ul {
	list-style-type: disc;
}

.wayoff-catalog-seo-block__content ol {
	list-style-type: decimal;
}

.wayoff-catalog-seo-block__content strong {
	font-weight: 600;
}

.wayoff-catalog-seo-block__content h2,
.wayoff-catalog-seo-block__content h3 {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 1em 0 0.5em;
}

.wayoff-catalog-seo-block__content h2:first-child,
.wayoff-catalog-seo-block__content h3:first-child {
	margin-top: 0;
}
/* Бейдж Яндекс Сплита справа от цены (mountBadge type=bnpl) */
.wf-yp-badge { display: inline-block; vertical-align: middle; margin-left: 8px; line-height: 0; }
.wf-yp-badge:empty { display: none; }

/* Цена + бейдж Сплита в одну строку (бейдж справа от цены) */
.wf-price-line { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wf-price-line .wf-yp-badge { margin-left: 0; }

/* Резерв места под бейдж Сплита (anti-CLS): контейнер держит размер до загрузки
   iframe-бейджа Яндекса, контент не прыгает при появлении. */
.wf-yp-badge { display: inline-flex; align-items: center; min-height: 16px; min-width: 150px; }

/* Каталог: бейдж Сплита ПОД ценой, по центру карточки (безопасно для мобильной
   сетки — своя строка, не распирает). На скидочных: актуальная, зачёркнутая, бейдж. */
.catalog-page .wf-price-line { flex-direction: column; align-items: flex-start; gap: 6px; width: 100%; }
.catalog-page .wf-price-line .wf-yp-badge { min-width: 0; }

/* End */


/* Start:/local/templates/wayoff/components/bitrix/system.pagenavigation/.default/style.css?17821028485149*/
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap; /* первая/последняя + многоточия → на узких экранах переносим, не ломаем */
    gap: 2px;
    list-style: none;
}

.pagination li { margin: 0; }

/* Числа страниц */
.pagination li a:not(.wf-arrow),
.pagination li span:not(.wf-arrow) {
    display: inline-grid;
    place-items: center;
    min-width: 44px;
    height: 44px;
    padding: 0 8px;
    font-family: var(--font-ui);
    font-size: 18px;
    font-weight: 500;
    color: var(--c-muted);
    text-decoration: none;
    border-radius: var(--r-md, 12px);
    transition: color 0.16s var(--ease-out, ease), background 0.16s var(--ease-out, ease);
}
.pagination li a:not(.wf-arrow):hover { color: var(--c-ink); background: rgba(0, 0, 0, 0.04); }
.pagination li span:not(.wf-arrow) { color: var(--c-ink); font-weight: 700; } /* текущая страница */
/* Многоточие между окном страниц и первой/последней — узкое, неактивное, приглушённое */
.pagination li span.pagination-gap { min-width: 24px; color: var(--c-muted); font-weight: 500; pointer-events: none; }

/* Стрелки — единый стандарт .wf-arrow, увеличены на ~30%; отступ от чисел */
.pagination li .wf-arrow { --wf-arrow-size: 40px; --wf-arrow-glyph: 28px; }
.pagination li .wf-arrow.wf-arrow--prev { margin-right: 5px; }
.pagination li .wf-arrow.wf-arrow--next { margin-left: 5px; }

/* Кнопка «Загрузить ещё» — outline-pill в стиле сайта */
.pagination-load-more {
    margin: 0 0 26px;
    text-align: center;
}

.pagination-load-more__btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    min-width: 260px;
    padding: 17px 36px;
    font-family: var(--font-ui);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.2;
    color: var(--c-ink);
    background: transparent;
    border: 1px solid var(--c-line-2, #d9d4cc);
    border-radius: var(--r-pill, 999px);
    cursor: pointer;
    overflow: hidden;
    isolation: isolate;
    transition: transform 160ms var(--ease-out, ease), color 200ms var(--ease-out, ease), border-color 200ms var(--ease-out, ease);
}

/* V5 — без заливки: на hover текст и рамка → фирменная охра, справа выезжает ↓ */
@media (hover: hover) and (pointer: fine) {
    .pagination-load-more__btn:hover:not(:disabled) { color: var(--c-ochre); border-color: var(--c-ochre); }
    .pagination-load-more__btn:hover:not(:disabled) .pagination-load-more__ic { width: 18px; opacity: 1; margin-left: 9px; }
}
.pagination-load-more__btn:active:not(:disabled) { transform: scale(0.97); }

/* Стрелка ↓ — скрыта, выезжает справа на hover */
.pagination-load-more__ic {
    display: inline-flex;
    align-items: center;
    width: 0;
    margin-left: -9px;
    opacity: 0;
    overflow: hidden;
    color: inherit;
    transition: width 220ms var(--ease-out, ease), opacity 200ms var(--ease-out, ease), margin-left 220ms var(--ease-out, ease);
}
.pagination-load-more__ic svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.7; flex: 0 0 auto; }

/* Текст плавно уходит в blur при загрузке */
.pagination-load-more__text {
    transition: opacity 180ms var(--ease-out, ease), filter 180ms var(--ease-out, ease);
}
.pagination-load-more__btn.is-loading { color: var(--c-ochre); border-color: var(--c-line-2, #d9d4cc); }
.pagination-load-more__btn.is-loading .pagination-load-more__text { opacity: 0; filter: blur(3px); }
.pagination-load-more__btn.is-loading .pagination-load-more__ic { width: 0; opacity: 0; margin-left: -9px; }

/* Спиннер по центру кнопки */
.pagination-load-more__loader {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    margin: -12px 0 0 -12px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms var(--ease-out, ease);
}
.pagination-load-more__btn.is-loading .pagination-load-more__loader {
    opacity: 1;
    animation: pagination-loader-spin 0.6s linear infinite;
}
@keyframes pagination-loader-spin {
    to { transform: rotate(360deg); }
}

/* Приглушаем только настоящий disabled (нет следующей страницы), не loading */
.pagination-load-more__btn:disabled:not(.is-loading) {
    cursor: not-allowed;
    opacity: 0.5;
}

.pagination-load-more__btn {
    position: relative;
}

@media screen and (max-width: 960px) {
    .pagination-load-more__btn {
        min-width: 210px;
        padding: 14px 28px;
    }
}
/* End */


/* Start:/local/templates/wayoff/components/bitrix/catalog.item/wayoff_catalog/style.css?17879115994013*/
/* Стили для шаблона catalog.item wayoff_catalog */

.product-item-container {
	width: 100%;
	position: relative;
}

.product-item {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: all 0.3s ease;
}

.product-item:hover {
	opacity: 0.9;
}

/* Изображение товара */
.product-item .image {
	position: relative;
	width: 100%;
	padding-top: 100%; /* Квадратное соотношение */
	overflow: hidden;
    background: transparent;
	margin-bottom: 12px;
}

.product-item .image picture,
.product-item .image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.product-item:hover .image img {
	transform: scale(1.05);
}

.product-item .image.contain-image img {
	object-fit: contain;
}

.fav-btn .ico::before {
	content: '';
}

/* Лейблы товара */
.product-label {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 10;
	padding: 4px 8px;
	background: #000;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	border-radius: 4px;
}

.product-label-discount {
	background: #8b253b;
}

.product-label-text {
	background: #000;
}

/* Стек лейблов столбиком (несколько тегов одновременно: скидка / NEW / IN STOCK) */
.product-labels {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}
.product-labels .product-label {
	position: static;
	top: auto;
	left: auto;
	z-index: auto;
}

/* IN STOCK — наличие на складе (чёрный, как NEW) */
.product-label-instock {
	background: #000;
}

/* ПРЕДЗАКАЗ — партия в производстве у бренда (WYSION); купить пока нельзя */
.product-label-preorder {
	background: #6b6b6b;
}

/* Кнопка избранного */
.fav-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 32px;
	height: 32px;
	background: rgba(249, 249, 249, 0.9);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9;
	transition: all 0.3s ease;
	padding: 0;
}

.fav-btn:hover {
	background: rgba(249, 249, 249, 1);
	transform: scale(1.1);
}

.fav-btn.active .ico svg .fill {
	fill: #8b253b;
}

.fav-btn.active .ico svg path:last-child {
	stroke: #8b253b;
}

.fav-btn .ico {
	display: flex;
	align-items: center;
	justify-content: center;
}

.fav-btn .ico svg {
	width: 20px;
	height: 20px;
}

/* Название товара */
.product-item h3 {
    font-size: 20px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.2;
	margin-bottom: 8px;
	color: #000;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	/* Резервируем высоту под 2 строки (2 × line-height), чтобы цена была на одном
	   уровне у товаров с названием в 1 и в 2 строки. em → подстраивается под mobile. */
	min-height: 2.4em;
}

/* Цена */
.product-item .price-wrapper {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

/* Цена */
.product-item .special-price {
	display: flex;
	align-items: baseline;
	gap: 4px;
	font-size: 18px;
	font-weight: 600;
	color: #000;
}

.product-item .special-price .price {
	font-size: 20px;
	font-weight: 700;
}

.product-item .old-price {
	font-size: 14px;
	color: #999;
	text-decoration: line-through;
}

.product-item .price {
    font-size: 16px;
    font-weight: 400;
	color: #000;
	display: flex;
	align-items: baseline;
	gap: 4px;
}

/* Адаптивность */
@media (max-width: 768px) {
	.product-item h3 {
		font-size: 12px;
	}
	
	.product-item .special-price {
		font-size: 16px;
	}
	
	.product-item .special-price .price {
		font-size: 18px;
	}
	
	.product-item .price {
		font-size: 12px;
	}
}

/* End */
/* /local/templates/wayoff/components/bitrix/catalog/wayoff_catalog/catalog_listing_v1.css?178791159954947 */
/* /local/templates/wayoff/components/bitrix/catalog.smart.filter/wayoff_filter_pills/style.css?178786605953657 */
/* /local/templates/wayoff/components/bitrix/catalog.section/wayoff_catalog/style.css?178137222723114 */
/* /local/templates/wayoff/components/bitrix/system.pagenavigation/.default/style.css?17821028485149 */
/* /local/templates/wayoff/components/bitrix/catalog.item/wayoff_catalog/style.css?17879115994013 */
