/* ============================================================
   ART-GSM 2026 — .prod rebuild листинга (v7).
   template.php теперь отдаёт <article class="inner_wrap prod"> со слотами
   .prod-media / .prod-body / .prod-qrow / .prod-name / .prod-specs / .prod-foot,
   переиспользуя готовые фрагменты Aspro (цены .cost.prices, кнопка .to-cart,
   наличие .item-stock, артикул, рейтинг .rating). Цель — 1:1 как .prod на главной.
   Всё под body.ag-styleb. PHP/логика/AJAX-корзина целы.
   ============================================================ */

/* ---- Карточка .prod (родной .inner_wrap получил класс prod) ---- */
body.ag-styleb .catalog_block .item .inner_wrap.prod {
  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;
  padding: 0;
  height: 100%;
  transition: transform .18s ease, box-shadow .22s ease, border-color .2s ease;
}
body.ag-styleb .catalog_block .item:hover .inner_wrap.prod {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--line-2);
}
/* воздух между карточками */
body.ag-styleb .catalog_block .item .catalog_item_wrapp.catalog_item { padding: 6px !important; }

/* ---- .prod-media: фото-зона ---- */
body.ag-styleb .prod .image_wrapper_block.prod-media {
  position: relative; display: block;
  aspect-ratio: 1 / 1; width: 100%;
  background: var(--photo-bg, #f4f6f9);
  overflow: hidden;
  margin: 0; padding: 0; border: 0;
}
/* кликабельный оверлей на всё фото (ведёт на товар) */
body.ag-styleb .prod .prod-media-link {
  position: absolute; inset: 0; z-index: 3; display: block;
}
/* картинка Aspro внутри (lazy-разметка сохранена) */
body.ag-styleb .prod .image_wrapper_block.prod-media .image,
body.ag-styleb .prod .image_wrapper_block.prod-media a.thumb,
body.ag-styleb .prod .image_wrapper_block.prod-media .thumb {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%; margin: 0;
}
body.ag-styleb .prod .image_wrapper_block.prod-media img {
  position: absolute; inset: 14px; width: calc(100% - 28px); height: calc(100% - 28px);
  object-fit: contain; mix-blend-mode: multiply;
}

/* стикеры/метки сверху-слева */
body.ag-styleb .prod .image_wrapper_block.prod-media .stickers,
body.ag-styleb .prod .image_wrapper_block.prod-media .labels {
  position: absolute; top: 8px; left: 8px; z-index: 4;
}

/* избранное/сравнение (showDelayCompareBtn) → как .prod-fav поверх медиа */
body.ag-styleb .prod .image_wrapper_block.prod-media .like_icons,
body.ag-styleb .prod .image_wrapper_block.prod-media .wish_button_block,
body.ag-styleb .prod .image_wrapper_block.prod-media .compare_button_block {
  position: absolute; top: 8px; right: 8px; z-index: 5; margin: 0;
}
body.ag-styleb .prod .image_wrapper_block.prod-media .wish_button_block { right: 8px; }
body.ag-styleb .prod .image_wrapper_block.prod-media .compare_button_block { right: 46px; }
body.ag-styleb .prod .image_wrapper_block.prod-media .wish_button_block .wish,
body.ag-styleb .prod .image_wrapper_block.prod-media .compare_button_block .compare,
body.ag-styleb .prod .image_wrapper_block.prod-media .like_icons > * {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--surface); box-shadow: var(--shadow-sm);
  display: grid; place-items: center; color: var(--ink-3);
}
body.ag-styleb .prod .image_wrapper_block.prod-media .wish_button_block .wish.active,
body.ag-styleb .prod .image_wrapper_block.prod-media .wish_button_block .wish:hover { color: #ef4444; }
/* быстрый просмотр в листинге не нужен — скрыть, чтобы не спорил с .prod */
body.ag-styleb .prod .image_wrapper_block.prod-media .fast_view_button { display: none; }

/* ---- .prod-body ---- */
body.ag-styleb .prod .item_info.prod-body {
  display: flex; flex-direction: column; gap: 9px;
  padding: 13px; flex: 1; margin: 0;
}

/* строка качество+наличие */
body.ag-styleb .prod .prod-qrow { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; min-height: 22px; }
body.ag-styleb .prod .prod-qrow .sa_block { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
/* артикул-дубль внутри sa_block прячем (артикул вынесен в .prod-specs) */
body.ag-styleb .prod .prod-qrow .article_block { display: none !important; }
/* наличие — мягкий бейдж как .av (stock-badges.css даёт цвет .item-stock) */
body.ag-styleb .prod .prod-qrow .item-stock {
  display: inline-flex; align-items: center; gap: 6px;
  height: 22px; padding: 0 9px; border-radius: var(--r-pill);
  font-size: 11px; font-weight: 700; white-space: nowrap;
}
body.ag-styleb .prod .prod-qrow .item-stock .value { font-size: 11px; font-weight: 700; }

/* название */
body.ag-styleb .prod .prod-name { margin: 0; }
body.ag-styleb .prod .prod-name .item-title { margin: 0; }
body.ag-styleb .prod .prod-name .item-title a {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
  color: var(--ink); font-weight: 600; font-size: 14px; line-height: 1.3;
  letter-spacing: -.01em; min-height: 36px;
}
body.ag-styleb .prod .prod-name .item-title a:hover { color: var(--accent); }
body.ag-styleb .prod .prod-name .item-title a span { display: inline; }

/* подзаголовок (если есть) — компактно, серым */
body.ag-styleb .prod .preview_text { margin: 0; font-size: 12px; color: var(--ink-3);
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }

/* специфика: артикул + рейтинг */
body.ag-styleb .prod .prod-specs { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; min-height: 22px; }
body.ag-styleb .prod .prod-specs .sku-badge svg { fill: currentColor; }
body.ag-styleb .prod .prod-specs .rating { display: inline-flex; align-items: center; }
body.ag-styleb .prod .prod-specs .votes_block.nstar { display: inline-flex; align-items: center; gap: 3px; }
body.ag-styleb .prod .prod-specs .inner_rating { display: inline-flex; gap: 1px; }
body.ag-styleb .prod .prod-specs .item-rating { width: 13px; height: 13px; }
body.ag-styleb .prod .prod-specs .item-rating svg { width: 13px; height: 13px; }
/* компонент рейтинга bitrix:iblock.vote — поджать */
body.ag-styleb .prod .prod-specs .rating-block,
body.ag-styleb .prod .prod-specs .vote_result { font-size: 12px; color: var(--ink-3); }

/* ---- .prod-foot: цены + кнопка ---- */
body.ag-styleb .prod .prod-foot {
  margin-top: auto; display: flex; align-items: flex-end; justify-content: space-between;
  gap: 10px; min-width: 0;
}
body.ag-styleb .prod .prod-foot .prod-price-wrap { min-width: 0; flex: 1; }

/* цены: розница крупно сверху, опт мельче снизу — из .cost.prices */
body.ag-styleb .prod .cost.prices { display: flex; flex-direction: column; gap: 1px; margin: 0; }
body.ag-styleb .prod .cost.prices .price_group { display: flex; align-items: baseline; gap: 5px; flex-wrap: wrap; }
body.ag-styleb .prod .cost.prices .price_group.min { order: -1; }                       /* розница первой */
body.ag-styleb .prod .cost.prices .price_name,
body.ag-styleb .prod .cost.prices .price_measure { display: none !important; }            /* подписи/«/шт» убрать */
body.ag-styleb .prod .cost.prices .price_matrix_wrapper,
body.ag-styleb .prod .cost.prices .price,
body.ag-styleb .prod .cost.prices .values_wrapper { display: inline; }
body.ag-styleb .prod .cost.prices .price { font-family: var(--mono); }
/* розница — крупно */
body.ag-styleb .prod .cost.prices .price_group.min .price_value { font-weight: 800; font-size: 19px; color: var(--ink); letter-spacing: -.02em; }
body.ag-styleb .prod .cost.prices .price_group.min .price_currency { font-size: 14px; color: var(--ink-2); }
body.ag-styleb .prod .cost.prices .price_group.min::after { content: "розн."; font-family: var(--font); font-size: 10px; font-weight: 700; color: var(--ink-3); text-transform: uppercase; letter-spacing: .05em; }
/* опт — мельче, синим, с подписью «опт» */
body.ag-styleb .prod .cost.prices .price_group:not(.min) .price_value { font-weight: 600; font-size: 12px; color: var(--accent); }
body.ag-styleb .prod .cost.prices .price_group:not(.min) .price_currency { font-size: 11px; color: var(--accent); }
body.ag-styleb .prod .cost.prices .price_group:not(.min)::before { content: "опт"; order: -1; font-family: var(--mono); font-size: 12px; font-weight: 600; color: var(--accent); }
/* бонусы под ценой — скрыть в листинге для чистоты */
body.ag-styleb .prod .cost.prices ~ .bonus_block,
body.ag-styleb .prod .prod-price-wrap .bonus_block { display: none; }

/* кнопка «в корзину» — компактный квадрат-иконка (.to-cart родная, AJAX цел) */
body.ag-styleb .prod .footer_button { margin: 0; flex: none; width: auto; }
body.ag-styleb .prod .footer_button .counter_wrapp { display: flex; margin: 0; padding: 0; border: 0; background: none; }
/* счётчик +/- в листинге скрываем (как на главной — только кнопка) */
body.ag-styleb .prod .footer_button .counter_block { display: none !important; }
body.ag-styleb .prod .footer_button .button_block { margin: 0; padding: 0; }
body.ag-styleb .prod .footer_button .to-cart.btn,
body.ag-styleb .prod .footer_button a.btn.basket {
  width: 44px; height: 44px; min-width: 44px; padding: 0;
  border-radius: var(--r-sm); background: var(--accent); color: #fff; border: 0;
  display: grid; place-items: center; box-shadow: var(--shadow-sm);
  font-size: 0; line-height: 0;
  transition: background .15s, transform .15s;
}
body.ag-styleb .prod .footer_button .to-cart.btn:hover,
body.ag-styleb .prod .footer_button a.btn.basket:hover { background: var(--blue-deep); transform: translateY(-2px); }
body.ag-styleb .prod .footer_button .to-cart.btn .svg svg,
body.ag-styleb .prod .footer_button .to-cart.btn svg { width: 21px; height: 21px; }
body.ag-styleb .prod .footer_button .to-cart.btn .svg svg path { fill: #fff; }
/* текст-«В наличии/Купить» внутри кнопки прячем — оставляем иконку */
body.ag-styleb .prod .footer_button .to-cart.btn > span:not(.svg):not(.svg-inline-fw),
body.ag-styleb .prod .footer_button .to-cart.btn .cart_text { display: none; }
/* «Подробнее»/«Заказать» (нет в наличии) — оставить как текстовую узкую кнопку */
body.ag-styleb .prod .footer_button a.btn.read_more,
body.ag-styleb .prod .footer_button a.btn-transparent-border-color {
  width: auto; min-width: 44px; height: 40px; padding: 0 12px;
  border-radius: var(--r-sm); font-size: 12px; font-weight: 700; font-family: var(--font);
  display: inline-flex; align-items: center;
}
/* sku-селектор офферов (если есть) — на всю ширину под foot */
body.ag-styleb .prod .footer_button .sku_props { flex-basis: 100%; }

/* ============================================================
   ART-GSM 2026 — Style B reskin листинга (v2 — аккуратный, additive).
   НЕ трогаем раскладку/картинку/сетку Aspro (они работают) — только оформление.
   Всё под body.ag-styleb .catalog_item. PHP/логика целы.
   ============================================================ */

/* Карта товара — белая Style B карточка */
body.ag-styleb .catalog_item .inner_wrap {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-shadow: var(--shadow-sm);
  padding: 12px;
  transition: transform .18s ease, box-shadow .22s ease, border-color .2s ease;
}
body.ag-styleb .catalog_item:hover .inner_wrap {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--line-2);
}
/* воздух между карточками */
body.ag-styleb .catalog_item_wrapp { padding: 8px !important; }

/* Заголовок */
body.ag-styleb .catalog_item .item-title a { color: var(--ink); font-weight: 600; }
body.ag-styleb .catalog_item .item-title a:hover { color: var(--accent); }

/* Наличие — мягкий зелёный бейдж */
body.ag-styleb .catalog_item .item-stock {
  border-radius: var(--r-pill);
}

/* Артикул — синий моно */
body.ag-styleb .catalog_item .article_block .muted {
  font-family: var(--mono); color: var(--accent); font-weight: 600;
}

/* Цены — компактный Style B: розница крупно + опт мельче, без многословных подписей и «/шт» */
body.ag-styleb .catalog_item .cost.prices { display: flex; flex-direction: column; gap: 2px; margin-top: auto; }
body.ag-styleb .catalog_item .price_group { display: flex; align-items: baseline; gap: 5px; }
body.ag-styleb .catalog_item .price_group.min { order: -1; }                 /* розница первой */
body.ag-styleb .catalog_item .price_name,
body.ag-styleb .catalog_item .price_measure { display: none !important; }     /* «Розничная цена», «/шт» — убрать */
body.ag-styleb .catalog_item .price_matrix_wrapper,
body.ag-styleb .catalog_item .price,
body.ag-styleb .catalog_item .values_wrapper { display: inline; }
body.ag-styleb .catalog_item .price { font-family: var(--mono); }
/* розница — крупно */
body.ag-styleb .catalog_item .price_group.min .price_value { font-weight: 800; font-size: 20px; color: var(--ink); }
body.ag-styleb .catalog_item .price_group.min .price_currency { font-size: 14px; color: var(--ink-2); }
body.ag-styleb .catalog_item .price_group.min::after { content: "розн."; font-size: 11px; font-weight: 600; color: var(--ink-3); }
/* опт — мельче, с подписью «опт» */
body.ag-styleb .catalog_item .price_group:not(.min) .price_value { font-weight: 600; font-size: 13px; color: var(--ink-3); }
body.ag-styleb .catalog_item .price_group:not(.min) .price_currency { font-size: 11px; color: var(--ink-3); }
body.ag-styleb .catalog_item .price_group:not(.min)::before { content: "опт"; order: -1; font-size: 11px; font-weight: 600; color: var(--ink-3); }

/* Рейтинг — компактнее */
body.ag-styleb .catalog_item .item-rating.filed svg,
body.ag-styleb .catalog_item .item-rating.filed { width: 13px; height: 13px; }
body.ag-styleb .catalog_item .votes_block { gap: 4px; }

/* Кнопка «В корзину» — Style B радиус/тень (цвет уже синий) */
body.ag-styleb .catalog_item .to-cart.btn {
  border-radius: var(--r-md);
  box-shadow: var(--shadow-sm);
  font-family: var(--font); font-weight: 700;
}

/* ============================================================
   Сайдбар: фильтр + тулбар (Style B)
   ============================================================ */

/* Блок подписки в сайдбаре — лишний (подписка есть в подвале) */
body.ag-styleb .left_block .side-block { display: none !important; }

/* Секции фильтра — Style B карточки */
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);
  padding: 12px 14px;
  margin-bottom: 10px;
}
body.ag-styleb .smartfilter .bx-filter-title,
body.ag-styleb .smartfilter .filter_title {
  font-family: var(--font); font-weight: 700; font-size: 14px; color: var(--ink);
  letter-spacing: -.01em;
}
body.ag-styleb .smartfilter .bx-filter-param-label { color: var(--ink-2); }
body.ag-styleb .smartfilter .bx-filter-param-text { color: var(--ink-2); font-size: 13px; }
body.ag-styleb .smartfilter .bx-filter-count,
body.ag-styleb .smartfilter .bx-filter-param-text + * { color: var(--ink-3); }

