/* ============================================================================
   «Сборник» – экран «Титул и служебные страницы» и заготовка для новых сборников
   (views/admin/matter.php, корень .sb-pg.sb-mt). Все правила – внутри .sb-mt
   или с приставкой sb-mt-. Редактор и подстановки берут вид из template.css (.sb-pg).
   ========================================================================== */

/* ---------------------------------------------------- две колонки ≥ 1200 px -- */
.sb-mt-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sb-gap); align-items: start; }
.sb-mt-main { min-width: 0; }
@media (min-width: 1200px) {
  .sb-mt-layout { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .sb-mt-side { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow: auto; min-width: 0; }
}

/* ------------------------------------------------- сообщения над формой -- */
.sb-mt .sb-mt-legacy, .sb-mt .sb-mt-checks-box, .sb-mt .sb-mt-draft { margin-bottom: var(--sb-gap); }
.sb-mt-legacy .btn { margin-top: .5rem; }
.sb-mt-draft-btns { display: flex; flex-wrap: wrap; gap: .25rem .75rem; margin-top: .5rem; }
.sb-mt-checks-n { display: inline-block; min-width: 1.5rem; margin-left: .25rem; font-weight: 600; }
.sb-mt-checks { list-style: none; margin: .5rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .25rem; }
.sb-mt-checks > li { display: flex; flex-wrap: wrap; align-items: center; gap: 0 .75rem; padding: .25rem 0; border-top: 1px solid var(--sb-warn-line); }
.sb-mt-checks > li:first-child { border-top: 0; }
.sb-mt-checks > li > span { flex: 1 1 18rem; min-width: 0; color: var(--sb-ink); overflow-wrap: anywhere; }
.sb-mt-checks > li > a { font-weight: 500; text-decoration: none; }
.sb-mt-checks > li > a:hover { text-decoration: underline; text-decoration-color: currentColor; }
/* «Так и нужно» – такая же тихая ссылка, как «Исправить» рядом */
.sb-mt-checks > li > .btn-link, .sb-mt-note .btn-link { --bs-btn-font-weight: 500; --bs-btn-padding-x: .25rem; text-decoration: none; }
.sb-mt-checks > li > .btn-link:hover, .sb-mt-note .btn-link:hover { text-decoration: underline; }
.sb-mt-checks-later { margin: .5rem 0 0; font-size: .875rem; color: var(--sb-ink-2); }

/* ----------------------------------------------------- заголовки формы -- */
.sb-mt-h2 { margin: calc(var(--sb-gap) + .5rem) 0 .75rem; }

/* ------------------------------------------------------------- разделы -- */
.sb-mt-list { display: flex; flex-direction: column; gap: var(--sb-gap); }
.sb-mt .sb-mt-fold { margin: 0; scroll-margin-top: 1rem; }   /* шаг между разделами – только gap списка */
.sb-mt .sb-mt-book { margin-bottom: 0; }
.sb-mt-fold > summary { flex-wrap: wrap; row-gap: .25rem; }
.sb-mt-sum { display: flex; flex-direction: column; flex: 1 1 13rem; min-width: 0; line-height: 1.35; }
.sb-mt-sum-name { font-weight: 600; overflow-wrap: anywhere; }
.sb-mt-sum-note { font-weight: 400; font-size: .875rem; color: var(--sb-muted); margin-top: .125rem; }
.sb-mt-sum-st { flex: none; display: inline-flex; align-items: center; font-weight: 400; font-size: .875rem; }
.sb-mt-sum-st:empty { display: none; }
.sb-mt-fold[data-off] > summary .sb-mt-sum-name { color: var(--sb-ink-2); }
.sb-mt-fold > .sb-fold-body > :first-child { margin-top: 0; }

/* строка «Статьи» между страницами до и после статей */
.sb-mt-articles {
  display: flex; align-items: flex-start; gap: .75rem; padding: 1rem var(--sb-pad);
  border: 1px dashed var(--sb-line-2); border-radius: var(--sb-radius-lg); background: var(--sb-surface-2); color: var(--sb-ink-2);
}
.sb-mt-articles > .sb-ic { flex: none; margin-top: .125rem; color: var(--sb-muted); }
.sb-mt-articles > p { margin: 0; }

/* место в книге и стрелки */
.sb-mt-place-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid var(--sb-line); }
.sb-mt-place-text { margin: 0; color: var(--sb-ink-2); flex: 1 1 14rem; }
.sb-mt-place { color: var(--sb-ink); font-weight: 500; }
.sb-mt-move { display: flex; gap: .5rem; flex: none; }
.sb-mt-move .btn { min-height: 34px; }
@media (max-width: 991.98px) { .sb-mt-move .btn { min-height: 44px; } }

