/* ============================================================
   ART-GSM 2026 — Style B РЕЛЬСЫ листинга (catalog.section/catalog_block)
   Чистая карточка .prod собрана из сырых данных в template.php.
   Здесь: грид + гашение бутстрап/Aspro-обёрток (.item) +
   адаптер коммерс-хуков (родная кнопка add-to-cart, избранное/сравнение).
   Визуал самой карточки задают base.css/home.css (.prod/.av/.q/.sku-badge).
   Грузится ПОСЛЕ template_styles.css → выигрывает специфичностью (body.ag-styleb …).
   ============================================================ */

/* ---------- ГРИД (перебить Aspro .catalog_block.items.row flex/float) ---------- */
body.ag-styleb .catalog_block.prod-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s-14);
  margin: 0;
  float: none;
}
body.ag-styleb .catalog_block.prod-grid::before,
body.ag-styleb .catalog_block.prod-grid::after { content: none; display: none; }
@media (max-width: 1023px) { body.ag-styleb .catalog_block.prod-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px)  { body.ag-styleb .catalog_block.prod-grid { grid-template-columns: 1fr 1fr; gap: var(--s-10); } }

/* ---------- КАРТОЧКА (.prod = одновременно .item — бьём Aspro .catalog_block .item) ---------- */
body.ag-styleb .catalog_block.prod-grid > .prod.item {
  width: auto; min-height: 0; max-width: none; float: none; margin: 0; padding: 0;
  display: flex; flex-direction: column;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .22s ease, border-color .2s ease;
}
body.ag-styleb .catalog_block.prod-grid > .prod.item:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
  border-color: var(--line-2);
}

/* ---------- МЕДИА ---------- */
body.ag-styleb .prod .prod-media {
  position: relative; display: block; aspect-ratio: 1 / 1;
  background: var(--photo-bg, #fff); overflow: hidden; margin: 0; padding: 0; border: 0;
}
body.ag-styleb .prod .prod-media .prod-media-link { position: absolute; inset: 0; z-index: 3; display: block; }
body.ag-styleb .prod .prod-media img.prod-img {
  position: absolute; inset: var(--s-16); width: calc(100% - 32px); height: calc(100% - 32px);
  object-fit: contain; mix-blend-mode: multiply; margin: 0;
}
body.ag-styleb .prod .prod-tags { position: absolute; top: var(--s-10); left: var(--s-10); z-index: 4; display: flex; flex-wrap: wrap; gap: 5px; max-width: 80%; }

/* избранное (родной wish_item) → как .prod-fav поверх фото; сравнение в карточке скрыто (как в эталоне).
   Aspro по умолчанию прячет .like_icons (показ на hover старой карточки) → форсируем видимость. */
body.ag-styleb .prod .prod-fav-slot { position: absolute; top: var(--s-10); right: var(--s-10); z-index: 5; display: flex !important; opacity: 1 !important; visibility: visible !important; }
body.ag-styleb .prod .prod-fav-slot .like_icons { display: flex !important; opacity: 1 !important; visibility: visible !important; position: static; transform: none; gap: 6px; margin: 0; padding: 0; }
body.ag-styleb .prod .prod-fav-slot .compare_item_button,
body.ag-styleb .prod .prod-fav-slot .fast_view_button { display: none !important; }   /* в карточке только сердце */
body.ag-styleb .prod .prod-fav-slot .wish_item_button { display: block; margin: 0; padding: 0; opacity: 1 !important; visibility: visible !important; }
body.ag-styleb .prod .prod-fav-slot .wish_item {
  display: grid !important; place-items: center;
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--surface); box-shadow: var(--shadow-sm); color: var(--ink-3); padding: 0;
  opacity: 1 !important; visibility: visible !important; transition: transform .15s;
}
body.ag-styleb .prod .prod-fav-slot .wish_item i.svg { display: grid; place-items: center; line-height: 0; }
body.ag-styleb .prod .prod-fav-slot .wish_item svg { width: 17px; height: 15px; }
/* родной heart-svg залит #fff (для тёмных фонов) — перекрашиваем в серый, hover/active красный */
body.ag-styleb .prod .prod-fav-slot .wish_item svg path { fill: var(--ink-3) !important; }
body.ag-styleb .prod .prod-fav-slot .wish_item:hover { transform: scale(1.08); }
body.ag-styleb .prod .prod-fav-slot .wish_item:hover svg path,
body.ag-styleb .prod .prod-fav-slot .wish_item.active svg path { fill: #ef4444 !important; }

/* ---------- ТЕЛО (padding/flex; цвета/типографика — из home.css .prod-body) ---------- */
body.ag-styleb .prod .prod-body { padding: var(--s-14); display: flex; flex-direction: column; gap: var(--s-10); flex: 1; margin: 0; }

/* ---------- ПОДВАЛ: цены + кнопка ---------- */
body.ag-styleb .prod .prod-foot { margin-top: auto; display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s-10); min-width: 0; }
body.ag-styleb .prod .prod-add-slot { flex: none; display: flex; align-items: flex-end; }

