/* Юридические страницы (политика, условия, оферта). Подключается после styles.css и blog.css.
   Текст оформляется общим .prose из blog.css */

body {
  background: var(--pure-white);
}

/* ---------- Шапка документа ---------- */
.legal-head {
  padding-top: calc(var(--header-height) + clamp(48px, 6vw, 112px));
}
.legal-eyebrow {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sunset-blaze);
}
.legal-title {
  max-width: 14em;
  margin-top: 20px;
  font-size: var(--fs-hero);
  font-weight: 600;
  line-height: 1.12;
  text-wrap: balance;
}
.legal-lead {
  max-width: 34em;
  margin-top: 24px;
  font-size: var(--fs-sub);
  line-height: 1.5;
  color: var(--graphite-grey);
}
.legal-updated {
  display: inline-block;
  height: 36px;
  margin-top: 28px;
  padding: 0 16px;
  line-height: 36px;
  border-radius: 999px;
  font-size: 14px;
  color: var(--graphite-grey);
  background: var(--mist-sand);
}

/* ---------- Ширина документа: 960px по центру ---------- */
.legal-wrap {
  max-width: 960px;
  margin-inline: auto;
}

/* Нумерация разделов (в WordPress редактор не вводит номера руками) */
.legal-doc--numbered {
  counter-reset: legal-sec;
}
.legal-doc--numbered h2::before {
  counter-increment: legal-sec;
  content: counter(legal-sec) ". ";
}

/* ---------- Текст и содержание справа ---------- */
.legal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: clamp(32px, 5vw, 72px);
  margin-top: clamp(40px, 4vw, 72px);
  padding-top: clamp(32px, 3vw, 48px);
  border-top: 1px solid rgb(var(--obsidian-rgb) / 0.1);
}
.legal-layout--single {
  grid-template-columns: minmax(0, 1fr);
}
.legal-doc h2 {
  font-size: clamp(22px, 1.8vw, 28px);
  font-weight: 600;
  line-height: 1.25;
}
.legal-doc > :first-child {
  margin-top: 0;
}
.legal-doc > h2:first-child {
  margin-top: 0;
}
.legal-toc {
  position: sticky;
  top: calc(var(--header-height) + 32px);
  align-self: start;
  order: 2;
}
.legal-toc .toc a {
  font-size: 13px;
}

/* Таблица */
.table-wrap {
  overflow-x: auto;
  border: 1px solid rgb(var(--obsidian-rgb) / 0.1);
  border-radius: var(--radius-card);
}
.prose table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: 0.9em;
  line-height: 1.45;
}
.prose th,
.prose td {
  padding: 16px 20px;
  text-align: left;
  vertical-align: top;
}
.prose th {
  font-size: 0.8em;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--graphite-grey);
  background: var(--mist-sand);
}
.prose td + td,
.prose th + th {
  border-left: 1px solid rgb(var(--obsidian-rgb) / 0.08);
}
.prose tbody tr + tr td {
  border-top: 1px solid rgb(var(--obsidian-rgb) / 0.08);
}

/* Врезка «Коротко» */
.callout {
  padding: 22px;
  border-radius: var(--radius-card);
  background: var(--mist-sand);
}
.callout__title {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--sunset-shade-80);
}
.callout p + p {
  margin-top: 8px;
}

/* Блок «Остались вопросы» */
.legal-contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: clamp(48px, 5vw, 80px);
  margin-bottom: var(--section-py);
  padding: clamp(24px, 3vw, 40px);
  border-radius: var(--radius-photo);
  background: var(--mist-sand);
}
.legal-contact__title {
  font-size: var(--fs-card-title);
  font-weight: 600;
  line-height: 1.2;
}
.legal-contact__text {
  margin-top: 8px;
  color: var(--graphite-grey);
}

/* Футер без блока заявки: убираем верхний отступ градиентной подложки */
.finale {
  padding-top: 0;
}
.finale .footer {
  padding-top: clamp(64px, 8vw, 120px);
}

@media (max-width: 900px) {
  .legal-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .legal-toc {
    display: none;
  }
  .legal-contact {
    flex-direction: column;
    align-items: stretch;
  }
  .legal-contact .btn {
    width: 100%;
  }
  .prose th,
  .prose td {
    padding: 14px 16px;
  }
}
