/* =========================================================
   Páginas legales y de contacto.
   Depende de los tokens de styles.css.
   ========================================================= */

.pg-legal{background:var(--navy-900);color:var(--on-dark);min-height:100vh;display:flex;flex-direction:column}

/* ---------- Header ---------- */
.lg-header{border-bottom:1px solid var(--navy-line);background:rgba(6,13,25,.92);position:sticky;top:0;z-index:50}
.lg-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;flex-wrap:wrap}
.lg-header .logo{color:var(--on-dark)}
.lg-back{font-size:.875rem;color:var(--on-dark-2);transition:color .16s var(--ease)}
.lg-back:hover{color:var(--em-300)}

/* ---------- Cuerpo ---------- */
.lg-main{flex:1;padding-block:clamp(2.5rem,6vw,4.5rem)}
.lg-wrap{width:100%;max-width:760px;margin-inline:auto;padding-inline:var(--gut)}

.lg-eyebrow{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--em-400);margin-bottom:.9rem;
}
.lg-title{font-size:clamp(1.8rem,1.4rem + 2vw,2.6rem);font-weight:800;letter-spacing:-.03em}
.lg-meta{margin-top:1rem;font-size:.8125rem;color:var(--on-dark-3);font-family:"JetBrains Mono",ui-monospace,monospace}

/* Índice */
.lg-toc{
  margin-top:2.25rem;padding:1.35rem 1.5rem;
  border:1px solid var(--navy-line);border-radius:var(--r-lg);
  background:rgba(255,255,255,.025);
}
.lg-toc p{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--on-dark-3);font-weight:700;margin-bottom:.85rem}
.lg-toc ol{display:grid;gap:.5rem;counter-reset:toc}
.lg-toc li{counter-increment:toc}
.lg-toc a{
  font-size:.9rem;color:var(--on-dark-2);
  display:inline-flex;gap:.6rem;transition:color .16s var(--ease);
}
.lg-toc a::before{content:counter(toc) ".";color:var(--em-400);font-variant-numeric:tabular-nums;min-width:1.4rem}
.lg-toc a:hover{color:var(--em-300)}

/* Prosa */
.lg-prosa{margin-top:3rem}
.lg-prosa section{scroll-margin-top:88px;padding-top:2.5rem}
.lg-prosa section:first-child{padding-top:0}
.lg-prosa h2{
  font-size:clamp(1.15rem,1.05rem + .6vw,1.4rem);font-weight:750;
  color:var(--on-dark);letter-spacing:-.02em;
  padding-bottom:.75rem;border-bottom:1px solid var(--navy-line);
}
.lg-prosa h2 .num{color:var(--em-400);font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.85em;margin-right:.6rem}
.lg-prosa h3{font-size:1rem;font-weight:700;color:var(--on-dark);margin-top:1.75rem}
.lg-prosa p{margin-top:1rem;color:var(--on-dark-2);font-size:.9375rem;line-height:1.75}
.lg-prosa ul,.lg-prosa ol{margin-top:1rem;display:grid;gap:.6rem}
.lg-prosa li{
  position:relative;padding-left:1.35rem;
  color:var(--on-dark-2);font-size:.9375rem;line-height:1.7;
}
.lg-prosa ul li::before{content:"";position:absolute;left:.2rem;top:.72rem;width:5px;height:5px;border-radius:50%;background:var(--em-500)}
.lg-prosa ol{counter-reset:li}
.lg-prosa ol li{counter-increment:li;padding-left:1.8rem}
.lg-prosa ol li::before{
  content:counter(li) ".";position:absolute;left:0;top:0;
  color:var(--em-400);font-weight:600;font-variant-numeric:tabular-nums;
}
.lg-prosa strong{color:var(--on-dark);font-weight:650}
.lg-prosa a{color:var(--em-300);text-decoration:underline;text-underline-offset:2px}
.lg-prosa a:hover{color:var(--em-400)}

/* Bloque destacado */
.lg-nota{
  margin-top:1.5rem;padding:1.15rem 1.35rem;
  border-left:3px solid var(--em-500);border-radius:0 var(--r-sm) var(--r-sm) 0;
  background:rgba(16,185,129,.06);
}
.lg-nota p{margin-top:0;color:var(--on-dark)}
.lg-nota p + p{margin-top:.75rem}

.lg-aviso{
  margin-top:1.5rem;padding:1.15rem 1.35rem;
  border-left:3px solid var(--amber);border-radius:0 var(--r-sm) var(--r-sm) 0;
  background:rgba(245,165,36,.07);
}
.lg-aviso p{margin-top:0;color:var(--on-dark)}

/* Marcador de dato pendiente de completar */
.lg-pendiente{
  background:rgba(245,165,36,.18);color:var(--amber);
  border:1px dashed rgba(245,165,36,.5);border-radius:4px;
  padding:.1rem .4rem;font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.85em;font-weight:600;
}

