/*
  Юридическая страница /prototype/legal (задача M1-4, п. 7) — стили длинного текста: несколько
  документов на одной витрине, каждый — отдельная секция с заголовками и списками.
*/

.legal {
  max-width: var(--content-width);
}

.legal__nav {
  padding: var(--space-4);
  background: var(--surface);
  border: var(--line-width) solid var(--line);
  border-radius: var(--radius-md);
}

/* M8-1: на настоящих документах (Legal/*, /source) .legal__nav переехал в свою ячейку грида
   .layout-main-aside__aside — отступ снаружи задаёт gap грида (и .stack, если рядом с ней ещё
   оглавление по разделам — Legal/Privacy.cshtml, Legal/Terms.cshtml). Прежний margin оставлен
   только для /prototype/legal (Views/Prototype/Legal.cshtml не трогаем) — там .legal__nav
   по-прежнему прямой потомок .legal, между заголовком и статьями одной колонкой. */
.legal > .legal__nav {
  margin: var(--space-4) 0 var(--space-7);
}

.legal__nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--space-2);
}

/* M8-1 (приёмка): в боковой колонке настоящих документов — лёгкий список, не карточка на
   5/12 ширины, как выглядело раньше (архитектор: «тяжёлый вид»). Специфичнее, чем базовое
   .legal__nav выше — только эта комбинация нужна конкретно в .layout-main-aside__aside
   (юридические документы, /source); /prototype/legal со своим прежним видом не трогаем. */
.layout-main-aside__aside .legal__nav {
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  font-size: var(--text-small);
}

.legal__nav-heading {
  margin: 0 0 var(--space-2);
  color: var(--ink-soft);
  font-family: var(--font-text);
  font-size: var(--text-small);
  font-weight: var(--font-weight-semibold);
}

/* Подчёркивание только при наведении/фокусе — тоже только в настоящей боковой колонке; на
   /prototype/legal ссылки остаются с обычным подчёркиванием, как у остальных ссылок сайта. */
.layout-main-aside__aside .legal__nav a {
  text-decoration: none;
}

.layout-main-aside__aside .legal__nav a:hover,
.layout-main-aside__aside .legal__nav a:focus-visible {
  text-decoration: underline;
}

/* Текущий документ — та же идея, что и .site-header__nav-link[aria-current] в site.css. */
.legal__nav a[aria-current="page"] {
  color: var(--ink);
  font-weight: var(--font-weight-semibold);
}

.legal__document {
  margin-bottom: var(--space-8);
  padding-top: var(--space-6);
  border-top: var(--line-width) solid var(--line);
}

.legal__document:first-of-type {
  padding-top: 0;
  border-top: none;
}

.legal__updated {
  margin: 0 0 var(--space-5);
}

.legal__document h3 {
  margin-top: var(--space-5);
}

.legal__document ol,
.legal__document ul {
  padding-left: 1.25em;
}

.legal__document li {
  margin-bottom: var(--space-2);
}

.legal__document table {
  width: 100%;
  margin: var(--space-4) 0 var(--space-5);
  border-collapse: collapse;
  font-size: var(--text-small);
}

.legal__document th,
.legal__document td {
  padding: var(--space-2) var(--space-3);
  border: var(--line-width) solid var(--line);
  text-align: left;
  vertical-align: top;
}

.legal__document th {
  background: var(--surface);
  color: var(--ink-soft);
  font-weight: var(--font-weight-medium);
}

/* Пометка «шаблон» (задание M6-1) — Legal:Reviewed её выключает, см. Views/Legal/_TemplateNotice.cshtml */

.legal__template-notice {
  margin: 0 0 var(--space-6);
  padding: var(--space-3) var(--space-4);
  background: var(--surface);
  border: var(--line-width) solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: var(--radius-sm);
  font-size: var(--text-small);
  color: var(--ink-soft);
}

/* Реквизиты оператора внизу документа — Views/Legal/_Requisites.cshtml */

.legal__requisites {
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: var(--line-width) solid var(--line);
}

.legal__requisites dl {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: var(--space-2) var(--space-4);
  margin: 0;
}

.legal__requisites dt {
  color: var(--ink-soft);
}

.legal__requisites dd {
  margin: 0;
}

@media (max-width: 30rem) {
  /* 480px — реквизиты в две колонки не помещаются рядом с длинными значениями на телефоне */
  .legal__requisites dl {
    grid-template-columns: 1fr;
  }

  .legal__requisites dt {
    margin-top: var(--space-3);
  }
}

/* /source — архив недоступен при обычном dotnet run без Docker-сборки (задание M6-1) */

.legal__unavailable .btn {
  margin-bottom: var(--space-2);
}
