/* ═══════════════════════════════════════════════════════════════════════════
   CATALOG v1 (02.09.2026) — единый каталог: рубрики → товары → фильтры.
   Каталог товаров = каталог пулов (одна сущность, директива владельца).
   Язык дизайна: food.ru (чёрный + жёлтый #FFDE00) поверх shop.css.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── крошка «← Все рубрики» ─────────────────────────────────────────────── */
#cat-crumb{margin-bottom:6px}
#cat-crumb a{
  display:inline-flex;align-items:center;gap:7px;text-decoration:none;
  background:#fff;border:1px solid #E6E8EB;border-radius:999px;padding:7px 14px;
  font:600 13px 'Inter',system-ui,sans-serif;color:#141414;transition:.15s;
}
#cat-crumb a:hover{border-color:#141414;transform:translateX(-2px)}

/* ── состояние А: крупные карточки рубрик ───────────────────────────────── */
.cat-rub{
  display:flex;flex-direction:column;align-items:stretch;gap:10px;height:100%;padding:16px 18px;
  background:#fff;border:1.5px solid #E6E8EB;border-radius:16px;text-decoration:none;
  transition:transform .16s, box-shadow .16s, border-color .16s;
  animation:cat-in .3s ease backwards;
}
.cat-rub:hover{
  transform:translateY(-3px);border-color:#FFDE00;
  box-shadow:0 12px 28px rgba(20,20,20,.10);
}
.cat-rub__ic{
  flex:0 0 auto;width:58px;height:58px;display:grid;place-items:center;
  font-size:28px;background:#F7F7F4;border-radius:14px;transition:.16s;
}
.cat-rub:hover .cat-rub__ic{background:#FFDE00}
.cat-rub__b{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.cat-rub__b b{font:700 16.5px/1.25 'Satoshi','Inter',sans-serif;color:#141414}
.cat-rub__b i{
  font:500 12.5px 'Inter',sans-serif;font-style:normal;color:#8C9296;
}
.cat-rub__p{
  flex:0 0 auto;display:flex;align-items:center;gap:10px;
  font:800 15px 'Inter',sans-serif;color:#141414;white-space:nowrap;
}
.cat-rub__p em{
  font-style:normal;display:grid;place-items:center;width:28px;height:28px;
  background:#FFDE00;border-radius:999px;font-weight:800;font-size:14px;
  transition:transform .16s;
}
.cat-rub:hover .cat-rub__p em{transform:translateX(3px)}
/* рубрики крупной сеткой */
#catalog-grid.cat-rubrics{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,265px),1fr));grid-auto-rows:1fr}
#catalog-grid.cat-rubrics .pool-cell{display:contents}
/* мини-версия для холста layout-edit */
.cat-panel{display:flex;flex-direction:column;gap:10px}
.cat-panel__h{font:700 13px 'Inter';color:#8C9296;text-transform:uppercase;letter-spacing:.4px}
.cat-rub--mini{min-height:0;padding:12px 14px;gap:12px;animation:none}
.cat-rub--mini .cat-rub__ic{width:42px;height:42px;font-size:20px;border-radius:11px}
.cat-rub--mini .cat-rub__b b{font-size:14px}
.cat-rub--mini .cat-rub__p{font-size:13px}
/* t44: старт-группа — золотая плитка (главный опт достижим) */
.cat-rub--start{border-color:#F0C000;background:linear-gradient(180deg,#FFFBEA,#FFF6D6)}
.cat-rub--start:hover{border-color:#F5C518;box-shadow:0 12px 28px rgba(245,197,24,.22)}
.cat-rub--start .cat-rub__ic{background:linear-gradient(135deg,#FFDE00,#F5C518)}
.cat-rub--start .cat-rub__m u{background:#FFF7DC;color:#6B4E00}
.cat-rub--start .cat-rub__p em{background:#241F20;color:#FFDE00}
.cat-rub--mini.cat-rub--start .cat-rub__b b{color:#6B4E00}

/* ── состояние Б: фильтры над товарами ──────────────────────────────────── */
.cat-f{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;
  background:#fff;border:1.5px solid #E6E8EB;border-radius:14px;
  padding:12px 16px;margin:10px 0 18px;
  animation:cat-in .25s ease backwards;
}
.cat-f__h{
  font:800 11px 'Inter';letter-spacing:.6px;text-transform:uppercase;color:#8C9296;
  padding-right:6px;border-right:1px solid #E6E8EB;
}
.cat-f__grp{display:inline-flex;gap:7px;flex-wrap:wrap}
.cat-f__chip,.cat-f__sort{
  border:1.5px solid #E6E8EB;background:#fff;color:#141414;cursor:pointer;
  border-radius:999px;padding:7px 13px;font:600 12.5px 'Inter',sans-serif;transition:.13s;
}
.cat-f__chip:hover,.cat-f__sort:hover{border-color:#141414}
.cat-f__chip.on{background:#FFDE00;border-color:#FFDE00;font-weight:700}
.cat-f__sort{color:#8C9296}
.cat-f__sort.on{border-color:#141414;color:#141414;background:#141414;color:#FFDE00}
.cat-f__grp--sort{margin-left:auto}
.cat-f__reset{
  border:0;background:transparent;cursor:pointer;color:#E5484D;
  font:600 12.5px 'Inter',sans-serif;text-decoration:underline;text-underline-offset:3px;
}
.cat-f__reset:hover{color:#c22f34}

/* ── появление карточек товаров (стэггер) ───────────────────────────────── */
.cat-goods-cell{animation:cat-in .3s ease backwards}
@keyframes cat-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ── скелетоны на время AJAX-подгрузки ──────────────────────────────────── */
.cat-skel{
  height:190px;border-radius:16px;
  background:linear-gradient(100deg,#F1F2F4 40%,#FAFAF8 50%,#F1F2F4 60%);
  background-size:200% 100%;animation:cat-shimmer 1.1s linear infinite;
}
.cat-skel--bar{height:52px;border-radius:14px;margin:10px 0 18px}
@keyframes cat-shimmer{to{background-position:-200% 0}}

/* ── пустой результат ───────────────────────────────────────────────────── */
.cat-empty{
  grid-column:1/-1;padding:44px 20px;text-align:center;border:1.5px dashed #E6E8EB;
  border-radius:16px;font:500 14.5px 'Inter',sans-serif;color:#5B6066;
}
.cat-empty__r{border:0;background:transparent;cursor:pointer;color:#141414;font:700 14.5px 'Inter';text-decoration:underline;text-underline-offset:3px}

/* ── адаптив ────────────────────────────────────────────────────────────── */
@media (max-width:900px){
  #catalog-grid.cat-rubrics{grid-template-columns:1fr}
  .cat-rub{min-height:0;padding:14px 16px;gap:12px}
  .cat-rub__ic{width:46px;height:46px;font-size:22px}
  .cat-f__grp--sort{margin-left:0}
}

/* ================= v25: подкатегории и фото товаров ================= */
/* фото в иконке подкатегории (карточка-подкатегория) */
.cat-rub__ic img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block}
/* фото в карточках товаров (виджеты w-product-card / w-pool-card) */
.wg-prc-img{overflow:hidden}
.wg-pc-img{overflow:hidden}
.wg-prc-img img,.wg-pc-img img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block;transition:transform .25s ease}
.cat-rub:hover .cat-rub__ic img,.pool-cell:hover .wg-prc-img img,.pool-cell:hover .wg-pc-img img{transform:scale(1.04)}
/* фото в галерее карточки товара */
.pd-img{overflow:hidden}
.pd-img img{width:100%;height:100%;object-fit:cover;border-radius:19px;display:block}
.pd-thumbs i{overflow:hidden}
.pd-thumbs i img{width:100%;height:100%;object-fit:cover;border-radius:9px;display:block}
/* v25-фикс: длинная строка счётчика «Найдено: …» не должна рвать мобайл */
@media (max-width:900px){
  .sec-h{flex-wrap:wrap}
  .sec-h .sec-link{flex-basis:100%;width:100%;white-space:normal;text-align:left;margin-top:4px}
}

/* ================= v30 (02.09, вечер-3): каталог на главной =================
   Виджет «Каталог товаров» в состоянии «только что зарегистрировался» —
   тот же единый каталог (рубрики → подкатегории → товары с фото и
   фильтрами); старый виджет acc-catalog.json удалён. */
/* универсальная сетка рубрик/подкатегорий (страница + виджет на главной) */
.cat-rubrics{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,265px),1fr));grid-auto-rows:1fr}
.cat-rubrics .pool-cell{display:contents}
/* встроенный виджет: крошки, счётчик, отступы */
.acc-catw-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:600 13px 'Inter',system-ui,sans-serif;color:#8C9296}
.acc-catw-top a{
  display:inline-flex;align-items:center;gap:6px;text-decoration:none;
  background:#fff;border:1px solid #E6E8EB;border-radius:999px;padding:6px 12px;
  font:600 12.5px 'Inter',sans-serif;color:#141414;transition:.15s;
}
.acc-catw-top a:hover{border-color:#141414;transform:translateX(-2px)}
.acc-catw-top span{font-weight:700;color:#141414}
.acc-catw-filters[hidden]{display:none}
.acc-catw-filters .cat-f{margin:0}
.acc-catw-count{font:500 12.5px 'Inter',sans-serif;color:#8C9296}
.acc-catw .cat-rub{min-height:0;padding:14px 16px;gap:12px}
.acc-catw .cat-rub__ic{width:46px;height:46px;font-size:22px;border-radius:12px}
.acc-catw .cat-rub__b b{font-size:14.5px}
.acc-catw .cat-rub__p{font-size:13.5px}
/* фото в иконках подкатегорий (страница и виджет) */
.cat-rub__ic img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
@media (max-width:900px){
  .cat-rubrics{grid-template-columns:1fr}
  .acc-catw .cat-rub{padding:12px 14px}
}

/* ── v5: метрики рубрики — «чем больше плитка, тем больше информации» ── */
.cat-rub__top{display:flex;align-items:center;gap:14px}
.cat-rub__m{display:flex;flex-direction:column;gap:5px;flex:1;justify-content:center}
.cat-rub__m u{
  font:600 12px/1.35 'Inter',sans-serif;font-style:normal;text-decoration:none;
  color:#666263;display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.cat-rub__m u b{font-weight:800;color:#141414;font-variant-numeric:tabular-nums}
.cat-rub__p{margin-top:auto}
/* v6: метрики рубрики — всегда видны (CR-модуль снят, база = плотности 3);
     r4 (ближайшее закрытие) — только на крупных плитках */
.cat-rub__m{display:flex}
.cat-rub__m u.r4{display:none}
@media(min-width:1200px){.cat-rub__m u.r4{display:flex}}
.cat-rub__ic{border-radius:14px}
/* тёмная тема плиток */
[data-bs-theme="dark"] .cat-rub,[data-theme="dark"] .cat-rub{background:#162231;border-color:#22334A}
[data-bs-theme="dark"] .cat-rub__b b,[data-theme="dark"] .cat-rub__b b{color:#EDF1F7}
[data-bs-theme="dark"] .cat-rub__m u,[data-theme="dark"] .cat-rub__m u{color:#93A4BC}
[data-bs-theme="dark"] .cat-rub__m u b,[data-theme="dark"] .cat-rub__m u b{color:#EDF1F7}
[data-bs-theme="dark"] .cat-rub__p,[data-theme="dark"] .cat-rub__p{color:#EDF1F7}
@media(max-width:920px){
  #catalog-grid.cat-rubrics,.cat-rubrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  #catalog-grid.cat-rubrics,.cat-rubrics{grid-template-columns:1fr}
}


/* ═══════════════════════════════════════════════════════════════════════════
   v8 · t52 (11.09.2026) — SEO-СЛОЙ КАТАЛОГА
   .cat-seo — текстовый блок внизу каталога (JS-слой assets/seo.js подменяет
   содержимое под текущую рубрику; в статике — обзорный текст + все ссылки
   рубрик для индексации). h1#cat-title — SEO-канон заголовка страницы.
   ═══════════════════════════════════════════════════════════════════════ */

/* H1 страницы каталога — визуально равен прежнему h2 (.sec-h h2 в shop.css) */
h1#cat-title{margin:0;font-size:22px;font-weight:900;letter-spacing:-.01em}
@media(max-width:640px){h1#cat-title{font-size:19px}}

/* SEO-блок: карточка в стиле каталога (белая, тёплые рамки, Inter) */
.cat-seo{
  background:#fff;border:1.5px solid #E6E8EB;border-radius:16px;
  padding:24px 26px;margin-top:8px;
  animation:cat-in .3s ease backwards;
}
.cat-seo h2{
  margin:0 0 12px;font:900 22px/1.2 'Inter',sans-serif;color:#141414;
  letter-spacing:-.01em;
}
.cat-seo h3{
  margin:18px 0 8px;font:800 15px/1.3 'Inter',sans-serif;color:#141414;
}
.cat-seo p{
  margin:0 0 10px;font:500 14px/1.7 'Inter',sans-serif;color:#4B4F52;
}
.cat-seo p b{font-weight:800;color:#141414}
.cat-seo p:last-child{margin-bottom:0}

/* перелинковка «смотрите также» — компактные пилюли-ссылки */
.cat-seo__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px !important}
.cat-seo__links a{
  display:inline-block;text-decoration:none;
  background:#F7F7F4;border:1px solid #E6E8EB;border-radius:999px;
  padding:6px 13px;font:600 13px 'Inter',sans-serif;color:#141414;
  transition:.15s;
}
.cat-seo__links a:hover{border-color:#141414;background:#FFDE00}

/* статическая колонка рубрик (уровень «все рубрики», индексация без JS) */
.cat-seo__cols{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:16px 20px;margin-top:16px;
}
.cat-seo__cols h3{margin:0 0 7px;font:800 14.5px/1.3 'Inter',sans-serif}
.cat-seo__cols h3 a{color:#141414;text-decoration:none}
.cat-seo__cols h3 a:hover{color:#7C6318}
.cat-seo__cols > div > a{
  display:block;padding:2.5px 0;font:500 13px/1.45 'Inter',sans-serif;
  color:#666263;text-decoration:none;
}
.cat-seo__cols > div > a:hover{color:#141414;text-decoration:underline}

/* тёмная тема (симметрия остальным блокам каталога) */
[data-bs-theme="dark"] .cat-seo,[data-theme="dark"] .cat-seo{background:#162231;border-color:#22334A}
[data-bs-theme="dark"] .cat-seo h2,[data-theme="dark"] .cat-seo h2{color:#EDF1F7}
[data-bs-theme="dark"] .cat-seo h3,[data-theme="dark"] .cat-seo h3{color:#EDF1F7}
[data-bs-theme="dark"] .cat-seo p,[data-theme="dark"] .cat-seo p{color:#B9C2D0}
[data-bs-theme="dark"] .cat-seo p b,[data-theme="dark"] .cat-seo p b{color:#EDF1F7}
[data-bs-theme="dark"] .cat-seo__links a,[data-theme="dark"] .cat-seo__links a{background:#1B2A3D;border-color:#22334A;color:#EDF1F7}
[data-bs-theme="dark"] .cat-seo__cols h3 a,[data-theme="dark"] .cat-seo__cols h3 a{color:#EDF1F7}
[data-bs-theme="dark"] .cat-seo__cols > div > a,[data-theme="dark"] .cat-seo__cols > div > a{color:#93A4BC}

@media(max-width:920px){
  .cat-seo{padding:18px 16px}
  .cat-seo__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .cat-seo{padding:16px 14px}
  .cat-seo h2{font-size:19px}
  .cat-seo__cols{grid-template-columns:1fr}
}


/* ═════════════════════════════════════════════════════════════════════
   t63/B8: подписка на новинки ниши (assets/nl.js, #nl-mount)
   ═════════════════════════════════════════════════════════════════════ */
.nl-card{display:flex;gap:14px;align-items:flex-start;background:#fff;
  border:1.5px solid #E6E8EB;border-radius:16px;padding:18px 20px;margin-top:8px}
.nl-emoji{font-size:26px;line-height:1;flex:0 0 auto;margin-top:2px}
.nl-title{font:800 16px/1.3 'Inter',sans-serif;color:#141414}
.nl-sub{font:500 13px/1.6 'Inter',sans-serif;color:#6F6B68;margin-top:4px}
.nl-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.nl-email{flex:1 1 220px;padding:11px 13px;border:1.5px solid #E6E8EB;
  border-radius:10px;font:500 14px 'Inter',sans-serif;background:#fff;color:#141414}
.nl-email:focus{outline:none;border-color:#141414}
.nl-hp{position:absolute;left:-5000px;top:auto;opacity:0;height:1px;width:1px;overflow:hidden}
.nl-btn{padding:11px 18px;background:#241F20;color:#FFDE00;border:0;border-radius:10px;
  font:bold 14px 'Inter',sans-serif;cursor:pointer;transition:.15s}
.nl-btn:hover{background:#000}
.nl-btn:disabled{opacity:.6;cursor:default}
.nl-ok{font:600 13px/1.6 'Inter',sans-serif;color:#0B7A3B;background:#EAF7EF;
  border:1px solid #CBE9D6;border-radius:10px;padding:10px 13px;margin-top:10px}
.nl-err{font:600 13px/1.6 'Inter',sans-serif;color:#B3261E;background:#FBEDEB;
  border:1px solid #F3CDC8;border-radius:10px;padding:10px 13px;margin-top:10px}
@media(max-width:640px){.nl-card{padding:14px 15px;gap:10px}.nl-emoji{font-size:22px}
  .nl-form{flex-direction:column}.nl-email{flex:1 1 auto}}
