/* ═══════════════════════════════════════════════════════════════
   Текстовые страницы («Текстовая страница» + дефолтный page.php)
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. Отступы страницы ────────────────────────────────────── */
.text-page-main {
  padding: calc(var(--header-height) + 80px) 0 140px;
}

/* ── 2. Каркас статьи ───────────────────────────────────────── */
.text-page {
  max-width: 860px;
}

.text-page__title {
  margin-bottom: 40px;
}

.text-page__body {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: var(--primary-dark);
}

/* ── 3. Вертикальный ритм ───────────────────────────────────── */
.text-page__body > * + *  { margin-top: 20px; }
.text-page__body > * + h2 { margin-top: 56px; }
.text-page__body > * + h3 { margin-top: 44px; }
.text-page__body > * + h4,
.text-page__body > * + h5,
.text-page__body > * + h6 { margin-top: 32px; }
.text-page__body > * + hr { margin-top: 40px; }

.text-page__body p:empty { display: none; }

/* ── 4. Заголовки (шкала из base.css) ───────────────────────── */
.text-page__body h2,
.text-page__body h3,
.text-page__body h4,
.text-page__body h5,
.text-page__body h6 {
  font-family: var(--font-heading);
  color: var(--primary-dark);
}

.text-page__body h2 { font-weight: 600; font-size: 36px; line-height: 44px; }
.text-page__body h3 { font-weight: 600; font-size: 28px; line-height: 36px; }
.text-page__body h4 { font-weight: 500; font-size: 22px; line-height: 30px; }
.text-page__body h5,
.text-page__body h6 { font-weight: 500; font-size: 18px; line-height: 26px; }

/* ── 5. Списки (сброс list-style в base.css снят точечно) ───── */
.text-page__body ul,
.text-page__body ol {
  padding-left: 24px;
}

.text-page__body ul > li { list-style: disc outside; }
.text-page__body ol > li { list-style: decimal outside; }
.text-page__body ul ul > li { list-style: circle outside; }

.text-page__body li + li { margin-top: 10px; }
.text-page__body li > ul,
.text-page__body li > ol { margin-top: 10px; }
.text-page__body li::marker { color: var(--primary); }

/* ── 6. Инлайн-элементы ─────────────────────────────────────── */
.text-page__body a {
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 0.2s ease;
}

.text-page__body a:hover { opacity: 0.7; }

.text-page__body strong,
.text-page__body b { font-weight: 600; }

.text-page__body em,
.text-page__body i { font-style: italic; }

.text-page__body small {
  font-size: 13px;
  line-height: 18px;
  color: var(--muted);
}

/* ── 7. Цитаты ──────────────────────────────────────────────── */
.text-page__body blockquote {
  padding: 20px 24px;
  background: var(--gray-blue);
  border-left: 3px solid var(--primary);
  border-radius: 6px;
  color: var(--graphite-text);
}

.text-page__body blockquote > * + * { margin-top: 12px; }

.text-page__body blockquote cite {
  display: block;
  font-style: normal;
  font-size: 14px;
  line-height: 22px;
  color: var(--muted);
}

/* ── 8. Медиа ───────────────────────────────────────────────── */
.text-page__body img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 6px;
}

.text-page__body figcaption {
  margin-top: 10px;
  font-size: 13px;
  line-height: 18px;
  color: var(--muted);
}

/* ── 9. Таблицы ─────────────────────────────────────────────── */
.text-page__body figure.wp-block-table { overflow-x: auto; }

.text-page__body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 22px;
}

.text-page__body th,
.text-page__body td {
  padding: 12px 16px;
  border: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}

.text-page__body thead th {
  background: var(--gray-blue);
  font-family: var(--font-heading);
  font-weight: 600;
}

/* ── 10. Код ────────────────────────────────────────────────── */
.text-page__body code,
.text-page__body pre {
  font-family: ui-monospace, "SFMono-Regular", "Consolas", monospace;
  background: var(--gray-blue);
  border-radius: 6px;
}

.text-page__body code {
  padding: 2px 6px;
  font-size: 14px;
}

.text-page__body pre {
  padding: 20px;
  overflow-x: auto;
}

.text-page__body pre code {
  padding: 0;
  background: none;
}

/* ── 11. Разделитель ────────────────────────────────────────── */
.text-page__body hr {
  height: 1px;
  background: var(--border);
  border: none;
}

/* ── 12. Адаптив ────────────────────────────────────────────── */
@media (max-width: 1080px) {
  .text-page-main {
    padding: calc(var(--header-height) + 60px) 0 100px;
  }

  .text-page__title { margin-bottom: 32px; }

  .text-page__body { font-size: 15px; line-height: 24px; }

  .text-page__body > * + h2 { margin-top: 44px; }
  .text-page__body > * + h3 { margin-top: 36px; }

  .text-page__body h2 { font-size: 26px; line-height: 34px; }
  .text-page__body h3 { font-size: 22px; line-height: 30px; }
  .text-page__body h4 { font-size: 18px; line-height: 26px; }
  .text-page__body h5,
  .text-page__body h6 { font-size: 16px; line-height: 24px; }
}

@media (max-width: 768px) {
  .text-page-main {
    padding: calc(var(--header-height) + 40px) 0 60px;
  }

  .text-page__title { margin-bottom: 24px; }

  .text-page__body > * + *  { margin-top: 16px; }
  .text-page__body > * + h2 { margin-top: 36px; }
  .text-page__body > * + h3 { margin-top: 28px; }
  .text-page__body > * + h4,
  .text-page__body > * + h5,
  .text-page__body > * + h6 { margin-top: 24px; }

  .text-page__body blockquote { padding: 16px 18px; }

  .text-page__body th,
  .text-page__body td { padding: 10px 12px; }

  .text-page__body pre { padding: 16px; }
}