/* Кнопки фильтра «Показать/Сбросить» */
body.ag-styleb .smartfilter .bx-filter-button-box .btn,
body.ag-styleb .smartfilter input[type=submit] {
  border-radius: var(--r-md); font-family: var(--font); font-weight: 700;
}

/* Заголовки боковых блоков (Каталог/Фильтр) */
body.ag-styleb .left_block .title-block,
body.ag-styleb .left_block .heading {
  font-family: var(--font); font-weight: 700; color: var(--ink);
}

/* ============================================================
   Карточка товара (PDP) — buy box цены (.prices_block)
   ============================================================ */
body.ag-styleb .prices_block { display: flex; flex-direction: column; gap: 6px; }
body.ag-styleb .prices_block .price_group { display: flex; align-items: baseline; gap: 10px; }
body.ag-styleb .prices_block .price_group.min { order: -1; }                  /* розница вперёд */
body.ag-styleb .prices_block .price_measure { display: none !important; }     /* «/шт» убрать */
body.ag-styleb .prices_block .price_name {
  font-size: 11px; text-transform: uppercase; letter-spacing: .04em;
  color: var(--ink-3); font-weight: 600; min-width: 96px; margin: 0;
}
body.ag-styleb .prices_block .price_matrix_wrapper,
body.ag-styleb .prices_block .price,
body.ag-styleb .prices_block .values_wrapper { display: inline; }
body.ag-styleb .prices_block .price { font-family: var(--mono); }
/* розница — крупно */
body.ag-styleb .prices_block .price_group.min .price_value { font-weight: 800; font-size: 30px; color: var(--ink); }
body.ag-styleb .prices_block .price_group.min .price_currency { font-size: 18px; color: var(--ink-2); }
/* опт — мельче */
body.ag-styleb .prices_block .price_group:not(.min) .price_value { font-weight: 700; font-size: 19px; color: var(--ink-2); }
body.ag-styleb .prices_block .price_group:not(.min) .price_currency { font-size: 13px; color: var(--ink-3); }

