/* GOST-ON Custom Styles for Diplodoc */

/* Базовые стили */
.yfm {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
}

/* Таблицы в ГОСТ-формате */
.yfm table {
    border-collapse: collapse;
    margin: 1em 0;
    width: auto;
    max-width: 100%;
}

/* Per-cell выравнивание в multiline-таблицах (#|...|#).
   convert_all_tables_to_diplodoc заворачивает содержимое
   ячеек с per-cell или унаследованным column-align в
   <span class="gost-align-...">. */
.yfm .gost-align-center { display: block; text-align: center; }
.yfm .gost-align-right  { display: block; text-align: right; }
.yfm .gost-align-left   { display: block; text-align: left; }

.yfm table, .yfm th, .yfm td {
    border: 1px solid #333;
}

.yfm th {
    background-color: #f5f5f5;
    font-weight: 600;
}

.yfm th, .yfm td {
    padding: 8px 12px;
    text-align: left;
}

/* Заголовки */
.yfm h1 {
    border-bottom: 2px solid #333;
    padding-bottom: 0.3em;
}

.yfm h2 {
    border-bottom: 1px solid #ddd;
    padding-bottom: 0.2em;
}

/* Код */
.yfm code {
    background-color: #f4f4f4;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 0.9em;
}

.yfm pre {
    background-color: #f8f8f8;
    padding: 16px;
    border-radius: 6px;
    overflow-x: auto;
}

/* Per-publication footer (injected via _assets/scripts/footer.js).
   Diplodoc client v5 has no built-in top-level footer renderer, so the
   markup is created at runtime — these styles wrap that <footer> and the
   inner .yfm container that holds the pre-rendered copyright HTML. */
.gost-on-footer {
    border-top: 1px solid #e5e5e5;
    padding: 20px 24px;
    margin-top: 32px;
    color: #666;
    font-size: 0.85em;
    text-align: center;
    background: transparent;
}

.gost-on-footer .yfm p {
    margin: 0 0 4px 0;
}

.gost-on-footer .yfm p:last-child {
    margin-bottom: 0;
}

.gost-on-footer .yfm a {
    color: inherit;
    text-decoration: underline;
}

/* ─────────────────────────────────────────────────────────────────
   Hero block (Page Constructor header-block) — force overrides.
   Юзер хочет: 1) картинка ВСЕГДА видна (Diplodoc иногда теряет media
   при пустом description / редкой комбинации полей — !important
   принудительно держит .pc-header-block__media в потоке), 2) сдвиг
   правее (right:0 без 16px-инсета), 3) object-fit:contain чтобы
   декоративный SVG/PNG-флаг не обрезался по правому краю.
   ───────────────────────────────────────────────────────────────── */
.pc-header-block__media {
    display: block !important;
    right: 0 !important;
}

.pc-header-block__image {
    /* Page-Constructor дефолтит на cover (обрезает картинку под фон-стиль).
       Для декоративных лого/орлов лучше contain — видно весь силуэт. */
    object-fit: contain !important;
    object-position: right center !important;
}

/* Черта под заголовком hero. До Diplodoc 5.43 ее рисовало наше же правило
   `.yfm h1` — <main> leading-страницы имел класс yfm, и правило доставало
   до заголовка hero. В 5.50 вендор класс убрал, поэтому вешаем border явно
   на сам заголовок. Контентные страницы не задеты: там обертка с yfm на
   месте и `.yfm h1` работает как раньше. */
.pc-header-block__title-container {
    border-bottom: 2px solid #333;
    padding-bottom: 0.3em;
}

/* LaTeX формулы (KaTeX) */
.yfm-latex {
    font-size: 1.1em;
}

/* Block формулы - центрирование */
.yfm-latex-block {
    display: block;
    text-align: center;
    margin: 1.5em 0;
    overflow-x: auto;
    padding: 0.5em 0;
}

/* Inline формулы */
.yfm-latex-inline {
    display: inline;
    vertical-align: baseline;
}

/* Inline-картинки в KaTeX (\includegraphics в $...$) — ведем себя как буква.
   ПРОБЛЕМА: KaTeX резервирует место под формулу через невидимый <span class="strut">
   и проставляет inline-стили height на vlist-обертках — это дает ~30px лишнего
   сверху строки. Гасим все это, НО только для формул с картинкой (:has(img)) —
   обычные формулы $E=mc^2$ остаются нетронутыми.
   В Diplodoc обычно \includegraphics уже препроцессирован в ![](url) на бэкенде
   через preprocess_inline_images — это страховка для остатков. */
.katex:has(img) {
    line-height: 1 !important;
}
.katex:has(img) .strut {
    display: none !important;
}
.katex:has(img) .base,
.katex:has(img) .vlist,
.katex:has(img) .vlist-t,
.katex:has(img) .vlist-r,
.katex:has(img) .mord {
    height: auto !important;
    vertical-align: baseline !important;
}
.katex img,
.yfm-latex img,
.yfm-latex-inline img {
    max-height: 1em;
    width: auto;
    vertical-align: baseline;  /* стоит на baseline как буква, не ниже */
    display: inline-block;
    /* Перебить общие .yfm img { margin: ... } которые Diplodoc навешивает
       на блочные markdown-картинки. Для inline-картинки никаких margin. */
    margin: 0 !important;
}

/* В block-формулах ($$\includegraphics{...}$$) разрешаем больший размер
   и располагаем по центру. */
.yfm-latex-block .katex img,
.katex-display .katex img {
    max-height: none;
    max-width: 100%;
    vertical-align: middle;
}

/* Ошибки рендеринга формул */
.yfm-latex-error {
    color: #cc0000;
    background-color: #fff0f0;
    padding: 2px 4px;
    border-radius: 3px;
    font-family: monospace;
    font-size: 0.85em;
}
