/* ──────────────────────────────────────────────────────────────────────────
   Юридические страницы (aviso legal, privacidad, cookies, atención).
   Обычный текстовый макет: без баннера, CTA, карточек врачей и отзывов.
   Подключается вместе с общим pages.css.
   ────────────────────────────────────────────────────────────────────────── */

.legal { padding-block: clamp(2.5rem, 6vw, 5rem); }
.legal-inner { max-width: 44rem; }                 /* читаемая ширина строки */

.legal h1 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 1.2rem + 2.5vw, 3rem);
  font-weight: 300; line-height: 1.05; letter-spacing: -.01em;
  color: var(--color-text);
  margin: .75rem 0 0;
}
.legal h2 {
  font-family: var(--font-display);
  font-size: clamp(1.375rem, 1rem + .9vw, 1.75rem);
  font-weight: 400; line-height: 1.2;
  color: var(--color-text);
  margin: clamp(2rem, 4vw, 2.75rem) 0 .75rem;
}
.legal p, .legal li {
  font-family: var(--font-body);
  font-size: 1.0625rem; line-height: 1.75;
  color: var(--color-text-muted);
}
.legal p { margin: 0 0 1rem; }
.legal ul { margin: 0 0 1rem; padding-left: 1.25rem; }
.legal li { margin-bottom: .5rem; }
.legal strong { color: var(--color-text); font-weight: 500; }
.legal a { color: var(--color-gold-text); text-decoration: underline; text-underline-offset: .2em; }
.legal a:hover { color: var(--color-gold-em); }
.legal a:focus-visible { outline: 2px solid var(--color-gold); outline-offset: 2px; border-radius: 2px; }

/* Пары «поле — значение» в сведениях о центре */
.legal-dl { margin: 0 0 1rem; }
.legal-dl div { display: flex; flex-wrap: wrap; gap: .35rem .75rem; padding: .55rem 0; border-bottom: 1px solid var(--color-divider); }
.legal-dl dt { font-family: var(--font-body); font-size: .9375rem; color: var(--color-text); font-weight: 500; min-width: 15rem; flex: 1 1 15rem; }
.legal-dl dd { font-family: var(--font-body); font-size: 1.0625rem; line-height: 1.6; color: var(--color-text-muted); margin: 0; flex: 2 1 18rem; }

/* Незаполненные данные. Видимые намеренно: публиковать страницу с ними нельзя. */
.todo {
  background: #FBE8A6; color: #5A4500;
  padding: .05em .35em; border-radius: .25em;
  font-family: var(--font-body); font-size: .95em; font-weight: 500;
  box-decoration-break: clone; -webkit-box-decoration-break: clone;
}
[data-theme="dark"] .todo { background: #6B5410; color: #FFF0C2; }

/* Предупреждение о черновике — удаляется перед публикацией */
.legal-draft {
  border: 1px solid #C9A227; border-left-width: 4px;
  background: color-mix(in srgb, #FBE8A6 35%, var(--color-bg));
  border-radius: .5rem; padding: 1rem 1.25rem; margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}
.legal-draft p { margin: 0 0 .5rem; font-size: .9375rem; line-height: 1.65; color: var(--color-text); }
.legal-draft p:last-child { margin-bottom: 0; }
[data-theme="dark"] .legal-draft { background: color-mix(in srgb, #6B5410 30%, var(--color-bg)); }

/* Таблица технологий: на узком экране перестраивается в карточки */
.legal-table-wrap { margin: 0 0 1.25rem; }
/* Подпись таблицы — только для скринридера */
.legal-table caption.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.legal-table { width: 100%; border-collapse: collapse; font-family: var(--font-body); font-size: .9375rem; }
.legal-table th, .legal-table td { text-align: left; vertical-align: top; padding: .7rem .75rem; border-bottom: 1px solid var(--color-divider); line-height: 1.55; }
.legal-table th { font-weight: 500; color: var(--color-text); background: var(--color-surface); }
.legal-table td { color: var(--color-text-muted); }
@media (max-width: 760px) {
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table td { display: block; width: 100%; }
  .legal-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .legal-table tr { border: 1px solid var(--color-divider); border-radius: .5rem; padding: .35rem .25rem; margin-bottom: .75rem; }
  .legal-table td { border: 0; padding: .4rem .75rem; }
  .legal-table td::before { content: attr(data-label) ' · '; color: var(--color-text); font-weight: 500; }
}

.legal-updated { margin-top: clamp(2rem, 4vw, 2.75rem); padding-top: 1rem; border-top: 1px solid var(--color-divider); font-size: .9375rem; }