/* Своя кнопка .prod-add (визуал из home.css) всегда видна; нативная Aspro-кнопка add-to-cart
   остаётся в DOM скрытой как коммерс-хук — клик с .prod-add форвардится на неё (app.js).
   Это снимает зависимость от Aspro-JS видимости кнопки (composite/offer-lazyload её прятали). */
body.ag-styleb .prod .prod-add-slot .prod-add-native { display: none !important; }
body.ag-styleb .prod .prod-add-slot .prod-add { flex: none; }
body.ag-styleb .prod .prod-add-slot .prod-add svg { width: 21px; height: 21px; }
/* «нет в наличии» → ghost-кнопка-стрелка на страницу товара */
body.ag-styleb .prod .prod-add-slot .prod-add--more { background: var(--surface-2); color: var(--ink-2); box-shadow: none; border: 1px solid var(--line); }
body.ag-styleb .prod .prod-add-slot .prod-add--more:hover { background: var(--surface); color: var(--accent); border-color: var(--accent); }

/* ---------- ПАГИНАЦИЯ (.bottom_nav / NAV_STRING) → как дизайн .pager ---------- */
body.ag-styleb .bottom_nav .module-pagination,
body.ag-styleb .bottom_nav .nums { display: inline-flex; gap: 6px; align-items: center; flex-wrap: wrap; justify-content: center; }
body.ag-styleb .bottom_nav { text-align: center; margin-top: var(--s-28); }
body.ag-styleb .bottom_nav .module-pagination .nums a,
body.ag-styleb .bottom_nav .module-pagination .nums span,
body.ag-styleb .bottom_nav .nums a,
body.ag-styleb .bottom_nav .nums span {
  min-width: 40px; height: 40px; padding: 0 8px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--r-sm); border: 1px solid var(--line); background: var(--surface);
  font-family: var(--mono); font-weight: 600; font-size: 14px; color: var(--ink-2);
  transition: background .15s, color .15s, border-color .15s;
}
body.ag-styleb .bottom_nav .nums a:hover { border-color: var(--accent); color: var(--accent); }
body.ag-styleb .bottom_nav .nums .current,
body.ag-styleb .bottom_nav .module-pagination .nums .current {
  background: var(--accent) !important; color: #fff !important; border-color: var(--accent) !important;
}

/* ============================================================
   ЛИСТИНГ — левый сайдбар (фильтр) + тулбар под дизайн (.filters/.list-toolbar)
   Разметка Aspro (smartfilter/filter-panel) приведена к Style B; верстку каталога не ломаем.
   ============================================================ */

/* секция-навигация «Каталог» (Запчасти/Аксессуары) + подписка — в дизайне их НЕТ */
body.ag-styleb .left_block .menu_top_block,
body.ag-styleb .left_block .side-block { display: none !important; }

