

/* Start:/local/templates/wayoff/wish.css?17802649944365*/
/* ====================================================================
   Wishlist — same editorial language as FAQ / cart / search overlay
   ==================================================================== */

:root {
	--wish-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}

.wishlist-page .wrapper {
	width: 100%;
	max-width: 1700px;
	margin: 0 auto;
	padding: 0 5vw;
}

.wishlist-section {
	padding: 48px 0 40px;
}

/* ===== Hero ===== */
.wishlist-hero {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 14px;
	text-align: center;
	padding: 48px 0 40px;
	border-bottom: 1px solid #ececec;
	margin-bottom: 40px;
}

.wishlist-hero__title {
	font-family: 'Normalidad Text', 'Golos UI', sans-serif;
	font-weight: 700;
	font-size: clamp(40px, 4.6vw, 72px);
	line-height: 1;
	letter-spacing: -0.025em;
	color: #1a1a1a;
	margin: 0;
	text-transform: none;
}

.wishlist-hero__meta {
	font-family: 'Golos UI', sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #888;
}

/* Ненавязчивая ссылка-кнопка «Очистить избранное» */
.wishlist-clear {
	border: 0;
	background: transparent;
	padding: 2px 0;
	cursor: pointer;
	font-family: 'Golos UI', sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #b0b0b0;
	transition: color 160ms cubic-bezier(0.23, 1, 0.32, 1);
}
@media (hover: hover) and (pointer: fine) {
	.wishlist-clear:hover { color: #1a1a1a; }
}
.wishlist-clear:active { transform: scale(0.98); }

/* ===== Empty state ===== */
.wishlist-empty {
	text-align: center;
	padding: 80px 24px 90px;
	max-width: 540px;
	margin: 0 auto;
}

.wishlist-empty__text {
	font-family: 'Normalidad Text', sans-serif;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: #1a1a1a;
	margin: 0 0 12px;
}

.wishlist-empty__sub {
	font-family: 'Golos UI', sans-serif;
	font-size: 14px;
	color: #888;
	line-height: 1.6;
	margin: 0 0 32px;
	max-width: 360px;
	margin-left: auto;
	margin-right: auto;
}

.wishlist-empty__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 0 28px;
	height: 56px;
	background: #1a1a1a;
	color: #fff;
	border: 0;
	border-radius: 100px;
	font-family: 'Normalidad Text', sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.3s var(--wish-ease-out), transform 0.3s var(--wish-ease-out), box-shadow 0.3s var(--wish-ease-out), opacity 0.3s var(--wish-ease-out);
}

.wishlist-empty__link::after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.wishlist-empty__link:hover {
	background: #2c2c2c;
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
	opacity: 1;
	color: #fff;
}

.wishlist-empty__link:active {
	transform: scale(0.97);
	transition-duration: 100ms;
}

/* ====================================================================
   Скрываем дублирующий h1 + сортировку из catalog.section на wishlist
   ==================================================================== */
.wishlist-page .catalog-header-block .title-block,
.wishlist-page .catalog-header-block h1 {
	display: none;
}

.wishlist-page .sort-list,
.wishlist-page .catalog-controls .sort-list,
.wishlist-page .mobile-sort-btn,
.wishlist-page .mobile-sort-dropdown {
	display: none !important;
}

/* Подровняем catalog-header-block без сортировки */
.wishlist-page .catalog-header-block {
	margin-bottom: 16px;
}

/* mobile controls — без sort, оставляем только search и фильтр */
.wishlist-page .catalog-mobile-sort-filter {
	justify-content: flex-end;
}

@media (max-width: 600px) {
	.wishlist-hero {
		padding: 24px 0 28px;
		margin-bottom: 28px;
	}
	.wishlist-empty {
		padding: 48px 16px 64px;
	}
	.wishlist-empty__text {
		font-size: 18px;
	}
}

/* End */