/* Тулбар (сортировка + вид) */
body.ag-styleb .filter-panel.sort_header {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-sm);
  padding: 8px 14px;
  margin-bottom: 16px;
}
body.ag-styleb .filter-panel.sort_header a,
body.ag-styleb .filter-panel.sort_header .current { font-family: var(--font); }

/* ============================================================
   Листинг: крошки, пагинация, SEO-текст внизу (полный Style B)
   ============================================================ */

/* Крошки */
body.ag-styleb .breadcrumbs { font-family: var(--font); margin: 6px 0 14px; }
body.ag-styleb .breadcrumbs__item-name,
body.ag-styleb .breadcrumbs__link { color: var(--ink-3); font-size: 13px; }
body.ag-styleb .breadcrumbs__link:hover { color: var(--accent); }
body.ag-styleb .breadcrumbs__separator { color: var(--ink-4); }

/* Пагинация */
body.ag-styleb .module-pagination .nums { display: inline-flex; gap: 6px; align-items: center; flex-wrap: wrap; }
body.ag-styleb .module-pagination .nums a,
body.ag-styleb .module-pagination .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(--font); font-weight: 600; font-size: 14px; color: var(--ink-2);
  transition: background .15s, color .15s, border-color .15s;
}
body.ag-styleb .module-pagination .nums a:hover { border-color: var(--accent); color: var(--accent); }
body.ag-styleb .module-pagination .nums .current {
  background: var(--accent) !important; color: #fff !important; border-color: var(--accent) !important;
}

