/* ============================================================
   soboleznovaniya.ru — РЕДИЗАЙН 2026 · статья / документ / карта
   Источник: dis/Статьи.dc.html, Политика.dc.html, Карта-сайта.dc.html
   WP: H1/лид/тело/оглавление — из редактора (the_title/the_content),
   оглавление генерится из H2 (как сайдбар-ТОС на epitafii), не хардкод.
   ============================================================ */

/* ---------- HERO статьи/документа ---------- */
.art-hero{ padding:44px 0 14px; }
.art-crumb{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:14px; color:var(--muted); margin-bottom:28px; }
.art-crumb a{ color:var(--muted); }
.art-crumb .cur{ color:var(--ink); }
.art-eyebrow-row{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:22px; }
.art-update{ display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:var(--fw-semibold); color:var(--ink); background:var(--cloud); padding:7px 13px; border-radius:var(--r-pill); }
.art-update__dot{ width:7px; height:7px; border-radius:50%; background:var(--yes); }
.art-h1{ margin:0; font-size:clamp(46px,7.4vw,116px); line-height:0.92; letter-spacing:var(--track-display); font-weight:var(--fw-extrabold); max-width:16ch; overflow-wrap:break-word; word-break:normal; hyphens:auto; -webkit-hyphens:auto; text-wrap:balance; }
.art-subrow{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:28px; margin-top:40px; }
.art-lead-hero{ margin:0; max-width:54ch; font-size:21px; line-height:1.5; color:var(--slate); }
.art-tags{ display:flex; gap:8px; flex:none; }