/* Tabla */
.lg-tabla-wrap{margin-top:1.25rem;overflow-x:auto;border:1px solid var(--navy-line);border-radius:var(--r-md)}
.lg-tabla{min-width:460px;font-size:.875rem}
.lg-tabla th,.lg-tabla td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--navy-line);vertical-align:top}
.lg-tabla thead th{
  font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;
  color:var(--on-dark-3);background:var(--navy-700);font-weight:650;
}
.lg-tabla td{color:var(--on-dark-2);line-height:1.6}
.lg-tabla tbody tr:last-child td{border-bottom:0}

/* Datos de la empresa */
.lg-datos{
  margin-top:2rem;padding:1.35rem 1.5rem;
  border:1px solid var(--navy-line);border-radius:var(--r-lg);
  background:rgba(255,255,255,.02);
  display:grid;gap:.6rem;
}
.lg-datos dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--on-dark-3);font-weight:650}
.lg-datos dd{margin:0 0 .5rem;font-size:.9375rem;color:var(--on-dark)}
.lg-datos dd:last-child{margin-bottom:0}

/* ---------- Contacto ---------- */
.ct-grid{display:grid;gap:clamp(2rem,4vw,3rem);align-items:start;margin-top:2.75rem}
@media (min-width:900px){.ct-grid{grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}}

.ct-canales{display:grid;gap:1rem}
.ct-canal{
  display:flex;gap:1rem;align-items:flex-start;
  padding:1.35rem;border:1px solid var(--navy-line);border-radius:var(--r-lg);
  background:rgba(255,255,255,.025);
  transition:border-color .18s var(--ease),transform .18s var(--ease);
}
.ct-canal:hover{border-color:rgba(16,185,129,.4);transform:translateY(-1px)}
.ct-canal-ico{
  flex:none;display:grid;place-items:center;width:40px;height:40px;
  border-radius:11px;background:rgba(16,185,129,.12);color:var(--em-300);
}
.ct-canal h2{font-size:1rem;font-weight:700;color:var(--on-dark)}
.ct-canal p{margin-top:.35rem;font-size:.875rem;color:var(--on-dark-2);line-height:1.6}
.ct-canal a{display:inline-block;margin-top:.6rem;font-size:.9375rem;font-weight:650;color:var(--em-300);text-decoration:underline;text-underline-offset:3px}
.ct-canal a:hover{color:var(--em-400)}
.ct-tiempo{
  display:inline-block;margin-top:.65rem;
  font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.7rem;
  color:var(--on-dark-3);border:1px solid var(--navy-line);
  border-radius:999px;padding:.2rem .6rem;
}

/* Formulario (reusa .field de checkout.css) */
.ct-form-card{
  padding:clamp(1.5rem,3.5vw,2rem);
  border:1px solid var(--navy-line);border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
}
.ct-form-card h2{font-size:1.15rem;font-weight:750;color:var(--on-dark)}
.ct-form-card > p{margin-top:.5rem;font-size:.875rem;color:var(--on-dark-2)}
.ct-form{margin-top:1.5rem;display:grid;gap:1.1rem}
.ct-form textarea{
  width:100%;padding:.8rem .95rem;font:inherit;font-size:1rem;
  color:var(--on-dark);background:rgba(255,255,255,.04);
  border:1px solid var(--navy-line);border-radius:var(--r-md);
  min-height:130px;resize:vertical;line-height:1.6;
  transition:border-color .16s var(--ease),box-shadow .16s var(--ease);
}
.ct-form textarea::placeholder{color:var(--on-dark-3)}
.ct-form textarea:focus{
  outline:none;border-color:var(--em-500);background:rgba(255,255,255,.06);
  box-shadow:0 0 0 3px rgba(16,185,129,.18);
}
.ct-form textarea[aria-invalid="true"]{border-color:#E5484D;box-shadow:0 0 0 3px rgba(229,72,77,.16)}

.ct-ok{
  padding:1.15rem 1.35rem;border-radius:var(--r-md);
  background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.35);
  color:var(--em-300);font-size:.9375rem;line-height:1.6;
}
.ct-ok strong{display:block;color:var(--on-dark);margin-bottom:.3rem}

/* ---------- Footer ---------- */
.lg-footer{border-top:1px solid var(--navy-line);padding-block:2rem;margin-top:auto;background:var(--navy-850)}
.lg-footer-nav{display:flex;flex-wrap:wrap;gap:.65rem 1.4rem;justify-content:center}
.lg-footer-nav a{font-size:.8125rem;color:var(--on-dark-2);transition:color .16s var(--ease)}
.lg-footer-nav a:hover{color:var(--em-300)}
.lg-footer-legal{margin-top:1.25rem;text-align:center;font-size:.78rem;color:var(--on-dark-3);line-height:1.7}
