/* =============================================================================
   QUANTIVA — legal.css
   Estilos para las páginas legales (Privacidad, Aviso Legal, Cookies).
   Se carga después de styles.css + pages.css y reutiliza sus tokens.
   ========================================================================== */

.legal-body { background: var(--surface); }

.legal-main { padding: clamp(40px, 6vw, 72px) 0 clamp(60px, 9vw, 110px); }

.legal-wrap { max-width: 820px; margin-inline: auto; }

.legal-intro { color: var(--text-soft); font-size: 1.05rem; margin-bottom: 8px; }

.legal-updated {
  display: inline-block; margin-top: 10px;
  font-size: 0.82rem; font-weight: 600; color: var(--azul);
  background: var(--azul-soft); border: 1px solid rgba(18,125,255,0.18);
  padding: 5px 13px; border-radius: var(--radius-pill);
}

.legal-content { margin-top: clamp(32px, 4vw, 48px); font-size: 1.05rem; line-height: 1.75; color: var(--text-soft); }
.legal-content > * + * { margin-top: 1.2em; }
.legal-content h2 {
  color: var(--text); font-size: clamp(1.3rem, 2.6vw, 1.6rem); letter-spacing: -0.02em;
  margin-top: 1.8em; padding-top: 0.2em; line-height: 1.25; scroll-margin-top: 100px;
}
.legal-content h2:first-of-type { margin-top: 0; }
.legal-content h3 { color: var(--text); font-size: 1.15rem; margin-top: 1.4em; }
.legal-content strong { color: var(--text); font-weight: 700; }
.legal-content a { color: var(--azul); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.legal-content ul, .legal-content ol { padding-left: 4px; display: grid; gap: 11px; margin-top: 0.8em; }
.legal-content ul li, .legal-content ol li { display: flex; gap: 13px; align-items: flex-start; }
.legal-content ul li::before {
  content: ""; flex: none; width: 8px; height: 8px; margin-top: 0.6em; border-radius: 50%;
  background: var(--azul); box-shadow: 0 0 0 4px var(--azul-soft);
}
.legal-content ol { counter-reset: li; }
.legal-content ol li { counter-increment: li; }
.legal-content ol li::before {
  content: counter(li); flex: none; width: 24px; height: 24px; margin-top: 1px; border-radius: 50%;
  background: var(--azul); color: #fff; font-size: 0.78rem; font-weight: 800;
  display: grid; place-items: center;
}

/* Tarjeta de datos del responsable */
.legal-card {
  background: var(--gris-50); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 22px 26px; display: grid; gap: 8px;
}
.legal-card .row { display: flex; gap: 10px; flex-wrap: wrap; }
.legal-card .row b { color: var(--text); min-width: 130px; }

.legal-note {
  margin-top: 2.4em; padding-top: 1.4em; border-top: 1px solid var(--border);
  font-size: 0.92rem; color: var(--text-soft);
}