/* сайдбар */
body.ag-styleb .left_block.sticky-sidebar { padding: 0; }
body.ag-styleb .left_block .smartfilter { background: none; border: 0; padding: 0; box-shadow: none; }

/* группа фильтра → карточка .fgroup */
body.ag-styleb .smartfilter .bx_filter_section { background: none; border: 0; box-shadow: none; padding: 0; margin: 0; }
body.ag-styleb .smartfilter .bx_filter_block {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-md);
  box-shadow: var(--shadow-sm); margin-bottom: var(--s-8); padding: 0; overflow: hidden;
}
body.ag-styleb .smartfilter .bx_filter_parameters_box_title {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: var(--s-12) var(--s-16); margin: 0; cursor: pointer;
  font-family: var(--font); font-weight: 700; font-size: 14px; color: var(--ink); border: 0; background: none;
}
body.ag-styleb .smartfilter .bx_filter_parameters_box_title > div { font-weight: 700; }
body.ag-styleb .smartfilter .bx_filter_parameters_box_title .svg { color: var(--ink-3); transition: transform .2s; }
body.ag-styleb .smartfilter .bx_filter_parameters_box.active .bx_filter_parameters_box_title .svg { transform: rotate(180deg); }
body.ag-styleb .smartfilter .bx_filter_parameters_box_container { padding: 0 var(--s-16) var(--s-12); }

/* чекбоксы → .fopt */
body.ag-styleb .smartfilter .bx_filter_param_label { display: block; position: relative; padding: 5px 0; margin: 0; cursor: pointer; }
body.ag-styleb .smartfilter .bx_filter_input_checkbox { display: flex; align-items: center; gap: 10px; font-size: 13.5px; line-height: 1.3; color: var(--ink-2); font-weight: 500; }
body.ag-styleb .smartfilter .bx_filter_input_checkbox:hover { color: var(--ink); }
body.ag-styleb .smartfilter .bx_filter_input_checkbox::before {
  content: ''; width: 18px; height: 18px; flex: none; border: 1.5px solid var(--line-2);
  border-radius: 5px; background: var(--surface); transition: background .15s, border-color .15s;
}
body.ag-styleb .smartfilter .bx_filter_param_text { flex: 1; }
body.ag-styleb .smartfilter input[type=checkbox] { position: absolute; opacity: 0; width: 0; height: 0; }
body.ag-styleb .smartfilter input[type=checkbox]:checked + .bx_filter_param_label .bx_filter_input_checkbox::before {
  background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
  border-color: var(--accent);
}
/* «(8)» счётчик — приглушить */
body.ag-styleb .smartfilter .bx_filter_param_text[title] { color: inherit; }

/* поиск бренда/модели внутри фильтра */
body.ag-styleb .smartfilter .bx_filter_input_container input,
body.ag-styleb .smartfilter input.bx_filter_search_text {
  width: 100%; height: 38px; border: 1px solid var(--line-2); border-radius: var(--r-sm);
  background: var(--surface-2); padding: 0 12px; font: inherit; font-size: 13px; color: var(--ink); margin-bottom: var(--s-8);
}

/* цена → .price-range */
body.ag-styleb .smartfilter .bx_filter_parameters_box_container.numbers,
body.ag-styleb .smartfilter .prices-block { display: flex; align-items: center; gap: 8px; }
body.ag-styleb .smartfilter .bx_filter_input_container.bg input,
body.ag-styleb .smartfilter .min-price input, body.ag-styleb .smartfilter .max-price input {
  width: 100%; height: 40px; border: 1px solid var(--line-2); border-radius: var(--r-sm);
  background: var(--surface-2); padding: 0 10px; font-family: var(--mono); font-size: 13px; color: var(--ink); margin: 0;
}

