/* ============================================================
   legal-moderno.css — páginas de texto: aviso-de-privacidad,
   aviso-legal y 404. Una sola hoja para las tres porque comparten
   el mismo formato de lectura.
   ============================================================ */

/* ---------- Texto legal ---------- */
.legal{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;}
@media (min-width:1024px){.legal{grid-template-columns:15rem minmax(0,1fr);gap:4.5rem;align-items:start;}}
.legal-toc{
  padding:1.25rem 1.4rem;border-radius:var(--r-card,22px);background:var(--white);border:1px solid var(--line-soft);
}
@media (min-width:1024px){.legal-toc{position:sticky;top:6.5rem;}}
.legal-toc-head{font-size:13px;font-weight:var(--fw-x,800);color:var(--ink);}
.legal-toc ol{list-style:decimal;margin:.75rem 0 0;padding:0 0 0 1.1rem;display:flex;flex-direction:column;gap:.45rem;}
.legal-toc li{font-size:14px;color:rgba(7,28,52,.5);font-variant-numeric:tabular-nums;}
.legal-toc a{color:rgba(7,28,52,.75);font-weight:600;transition:color .2s cubic-bezier(.23,1,.32,1);}
.legal-toc a:hover{color:var(--blue);}

.legal-body{max-width:70ch;}
.legal-body h2{
  scroll-margin-top:6.5rem;margin-top:2.75rem;
  font-size:clamp(1.3rem,2vw,1.6rem);font-weight:var(--fw-x,800);line-height:1.2;letter-spacing:-.03em;color:var(--ink);
}
.legal-body h2:first-of-type{margin-top:2rem;}
.legal-body p,.legal-body li{font-size:15.5px;line-height:1.75;color:rgba(7,28,52,.76);}
.legal-body p{margin-top:.9rem;}
.legal-body ul{margin:.9rem 0 0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.5rem;}
.legal-body li::marker{color:var(--blue);}
.legal-body strong{color:var(--ink);font-weight:700;}
.legal-body a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(0,65,127,.35);}
.legal-body a:hover{text-decoration-color:var(--blue);}
.legal-draft{
  margin-top:0 !important;padding:1rem 1.15rem;border-radius:var(--r-inner,16px);
  background:rgba(255,199,44,.16);border:1px solid rgba(255,199,44,.6);
  font-size:14px !important;font-weight:600;color:var(--ink) !important;
}
.legal-date{font-size:13.5px !important;font-weight:600;color:rgba(7,28,52,.55) !important;}
mark.pend{background:rgba(255,199,44,.45);color:var(--ink);padding:0 .3em;border-radius:5px;font-weight:700;}
.legal-inline-btn{
  display:inline-flex;align-items:center;height:2rem;padding:0 .8rem;border-radius:var(--r-pill,99px);vertical-align:baseline;
  background:var(--ink);color:#fff;font-size:13.5px;font-weight:700;
  transition:background-color .2s cubic-bezier(.23,1,.32,1);
}
.legal-inline-btn:hover{background:var(--blue);}

/* ---------- 404 ---------- */
.nf{min-height:min(100dvh,56rem);display:flex;align-items:center;}
.nf > div{width:100%;}
.nf-code{
  font-size:clamp(5rem,14vw,10rem);font-weight:var(--fw-x,800);line-height:.85;letter-spacing:-.06em;
  color:rgba(255,199,44,.1);-webkit-text-stroke:2px rgba(255,199,44,.55);font-variant-numeric:tabular-nums;
}
.nf-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem;}
.nf-link{
  display:inline-flex;align-items:center;gap:.5rem;height:2.75rem;padding:0 1.1rem 0 .9rem;border-radius:var(--r-pill,99px);
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);
  font-size:14px;font-weight:700;color:#fff;
  transition:background-color .2s cubic-bezier(.23,1,.32,1),border-color .2s cubic-bezier(.23,1,.32,1);
}
.nf-link:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4);}
.nf-link .material-symbols-outlined{font-size:19px;color:var(--yellow);}