/* SEO-текст внизу листинга/каталога — чистый Style B блок */
body.ag-styleb .seo-text-block {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
  padding: 28px 32px;
  margin-top: 28px;
  font-family: var(--font);
  color: var(--ink-2);
  line-height: 1.65;
  font-size: 15px;
}
body.ag-styleb .seo-text-block h1,
body.ag-styleb .seo-text-block h2 {
  font-family: var(--font); font-weight: 700; color: var(--ink);
  font-size: 23px; line-height: 1.2; letter-spacing: -.02em; margin: 0 0 14px;
}
body.ag-styleb .seo-text-block h3,
body.ag-styleb .seo-text-block h4 {
  font-family: var(--font); font-weight: 600; color: var(--ink);
  font-size: 17px; margin: 24px 0 8px;
}
body.ag-styleb .seo-text-block p { margin: 0 0 12px; color: var(--ink-2); }
body.ag-styleb .seo-text-block ul,
body.ag-styleb .seo-text-block ol { margin: 0 0 14px; padding-left: 20px; }
body.ag-styleb .seo-text-block li { margin: 5px 0; }
body.ag-styleb .seo-text-block a { color: var(--accent); }
body.ag-styleb .seo-text-block img {
  border-radius: var(--r-md); margin: 14px 0; max-width: 100%; height: auto;
  box-shadow: var(--shadow-sm);
}
body.ag-styleb .seo-text-block table { width: 100%; border-collapse: collapse; margin: 14px 0; }
body.ag-styleb .seo-text-block th,
body.ag-styleb .seo-text-block td { border: 1px solid var(--line); padding: 8px 12px; text-align: left; }
body.ag-styleb .seo-text-block th { background: var(--surface-2); font-weight: 600; color: var(--ink); }