/* кнопки «Показать/Сбросить» */
body.ag-styleb .smartfilter .bx_filter_button_box .btn,
body.ag-styleb .smartfilter input[type=submit].bx_filter_search_button,
body.ag-styleb .smartfilter .bx_filter_search_button {
  width: 100%; height: 48px; border-radius: var(--r-md); background: var(--accent); color: #fff;
  border: 0; font-family: var(--font); font-weight: 700; font-size: 15px; box-shadow: var(--shadow-md); margin-top: var(--s-8);
}
body.ag-styleb .smartfilter .bx_filter_search_reset { color: var(--ink-3); font-size: 13px; font-weight: 600; }

/* счётчик найденного во всплывашке фильтра */
body.ag-styleb .smartfilter .bx_filter_popup_result { color: var(--ink-3); }

/* ============================================================
   ТУЛБАР сортировки/вида → .list-toolbar
   ============================================================ */
body.ag-styleb .filter-panel.sort_header {
  display: flex; align-items: center; gap: var(--s-12); flex-wrap: wrap;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-md);
  box-shadow: var(--shadow-sm); padding: var(--s-8) var(--s-14); margin-bottom: var(--s-16); float: none; width: auto;
}
body.ag-styleb .filter-panel.sort_header .pull-left,
body.ag-styleb .filter-panel.sort_header .pull-right { float: none; }
/* «Фильтр» текст-кнопка (на десктопе фильтр в сайдбаре — прячем дублирующий ярлык) */
body.ag-styleb .filter-panel__filter { display: none; }
body.ag-styleb .filter-panel .controls-hr { display: none; }
/* сортировка-дропдаун */
body.ag-styleb .filter-panel__sort { margin: 0; }
body.ag-styleb .filter-panel__sort .dropdown-select__title {
  height: 40px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: var(--r-sm);
  background: var(--surface); font-family: var(--font); font-weight: 600; font-size: 13px; color: var(--ink);
  display: inline-flex; align-items: center; gap: 8px;
}
/* спейсер: вид справа */
body.ag-styleb .filter-panel__view { margin-left: auto; }
body.ag-styleb .filter-panel__view + .filter-panel__view { margin-left: var(--s-8); }
body.ag-styleb .filter-panel__view .controls-view__item,
body.ag-styleb .filter-panel__view a, body.ag-styleb .filter-panel__view span {
  border-radius: var(--r-sm);
}

/* доводка фильтра/листинга */
/* промо-лендинги «Смартфоны Nika» над листингом — в дизайне нет */
body.ag-styleb .landings-list,
body.ag-styleb .landings-list__info-wrapper { display: none !important; }
/* убрать родной бокс/рамку Aspro у опции и спана-чекбокса (двойная рамка) — бокс рисует только ::before */
body.ag-styleb .smartfilter .bx_filter_param_label { border: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; }
body.ag-styleb .smartfilter .bx_filter_input_checkbox { border: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; }
body.ag-styleb .smartfilter .bx_filter_param_btn_value { display: none; }

/* ============================================================
   ДОВОДКА ДО ЭТАЛОНА (listing.html) — блок правок 2026-06-05
   Все селекторы скоупятся body.ag-styleb. !important там, где Aspro
   (template_styles.css / глобальные ссылки) перебивают специфичностью.
   ============================================================ */

/* ---- 1. ЗАГОЛОВОК ТОВАРА: тёмный (а не глобальный синий ссылок Aspro) ---- */
body.ag-styleb .prod a.prod-name,
body.ag-styleb a.prod-name { color: var(--ink) !important; }
body.ag-styleb .prod a.prod-name:hover,
body.ag-styleb a.prod-name:hover { color: var(--accent) !important; }

/* ---- 2. ПАГИНАЦИЯ ----
   Скрыть «Показать еще»; пейджер по центру; активная страница = .cur (span)
   — синий фон + белый текст. Стрелки prev/next в ul.flex-direction-nav. */
