/* Дополнения к page.css для страниц, собранных движком публикаций (build/). */

/* Таблицы: на узком экране прокручиваются, а не ломают вёрстку */
.prose .table-wrap { overflow-x: auto; margin: 0 0 28px; -webkit-overflow-scrolling: touch; }
.prose .table-wrap table { margin: 0; min-width: 520px; }

/* Врезки: «Коротко» — плотнее, предупреждения — с чёрной рамкой */
.prose .callout p:last-child, .prose .callout ul:last-child { margin-bottom: 0; }
.prose .callout ul { padding-left: 20px; }
.prose .callout-abstract, .prose .callout-summary { border-left-width: 4px; }
.prose .callout-warning, .prose .callout-caution, .prose .callout-danger { border: 1px solid var(--ink); border-left-width: 4px; }

/* Цитата из судебного акта: текст — антиквой, источник — отдельной подписью под чертой */
.prose figure.quote { margin: 44px 0; padding: 0; }
.prose figure.quote blockquote { margin: 0; padding: 0 0 0 28px; border-left: 2px solid var(--ink); font-family: var(--serif); font-size: 22px; line-height: 1.5; letter-spacing: -.005em; color: var(--ink); }
.prose figure.quote blockquote p { margin: 0 0 12px; }
.prose figure.quote blockquote p:last-child { margin-bottom: 0; }
.prose figure.quote figcaption { display: flex; gap: 12px; align-items: baseline; margin: 18px 0 0 28px; padding-top: 14px; border-top: 1px solid var(--line); font-family: var(--sans); font-size: 14px; line-height: 1.5; color: var(--text); }
.prose figure.quote figcaption::before { content: "Источник"; flex: none; font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }

/* Схемы и графики: встроенный SVG со шрифтами сайта */
.prose figure.scheme { margin: 44px 0; }
.prose figure.scheme svg { display: block; width: 100%; height: auto; }
.prose figure.scheme figcaption { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 14px; color: var(--muted); }
.prose figure img[src$=".svg"] { filter: none; }

/* Источники и «По теме» */
.prose .sources { font-size: 15px; line-height: 1.55; color: var(--muted); }
.prose .sources li { margin-bottom: 8px; }
.prose .related { list-style: none; padding-left: 0; }
.prose .related li { margin-bottom: 8px; }
.prose .related a { font-weight: 500; }

/* На телефоне схема 720px сжалась бы до нечитаемого шрифта: даём ей ширину и горизонтальную прокрутку */
@media (max-width: 640px) {
  .prose figure.scheme { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .prose figure.scheme svg { width: 600px; max-width: none; }
  .prose figure.scheme figcaption { position: sticky; left: 0; max-width: calc(100vw - 2 * var(--gut, 20px)); }
  .prose figure.quote blockquote { font-size: 19px; padding-left: 18px; }
  .prose figure.quote figcaption { margin-left: 18px; flex-direction: column; gap: 4px; }
}

/* Длинные слова в заголовке статьи («реструктуризации») не должны вылезать за экран 320px */
.page-hero h1 { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
@media (max-width: 380px) {
  .page-hero h1 { font-size: 34px; }
}

/* Заголовок схемы уже внутри SVG — подпись под ней не дублируем (доступное имя даёт <title> в SVG) */
.prose figure.scheme figcaption { display: none; }

/* Страница услуги: цена и кнопка в тёмной шапке (монохром, переменные site.css) */
.service-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 40px; margin-top: 36px; }
.service-cta .price { display: grid; gap: 6px; max-width: 46ch; padding-left: 20px; border-left: 2px solid var(--line-d); }
.service-cta .price-label { font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--mute-d); }
.service-cta .price-value { font-family: var(--serif); font-weight: 400; font-size: clamp(28px, 3.4vw, 40px); line-height: 1.1; letter-spacing: -.015em; color: #fff; }
.service-cta .price-note { margin: 0; font-size: 15px; line-height: 1.5; color: var(--text-d); }
@media (max-width: 640px) {
  .service-cta { flex-direction: column; align-items: stretch; gap: 20px; }
  .service-cta .btn { width: 100%; }
}
