/* SEO-разделы витрины: «Исследования», «Анализы», словарь терминов.
 *
 * Отдельным файлом, как cabinet.css: правила нужны только этим страницам,
 * и главной их качать незачем. Подключает `ui/seo.ts` через `styles`.
 * Инлайновых стилей нет — `style-src 'self'` без `unsafe-inline`. */

.seo{padding-block:var(--space-6) var(--space-9);max-width:1040px}

/* ═══ КРОШКИ ═══ */
.crumbs__list{display:flex;flex-wrap:wrap;gap:4px 0;list-style:none;margin:0;padding:0;
  font-size:14px;color:var(--text-3)}
.crumbs__item{display:flex;align-items:center;min-width:0}
.crumbs__item+.crumbs__item::before{content:"/";margin-inline:8px;color:var(--line-strong)}
.crumbs__item a{color:var(--text-2)}
.crumbs__item [aria-current]{color:var(--text-3);overflow-wrap:anywhere}

/* ═══ ЗАГОЛОВОК ═══ */
.seo-head{margin-top:var(--space-5);max-width:var(--measure,72ch)}
.seo-head__title{overflow-wrap:break-word}
.seo-head__lead{margin-top:var(--space-4)}

/* ═══ КОНВЕРСИЯ ═══ */
.seo-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);
  margin-top:var(--space-6);padding:var(--space-5) var(--space-6);border-radius:var(--r-l);
  background:var(--brand-50);border:1px solid var(--brand-100)}
.seo-cta--bottom{margin-top:var(--space-8)}
.seo-cta__title{font-weight:var(--fw-bold);font-size:18px;color:var(--text-body)}
.seo-cta__sub{margin-top:6px;color:var(--text-2);max-width:60ch}
.seo-cta__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);flex-shrink:0}

/* ═══ ОГЛАВЛЕНИЕ ═══ */
.seo-toc{margin-top:var(--space-7);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--r-l);
  background:var(--bg-soft)}
.seo-toc__title{font-weight:var(--fw-semibold);font-size:15px}
.seo-toc ol{margin:var(--space-3) 0 0;padding-left:1.2em;columns:2 260px;column-gap:var(--space-6);font-size:15px}
.seo-toc li{break-inside:avoid;padding-block:3px}

/* ═══ БЛОКИ ═══ */
.seo-block{margin-top:var(--space-8);max-width:820px}
.seo-block--centers{max-width:none}
.seo-block__title{font-size:var(--fs-h3,24px);scroll-margin-top:calc(var(--header-h) + 12px)}
.seo-block p{margin-top:var(--space-3);line-height:var(--lh-body);color:var(--text-body)}
.seo-block__summary{font-weight:var(--fw-semibold)}
.seo-block__note{font-size:var(--fs-small,14px);color:var(--text-3)}
.seo-block__empty{color:var(--text-2)}
.seo-list{margin-top:var(--space-3);padding-left:1.2em;line-height:var(--lh-body)}
.seo-list li+li{margin-top:6px}

