/* ---------------------------------------------------------------------
   Páginas legales: aviso legal, condiciones de contratación, privacidad
   y cookies, en /avis-legal/ (ca), /aviso-legal/ (es) y /en/legal-notice/.

   Hoja aparte y no un <style> en línea: la comparten las tres, y una CSP
   que prohíba estilos en línea no la tumba (le pasó a la página legal de
   Cal Vidal el 2026-09-23).
   --------------------------------------------------------------------- */

/* style.css empuja el <main> con un margen enorme para la portada fija;
   aquí no hay portada, así que lo anulamos como hace el 404. */
.legal {
  margin-top: 0;
  max-width: 760px;
  margin-inline: auto;
  padding: 3rem 1.5rem 4rem;
}

.legal-cabecera {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  text-align: center;
  margin: 0 0 2.5rem;
}
.legal .logo-home { display: inline-block; line-height: 0; }
.logo-portada { display: block; width: clamp(170px, 45vw, 220px); height: auto; }

/* Con .legal delante: si no, `.legal a` (más abajo, misma especificidad)
   pintaba en azul los idiomas no activos, y en /contratar salen en gris. */
.idiomes { display: flex; gap: 1rem; font-family: var(--mono); font-size: .82rem; letter-spacing: .1em; }
.legal .idiomes a { color: var(--dim); padding: .15rem .1rem; }
.legal .idiomes a:hover, .legal .idiomes a:focus-visible { color: var(--accent); }
.legal .idiomes a[aria-current="true"] { color: var(--ink); box-shadow: inset 0 -1px 0 var(--accent); }

.legal h1 {
  margin: 0;
  font-size: clamp(1.6rem, 5vw, 2.3rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
}
.legal .actualizado { margin: 0; color: var(--dim); font-size: .85rem; }

.legal .indice {
  background: var(--panel);
  border: 1px solid rgba(242, 245, 244, .08);
  border-radius: 16px;
  padding: 1.1rem 1.4rem;
  margin: 0 0 2.5rem;
}
.legal .indice ol { margin: 0; padding-left: 1.2rem; display: grid; gap: .35rem; }
.legal .indice a { color: var(--ink); }
.legal .indice a:hover { color: var(--accent); }

.legal section { scroll-margin-top: 1.5rem; }
.legal h2 { margin: 2.8rem 0 1rem; font-size: 1.4rem; font-weight: 700; letter-spacing: -.01em; }
.legal h3 { margin: 1.8rem 0 .6rem; font-size: 1.05rem; font-weight: 600; }
.legal p, .legal li { color: var(--dim); line-height: 1.7; }
.legal ul { padding-left: 1.2rem; display: grid; gap: .5rem; }
.legal strong { color: var(--ink); font-weight: 600; }
.legal a { color: var(--accent); }

/* Los datos del titular (LSSI-CE art. 10), en una ficha. */
.legal .titular {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: .5rem 1.4rem;
  margin: 1.2rem 0 0;
  padding: 1.2rem 1.4rem;
  background: var(--panel);
  border: 1px solid rgba(242, 245, 244, .08);
  border-radius: 16px;
}
.legal .titular dt { color: var(--ink); font-weight: 600; }
.legal .titular dd { margin: 0; color: var(--dim); }
@media (max-width: 520px) {
  .legal .titular { grid-template-columns: 1fr; gap: .1rem; }
  .legal .titular dd { margin-bottom: .6rem; }
}