body.ag-styleb .bottom_nav .ajax_load_btn,
body.ag-styleb .bottom_nav .more_text_ajax { display: none !important; }
/* контейнер пагинации по центру (бьём родной float/inline) */
body.ag-styleb .bottom_nav .module-pagination {
  display: flex !important; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 6px; float: none !important; width: 100%; text-align: center;
}
body.ag-styleb .bottom_nav .module-pagination .nums {
  display: inline-flex !important; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 6px; float: none !important;
}
/* стрелки next/prev (ul.flex-direction-nav) встроить в линию пейджера */
body.ag-styleb .bottom_nav .module-pagination .nums .flex-direction-nav {
  display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 0; order: 9;
}
body.ag-styleb .bottom_nav .module-pagination .nums .flex-direction-nav li { margin: 0; list-style: none; }
/* единый вид «таблеток»: номера (a.dark_link / span.cur) + стрелки */
body.ag-styleb .bottom_nav .module-pagination .nums > a,
body.ag-styleb .bottom_nav .module-pagination .nums > span,
body.ag-styleb .bottom_nav .module-pagination .nums .flex-direction-nav a {
  min-width: 40px; height: 40px; padding: 0 8px; margin: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--r-sm); border: 1px solid var(--line); background: var(--surface);
  font-family: var(--mono); font-weight: 600; font-size: 14px; color: var(--ink-2);
  transition: background .15s, color .15s, border-color .15s; line-height: 1;
}
body.ag-styleb .bottom_nav .module-pagination .nums > a:hover,
body.ag-styleb .bottom_nav .module-pagination .nums .flex-direction-nav a:hover {
  border-color: var(--accent); color: var(--accent);
}
/* многоточие — без рамки */
body.ag-styleb .bottom_nav .module-pagination .nums .point_sep {
  border: 0 !important; background: none !important; min-width: 24px; height: 40px;
  color: var(--ink-3); font-family: var(--mono);
  display: inline-flex; align-items: center; justify-content: center;
}
/* АКТИВНАЯ страница = span.cur → залитый синий + белый текст */
body.ag-styleb .bottom_nav .module-pagination .nums > span.cur,
body.ag-styleb .bottom_nav .module-pagination .nums span.cur {
  background: var(--accent) !important; color: #fff !important; border-color: var(--accent) !important;
}
/* стрелочный svg внутри ссылки — размер/цвет наследуем */
body.ag-styleb .bottom_nav .module-pagination .nums .flex-direction-nav a .svg { width: 14px; height: 14px; }
body.ag-styleb .bottom_nav .module-pagination .nums .flex-direction-nav a svg { width: 12px; height: 12px; }

/* ---- 3. ФИЛЬТР-САЙДБАР ----
   Скрыть служебный заголовок «ФИЛЬТР» с воронкой (bx-filter-title / slide-block__head),
   но НЕ заголовки групп (.bx_filter_parameters_box_title). */
body.ag-styleb .left_block .bx-filter-title.filter_title,
body.ag-styleb .left_block .slide-block__head.filter_title,
body.ag-styleb .smartfilter > .filter_title,
body.ag-styleb .smartfilter .bx-filter-title { display: none !important; }

/* КАРТОЧКА ГРУППЫ: правильная иерархия (исправляет «двойную рамку»).
   Реальная разметка: .bx_filter_parameters_box(group) > [title] + .bx_filter_block(options).
   Раньше карточка рисовалась на .bx_filter_block (только опции) → заголовок висел снаружи.
   Переносим карточку на сам group .bx_filter_parameters_box, а .bx_filter_block делаем прозрачным. */