/* ---------- Оглавление (тёмный блок) ---------- */
.art-toc-wrap{ padding:32px 0 8px; }
.art-toc{ background:var(--ink); color:#fff; border-radius:26px; padding:44px 48px; }
.art-toc__head{ display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:24px; }
.art-toc__title{ font-size:22px; font-weight:var(--fw-bold); letter-spacing:-0.02em; }
.art-toc__meta{ font-size:13px; color:var(--on-dark-faint); }
.art-toc__grid{ display:grid; grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,auto); grid-auto-flow:column; gap:0 56px; }
.art-toc__row{ display:flex; align-items:baseline; gap:18px; padding:16px 0; border-top:1px solid var(--dark-border); color:#fff; transition:color .12s, padding-left .15s; }
.art-toc__row:hover{ color:var(--mute); padding-left:6px; }
.art-toc__num{ font-size:14px; font-weight:var(--fw-bold); color:var(--on-dark-faint2); }
.art-toc__label{ font-size:18px; font-weight:var(--fw-medium); }

/* ---------- Тело статьи/документа ---------- */
.art-body-wrap{ padding:56px 0 64px; display:flex; justify-content:center; }
.art-body{ max-width:760px; width:100%; font-size:19px; line-height:1.75; color:#2E2F34; }
.art-body p{ margin:0 0 22px; }
.art-lead{ margin:0 0 40px; font-size:24px; line-height:1.55; letter-spacing:-0.01em; color:var(--ink); font-weight:var(--fw-medium); }
.art-h2{ margin:34px 0 18px; }
.art-h2__num{ display:block; font-size:14px; font-weight:var(--fw-bold); color:var(--mute); letter-spacing:0.06em; margin-bottom:12px; }
.art-h2__title{ font-size:clamp(28px,3vw,38px); line-height:1.08; letter-spacing:-0.025em; font-weight:var(--fw-extrabold); }
.art-list{ margin:0 0 22px; padding:0; list-style:none; }
.art-list__item{ padding:18px 0; border-top:1px solid var(--line-2); display:flex; gap:18px; }
.art-list__item:last-child{ border-bottom:1px solid var(--line-2); }
.art-list__num{ font-weight:var(--fw-bold); color:var(--mute); }
.art-list__item b{ font-weight:var(--fw-semibold); }
.art-inline-cta{ display:flex; flex-wrap:wrap; gap:14px; margin:26px 0 34px; }
.art-note{ border-top:1px solid var(--line); margin-top:20px; padding-top:20px; font-size:14px; color:var(--muted); }

/* ---------- Старый контент из редактора WP в теле статьи ----------
   H3/H4/H5 старых статей имеют битую иерархию (H5 ставили ради стиля).
   В БД не трогаем — оформляем уровни визуально как подзаголовки. */
.art-body h3{ margin:40px 0 14px; font-size:clamp(24px,2.2vw,30px); line-height:1.18; letter-spacing:-0.02em; font-weight:var(--fw-extrabold); color:var(--ink); }
.art-body h4{ margin:32px 0 10px; font-size:21px; line-height:1.25; letter-spacing:-0.01em; font-weight:var(--fw-bold); color:var(--ink); }
.art-body h5{ margin:28px 0 8px; font-size:13px; line-height:1.4; letter-spacing:0.07em; text-transform:uppercase; font-weight:var(--fw-bold); color:var(--muted); }
.art-body h5.has-text-align-center{ text-align:center; letter-spacing:0.02em; }
.art-body h2:not(.art-h2){ margin:40px 0 14px; font-size:clamp(28px,3vw,38px); line-height:1.08; letter-spacing:-0.025em; font-weight:var(--fw-extrabold); color:var(--ink); }

/* Списки / цитаты / картинки / выделения / ссылки из Гутенберга */
.art-body ul, .art-body ol{ margin:0 0 24px; padding-left:1.3em; }
.art-body ul{ list-style:disc; }
.art-body ol{ list-style:decimal; }
.art-body li{ margin:0 0 12px; }
.art-body blockquote{ margin:30px 0; padding:6px 0 6px 22px; border-left:3px solid var(--ink); font-size:21px; line-height:1.5; color:var(--ink); font-weight:var(--fw-medium); }
.art-body blockquote p{ margin:0; }
.art-body figure{ margin:32px 0; }
.art-body figure img{ display:block; width:100%; height:auto; border-radius:var(--r-card); }
.art-body .strong, .art-body strong, .art-body b{ font-weight:var(--fw-bold); color:var(--ink); }
.art-body em{ font-style:italic; }
.art-body a{ color:var(--ink); text-decoration:underline; text-decoration-color:var(--border); text-underline-offset:3px; transition:text-decoration-color .12s; }
.art-body a:hover{ text-decoration-color:var(--ink); }

/* Контент без оглавления (молитвы/короткие соболезнования) — читаемая колонка */
.art-body--plain{ max-width:720px; }

/* ---------- Документы: чипы-якоря ---------- */
.doc-chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.doc-chip{ font-size:15px; font-weight:var(--fw-semibold); color:var(--ink); background:var(--cloud); padding:11px 18px; border-radius:11px; transition:background .12s, color .12s; }
.doc-chip:hover{ background:var(--ink); color:#fff; }

/* ---------- CTA низа статьи ---------- */
.art-cta{ padding:80px 0; border-top:1px solid var(--line); text-align:center; }
.art-cta h2{ margin:0 auto; font-size:clamp(36px,5vw,72px); line-height:0.98; letter-spacing:var(--track-display); font-weight:var(--fw-extrabold); max-width:18ch; }
.art-cta__text{ margin:26px auto 38px; max-width:50ch; font-size:19px; line-height:1.55; color:var(--graphite); }

/* ---------- Карта сайта ---------- */
.sm-title{ padding:44px 0 36px; }
.sm-cols{ padding:16px 0 72px; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:48px; }
.sm-group-title{ position:relative; font-size:14px; font-weight:var(--fw-bold); letter-spacing:0.05em; text-transform:uppercase; color:var(--ink); padding-bottom:13px; margin-bottom:8px; }
.sm-group-title::after{ content:""; position:absolute; left:0; bottom:0; width:26px; height:2px; background:var(--ink); }
.sm-list{ display:flex; flex-direction:column; }
.sm-link{ padding:13px 0; border-top:1px solid #EEEEF0; font-size:20px; font-weight:var(--fw-medium); transition:color .12s, padding-left .14s; }
.sm-link:last-child{ border-bottom:1px solid #EEEEF0; }
.sm-link--lg{ font-size:22px; font-weight:var(--fw-semibold); padding:16px 0; }
.sm-link:hover{ color:var(--muted); padding-left:6px; }

/* ---- Полный индекс карты (все материалы по разделам) ---- */
.sm-allwrap{ margin-top:30px; padding:44px 0 0; border-top:1px solid var(--line); }
.sm-h2{ font-size:30px; font-weight:var(--fw-extrabold); letter-spacing:var(--track-tight); margin:4px 0 30px; color:var(--ink); }
.sm-index{ columns:280px 3; column-gap:56px; padding:0 0 72px; }
.sm-igroup{ margin:0 0 38px; break-inside:avoid; -webkit-column-break-inside:avoid; page-break-inside:avoid; }
.sm-igroup .sm-group-title{ break-after:avoid; -webkit-column-break-after:avoid; margin-bottom:4px; }
.sm-group-title a{ color:inherit; }
.sm-group-title a:hover{ color:var(--graphite); }
.sm-link--blk{ display:block; font-size:16px; font-weight:var(--fw-medium); color:var(--graphite); padding:11px 0; }
.sm-link--blk:hover{ color:var(--ink); }
@media (max-width:640px){ .sm-index{ columns:1; } .sm-h2{ font-size:24px; } .sm-allwrap{ padding-top:32px; } }

/* ---------- Адаптив ---------- */
@media (max-width:640px){
  .art-h1{ font-size:46px; max-width:none; overflow-wrap:break-word; hyphens:auto; -webkit-hyphens:auto; }
  .art-toc__grid{ grid-template-columns:1fr; grid-template-rows:none; grid-auto-flow:row; }
  .art-body{ font-size:17px; }
  .art-hero, .art-body-wrap, .art-cta, .sm-title, .sm-cols{ padding-top:32px; padding-bottom:32px; }
  .sm-cols{ gap:32px; }
}