/* переключатель «Печатать …» */
.sb-mt .sb-mt-on { padding-top: 0; border-top: 0; }
.sb-mt-fold[data-off] .sb-mt-on .sb-set-text b { color: var(--sb-ink-2); }

/* «Как сделать страницу»: карточки по полям / набрать самому */
.sb-mt-modes { margin: 1.25rem 0 0; }
.sb-mt-modes > legend.form-label { float: none; width: auto; font-size: .875rem; margin-bottom: .5rem; }
.sb-mt .sb-opts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }

/* режимы: поля страницы и редактор */
.sb-mt-fold[data-mode="fields"] .sb-mt-mode-html { display: none; }
.sb-mt-fold[data-mode="html"] .sb-mt-only-fields { display: none; }
.sb-mt-fold[data-mode="fields"] > .sb-fold-body > .sb-mt-fieldsbox > summary { display: none; }
.sb-mt-fieldsbox { margin-top: 1rem; }
.sb-mt-fold[data-mode="html"] > .sb-fold-body > .sb-mt-fieldsbox { padding: 0 1rem .5rem; border: 1px solid var(--sb-line); border-radius: var(--sb-radius-lg); }
.sb-mt-fieldsbox-body > :first-child { margin-top: 0; }
.sb-mt-mode-html { margin-top: 1.25rem; }
.sb-mt-editor { margin-top: .75rem; }

/* ---------------------------------------------------------------- поля -- */
.sb-mt-field { margin-top: 1.25rem; min-width: 0; }
.sb-mt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 11rem), 1fr)); gap: 0 1.25rem; align-items: start; }
.sb-mt-narrow { max-width: 24rem; }
.sb-mt-sub { font-size: .9375rem; font-weight: 600; letter-spacing: 0; margin: 1.75rem 0 0; padding-top: 1.25rem; border-top: 1px solid var(--sb-line); }
.sb-mt-fieldsbox-body > .sb-mt-sub:first-child { margin-top: .5rem; padding-top: 0; border-top: 0; }
.sb-mt-lead { margin-top: .25rem; }
.sb-mt-check { margin-top: .75rem; }
.sb-mt-check .form-text { margin-top: .125rem; }
.sb-mt-switch { margin-top: 1.5rem; }
.sb-mt-switch .form-check-label { font-weight: 500; }
.sb-mt-more { margin-top: .75rem; }
.sb-mt-more .sb-more-body > .sb-mt-field:first-child { margin-top: .25rem; }
.sb-mt-take { margin-top: .25rem; }
.sb-mt-under { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem .75rem; margin-top: .25rem; }
.sb-mt-count { font-size: .8125rem; color: var(--sb-muted); }
.sb-mt-muted .form-control { color: var(--sb-muted); background-color: var(--sb-surface-2); }
.sb-mt-radios { margin-top: 1rem; }
.sb-mt-radios > legend.form-label { float: none; width: auto; font-size: .875rem; margin-bottom: .25rem; }
.sb-mt-radios .sb-mt-check { margin-top: .5rem; }
.sb-mt-sizes-h { margin: 1rem 0 0; }
.sb-mt-sizes .sb-mt-field { margin-top: .75rem; }
.sb-mt-spbgeu { margin-top: .5rem; }
.sb-mt .sb-mt-spbgeu, .sb-mt .sb-mt-take { --bs-btn-padding-x: 0; justify-content: flex-start; text-align: left; }