/* Факты «подпись — значение». */
.seo-facts{margin:var(--space-4) 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.seo-facts__row{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:var(--space-4);
  padding:12px 0;border-bottom:1px solid var(--line)}
.seo-facts__row dt{color:var(--text-2)}
.seo-facts__row dd{margin:0;font-weight:var(--fw-medium);overflow-wrap:anywhere}
.seo-facts__row.is-highlight{background:var(--brand-50);padding-inline:12px;border-radius:var(--r-s)}

/* ═══ ЦЕНТРЫ ПАРТНЁРА ═══ */
.seo-centers{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;gap:var(--space-4);
  grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.seo-center{display:flex;flex-direction:column;gap:6px;padding:var(--space-5);border:1px solid var(--line);
  border-radius:var(--r-l);background:var(--surface-card);min-width:0}
.seo-center__head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:baseline}
.seo-center__name{overflow-wrap:anywhere}
.seo-center__price{flex-shrink:0;font-weight:var(--fw-bold);color:var(--text-body)}
.seo-center__price s{color:var(--text-3);font-weight:var(--fw-regular)}
.seo-block .seo-center p{margin-top:0;font-size:14.5px;color:var(--text-2)}
.seo-center__cap{color:var(--text-3)}
.seo-slot{display:inline-block;margin:4px 6px 0 0;padding:4px 10px;border-radius:var(--r-pill);
  background:var(--brand-50);color:var(--brand-700);font-size:14px}
.seo-center__cta{margin-top:auto;align-self:flex-start}

/* ═══ ГОРОДА ═══ */
.seo-chips{list-style:none;margin:var(--space-4) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.seo-chip{display:inline-block;padding:6px 14px;border-radius:var(--r-pill);border:1px solid var(--line);
  font-size:14.5px;color:var(--text-body);background:var(--bg)}
.seo-chip:hover{border-color:var(--brand-600);text-decoration:none}
.seo-chip--current{background:var(--brand-600);border-color:var(--brand-600);color:#fff}

/* ═══ ТАБЛИЦЫ ═══
   Прокрутка своя: `position:relative`, иначе абсолютные потомки клеток
   отсчитываются от документа и растягивают страницу (урок 22.09.2026). */
.seo-table{position:relative;overflow-x:auto;margin-top:var(--space-4);border:1px solid var(--line);
  border-radius:var(--r-m)}
.seo-table table{border-collapse:collapse;width:100%;font-size:14.5px}
.seo-table--wide table{min-width:560px}
.seo-table th,.seo-table td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.seo-table thead th{background:var(--bg-soft);font-weight:var(--fw-semibold)}
.seo-table tbody th{font-weight:var(--fw-medium)}
.seo-table tr.is-highlight{background:var(--brand-50)}
.seo-table tr.is-highlight th{color:var(--brand-700)}

/* ═══ КАРТОЧКИ СОСЕДЕЙ ═══ */
.seo-cards{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;gap:var(--space-3);
  grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.seo-card{display:flex;flex-direction:column;gap:4px;height:100%;padding:var(--space-4);border:1px solid var(--line);
  border-radius:var(--r-m);background:var(--surface-card);color:var(--text-body)}
.seo-card:hover{border-color:var(--brand-600);text-decoration:none}
.seo-card__title{font-weight:var(--fw-semibold);overflow-wrap:anywhere}
.seo-card__sub{font-size:14px;color:var(--text-2)}

/* ═══ FAQ ═══ — общий `.faq` витрины, здесь только ширина. */
.seo-faq{margin-inline:0;margin-top:var(--space-3)}

/* ═══ КАЛЬКУЛЯТОР ═══ */
.seo-calc{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4);margin-top:var(--space-4)}
.seo-calc .field{flex:1 1 180px;min-width:0}
.seo-calc .input{width:100%;height:44px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r-m);
  font:inherit;background:var(--bg)}
.seo-calc__result{font-size:18px;font-weight:var(--fw-bold)}

/* ═══ ОБРАЗЕЦ КАРТОЧКИ ═══ */
.seo-sample{margin-top:var(--space-4);max-width:560px}

/* ═══ ИСТОЧНИКИ И ДИСКЛЕЙМЕР ═══ */
.seo-sources__list{margin-top:var(--space-3);padding-left:1.4em;font-size:14.5px;color:var(--text-2);line-height:1.6}
.seo-sources__list li+li{margin-top:6px}
.seo-sources__list a{overflow-wrap:anywhere}
.seo-disclaimer{margin-top:var(--space-7);padding:var(--space-5);border-radius:var(--r-l);background:var(--bg-soft);
  font-size:14.5px;color:var(--text-2);max-width:820px}
.seo-disclaimer p+p{margin-top:var(--space-2)}

@media (max-width:640px){
  .seo{padding-top:var(--space-4)}
  .seo-cta{flex-direction:column;align-items:stretch;padding:var(--space-5)}
  .seo-cta__actions .btn{width:100%}
  .seo-facts__row{grid-template-columns:minmax(0,1fr);gap:2px}
  .seo-block{margin-top:var(--space-7)}
  /* Сравнение на телефоне: подпись строки — во всю ширину, два метода рядом.
     Три узкие колонки рвали слова посередине («Излучен-ие»). */
  .seo-table:not(.seo-table--wide) tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .seo-table:not(.seo-table--wide) thead th:first-child{display:none}
  .seo-table:not(.seo-table--wide) tbody th{grid-column:1/-1;background:var(--bg-soft);border-bottom:0;padding-bottom:4px}
  .seo-table:not(.seo-table--wide) th,.seo-table:not(.seo-table--wide) td{padding:8px 10px;font-size:14px}
}
