/* The Idol — мобильный каталог v2: пиксельный слой по макету Claude Design.
   Аддитивно поверх catalog.css. Грузится ТОЛЬКО при option idol_catalog_v2=on
   (inc_auto/theme/catalog-page.php), приоритет 111 → выигрывает каскад у catalog.css.
   Ничего не ломает: десктоп, BeRocket-функцию, кэш и SEO-разметку не трогаем — только
   переоформляем уже отрендеренную мобильную (≤900px) разметку под макет (390px кадр).
   Скоуп: класс .idol-cat-v2 навешивает catalog-mobile.js на .idol-catalog при v2. */

/* Инжектится/рендерится всегда (бар — на всех вьюпортах; счётчик пилюли — в общем серверном
   .idol-subcats): на ДЕСКТОПЕ прячем — v2 меняет только мобильный каталог, десктоп не трогаем. */
.idol-cat-back, .idol-cat-headcount, .idol-catalog .qpill__n { display: none; }

/* Лендинг раздела v2 (макет «Навигация v2»): показываем только на мобайл, десктоп — как было */
.idol-landing-v2, .idol-lcta { display: none; }
@media (max-width: 900px) {
  .has-landing-v2 .archive-nav { display: none !important; }         /* плитки заменяет список ниже */
  .has-landing-v2 .main__archive-content { display: none !important; } /* лендинг-навигация без общей сетки */
  .has-landing-v2 .plp__seo { display: none !important; }
  .has-landing-v2 { padding-bottom: 118px; }                          /* место под фикс-CTA + таб-бар */
  .idol-landing-v2 { display: block; }

  .idol-ltabs { display: flex; border-top: 1px solid #E2E2E2; border-bottom: 1px solid #E2E2E2; }
  .idol-ltab { flex: 1 1 0; height: 46px; display: flex; align-items: center; justify-content: center; font-family: "Inter", sans-serif; font-size: 13px; color: #8B8B8B; text-decoration: none; border-bottom: 2px solid transparent; }
  .idol-ltab.is-on { color: #282828; font-weight: 600; border-bottom-color: #282828; }

  .idol-lhero { position: relative; display: block; height: 190px; background: #F0EFED 50% 30%/cover no-repeat; text-decoration: none; overflow: hidden; }
  .idol-lhero__grad { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,18,16,.72) 0%, rgba(20,18,16,.15) 65%, rgba(20,18,16,0) 100%); }
  .idol-lhero__in { position: absolute; left: 16px; bottom: 16px; right: 16px; display: flex; flex-direction: column; gap: 6px; }
  .idol-lhero__title { font-family: "Manrope", sans-serif; font-weight: 600; font-size: 26px; color: #FFFFFF; }
  .idol-lhero__sub { font-family: "Inter", sans-serif; font-weight: 300; font-size: 12px; color: rgba(255,255,255,.85); }
  .idol-lhero__link { display: inline-flex; align-items: center; gap: 7px; margin-top: 2px; font-family: "Inter", sans-serif; font-weight: 500; font-size: 12px; letter-spacing: .6px; text-transform: uppercase; color: #FFFFFF; border-bottom: 1px solid rgba(255,255,255,.5); padding-bottom: 5px; width: fit-content; }

  .idol-llist-wrap { padding: 16px 0 8px; }
  .idol-llist-head { padding: 0 16px 10px; }
  .idol-llist-title { font-family: "Manrope", sans-serif; font-weight: 600; font-size: 15px; color: #282828; }
  .idol-llist { display: flex; flex-direction: column; border-top: 1px solid #E2E2E2; }
  .idol-lrow { display: flex; align-items: stretch; border-bottom: 1px solid #E2E2E2; }
  .idol-lrow--all { background: #F7F6F4; }
  .idol-lrow__main { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 6px 4px 6px 0; text-decoration: none; }
  .idol-lrow__thumb { flex: none; width: 46px; height: 58px; background: #F0EFED 50% 35%/cover no-repeat; }
  .idol-lrow__name { flex: 1 1 auto; min-width: 0; font-family: "Inter", sans-serif; font-size: 14px; line-height: 1.3; color: #282828; }
  .idol-lrow--all .idol-lrow__name { font-weight: 500; }
  .idol-lrow__n { flex: none; font-family: "Inter", sans-serif; font-weight: 300; font-size: 12px; color: #8B8B8B; padding-right: 4px; }
  .idol-lrow__tog { flex: none; width: 48px; display: flex; align-items: center; justify-content: center; background: transparent; border: 0; border-left: 1px solid #F0EFED; cursor: pointer; }
  .idol-lrow__chev { flex: none; width: 48px; display: flex; align-items: center; justify-content: center; }
  .idol-lempty { padding: 24px 16px; font-family: "Inter", sans-serif; font-size: 13px; color: #8B8B8B; }

  .idol-lcta { position: fixed; left: 16px; right: 16px; bottom: calc(58px + env(safe-area-inset-bottom, 0px)); z-index: 190; display: flex; align-items: center; justify-content: center; gap: 8px; height: 48px; background: #282828; color: #FFFFFF; font-family: "Inter", sans-serif; font-weight: 500; font-size: 14px; text-decoration: none; }

  /* заголовки промо-каруселей раздела (рельсы) — тон макета */
  .has-landing-v2 .section-title { font-family: "Manrope", sans-serif !important; font-size: 18px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; padding: 0 16px !important; }
}

/* Sticky-бар «Категория|Фильтры» не липнул: тема ставит body{overflow-x:hidden} → браузер делает
   body scroll-контейнером (overflow-y:auto), и sticky липнет к нему, а не к вьюпорту. clip клиппит
   так же по горизонтали, но scroll-контейнер НЕ создаёт → sticky оживает. Мобайл, страницы каталога. */
@media (max-width: 900px) {
  html, body { overflow-x: clip !important; }

  /* Шапка на каталоге была position:absolute → уезжала при скролле (поиск пропадал). fixed = держится
     сверху всегда. При скролле логотип прячем (idol-hdr-min от catalog-mobile.js) — закреплены ровно
     ДВЕ строки: поиск (строка 1) + бар «Категория|Фильтры» (строка 2). Высоту шапки бар берёт из --idol-hdr-h. */
  .header { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; }
  html.idol-hdr-min .header .logo { display: none !important; }
}

@media (max-width: 900px) {

  /* ── монохром макета поверх фиолетового акцента темы (только v2, только мобайл) ── */
  .idol-catalog.idol-cat-v2 {
    --line: #E2E2E2;      /* тонкие делители */
    --line-2: #C4C4C4;    /* бордер поиска/категории-кнопки */
    --line-soft: #EFEDEA; /* плашки-фоны */
    --muted: #8B8B8B;
    --muted-2: #565656;
    --ink: #282828;
    --accent: #282828;    /* убираем фиолетовый — всё чёрно-белое, как в макете */
  }

  /* ── резерв высоты дедуп-шапки (§1): шапка position:absolute h≈104, а тема резервирует под .main
     всего margin-top12+padding-top54=66 → шапка перекрывала крошки. При активном таб-баре
     (=дедуп-шапка) добавляем недостающий резерв ТОЛЬКО на каталоге (data-post-type=product). ── */
  body:has(.idol-tabbar) .main[data-post-type="product"] .breadcrumbs,
  body.idol-has-tabbar .main[data-post-type="product"] .breadcrumbs { margin-top: 48px; }

  /* ── крошки: Каталог › … › текущая (Inter 11px, все уровни кликабельны, одна строка) ── */
  .main[data-post-type="product"] .breadcrumbs {
    padding: 12px 16px 10px;
    font-family: "Inter", sans-serif;
    font-size: 11px;
    line-height: 1.2;
    color: #8B8B8B;
    overflow-x: auto;
    white-space: nowrap !important;
    scrollbar-width: none;
  }
  .main[data-post-type="product"] .breadcrumbs::-webkit-scrollbar { width: 0; height: 0; }
  .main[data-post-type="product"] .breadcrumbs > span { display: inline; white-space: nowrap !important; }
  .main[data-post-type="product"] .breadcrumbs div { display: inline !important; }
  .main[data-post-type="product"] .breadcrumbs a { display: inline; color: #282828; text-decoration: none; }
  .main[data-post-type="product"] .breadcrumbs .breadcrumb_last { color: #8B8B8B; }
  /* разделитель «›» из фильтра wpseo_breadcrumb_separator (v2) — светло-серый, как в макете */
  .main[data-post-type="product"] .breadcrumbs .idol-bc-sep { color: #C4C4C4; padding: 0 3px; }
  /* «Главная» + её разделитель прячем на мобайл (в DOM/схеме остаются) — макет стартует с «Каталог» */
  .main[data-post-type="product"] .breadcrumbs > span > *:first-child,
  .main[data-post-type="product"] .breadcrumbs > span > *:first-child + .idol-bc-sep { display: none !important; }

  /* ── заголовок: [← вверх] Категория [счётчик] — строка, слева (не по центру!) ── */
  .main[data-post-type="product"] .main__title {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: flex-start !important;
    gap: 8px;
    padding: 0 16px 12px;
    margin: 0;
    text-align: left !important;
  }
  .main[data-post-type="product"] .main__title-text {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left !important;
    font-family: "Manrope", sans-serif;
    font-weight: 600;
    font-size: 22px;
    line-height: 1.15;
    color: #282828;
    letter-spacing: 0;
    text-transform: none;
  }
  .idol-cat-back {
    flex: none;
    width: 32px;
    height: 32px;
    margin-left: -8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    color: #282828;
  }
  .idol-cat-headcount {
    display: inline;
    flex: none;
    font-family: "Inter", sans-serif;
    font-weight: 300;
    font-size: 12px;
    color: #8B8B8B;
    white-space: nowrap;
  }

  /* ── порядок блоков внутри .plp__main под макет (flex order, без правки DOM) ──
     1 подкат-пилюли · 2 стики-бар (mbar перенесён сюда JS) · 3 применённые чипсы
     · 4 быстрые чипсы · 5 строка N+сорт · 6 сетка товаров */
  .idol-catalog.idol-cat-v2 .plp__main { display: flex; flex-direction: column; min-width: 0; padding-bottom: 8px; }
  .idol-catalog.idol-cat-v2 .plp__main > .idol-subcats { order: 1; }
  .idol-catalog.idol-cat-v2 .plp__main > .idol-mbar    { order: 2; }
  .idol-catalog.idol-cat-v2 .plp__main > .chips        { order: 3; }
  .idol-catalog.idol-cat-v2 .plp__main > .qpills       { order: 4; }
  .idol-catalog.idol-cat-v2 .plp__main > .plp__bar     { order: 5; }
  .idol-catalog.idol-cat-v2 .plp__main > .main__archive-content { order: 6; }
  .idol-catalog.idol-cat-v2 .plp__main > .plp__seo     { order: 7; }
  .idol-catalog.idol-cat-v2 .plp__main > .ftopbar      { order: 8; } /* на мобайл переезжает в шторку — резерв от FOUC */

  /* ── подкатегории-пилюли: квадрат, тонкая рамка, живой счётчик ── */
  .idol-catalog.idol-cat-v2 .idol-subcats.qpills,
  .idol-catalog.idol-cat-v2 .plp__main > .qpills {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    padding: 0 16px 12px;
    margin: 0;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }
  .idol-catalog.idol-cat-v2 .idol-subcats.qpills { padding-top: 0; }
  .idol-catalog.idol-cat-v2 .qpills::-webkit-scrollbar { width: 0; height: 0; }
  .idol-catalog.idol-cat-v2 .qpill {
    flex: none;
    height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 13px;
    border: 1px solid #E2E2E2;
    border-radius: 0;
    background: #FFFFFF;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 1;
    color: #282828;
    text-decoration: none;
    white-space: nowrap;
    scroll-snap-align: start;
  }
  .idol-catalog.idol-cat-v2 .qpill:hover { border-color: #282828; }
  .idol-catalog.idol-cat-v2 .qpill .dot { display: none; }   /* цветной буллет темы — убираем */
  .idol-catalog.idol-cat-v2 .qpill__n {
    display: inline;
    font-family: "Inter", sans-serif;
    font-weight: 300;
    font-size: 10px;
    font-style: normal;
    color: #8B8B8B;
  }
  .idol-catalog.idol-cat-v2 .qpill.is-current {
    background: #282828;
    border-color: #282828;
    color: #FFFFFF;
    font-weight: 500;
  }
  .idol-catalog.idol-cat-v2 .qpill.is-current .qpill__n { color: #C4C4C4; }
  /* быстрые чипсы (Новинки/Со скидкой) — как обычные пилюли */
  .idol-catalog.idol-cat-v2 .plp__main > .qpills .qpill { font-weight: 400; }

  /* ── стики-бар: [Категория ▾] | [⚙ Фильтры (N)] две равные кнопки ── */
  .idol-catalog.idol-cat-v2 .idol-mbar {
    display: flex;
    gap: 8px;
    position: sticky;
    top: var(--idol-hdr-h, 104px);   /* липнет ПОД закреплённой шапкой (её высоту меряет JS) */
    z-index: 200;
    padding: 8px 16px;
    background: #FFFFFF;
    border-top: 1px solid #E2E2E2;
    border-bottom: 1px solid #E2E2E2;
  }
  .idol-catalog.idol-cat-v2 .idol-mbar__btn {
    flex: 1 1 0;
    min-width: 0;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 12px;
    background: #FFFFFF;
    border: 1px solid #C4C4C4;
    border-radius: 0;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 13px;
    color: #282828;
    cursor: pointer;
  }
  .idol-catalog.idol-cat-v2 .idol-mbar__btn .mbar-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .idol-catalog.idol-cat-v2 .idol-mbar__btn svg { flex: none; }
  .idol-catalog.idol-cat-v2 .idol-mbar .js-mflt { border-color: #282828; font-weight: 500; }
  .idol-catalog.idol-cat-v2 .idol-mbar .mbar-badge {
    flex: none;
    min-width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    border-radius: 0;
    background: #F0EFED;
    color: #282828;
    font-family: "Manrope", sans-serif;
    font-weight: 600;
    font-size: 11px;
  }
  /* активные фильтры → кнопка инвертируется (тёмная), бейдж белый */
  .idol-catalog.idol-cat-v2 .idol-mbar .js-mflt.is-on {
    background: #282828;
    border-color: #282828;
    color: #FFFFFF;
  }
  .idol-catalog.idol-cat-v2 .idol-mbar .js-mflt.is-on svg { stroke: #FFFFFF; }
  .idol-catalog.idol-cat-v2 .idol-mbar .js-mflt.is-on .mbar-badge { background: #FFFFFF; color: #282828; }
  /* пустой бейдж (0) — прячем */
  .idol-catalog.idol-cat-v2 .idol-mbar .mbar-badge:empty,
  .idol-catalog.idol-cat-v2 .idol-mbar .mbar-badge.is-zero { display: none; }

  /* ── применённые чипсы BeRocket (.chips) под баром ── */
  .idol-catalog.idol-cat-v2 .chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 16px 0;
    margin: 0;
  }
  .idol-catalog.idol-cat-v2 .chips:empty { display: none; }
  .idol-catalog.idol-cat-v2 .chips .berocket_aapf_widget_selected_area { display: contents; }
  .idol-catalog.idol-cat-v2 .chips .braapf_unselect,
  .idol-catalog.idol-cat-v2 .chips .bapf_reset {
    height: 32px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px 0 12px;
    background: #F4F3F1;
    border: 1px solid #282828;
    border-radius: 0;
    font-family: "Inter", sans-serif;
    font-size: 12px;
    color: #282828;
    cursor: pointer;
  }

  /* ── строка «N товаров» + сортировка (мокап: приглушённый лейбл слева, сорт справа) ── */
  .idol-catalog.idol-cat-v2 .plp__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px 10px;
    border: 0;
    flex-wrap: nowrap;
  }
  .idol-catalog.idol-cat-v2 .plp__count {
    font-family: "Inter", sans-serif;
    font-weight: 300;
    font-size: 12px;
    color: #8B8B8B;
  }
  .idol-catalog.idol-cat-v2 .plp__count b { font-weight: 300; color: #8B8B8B; }
  .idol-catalog.idol-cat-v2 .viewtog { display: none; } /* мобайл всегда сетка — тумблер вида прячем */
  .idol-catalog.idol-cat-v2 .plp__tools { display: flex; align-items: center; gap: 0; }
  .idol-catalog.idol-cat-v2 .plp__tools .woocommerce-ordering { margin: 0; }
  /* select2 сортировки → под вид кнопки макета (иконка+лейбл рисуем не можем — оставляем нативный, но чистим) */
  .idol-catalog.idol-cat-v2 .plp__tools .select2-selection {
    border: 0 !important;
    background: transparent !important;
    min-height: 40px;
    display: flex;
    align-items: center;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    color: #282828;
  }
  .idol-catalog.idol-cat-v2 .plp__tools .select2-selection__rendered { color: #282828 !important; padding: 0 20px 0 0 !important; line-height: 40px !important; }
  .idol-catalog.idol-cat-v2 .plp__tools .select2-selection__arrow { top: 8px !important; }

  /* ── сетка товаров: 2 колонки, отступы макета (карточку НЕ трогаем) ── */
  .idol-catalog.idol-cat-v2 .plp__main .archive-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    column-gap: 12px;
    row-gap: 22px;
    padding: 4px 16px 24px;
  }
}

/* ── Ф6: лендинг раздела (audience-root, [data-context="cat-parent"]) — CSS-рестайл под макет.
   Грузится тут же (idol-catalog.css на is_product_taxonomy). Плитки категорий → чистые фото-плитки,
   заголовки промо-секций спокойнее. Карусели/карточки не трогаем (тема). Крошки+заголовок уже из §1. ── */
@media (max-width: 900px) {
  .archive-nav {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px 12px !important;
    padding: 4px 16px 22px !important;
  }
  .archive-nav__item {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-family: "Manrope", sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    color: #282828 !important;
    text-decoration: none !important;
    text-align: left !important;
    text-transform: none !important;
  }
  .archive-nav__item-icon {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    height: auto !important;
    max-height: none !important;
    object-fit: cover !important;
    background: #F0EFED !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }
  .archive-nav__loader {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 48px !important;
    margin: 0 !important;
    background: #FFFFFF !important;
    border: 1px solid #282828 !important;
    border-radius: 0 !important;
    color: #282828 !important;
    font-family: "Inter", sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }
  /* заголовки промо-секций (H2.section-title) — тон макета: 20px, без разрядки, отступ как у сетки */
  [data-context="cat-parent"] .section-title,
  .main__archive[data-context="cat-parent"] .section-title {
    font-family: "Manrope", sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ── Лендинг v2 НА ДЕСКТОПЕ (адаптив, Lamoda-style): широкая раскладка + сетка карточек-разделов ──
   Раньше блок схлопывался к содержимому (~380px «окно посередине»): секция-лендинг у темы flex/grid,
   а блок без явной ширины ужимался. Фикс: на лендинге раскладываем секцию в один столбец во всю
   ширину (как на мобайле), лендинг = width:100% (наследует контент-бокс страницы → выровнен с H1). */
@media (min-width: 901px) {
  .main__archive.has-landing-v2 { display: block !important; }
  .idol-landing-v2 { display: block; width: 100%; }
  .idol-lcta { display: none; }                        /* на ПК CTA живёт в hero (белая кнопка) */
  .has-landing-v2 .archive-nav { display: none !important; }
  .has-landing-v2 .main__archive-content { display: none !important; }
  .has-landing-v2 .plp__seo { display: none !important; }
  .has-landing-v2 { padding-bottom: 8px; }

  /* табы разделов (Ж/М/Д/Распродажа) */
  .idol-ltabs { display: flex; gap: 4px; border-top: 0; border-bottom: 1px solid #E2E2E2; margin-top: 4px; }
  .idol-ltab { flex: none; height: 52px; padding: 0 24px; display: inline-flex; align-items: center; font-family: "Inter", sans-serif; font-size: 15px; color: #8B8B8B; text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .15s; }
  .idol-ltab:hover { color: #282828; }
  .idol-ltab.is-on { color: #282828; font-weight: 600; border-bottom-color: #282828; }

  /* hero — широкий кадр раздела как вход «во всё» (роль промо-баннера Ламоды, но ведёт в каталог) */
  .idol-lhero { position: relative; display: block; height: 340px; margin-top: 24px; background: #F0EFED 50% 28%/cover no-repeat; text-decoration: none; overflow: hidden; }
  .idol-lhero__grad { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,18,16,.72) 0%, rgba(20,18,16,.12) 56%, rgba(20,18,16,0) 100%); }
  .idol-lhero__in { position: absolute; left: 48px; bottom: 44px; display: flex; flex-direction: column; gap: 10px; }
  .idol-lhero__title { font-family: "Manrope", sans-serif; font-weight: 600; font-size: 46px; line-height: 1.02; color: #fff; }
  .idol-lhero__sub { font-family: "Inter", sans-serif; font-weight: 300; font-size: 15px; color: rgba(255,255,255,.85); }
  .idol-lhero__link { display: inline-flex; align-items: center; gap: 9px; margin-top: 8px; height: 48px; padding: 0 28px; background: #fff; color: #282828; font-family: "Inter", sans-serif; font-weight: 500; font-size: 14px; letter-spacing: 0; text-transform: none; border-bottom: 0; width: fit-content; transition: background .15s; }
  .idol-lhero:hover .idol-lhero__link { background: #F0EFED; }

  /* сетка карточек-разделов — полноширинная, адаптивная (auto-fill) */
  .idol-llist-wrap { max-width: none; margin: 0; padding: 40px 0 12px; }
  .idol-llist-head { padding: 0 0 20px; display: flex; align-items: baseline; justify-content: space-between; }
  .idol-llist-title { font-family: "Manrope", sans-serif; font-weight: 600; font-size: 22px; color: #282828; }
  #idolLanding.idol-lgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; border: 0; }
  .idol-lcard { border: 1px solid #E2E2E2; background: #fff; padding: 20px 22px 16px; display: flex; flex-direction: column; }
  .idol-lcard__head { display: flex; align-items: center; gap: 14px; text-decoration: none; padding-bottom: 14px; margin-bottom: 10px; border-bottom: 1px solid #F0EFED; }
  .idol-lcard__thumb { flex: none; width: 52px; height: 64px; background: #F0EFED 50% 35%/cover no-repeat; }
  .idol-lcard__ht { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
  .idol-lcard__name { font-family: "Manrope", sans-serif; font-weight: 600; font-size: 17px; color: #282828; }
  .idol-lcard__head:hover .idol-lcard__name { text-decoration: underline; text-underline-offset: 2px; }
  .idol-lcard__n { font-family: "Inter", sans-serif; font-weight: 300; font-size: 12px; color: #8B8B8B; }
  .idol-lcard__subs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
  .idol-lcard__subs a { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 7px 0; text-decoration: none; }
  .idol-lcard__sn { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: "Inter", sans-serif; font-size: 14px; color: #565656; }
  .idol-lcard__subs a:hover .idol-lcard__sn { color: #282828; text-decoration: underline; text-underline-offset: 2px; }
  .idol-lcard__sc { flex: none; font-family: "Inter", sans-serif; font-weight: 300; font-size: 12px; color: #C4C4C4; }
  .idol-lcard__all { margin-top: auto; padding-top: 12px; border-top: 1px solid #F0EFED; display: inline-flex; align-items: center; gap: 6px; font-family: "Inter", sans-serif; font-weight: 500; font-size: 13px; color: #282828; text-decoration: none; }
  .idol-lcard__all svg { transition: transform .15s; }
  .idol-lcard__all:hover svg { transform: translateX(3px); }
  .idol-lempty { grid-column: 1 / -1; padding: 24px 0; font-family: "Inter", sans-serif; font-size: 14px; color: #8B8B8B; }

  /* заголовки промо-каруселей на ПК */
  .has-landing-v2 .section-title { font-family: "Manrope", sans-serif !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
}

/* ── ЕДИНЫЙ ФИД ФИЛЬТРОВ НА ПК (v2, монохром) — P3 ────────────────────────────────────────────
   Тема каталога красит все UI-акценты фильтров ФИРМЕННЫМ СИРЕНЕВЫМ (catalog.css: --accent #7a48c0):
   диапазон слайдера цены, буллеты пилюль, активная пилюля, ховеры фасетов/чипсов/рельсы. На мобайле
   v2 и на лендинге всё уже монохромно — на десктопе оставался сиреневый (рассогласование).
   ФУНДАМЕНТАЛЬНЫЙ фикс (корень один): переопределяем --accent → чернила в скоупе v2-каталога, и
   ВЕСЬ каталог становится монохромным заодно с мобайлом/лендингом. Фасеты НЕ УЖИМАЕМ — Размер уже
   чипами, Цвет = семантичные образцы цвета (не трогаем), Цена/Бренд/Материал/Сезон/Состояние — все
   на месте, меняется только ЦВЕТ. Товарные бейджи (Распродажа/−%/Хит) красятся своими значениями
   (не через --accent) → не затрагиваются. Всё за киллсвичем idol_catalog_v2 (прод не меняется). */
@media (min-width: 901px) {
  .idol-catalog.idol-cat-v2 { --accent: #282828; }
  .idol-catalog.idol-cat-v2 .qpill .dot { display: none; }   /* цветной буллет темы убираем (как на мобайле v2) */
  /* активная пилюля темы (.is-on) уже станет чёрной через --accent — как .is-current в макете */

  /* Поиск-выдача (P4, «результаты как в дизайне»): на странице результатов поиска слева нет
     рельсы-дерева (панель результатов), поэтому фасет «Категории» (365) здесь = уточнение выдачи
     по категории — то, что в макете делают чипсы категорий. Показываем его в ряду фасетов. Класс
     idol-search-results ставится только при v2 (прод без v2 — байт-в-байт). Штатный фасет product_cat
     — ссылки/URL/названия не трогаем. */
  .idol-catalog.idol-search-results .ftopbar .berocket_single_filter_widget_365 { display: block; order: 0; }
}

/* ── шторка каталога: шапочный поиск перекрывал её (header z9999 > sheet z9000) → пока шторка
   открыта, прячем шапку целиком. Внутри шторки Категории остаётся свой «Поиск по фильтрам» +
   раздел, и они «плавающие» (липнут вверху при прокрутке дерева). ── */
@media (max-width: 900px) {
  body:has(.idol-sheet[aria-hidden="false"]) .header { display: none !important; }

  .idol-sheet--cat.idol-cat-v2 .rail-top,
  .idol-sheet--cat .rail-top {
    position: sticky;
    top: 0;
    z-index: 4;
    background: #FFFFFF;
  }

  /* порядок фасетов = приоритет макета: Размер · Цена · Бренд · Состояние, затем Цвет/Материал/Сезон */
  .idol-sheet.idol-cat-v2 .ftopbar .berocket_single_filter_widget_125150 { order: 1 !important; } /* Размер */
  .idol-sheet.idol-cat-v2 .ftopbar .berocket_single_filter_widget_360    { order: 2 !important; } /* Цена */
  .idol-sheet.idol-cat-v2 .ftopbar .berocket_single_filter_widget_369    { order: 3 !important; } /* Бренд */
  .idol-sheet.idol-cat-v2 .ftopbar .berocket_single_filter_widget_716    { order: 4 !important; } /* Состояние */
  .idol-sheet.idol-cat-v2 .ftopbar .berocket_single_filter_widget_364    { order: 5 !important; } /* Цвет */
  .idol-sheet.idol-cat-v2 .ftopbar .berocket_single_filter_widget_362    { order: 6 !important; } /* Материал */
  .idol-sheet.idol-cat-v2 .ftopbar .berocket_single_filter_widget_363    { order: 7 !important; } /* Сезон */

  /* Размер (125150): чекбокс-список → чипы (макет). Инпут делаем прозрачным на всю ячейку —
     тап по чипу переключает фильтр (BeRocket-логика цела), выбранный = заливка. */
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_125150 .idol-size-note {
    width: 100%; font-family: "Inter", sans-serif !important; font-size: 11px !important; color: #8B8B8B !important; margin: 0 0 8px !important;
  }
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_125150 .bapf_body ul {
    display: flex !important; flex-wrap: wrap !important; flex-direction: row !important; gap: 8px !important;
  }
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_125150 .bapf_body li {
    display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
    min-width: 52px !important; min-height: 44px !important; padding: 4px 8px !important; margin: 0 !important;
    border: 1px solid #E2E2E2 !important; background: #FFFFFF !important; position: relative !important; cursor: pointer !important; gap: 1px !important;
  }
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_125150 .bapf_body li input[type="checkbox"] {
    position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important;
    opacity: 0 !important; border: 0 !important; background: transparent !important; cursor: pointer !important;
  }
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_125150 .bapf_body li input[type="checkbox"]::after { content: none !important; }
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_125150 .bapf_body li label {
    font-family: "Inter", sans-serif !important; font-size: 13px !important; color: #282828 !important; margin: 0 !important; padding: 0 !important; pointer-events: none !important;
  }
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_125150 .bapf_body li .roundpcs {
    position: static !important; display: block !important; text-align: center !important;
    font-family: "Inter", sans-serif !important; font-weight: 300 !important; font-size: 9px !important; color: #8B8B8B !important; margin: 0 !important; padding: 0 !important; pointer-events: none !important;
  }
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_125150 .bapf_body li:has(input:checked) { background: #282828 !important; border-color: #282828 !important; }
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_125150 .bapf_body li:has(input:checked) label { color: #FFFFFF !important; }
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_125150 .bapf_body li:has(input:checked) .roundpcs { color: #C4C4C4 !important; }

  /* Цена (360): jQuery-UI слайдер → монохром макета (histogram — эталонный «плюс», данных нет → без него) */
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_360 .ui-slider { height: 3px !important; background: #E2E2E2 !important; border: 0 !important; border-radius: 0 !important; margin: 18px 8px !important; }
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_360 .ui-slider-range { background: #282828 !important; }
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_360 .ui-slider-handle { width: 18px !important; height: 18px !important; top: -8px !important; margin-left: -9px !important; background: #282828 !important; border: 0 !important; border-radius: 50% !important; }
  .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_360 .bapf_price_range, .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_360 .bapf_slidersmin, .idol-sheet.idol-cat-v2 .berocket_single_filter_widget_360 .bapf_slidersmax { font-family: "Manrope", sans-serif !important; font-weight: 600 !important; font-size: 13px !important; color: #282828 !important; }
}

/* ── полировка шторок под макет (шторка живёт в <body>, свой скоуп .idol-cat-v2 на панели) ── */
@media (max-width: 900px) {
  /* монохром: перебиваем фиолетовый акцент темы внутри шторки (ссылки «Показать ещё»,
     фокус-бордеры поиска, чекбоксы) — всё чёрно-белое, как в макете */
  .idol-sheet.idol-cat-v2 { --accent: #282828; --line: #E2E2E2; --line-soft: #EFEDEA; }
  .idol-sheet.idol-cat-v2 .bapf_body a,
  .idol-sheet.idol-cat-v2 .bapf_show_hide,
  .idol-sheet.idol-cat-v2 [class*="show_more"],
  .idol-sheet.idol-cat-v2 [class*="showmore"] { color: #282828 !important; }
  .idol-sheet.idol-cat-v2 .idol-sheet__panel { max-height: 90vh; border-radius: 0; }
  .idol-sheet.idol-cat-v2 .idol-sheet__panel::before { display: none; } /* без «ручки»-грабельки, как в макете */
  .idol-sheet.idol-cat-v2 .idol-sheet__head {
    height: 56px;
    padding: 0 8px 0 16px;
    font-family: "Manrope", sans-serif;
    font-weight: 600;
    font-size: 17px;
    text-transform: none;
    letter-spacing: 0;
    color: #282828;
  }
  .idol-sheet.idol-cat-v2 .idol-sheet__close { width: 44px; height: 44px; font-size: 18px; }
  .idol-sheet.idol-cat-v2 .idol-sheet__foot { gap: 10px; padding: 12px 16px 16px; padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #E2E2E2; }
  .idol-sheet.idol-cat-v2 .idol-sheet__reset {
    flex: 0 0 118px;
    min-height: 48px;
    background: #FFFFFF;
    color: #282828;
    border: 1px solid #C4C4C4;
    border-radius: 0;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 14px;
    text-transform: none;
    letter-spacing: 0;
  }
  .idol-sheet.idol-cat-v2 .idol-sheet__apply {
    flex: 1 1 auto;
    min-height: 48px;
    background: #282828;
    color: #FFFFFF;
    border: 1px solid #282828;
    border-radius: 0;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 14px;
    text-transform: none;
    letter-spacing: 0;
  }
}
