/* Páginas legales (aviso legal, privacidad, cookies). Antes iba en un <style> en cada página. */
.legal { width: 760px; max-width: 100%; margin: 0 auto; display: block; text-align: left; padding: 120px 24px 96px; }
.legal__volver { display: inline-flex; align-items: center; gap: 8px; font-family: var(--titular); font-size: 15px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 48px; }
.legal__volver .isotipo { width: 22px; height: 22px; }
.legal h1 { margin-bottom: 12px; }
.legal .fecha { font-size: 14px; color: var(--suave); margin-bottom: 40px; }
.legal h2 { font-family: var(--titular); font-size: 22px; font-weight: 700; letter-spacing: -0.02em; margin: 40px 0 12px; }
.legal p, .legal li { font-size: 16px; line-height: 1.6; color: var(--texto); }
.legal p + p { margin-top: 12px; }
.legal ul { padding-left: 20px; margin-top: 8px; list-style: disc; }
.legal p a, .legal li a { text-decoration: underline; }
.legal h1, .legal h2 { text-align: left; }
.legal__pie { margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--linea); display: flex; gap: 20px; flex-wrap: wrap; font-size: 14px; }
@media (max-width: 640px) { .legal { padding-top: 64px; } .legal h1 { font-size: 38px; } }

/* Página 404 (404.html): misma cabecera que la portada, sin el menú desplegable del móvil */
.error404 { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 120px 24px 80px; text-align: center; }
.error404 .t-entradilla { max-width: 520px; }
.error404__codigo { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--suave); }
.error404__acciones { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }
@media (max-width: 809.98px) {
  .nav--404 .nav__enlaces { display: none; }
  .error404 { padding-top: 96px; }
  .error404 .t-h2 { font-size: 38px; }
}
