/* legal.css — páginas legales Vecta Digital (RGPD / LSSI-CE)
   Depende de los tokens de vecta.css. Diseño sobrio, lectura larga. */

.legal{ position:relative; }

/* ---------- Cabecera ---------- */
.legal-hero{ padding:clamp(112px,15vh,180px) 0 clamp(30px,4vw,48px); position:relative; }
.legal-hero::after{ content:""; position:absolute; left:var(--gutter); right:var(--gutter); bottom:0; height:1px;
  background:linear-gradient(90deg, var(--border-2), transparent); }
.legal-eyebrow{ font-family:var(--mono); font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--turquesa); display:inline-flex; align-items:center; gap:10px; }
.legal-eyebrow::before{ content:""; width:22px; height:1px; background:var(--turquesa); opacity:.6; }
.legal-hero h1{ font-family:var(--display); font-weight:800; letter-spacing:-.03em; line-height:1.02;
  font-size:clamp(2.3rem,5.5vw,3.6rem); margin:18px 0 14px; color:var(--ink); }
.legal-updated{ font-family:var(--mono); font-size:12.5px; color:var(--muted); letter-spacing:.02em; }

/* nav entre documentos legales */
.legal-nav{ display:flex; flex-wrap:wrap; gap:9px; margin-top:26px; }
.legal-nav a{ font-family:var(--mono); font-size:12px; letter-spacing:.02em; color:var(--muted);
  padding:8px 14px; border:1px solid var(--border-2); border-radius:var(--r-pill);
  transition:color .25s, border-color .25s, background-color .25s; }
.legal-nav a:hover{ color:var(--ink); border-color:color-mix(in srgb,var(--turquesa) 45%, transparent); }
.legal-nav a[aria-current="page"]{ color:#001b16; background:var(--turquesa-2); border-color:var(--turquesa-2); font-weight:600; }

/* ---------- Cuerpo ---------- */
.legal-body{ max-width:74ch; margin-inline:auto; padding-block:clamp(30px,4vw,52px) clamp(70px,9vw,120px); }
.legal-body section{ margin-bottom:clamp(30px,4vw,46px); scroll-margin-top:100px; }
.legal-body h2{ font-family:var(--display); font-weight:700; letter-spacing:-.02em; color:var(--ink);
  font-size:clamp(1.28rem,2.6vw,1.6rem); line-height:1.2; margin-bottom:16px;
  display:flex; gap:14px; align-items:baseline; }
.legal-body h2 .n{ font-family:var(--mono); font-size:13px; font-weight:600; color:var(--turquesa);
  flex-shrink:0; min-width:2.2ch; letter-spacing:0; transform:translateY(-1px); }
.legal-body h3{ font-family:var(--display); font-weight:600; color:var(--ink);
  font-size:1.02rem; margin:26px 0 10px; }
.legal-body p{ color:var(--text); line-height:1.8; font-size:15.5px; margin-bottom:14px; }
.legal-body ul{ list-style:none; margin:6px 0 16px; padding:0; }
.legal-body li{ position:relative; color:var(--text); line-height:1.75; font-size:15.5px;
  padding-left:22px; margin-bottom:10px; }
.legal-body li::before{ content:""; position:absolute; left:2px; top:.72em; width:6px; height:6px;
  border-radius:2px; background:var(--turquesa); opacity:.75; }
.legal-body strong{ color:var(--ink); font-weight:600; }
.legal-body a{ color:var(--turquesa-2); text-decoration:none; border-bottom:1px solid color-mix(in srgb,var(--turquesa-2) 40%, transparent);
  transition:border-color .2s, color .2s; word-break:break-word; }
.legal-body a:hover{ color:var(--ink); border-color:var(--ink); }

/* ficha de datos del titular */
.legal-card{ background:var(--card); border:1px solid var(--border); border-radius:var(--r-md);
  padding:20px 22px; margin:4px 0 18px; }
.legal-card ul{ margin:0; }
.legal-card li{ padding-left:0; }
.legal-card li::before{ display:none; }
.legal-card li{ display:flex; gap:12px; font-size:14.5px; padding:7px 0; border-bottom:1px solid var(--border); }
.legal-card li:last-child{ border-bottom:0; }
.legal-card li b{ color:var(--muted); font-family:var(--mono); font-size:12px; letter-spacing:.03em;
  text-transform:uppercase; min-width:130px; flex-shrink:0; padding-top:2px; }

/* callout (aviso "no es asesoría" / eliminación de datos) */
.legal-callout{ background:linear-gradient(180deg, var(--turquesa-dim), transparent);
  border:1px solid color-mix(in srgb,var(--turquesa) 30%, transparent); border-radius:var(--r-md);
  padding:20px 22px; margin:20px 0; }
.legal-callout p{ margin-bottom:8px; }
.legal-callout p:last-child{ margin-bottom:0; }

/* nota final de revisión */
.legal-foot-note{ margin-top:40px; padding-top:20px; border-top:1px solid var(--border);
  font-size:13px; color:var(--muted); line-height:1.7; }

@media (max-width:640px){
  .legal-body h2{ gap:10px; }
  .legal-card li{ flex-direction:column; gap:2px; }
  .legal-card li b{ min-width:0; }
}
