/* ==========================================================================
   Páginas legales (/privacidad y /terminos)
   Mismo mundo que la lectura y las bases: cabecera oscura con filo amarillo,
   papel crema. Aquí manda la lectura: medida corta, jerarquía clara, tablas reales.
   ========================================================================== */

.pagina-legal{ background: var(--crema); }
.pagina-legal ::selection{ background: var(--amarillo); color: var(--tinta); }

/* Cabecera --------------------------------------------------------------- */
.legal-cabeza{
  position: relative; overflow: hidden;
  padding-block: clamp(2.2rem, 6vw, 4.5rem) clamp(2rem, 4.5vw, 3.2rem);
  border-bottom: 6px solid var(--amarillo);
}
.legal-cabeza__inner{ position: relative; max-width: 960px; }

.legal-cambio{
  display: inline-flex; padding: 4px; margin-bottom: clamp(1.4rem, 3vw, 2rem);
  border-radius: 999px; background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
}
.legal-cambio a{
  padding: .55rem 1.1rem; border-radius: 999px; min-height: 40px;
  display: inline-flex; align-items: center;
  font-size: var(--t-xs); font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.75); text-decoration: none;
  transition: background-color .2s cubic-bezier(.23,1,.32,1), color .2s cubic-bezier(.23,1,.32,1);
}
.legal-cambio a:hover{ color: #fff; }
.legal-cambio a[aria-current="page"]{ background: var(--amarillo); color: var(--tinta); }

.legal-titulo{
  font-size: clamp(2.1rem, 1rem + 4.6vw, 4.6rem); line-height: .94; letter-spacing: -.025em;
  color: var(--amarillo) !important; max-width: 15ch;
}
.legal-fechas{
  display: flex; flex-wrap: wrap; gap: .3rem 1.4rem; margin: 1.3rem 0 0;
  font-size: var(--t-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: rgba(255,255,255,.66);
}
.legal-fechas time{ color: #fff; }
.legal-acciones{ display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.6rem 0 0; }
.legal-acciones [hidden]{ display: none; }

/* Papel: índice + texto --------------------------------------------------- */
.legal-papel{ padding-block: clamp(2.2rem, 5vw, 4rem) clamp(3rem, 7vw, 5rem); }
.legal-grilla{
  display: grid; gap: clamp(1.5rem, 4vw, 3.5rem);
  grid-template-columns: minmax(0, 1fr); max-width: 1120px;
}
@media (min-width: 980px){
  .legal-grilla{ grid-template-columns: 270px minmax(0, 1fr); align-items: start; }
}

.legal-indice{
  position: sticky; top: 88px;
  max-height: calc(100vh - 110px); overflow: auto; overscroll-behavior: contain;
  padding: 1rem .8rem 1.1rem; border-radius: var(--radio);
  background: var(--crema-hueso); border: 1px solid rgba(30,30,30,.09);
  scrollbar-width: thin; scrollbar-color: rgba(30,30,30,.25) transparent;
}
.legal-indice__titulo{
  margin: 0 0 .6rem; padding-inline: .5rem;
  font-size: var(--t-xs); font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: var(--azul-oscuro);
}
.legal-indice ol{ list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; }
.legal-indice a{
  display: flex; gap: .5rem; align-items: baseline;
  padding: .38rem .5rem; border-radius: 8px;
  font-size: var(--t-sm); line-height: 1.3; color: rgba(30,30,30,.74); text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}
.legal-indice a span{ flex: none; min-width: 1.4em; font-variant-numeric: tabular-nums; color: rgba(30,30,30,.42); }
.legal-indice a:hover{ background: rgba(0,109,255,.08); color: var(--tinta); }
.legal-indice a[aria-current="true"]{ background: var(--amarillo); color: var(--tinta); font-weight: 600; }
.legal-indice a[aria-current="true"] span{ color: var(--tinta); }
@media (max-width: 979px){
  .legal-indice{ position: static; max-height: none; }
  .legal-indice ol{ grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
}

.legal-texto{ max-width: 70ch; font-size: var(--t-base); line-height: 1.72; color: #2a2723; }
.legal-seccion{
  padding-block: clamp(1.6rem, 3.5vw, 2.4rem) 0;
  scroll-margin-top: 88px;
}
.legal-seccion + .legal-seccion{ margin-top: clamp(.6rem, 1.5vw, 1rem); border-top: 1px solid rgba(30,30,30,.12); }
.legal-seccion:first-child{ padding-top: 0; }
.legal-seccion h2{
  font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem); line-height: 1.05;
  margin: 0 0 1rem; color: var(--tinta);
}
.legal-num{ color: var(--azul); font-variant-numeric: tabular-nums; }
.legal-seccion h3{
  font-family: var(--texto); font-weight: 700; text-transform: none; letter-spacing: 0;
  font-size: var(--t-base); line-height: 1.3; margin: 1.8rem 0 .6rem; color: var(--azul-oscuro);
}
.legal-seccion p{ margin: 0 0 1em; }
.legal-seccion ul, .legal-seccion ol{ margin: 0 0 1.1em; padding-left: 1.3em; display: grid; gap: .45rem; }
.legal-seccion li::marker{ color: var(--azul); font-weight: 700; }
.legal-seccion a{ color: var(--azul-oscuro); font-weight: 600; text-underline-offset: .2em; text-decoration-thickness: 1.5px; overflow-wrap: anywhere; }
.legal-seccion a:hover{ color: var(--azul); }
.legal-seccion strong{ color: var(--tinta); }

/* Declaraciones clave: una frase en la voz de la marca */
.legal-clave{
  margin: 1.4rem 0 !important; padding: 1rem 1.2rem; border-radius: 12px;
  background: var(--amarillo); color: var(--tinta);
  font-family: var(--display); text-transform: uppercase; letter-spacing: -.01em;
  font-size: clamp(1rem, .9rem + .5vw, 1.25rem); line-height: 1.15;
}

/* Ficha del titular */
.legal-titular{
  display: grid; margin: 1.2rem 0 1.4rem; border-radius: 12px; overflow: hidden;
  background: var(--crema-hueso); border: 1px solid rgba(30,30,30,.1);
}
.legal-titular > div{ display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); gap: .3rem 1rem; padding: .75rem 1rem; }
.legal-titular > div + div{ border-top: 1px solid rgba(30,30,30,.08); }
.legal-titular dt{ font-size: var(--t-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: rgba(30,30,30,.6); padding-top: .2em; }
.legal-titular dd{ margin: 0; font-weight: 600; color: var(--tinta); }
@media (max-width: 560px){ .legal-titular > div{ grid-template-columns: 1fr; } }

/* Tablas */
.legal-tabla{ margin: 1rem 0 1.4rem; overflow-x: auto; border-radius: 12px; border: 1px solid rgba(30,30,30,.12); background: var(--crema-hueso); }
.legal-tabla table{ width: 100%; border-collapse: collapse; font-size: var(--t-sm); line-height: 1.5; }
.legal-tabla thead th{
  text-align: left; padding: .75rem 1rem; background: var(--tinta); color: var(--amarillo);
  font-size: var(--t-xs); font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.legal-tabla tbody th, .legal-tabla td{ text-align: left; vertical-align: top; padding: .8rem 1rem; }
.legal-tabla tbody th{ font-weight: 700; color: var(--tinta); width: 42%; }
.legal-tabla tbody tr + tr > *{ border-top: 1px solid rgba(30,30,30,.09); }
@media (max-width: 560px){
  .legal-tabla thead{ display: none; }
  .legal-tabla tbody tr{ display: block; padding: .3rem 0; }
  .legal-tabla tbody th, .legal-tabla td{ display: block; width: auto; padding: .35rem 1rem; }
  .legal-tabla tbody th{ padding-top: .7rem; }
  .legal-tabla td{ padding-bottom: .7rem; color: rgba(30,30,30,.8); }
  .legal-tabla tbody tr + tr > td{ border-top: 0; }
}

/* Derechos: término + definición */
.legal-derechos{ display: grid; gap: .6rem; margin: 1rem 0 1.4rem; }
.legal-derechos > div{
  display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: .2rem 1rem;
  padding: .8rem 1rem; border-radius: 12px; background: #fff; border: 1px solid rgba(30,30,30,.09);
}
.legal-derechos dt{ font-family: var(--display); text-transform: uppercase; letter-spacing: -.01em; color: var(--azul-oscuro); line-height: 1.2; }
.legal-derechos dd{ margin: 0; }
@media (max-width: 560px){ .legal-derechos > div{ grid-template-columns: 1fr; } }

/* Enlace al otro documento */
.legal-otro{
  margin-top: clamp(2.4rem, 5vw, 3.4rem); padding: clamp(1.2rem, 3vw, 1.6rem) clamp(1.2rem, 3vw, 1.8rem);
  border-radius: var(--radio-lg); background: var(--tinta); color: rgba(255,255,255,.72);
  box-shadow: 0 24px 50px -34px rgba(0,0,0,.6);
}
.legal-otro p{ margin: 0 0 .35rem; font-size: var(--t-sm); }
.legal-otro a{
  font-family: var(--display); text-transform: uppercase; letter-spacing: -.015em; text-decoration: none;
  font-size: clamp(1.2rem, 1rem + 1vw, 1.7rem); line-height: 1.05; color: var(--amarillo);
  display: inline-block; transition: transform .2s cubic-bezier(.23,1,.32,1);
}
.legal-otro a:hover{ transform: translateX(4px); }
@media (prefers-reduced-motion: reduce){ .legal-otro a:hover{ transform: none; } }

/* Impresión: solo el documento */
@media print{
  .sitio-header, .sitio-footer, .legal-indice, .legal-acciones, .legal-cambio, .legal-otro, .saltar{ display: none !important; }
  .pagina-legal, .legal-cabeza{ background: #fff !important; color: #000 !important; }
  .legal-cabeza{ border-bottom: 2px solid #000; padding: 0 0 1rem; }
  .legal-titulo, .legal-fechas, .legal-fechas time{ color: #000 !important; }
  .legal-grilla{ display: block; }
  .legal-texto{ max-width: none; font-size: 10.5pt; }
  .legal-clave{ background: none; border: 1.5px solid #000; }
  .legal-tabla thead th{ background: #eee; color: #000; }
  .legal-seccion{ break-inside: avoid-page; }
}