body.ag-styleb .smartfilter .bx_filter_parameters_box:not(.title):not(.bx_sort_filter) {
  background: var(--surface) !important; border: 1px solid var(--line) !important;
  border-radius: var(--r-md) !important; box-shadow: var(--shadow-sm);
  margin-bottom: var(--s-8) !important; padding: 0 !important; overflow: hidden;
}
/* ag inter-009/listing-05: блок «Сортировка» в моб.шторке — карточка как у остальных + опрятный select */
body.ag-styleb .smartfilter .bx_filter_parameters_box.bx_sort_filter {
  background: var(--surface) !important; border: 1px solid var(--line) !important;
  border-radius: var(--r-md) !important; box-shadow: var(--shadow-sm);
  margin-bottom: var(--s-8) !important; padding: 0 !important; overflow: visible;
}
body.ag-styleb .smartfilter .bx_sort_filter > .bx_filter_parameters_box_title { padding: var(--s-12) var(--s-16) !important; }
body.ag-styleb .smartfilter .bx_filter_select_block {
  display: flex; align-items: center; justify-content: space-between;
  height: 42px; padding: 0 12px; margin: 0 var(--s-16) var(--s-12);
  border: 1px solid var(--line-2); border-radius: var(--r-sm);
  background: var(--surface); color: var(--ink); font-weight: 600; cursor: pointer;
}
body.ag-styleb .smartfilter .bx_filter_select_text { color: var(--ink); }
body.ag-styleb .smartfilter .bx_filter_select_popup { border: 1px solid var(--line); border-radius: var(--r-sm); box-shadow: var(--shadow-md); background: var(--surface); }
body.ag-styleb .smartfilter .bx_filter_parameters_box .bx_filter_block,
body.ag-styleb .smartfilter .bx_filter_parameters_box .bx_filter_block.limited_block {
  background: none !important; border: 0 !important; box-shadow: none !important;
  border-radius: 0 !important; margin: 0 !important; padding: 0 var(--s-16) var(--s-12) !important;
}
/* заголовок группы внутри карточки */
body.ag-styleb .smartfilter .bx_filter_parameters_box > .bx_filter_parameters_box_title {
  padding: var(--s-12) var(--s-16) !important; margin: 0 !important; border: 0 !important; background: none !important;
}

/* добить компактный чекбокс.
   ВАЖНО: Aspro рисует квадрат через label:after (21px белый бокс c inset-рамкой)
   и заливку через input:checked+label:before + sprite-галку — это и были «крупные
   квадратные Aspro-чекбоксы». Гасим эти псевдоэлементы Aspro полностью, а коробку
   рисуем своим .bx_filter_input_checkbox::before 18px (span существует в DOM). */
body.ag-styleb .bx_filter.bx_filter_vertical input[type="checkbox"] + label.bx_filter_param_label:before,
body.ag-styleb .bx_filter.bx_filter_vertical input[type="checkbox"] + label.bx_filter_param_label:after,
body.ag-styleb .bx_filter.bx_filter_vertical input[type="checkbox"]:checked + label.bx_filter_param_label:before,
body.ag-styleb .bx_filter.bx_filter_vertical input[type="checkbox"]:checked + label.bx_filter_param_label:after,
body.ag-styleb .smartfilter .bx_filter_param_label:before,
body.ag-styleb .smartfilter .bx_filter_param_label:after {
  content: none !important; display: none !important; background: none !important; box-shadow: none !important;
}
body.ag-styleb .smartfilter .bx_filter_param_label { padding: 4px 0 !important; min-height: 0 !important; padding-left: 0 !important; }
body.ag-styleb .smartfilter .bx_filter_input_checkbox {
  display: flex !important; align-items: center; gap: 10px;
  min-height: 0 !important; padding: 0 !important; margin: 0 !important;
  font-size: 13.5px; line-height: 1.3; color: var(--ink-2); font-weight: 500;
}
/* «Хит (8)» текст без сдвига под отсутствующий нативный бокс */
body.ag-styleb .smartfilter .bx_filter_input_checkbox .bx_filter_param_text {
  margin-left: 0 !important; padding: 0 !important; line-height: 1.3 !important; display: block; flex: 1; text-align: left;
}
/* НАШ компактный бокс 18px на span::before */
body.ag-styleb .smartfilter .bx_filter_input_checkbox::before {
  content: '' !important; display: block !important;
  width: 18px !important; height: 18px !important; min-width: 18px !important; flex: none !important;
  border: 1.5px solid var(--line-2) !important; border-radius: 5px !important;
  background: var(--surface) !important; box-shadow: none !important; position: static !important;
  transition: background .15s, border-color .15s; margin: 0 !important; padding: 0 !important;
}
body.ag-styleb .smartfilter .bx_filter_input_checkbox::after { content: none !important; display: none !important; }
/* ВЫБРАННЫЙ → залит синим + белая галка (на нашем ::before) */
body.ag-styleb .bx_filter.bx_filter_vertical input[type="checkbox"]:checked + label.bx_filter_param_label .bx_filter_input_checkbox::before,
body.ag-styleb .smartfilter input[type=checkbox]:checked + .bx_filter_param_label .bx_filter_input_checkbox::before {
  background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat !important;
  border-color: var(--accent) !important;
}

