/*
  Plantilla común de las 4 páginas legales (privacidad, aviso legal,
  accesibilidad, cookies). Cabecera sin foto (variante de page-intro)
  + cuerpo de texto a una columna, con tabla de cookies y aviso de
  contacto reutilizables.

  <header class="page-intro legal-intro">
    <div class="container page-intro__text">
      <h1 class="page-intro__title">…</h1>
      <p class="lead page-intro__lead">Última actualización: <time datetime="…">…</time></p>
    </div>
  </header>

  <section class="section legal-content">
    <div class="container legal-content__body">
      <h2>…</h2>
      <p>…</p>
    </div>
  </section>

  Tabla de cookies (legal-cookies):
  <div class="legal-table-wrap">
    <table class="legal-table">…</table>
  </div>

  Vía de contacto (legal-accesibilidad):
  <div class="legal-contact">…</div>
*/

/* La cabecera legal no lleva foto: se recorta el hueco que page-intro
   reserva para la media en escritorio */
.legal-intro {
  padding-bottom: var(--padding-10);
}

@media (min-width: 1280px) {
  .legal-intro .page-intro__text {
    padding-bottom: 0;
  }
}

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

.legal-content__body h2 {
  margin-top: var(--padding-10);
}

.legal-content__body h2:first-child {
  margin-top: 0;
}

.legal-content__body h3 {
  margin-top: var(--padding-6);
}

.legal-content__body p + h2,
.legal-content__body ul + h2,
.legal-content__body p + h3,
.legal-content__body ul + h3 {
  margin-top: var(--padding-10);
}

.legal-content__body ul {
  display: grid;
  gap: var(--gap-2);
  padding-left: 1.25em;
}

.legal-content__body > * + * {
  margin-top: var(--padding-4);
}

/* ---------- Tabla de cookies técnicas (RN-M6-04) ---------- */

.legal-table-wrap {
  overflow-x: auto;
  margin-top: var(--padding-4);
  border: 1px solid var(--rule);
  border-radius: var(--border-radius-md);
}

.legal-table {
  width: 100%;
  min-width: 36rem;
  border-collapse: collapse;
  font-size: var(--font-size-3);
  line-height: var(--line-height-7);
}

.legal-table caption {
  text-align: left;
  padding: var(--padding-3) var(--padding-4);
  font-weight: var(--font-weight-semibold);
  border-bottom: 1px solid var(--rule);
}

.legal-table th,
.legal-table td {
  padding: var(--padding-3) var(--padding-4);
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--rule);
}

.legal-table tbody tr:last-child th,
.legal-table tbody tr:last-child td {
  border-bottom: none;
}

.legal-table thead th {
  font-weight: var(--font-weight-semibold);
  background: var(--gray-50);
}

/* ---------- Vía para comunicar problemas de accesibilidad ---------- */

.legal-contact {
  padding: var(--padding-6);
  border: 1px solid var(--rule);
  border-radius: var(--border-radius-md);
  background: var(--gray-50);
}

.legal-contact h2 {
  margin-top: 0;
}

.legal-contact > * + * {
  margin-top: var(--padding-3);
}
