/* ============================================================
   Dental Express México — páginas legales
   Documento de lectura larga: medida corta, jerarquía clara,
   y los bloques que importan (datos sensibles, precios, aviso
   médico) destacados sin gritar.
   ============================================================ */

.legal{padding:clamp(38px,6vw,72px) 0 clamp(50px,7vw,90px);background:var(--papel)}
.legal .env{max-width:820px}

.legal-cab{border-bottom:2px solid var(--linea);padding-bottom:26px;margin-bottom:38px}
.legal-cab h1{font-size:clamp(1.9rem,4.2vw,2.9rem);margin-bottom:14px}
.legal-bajada{font-size:1.04rem;color:var(--gris);max-width:64ch;line-height:1.62}
.legal-bajada strong{color:var(--tinta)}
.legal-fecha{
  font-family:var(--mono,var(--tit));font-size:.8rem;color:var(--gris-claro);
  margin-top:14px;font-weight:600;
}

.legal-idioma{display:flex;gap:8px;margin-top:20px}
.li-btn{
  font-family:var(--tit);font-size:.82rem;font-weight:700;text-decoration:none;
  padding:8px 16px;border-radius:7px;border:1.5px solid var(--linea);color:var(--gris);
}
.li-btn:hover{border-color:var(--primario);color:var(--primario)}
.li-activo{background:var(--primario);border-color:var(--primario);color:#fff}
.li-activo:hover{color:#fff}

/* ── cuerpo del documento ── */
.legal-cuerpo{scroll-margin-top:90px}
.legal-cuerpo h2{
  font-size:clamp(1.24rem,2.4vw,1.62rem);margin:44px 0 14px;
  padding-top:22px;border-top:1px solid var(--linea);
}
.legal-cuerpo h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.legal-cuerpo h3{font-size:1.06rem;margin:26px 0 10px;color:var(--primario)}
.legal-cuerpo h3.h3-sensible{color:var(--rojo)}
.legal-cuerpo p{margin:0 0 14px;color:var(--gris);line-height:1.72;max-width:70ch}
.legal-cuerpo p strong{color:var(--tinta);font-weight:600}
.legal-cuerpo a{color:var(--primario);text-decoration:underline;text-underline-offset:2px}

.legal-cuerpo ul,.legal-cuerpo ol{margin:0 0 16px;padding-left:24px;display:flex;flex-direction:column;gap:8px}
.legal-cuerpo ul li{list-style:disc;color:var(--gris);line-height:1.65}
.legal-cuerpo ol li{list-style:decimal;color:var(--gris);line-height:1.65}
.legal-cuerpo li::marker{color:var(--teal)}
.legal-cuerpo li strong{color:var(--tinta)}

/* ── bloque de datos sensibles: lo más importante del aviso ── */
.aviso-sensible{
  background:#FDF3F2;border:1px solid color-mix(in srgb,var(--rojo) 28%,transparent);
  border-left:4px solid var(--rojo);border-radius:8px;
  padding:22px 24px;margin:18px 0 22px;
}
.aviso-sensible p:last-child{margin-bottom:0}
.aviso-sensible ul li::marker{color:var(--rojo)}
.nota-formulario{
  background:#fff;border-radius:6px;padding:14px 16px;margin-top:16px!important;
  font-size:.94rem;border:1px solid color-mix(in srgb,var(--rojo) 18%,transparent);
}

/* ── aviso médico ── */
.aviso-medico{
  background:var(--teal-suave);border-left:4px solid var(--teal);
  border-radius:8px;padding:22px 24px;margin:18px 0 22px;
}
.aviso-medico p:last-child{margin-bottom:0}

/* ── aviso de precios ── */
.aviso-precios{
  background:#FDF4F3;border-left:4px solid var(--accion);
  border-radius:8px;padding:22px 24px;margin:18px 0 22px;
}
.aviso-precios p:last-child{margin-bottom:0}
.aviso-precios ul li::marker{color:var(--accion-osc)}

/* ── nota discreta ── */
.legal-nota{
  background:var(--papel-gris);border-left:3px solid var(--primario);
  border-radius:0 8px 8px 0;padding:18px 22px;margin:20px 0;
}
.legal-nota p{margin-bottom:0;font-size:.96rem}

.destacado{
  background:var(--papel-gris);border-radius:8px;padding:16px 20px;
  font-size:.96rem;border:1px solid var(--linea);
}

/* ── ficha de datos ── */
.ficha{
  background:var(--papel-gris);border:1px solid var(--linea);
  border-radius:8px;padding:22px 24px;margin:16px 0 22px;
}
.ficha dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:11px 24px}
.ficha dt{
  font-family:var(--tit);font-size:.76rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--gris);white-space:nowrap;padding-top:2px;
}
.ficha dd{margin:0;color:var(--tinta);font-weight:500}
@media (max-width:600px){
  .ficha dl{grid-template-columns:1fr;gap:3px}
  .ficha dd{margin-bottom:12px}
}

/* ── tablas ── */
.legal-tabla-env{
  overflow-x:auto;border:1px solid var(--linea);border-radius:8px;
  margin:16px 0 22px;background:#fff;
}
.legal-tabla-env table{border-collapse:collapse;width:100%;font-size:.92rem;min-width:520px}
.legal-tabla-env th,.legal-tabla-env td{
  padding:12px 16px;text-align:left;border-bottom:1px solid var(--linea);
  vertical-align:top;line-height:1.55;
}
.legal-tabla-env thead th{
  font-family:var(--tit);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gris);font-weight:700;background:var(--papel-gris);white-space:nowrap;
}
.legal-tabla-env td{color:var(--gris)}
.legal-tabla-env td:first-child{color:var(--tinta);font-weight:600;white-space:nowrap}
.legal-tabla-env tbody tr:last-child td{border-bottom:0}

/* ── separador de idioma ── */
.legal-sep{
  display:flex;align-items:center;gap:16px;margin:56px 0 34px;
  color:var(--gris-claro);
}
.legal-sep::before,.legal-sep::after{content:"";flex:1;height:1px;background:var(--linea)}
.legal-sep span{
  font-family:var(--tit);font-size:.76rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;white-space:nowrap;
}

/* ── contacto ── */
.legal-contacto{
  background:var(--primario);color:#fff;border-radius:10px;
  padding:24px 26px;margin:32px 0 0;
}
.legal-contacto h3{color:#fff;margin:0 0 10px;font-size:1.02rem}
.legal-contacto p{color:rgba(255,255,255,.88);margin-bottom:0;line-height:1.75}
.legal-contacto a{color:#fff;text-decoration:underline}

/* ── navegación entre documentos ── */
.legal-otros{
  display:flex;gap:22px;flex-wrap:wrap;margin-top:46px;padding-top:26px;
  border-top:2px solid var(--linea);
}
.legal-otros a{
  font-family:var(--tit);font-weight:700;font-size:.95rem;
  color:var(--primario);text-decoration:none;
}
.legal-otros a:hover{text-decoration:underline}

@media print{
  .cab,.legal-idioma,.legal-otros,.pie{display:none}
  .legal-cuerpo{page-break-inside:auto}
  .legal-cuerpo h2{page-break-after:avoid}
  a{color:#000!important;text-decoration:none!important}
}