/* строки «посчитано программой» */
.sb-mt-derived { margin: .5rem 0 0; font-size: .875rem; color: var(--sb-ink-2); overflow-wrap: anywhere; }
.sb-mt-hint:empty { display: none; }
.sb-mt-hint > p { margin: .375rem 0 0; font-size: .875rem; color: var(--sb-ink-2); }
.sb-mt-hint > p.is-warn { color: var(--sb-warn-ink); }
.sb-mt-desc { margin: .5rem 0 .25rem; padding: .75rem 1rem; border-radius: var(--sb-radius); background: var(--sb-surface-2); font-family: var(--sb-paper-font); font-size: .875rem; line-height: 1.5; color: var(--sb-ink); overflow-wrap: anywhere; }
.sb-mt-desc .doc-pref.is-est { color: #5f6b74; }

/* эмблема */
.sb-mt-emblem > .form-label { display: block; }
.sb-mt-emblem-has { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.sb-mt-emblem-has[hidden], .sb-mt-emblem-none[hidden] { display: none; }
.sb-mt-emblem-img { width: 48px; height: 48px; object-fit: contain; border: 1px solid var(--sb-line); border-radius: var(--sb-radius-lg); background: #fff; }
.sb-mt-emblem-w { flex: 1 1 12rem; min-width: 0; }
.sb-mt-emblem-w .form-label { margin-bottom: 0; font-size: .875rem; }

/* проверки в разделе */
.sb-mt-notes { list-style: none; margin: 1.25rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .375rem; }
.sb-mt-notes:empty { display: none; }
.sb-mt-note { position: relative; padding-left: 1.125rem; font-size: .875rem; line-height: 1.45; color: var(--sb-ink-2); overflow-wrap: anywhere; }
.sb-mt-note::before { content: ""; position: absolute; left: .125rem; top: .55em; width: .5rem; height: .5rem; border-radius: 50%; background: #8493a0; }
.sb-mt-note.is-warn { color: var(--sb-warn-ink); }
.sb-mt-note.is-warn::before { background: var(--sb-warn-icon); }
.sb-mt-note.is-dismissed { color: var(--sb-muted); }
.sb-mt-note > a { font-weight: 500; white-space: nowrap; }
.sb-mt-note .btn-link { --bs-btn-padding-x: .25rem; vertical-align: baseline; }

/* «Где и как печатается» и «Удалить страницу» */
.sb-mt-where { margin-top: 1rem; }
.sb-mt-where-body > .sb-mt-field:first-child, .sb-mt-where-body > .sb-mt-grid:first-child > .sb-mt-field { margin-top: .25rem; }
.sb-mt-del { margin-top: 1.25rem; }
.sb-mt-show { margin-top: 1.25rem; }

/* подстановки: плашки не ниже 44 px, по группам */
.sb-mt code.ph { min-height: 44px; }
.sb-mt-ph-h { font-size: .875rem; font-weight: 600; margin: 1rem 0 0; color: var(--sb-ink); }
.sb-mt .ph-list { margin-top: .75rem; }

/* в редакторе абзац без align – так, как выбрано в «Выравнивании строк» (как в книге) */
.sb-mt-fold .page-editor .editor[data-base-align="center"] p:not([align]) { text-align: center; }
.sb-mt-fold .page-editor .editor[data-base-align="right"] p:not([align]) { text-align: right; }
.sb-mt-fold .page-editor .editor[data-base-align="both"] p:not([align]) { text-align: justify; }
.sb-mt-fold .page-editor .editor[data-base-align="left"] p:not([align]) { text-align: left; }
.sb-mt-fold .page-editor .editor p[align="left"] { text-align: left; }

/* добавить свою страницу, сохранить */
.sb-mt-add { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-top: 1rem; }
.sb-mt-add > span { color: var(--sb-muted); font-size: .875rem; flex: 1 1 16rem; }
.sb-mt-actions { margin-top: var(--sb-gap); }
.sb-mt-copy { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .75rem 1rem; }
.sb-mt-copy-pick { flex: 1 1 18rem; min-width: 0; }

/* ------------------------------------------------------- образец листа -- */
.sb-mt-sample-card { overflow: hidden; }
.sb-mt-sample-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding: 1rem 1.25rem .5rem; }
.sb-mt-sample-head h2 { font-size: .9375rem; margin: 0; }
.sb-mt-pick { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.sb-mt-pick label { font-size: .875rem; color: var(--sb-ink-2); }
.sb-mt-pick .form-select { max-width: 15rem; }
.sb-mt-sample-status { margin: 0; padding: 0 1.25rem .5rem; font-size: .8125rem; color: var(--sb-muted); }
.sb-mt-sample-status.is-bad { color: var(--sb-bad-ink); }
.sb-mt-sample-card > .doc-wrap.sb-mt-sheet { margin: 0 1rem; padding: .75rem; border-radius: var(--sb-radius-lg); background: var(--sb-surface-2); }
.sb-mt-sample-card > .sb-mt-sample-note, .sb-mt-sample-card > .sb-mt-font-note { margin: .75rem 1.25rem 0; font-size: .875rem; color: var(--sb-ink-2); }
.sb-mt-sample-card > .sb-mt-notes { margin: .75rem 1.25rem 0; }
.sb-mt-sample-card > #mt-sample-big { margin: .75rem 1.25rem 1.25rem; }
.sb-mt-sheet .doc-page-no { font-size: .875rem; }

/* окно образца */
.sb-mt-modal .modal-body { padding-top: .5rem; }
.sb-mt-modal .sb-mt-sample-status { padding: 0 0 .5rem; }
.sb-mt-modal .doc-wrap.sb-mt-sheet { padding: .75rem; border-radius: var(--sb-radius-lg); background: var(--sb-surface-2); }
.sb-mt-modal .sb-mt-sample-note { margin: .75rem 0 0; color: var(--sb-ink-2); }

/* ------------------------------------------------------------ телефон -- */
@media (max-width: 767.98px) {
  .sb-mt-fold > summary { padding-right: .75rem; }
  /* название и пояснение, под ними состояние; стрелка – справа по центру, а не отдельной строкой */
  .sb-mt-fold > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: .75rem; row-gap: .25rem; align-items: center; }
  .sb-mt-fold > summary > .sb-mt-sum { grid-column: 1; grid-row: 1; }
  .sb-mt-fold > summary > .sb-mt-sum-st { grid-column: 1; grid-row: 2; justify-self: start; }
  .sb-mt-fold > summary > .sb-chev { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
  .sb-mt-move { width: 100%; }
  .sb-mt-move .btn { flex: 1 1 0; }
  .sb-mt-narrow { max-width: none; }
  .sb-mt-add > .btn, .sb-mt-copy > .btn, .sb-mt-del { width: 100%; }
  .sb-mt .sb-pg-fill > .btn { width: 100%; }
  .sb-mt .ph-ul li { flex-wrap: wrap; gap: .125rem .625rem; }
  .sb-mt code.ph { min-height: 44px; }
  .sb-mt-modal .modal-footer .btn { flex: 1 1 0; }
}
@media print { .sb-mt-actions, .sb-mt-side { display: none !important; } }

/* карточка сборника: что проверить в служебных страницах до скачивания (заглушки «И. О. Фамилия», «ISBN 000-…») */
.sb-mt-exnote { margin-bottom: 1rem; }
.sb-mt-exnote ul { margin: .25rem 0 .5rem; padding-left: 1.25rem; }
.sb-mt-exnote li { overflow-wrap: anywhere; }
