/* ============================================================
   Litore Travel — Páginas legales (aviso de privacidad y términos)
   Se apoya en landing.css: aquí sólo va lo propio de un documento
   largo de leer, que la landing no necesita.
   ============================================================ */

.legal-hero {
  padding: calc(var(--header-h) + 56px) 0 40px;
  background: var(--blue-wash);
  border-bottom: 1px solid var(--line);
}
.legal-hero h1 { margin: 0 0 10px; color: var(--navy); font-size: clamp(28px, 4vw, 40px); }
.legal-hero p  { margin: 0; color: var(--body); max-width: 62ch; }
.legal-hero .actualizado {
  display: inline-block;
  margin-top: 18px;
  padding: 5px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--line);
  font-size: 13px;
  color: var(--muted);
}

/* Medida de línea corta: un texto legal se lee de arriba abajo y a 100
   caracteres por renglón nadie llega al final. */
.legal-cuerpo { padding: 48px 0 72px; }
.legal-cuerpo .container { max-width: 78ch; }

.legal-cuerpo h2 {
  margin: 44px 0 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  color: var(--navy);
  font-size: 21px;
  line-height: 1.3;
}
.legal-cuerpo h2:first-of-type { margin-top: 0; border-top: none; padding-top: 0; }
.legal-cuerpo h3 { margin: 26px 0 8px; color: var(--ink); font-size: 16px; }

.legal-cuerpo p,
.legal-cuerpo li { color: var(--body); line-height: 1.75; }
.legal-cuerpo ul, .legal-cuerpo ol { padding-left: 22px; }
.legal-cuerpo li { margin-bottom: 8px; }
.legal-cuerpo a { color: var(--blue); }

.legal-cuerpo dl { margin: 0; }
.legal-cuerpo dt { margin-top: 16px; font-weight: 600; color: var(--ink); }
.legal-cuerpo dd { margin: 4px 0 0; color: var(--body); line-height: 1.7; }

/* Índice de la página, para no hacer scroll a ciegas. */
.legal-indice {
  margin: 0 0 40px;
  padding: 22px 26px;
  background: var(--bg-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.legal-indice h2 { margin: 0 0 12px; border: none; padding: 0; font-size: 15px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.legal-indice ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 32px; }
.legal-indice li { margin-bottom: 6px; break-inside: avoid; }

/* Bloque destacado: lo que el lector no debería pasar por alto. */
.legal-nota {
  margin: 22px 0;
  padding: 18px 22px;
  background: var(--blue-wash);
  border-left: 4px solid var(--blue);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.legal-nota p:last-child { margin-bottom: 0; }

.legal-tabla { width: 100%; border-collapse: collapse; margin: 18px 0; font-size: 15px; }
.legal-tabla th, .legal-tabla td { padding: 11px 14px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.legal-tabla th { background: var(--bg-soft); color: var(--ink); font-weight: 600; }
.legal-tabla tr:last-child td { border-bottom: none; }

/* En un teléfono la tabla se desplaza sola en vez de estirar la página. */
.legal-tabla-caja { overflow-x: auto; }

@media (max-width: 640px) {
  .legal-indice ol { columns: 1; }
}