/* убрать ДВОЙНУЮ рамку: Aspro вешает .scrollable на .bx_filter_block с собственной
   рамкой+inset-тенью поверх нашей карточки .fgroup — снимаем её. */
body.ag-styleb .bx_filter.bx_filter_vertical .bx_filter_block.scrollable,
body.ag-styleb .smartfilter .bx_filter_block.scrollable {
  border: 0 !important; box-shadow: none !important; background: none !important;
}
/* разделители-подложки внутренних под-боксов */
body.ag-styleb .smartfilter .bx_filter_parameters_box { border-bottom: 0 !important; padding: 0 !important; background: none !important; }
body.ag-styleb .smartfilter .bx_filter_parameters_box:not(.title):hover { background: none !important; }
body.ag-styleb .smartfilter .bx_filter_parameters_box_container .bx_filter_param_btn { border: 0 !important; background: none !important; }

/* ---- 4. ТУЛБАР ----
   Скрыть переключатель «кол-во в ряд» (controls-linecount), оставить вид плитка/список
   (controls-view) и оформить компактно как .viewtoggle. */
body.ag-styleb .filter-panel__view.controls-linecount { display: none !important; }
body.ag-styleb .filter-panel__view.controls-view {
  display: inline-flex !important; align-items: center;
  background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-sm);
  padding: 3px; gap: 2px; margin-left: auto; float: none !important;
}
body.ag-styleb .filter-panel__view.controls-view .controls-view__link {
  width: 36px; height: 34px; border-radius: 7px; margin: 0;
  display: grid !important; place-items: center; color: var(--ink-3);
  background: none; box-shadow: none; transition: background .15s, color .15s;
}
body.ag-styleb .filter-panel__view.controls-view .controls-view__link:hover { color: var(--ink); }
body.ag-styleb .filter-panel__view.controls-view .controls-view__link svg,
body.ag-styleb .filter-panel__view.controls-view .controls-view__link .svg { width: 19px; height: 19px; }
/* активный вид — белая «таблетка» с тенью */
body.ag-styleb .filter-panel__view.controls-view .controls-view__link--current {
  background: var(--surface) !important; color: var(--accent) !important; box-shadow: var(--shadow-sm);
}

/* ---- 5. SEO-БЛОК ----
   Старый инлайн-серый .seo-text-block → карточка Style B (вместо инлайн #f7f8fa).
   Картинки внутри — в рамку растяжки. (.seo-wrap создаётся JS-агентом из home.css.) */
body.ag-styleb .seo-text-block {
  background: var(--surface) !important; border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important; padding: var(--s-28) !important;
  box-shadow: var(--shadow-sm); line-height: 1.6 !important; color: var(--ink-2);
  margin: var(--s-24) 0 !important;
}
body.ag-styleb .seo-text-block h2 { color: var(--ink); font-weight: 700; letter-spacing: -.02em; margin-top: 0 !important; }
body.ag-styleb .seo-text-block strong { color: var(--ink); font-weight: 700; }
body.ag-styleb .seo-text-block a { color: var(--accent); }
body.ag-styleb .seo-text-block img { max-width: 100% !important; height: auto !important; border-radius: var(--r-sm); }