/* Start:/local/templates/wayoff/components/bitrix/catalog/wayoff_catalog/catalog_listing_v1.css?178191627154639*/
/* 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__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: 12px 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);
}

/* ============================================================
   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: 16px 0 1px;
        margin-bottom: 16px;
    }
    .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);
}

/* Infinite scroll: видимую нумерацию страниц прячем — навигация авто-подгрузкой по скроллу,
   состояние страницы держится в URL (/local/templates/wayoff/components/bitrix/catalog/wayoff_catalog/PAGEN_*). Ссылки остаются в DOM → SEO/краулеры ок.
   «Загрузить ещё» (.pagination-load-more) оставляем: сентинел авто-скролла + индикатор + no-JS fallback. */
.wayoff-catalog .pagination { display: none; }

/* End */


/* Start:/local/components/wayoff/home.section/templates/custom_order_dark/style.css?17802649943394*/
/* CTA «Не нашли модель?» — тёмный акцент-блок (вариант 5), под избранное */

.custom-order-dark-section {
	margin: 0 0 3rem;
	--ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}

.custom-order-dark-section .wrapper {
	width: 100%;
	margin: 0 auto;
}

.custom-order-dark {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 36px;
	align-items: center;
	background: #1a1a1a;
	border-radius: 20px;
	padding: 48px 48px 44px;
}

/* ===== Copy ===== */
.custom-order-dark__title {
	font-family: 'Normalidad Text', 'Golos UI', -apple-system, sans-serif;
	font-weight: 500;
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.1;
	letter-spacing: -0.015em;
	color: #fff;
	margin: 0 0 12px;
	max-width: 18ch;
	text-transform: none;
}

.custom-order-dark__lead {
	font-size: 15px;
	line-height: 1.55;
	color: #b5b5b5;
	max-width: 40ch;
	margin: 0;
}

/* ===== Actions ===== */
.custom-order-dark__actions {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.custom-order-dark__tiles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.custom-order-dark__tile {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	background: #262626;
	border: 1px solid #333;
	border-radius: 14px;
	text-decoration: none;
	transition:
		border-color 200ms var(--ease-out),
		background 200ms var(--ease-out),
		transform 160ms var(--ease-out);
}
.custom-order-dark__tile:active {
	transform: scale(0.98);
}

.custom-order-dark__tile-icon {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #3a3a3a;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	transition: background 200ms var(--ease-out), color 200ms var(--ease-out);
}
.custom-order-dark__tile-icon svg {
	width: 18px;
	height: 18px;
	display: block;
}

.custom-order-dark__tile-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.custom-order-dark__tile-name {
	font-family: 'Golos UI', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	line-height: 1.2;
}
.custom-order-dark__tile-tagline {
	font-family: 'Golos UI', sans-serif;
	font-size: 11px;
	color: #999;
	letter-spacing: 0.02em;
	margin-top: 2px;
}

/* ===== Form link ===== */
.custom-order-dark__form-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Golos UI', sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #fff;
	border-bottom: 1px solid #fff;
	padding-bottom: 2px;
	align-self: flex-start;
	cursor: pointer;
	text-decoration: none;
	transition: gap 220ms var(--ease-out), opacity 200ms var(--ease-out);
}
.custom-order-dark__form-link svg {
	width: 13px;
	height: 13px;
}

/* ===== Hover & motion gates ===== */
@media (hover: hover) and (pointer: fine) {
	.custom-order-dark__tile:hover {
		border-color: #fff;
		background: #2e2e2e;
	}
	.custom-order-dark__tile:hover .custom-order-dark__tile-icon {
		background: #fff;
		color: #1a1a1a;
	}
	.custom-order-dark__form-link:hover {
		gap: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.custom-order-dark__tile:active {
		transform: none;
	}
}

/* ===== Responsive ===== */
@media screen and (max-width: 880px) {
	.custom-order-dark {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 36px 28px 32px;
	}
}

@media screen and (max-width: 480px) {
	.custom-order-dark__tiles {
		grid-template-columns: 1fr;
		gap: 6px;
	}
}

/* End */
/* /local/templates/wayoff/wish.css?17802649944365 */
/* /local/templates/wayoff/components/bitrix/catalog/wayoff_catalog/catalog_listing_v1.css?178191627154639 */
/* /local/components/wayoff/home.section/templates/custom_order_dark/style.css?17802649943394 */
