/* ============================================================
   PREMIUM LAB EC — Páginas legales
   ============================================================ */

.legal{
  display:grid;
  grid-template-columns:250px 1fr;
  gap:clamp(28px,4.4vw,var(--s8));
  align-items:start;
  padding-bottom:clamp(56px,7vw,var(--s9));
}

/* ---------- Navegación lateral ---------- */
.lnav{position:sticky;top:calc(var(--header-h) + 20px)}
.lnav__t{
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted-2);margin-bottom:var(--s4);
}
.lnav ul{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
/* acotado a la lista: si no, pisa el botón de .lnav__help */
.lnav ul a{
  display:block;background:var(--paper);
  padding:14px 16px;font-size:14px;
  color:var(--muted);
  transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),padding-left var(--t-fast) var(--ease);
}
.lnav ul a:hover{background:var(--paper-2);color:var(--ink);padding-left:20px}
.lnav ul a.is-on{background:var(--ink);color:var(--paper);font-weight:700}

.lnav__help{
  margin-top:var(--s5);padding:var(--s5);
  border:1px dashed var(--line);border-radius:var(--r-md);
}
.lnav__help p{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:var(--s4)}

/* ---------- Documento ---------- */
.ldoc{max-width:76ch}
.ldoc__head{padding-bottom:var(--s6);margin-bottom:var(--s6);border-bottom:1px solid var(--line)}
.ldoc__head h1{font-size:clamp(30px,3.8vw,50px);letter-spacing:-0.042em;line-height:1.05;margin:var(--s4) 0 var(--s5)}
.ldoc__date{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);
  display:block;margin-top:var(--s5);
}

.lsec{padding-block:var(--s6);border-bottom:1px solid var(--line-soft)}
.lsec:last-child{border-bottom:0}
.lsec h2{
  font-size:clamp(18px,1.9vw,23px);letter-spacing:-0.028em;line-height:1.25;
  margin-bottom:var(--s4);
}
.lsec p{font-size:15.5px;line-height:1.7;color:var(--muted);margin-bottom:var(--s4)}
.lsec p:last-child{margin-bottom:0}
.lsec b{color:var(--ink);font-weight:700}
.lsec a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.lsec a:hover{text-decoration-thickness:2px}

.lsec ul{display:flex;flex-direction:column;gap:11px;margin-bottom:var(--s4)}
.lsec ul li{
  position:relative;padding-left:22px;
  font-size:15.5px;line-height:1.65;color:var(--muted);
}
.lsec ul li::before{
  content:'';position:absolute;left:2px;top:10px;
  width:6px;height:6px;border-radius:50%;background:var(--ink-40);
}

.lsec ol{counter-reset:s;display:flex;flex-direction:column;gap:13px;margin-bottom:var(--s4)}
.lsec ol li{
  counter-increment:s;position:relative;padding-left:38px;
  font-size:15.5px;line-height:1.65;color:var(--muted);
}
.lsec ol li::before{
  content:counter(s);
  position:absolute;left:0;top:0;
  width:25px;height:25px;border-radius:var(--r-pill);
  background:var(--ink);color:var(--paper);
  display:grid;place-items:center;
  font-family:var(--font-mono);font-size:11px;
}

/* Bloque destacado */
.lsec--imp{
  background:var(--paper);
  border:1px solid var(--line);
  border-left:3px solid var(--ink);
  border-radius:var(--r-md);
  padding:var(--s6);
  margin-block:var(--s5);
}
.lsec--imp:last-child{border-bottom:1px solid var(--line)}

/* Marcador de dato pendiente */
.todo{
  background:#FFF4CE;
  border-bottom:1.5px solid #E0B400;
  padding:1px 5px;border-radius:3px;
  font-weight:700;color:var(--ink);
  white-space:nowrap;
}

/* Aviso de borrador */
.draft{
  display:flex;gap:14px;align-items:flex-start;
  background:#FFF9E6;
  border:1px solid #E8D48A;
  border-radius:var(--r-md);
  padding:var(--s5);
  margin-bottom:var(--s6);
}
.draft svg{flex:none;margin-top:1px;color:#A67C00}
.draft p{font-size:13.5px;line-height:1.6;color:#5C4700;margin:0}
.draft b{color:#3D2F00}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .legal{grid-template-columns:1fr;gap:var(--s6)}
  .lnav{position:static}
  .lnav ul{flex-direction:row;flex-wrap:wrap;gap:8px;background:none;border:0;border-radius:0}
  .lnav a{
    border:1.5px solid var(--line);border-radius:var(--r-pill);
    padding:10px 16px;font-size:13px;white-space:nowrap;
  }
  .lnav a:hover{padding-left:16px}
  .lnav__help{display:none}
}