/* ---- 6. ЗАГОЛОВОЧНЫЙ БЛОК ----
   Скрыть бейдж количества у h1 и иконку «поделиться» в зоне заголовка. h1 — типографика эталона. */
body.ag-styleb .top-block-wrapper .element-count-wrapper,
body.ag-styleb .topic .element-count-wrapper,
body.ag-styleb .element-count-wrapper { display: none !important; }
/* «поделиться» только в зоне заголовка каталога (.topic), не в карточке товара */
body.ag-styleb .top-block-wrapper .topic .share.hover-block,
body.ag-styleb .page-top .topic__inner > .share.hover-block { display: none !important; }
/* h1 — типографика эталона (.page-head h1) */
body.ag-styleb .topic__heading h1#pagetitle,
body.ag-styleb h1#pagetitle {
  font-size: clamp(26px, 3vw, 32px); font-weight: 700; letter-spacing: -.025em;
  line-height: 1.08; color: var(--ink);
}

/* ---- 7. Мелочи ---- */
body.ag-styleb .landings-list { display: none !important; }
/* sku-badge: одинарный ровный внутренний отступ «Арт.» + число */
body.ag-styleb .prod .sku-badge { gap: 6px; padding: 0 10px; }
body.ag-styleb .prod .sku-badge b { margin-left: 0; }

/* ---- МОБАЙЛ: показать сортировку (на узких была hidden-xs) ---- */
@media (max-width: 768px) {
  body.ag-styleb .filter-panel__sort.hidden-xs,
  body.ag-styleb .filter-panel__sort { display: block !important; }
  body.ag-styleb .filter-panel__sort .dropdown-select__title { width: 100%; }
  /* как в эталоне (pages.css .viewtoggle{display:none}) — на мобайле вид-тоггл прячем,
     оставляем только Фильтр + Сортировка */
  body.ag-styleb .filter-panel__view.controls-view { display: none !important; }
}

/* ============================================================
   ФИКС 2026-06-05: пустота под гридом — фильтр-сайдбар был сверх-высоким
   (CSS-скин снял лимит высоты списков Aspro; фасет «Совместимость» = 200+ брендов раскрыт).
   Ограничиваем высоту списка опций каждой группы со скроллом (как .fbody-scroll в дизайне),
   чтобы левая колонка не превышала контент и не резервировала пустоту до футера.
   ============================================================ */
body.ag-styleb .smartfilter .bx_filter_block {
  max-height: 232px; overflow-y: auto; overflow-x: hidden;
}
body.ag-styleb .smartfilter .bx_filter_block::-webkit-scrollbar { width: 6px; }
body.ag-styleb .smartfilter .bx_filter_block::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 3px; }
/* группа цены/коротких опций — без принудительного скролла если контент мал */
body.ag-styleb .smartfilter .bx_filter_parameters_box_container.numbers .bx_filter_block,
body.ag-styleb .smartfilter .bx_filter_block.price { max-height: none; overflow: visible; }
/* подстраховка: сайдбар не выше вьюпорта-якоря, лишнее скроллится */
body.ag-styleb .left_block.sticky-sidebar { max-height: none; }

/* ФИКС 2026-06-05: убрать дубль SEO — легаси-блок .seo-text-block инжектит старый
   local/js/redesign-2026.js (патч прошлого редизайна из общего head_custom). На Style B-шаблоне
   есть свой .seo-card (group_description_block), поэтому легаси-дубль скрываем (прод aspro_max не задет). */
body.ag-styleb .seo-text-block { display: none !important; }

/* легаси-переключатели вид/на-странице — в Style B только сетка (аудит 2026-06-12, listing-02) */
body.ag-styleb .filter-panel__view, body.ag-styleb .filter-panel__view.controls-view { display: none !important; }
