/* Páginas legales: misma cabecera y pie, columna de lectura estrecha e índice fijo al lado */
.legal-portada .caja{display:block;min-height:0;padding:calc(9*var(--u)) var(--lado) calc(7*var(--u))}
.legal-portada h1{font-size:clamp(42px,6vw,76px);margin-top:calc(2*var(--u));max-width:900px}
.pestanas-legal{display:flex;flex-wrap:wrap;gap:10px;margin-top:calc(4*var(--u))}
.pestanas-legal a{display:inline-flex!important;align-items:center;white-space:nowrap;border:1px solid rgba(255,255,255,.25);color:#EFE5DA;font-size:13px;font-weight:600;letter-spacing:.02em;padding:10px 18px;border-radius:999px;transition:background .25s,color .25s,border-color .25s}
.pestanas-legal a:hover{border-color:var(--oro);color:#fff}
.pestanas-legal a[aria-current]{background:var(--oro);border-color:var(--oro);color:var(--cacao)}

.legal{padding:calc(9*var(--u)) 0 calc(12*var(--u))}
.legal .caja{display:grid;grid-template-columns:270px minmax(0,1fr);gap:clamp(40px,6vw,88px);align-items:start}

.indice-legal{position:sticky;top:100px;max-height:calc(100vh - 124px);overflow:auto;background:#fff;border-radius:var(--r-l);box-shadow:var(--sombra-suave);padding:calc(3*var(--u)) calc(3*var(--u)) calc(2*var(--u))}
.indice-legal details,.indice-legal details[open]{background:none;box-shadow:none;border-radius:0;padding:0}
.indice-legal summary{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--oro-texto);padding:0 0 calc(1.5*var(--u))}
.indice-legal summary::after{font-size:18px}
@media (min-width:901px){ .indice-legal summary{pointer-events:none} .indice-legal summary::after{display:none} }
.indice-legal ol{list-style:none;border-top:1px solid var(--linea);padding-top:var(--u)}
.indice-legal li a{display:block;font-size:13.5px;line-height:1.4;color:var(--gris);padding:7px 0 7px 12px;border-left:2px solid transparent;transition:color .2s,border-color .2s}
.indice-legal li a:hover{color:var(--cacao)}
.indice-legal li a.activo{color:var(--cacao);font-weight:600;border-left-color:var(--oro)}

.texto-legal{max-width:760px;font-size:16px;line-height:1.75;color:var(--tinta);overflow-wrap:break-word}
.texto-legal h2{font-size:clamp(28px,3vw,36px);line-height:1.15;margin-top:calc(7*var(--u));padding-top:calc(4*var(--u));border-top:1px solid var(--linea);scroll-margin-top:110px}
.texto-legal h2:first-child{margin-top:0;padding-top:0;border-top:0}
.texto-legal p{margin-top:calc(2*var(--u))}
.texto-legal p.subtitulo{margin-top:calc(3.5*var(--u))}
.texto-legal p.subtitulo strong{font-weight:600;font-size:15px;letter-spacing:.01em;color:var(--cacao)}
.texto-legal strong{font-weight:600}
.texto-legal strong.destacado{color:var(--marron)}
.texto-legal ul,.texto-legal ol{margin:calc(2*var(--u)) 0 0 22px}
.texto-legal ul ul,.texto-legal ol ul,.texto-legal ol ol{margin-top:var(--u)}
.texto-legal li{margin-top:var(--u);padding-left:4px}
.texto-legal li::marker{color:var(--oro-texto)}
.texto-legal li p{margin-top:0}
.texto-legal .bloque{background:#fff;border-radius:var(--r-m);padding:calc(2.5*var(--u)) calc(3*var(--u));margin-top:calc(2.5*var(--u));box-shadow:var(--sombra-suave)}
.texto-legal .bloque p:first-child{margin-top:0}
.texto-legal .bloque p{margin-top:var(--u)}
.texto-legal a{color:var(--oro-texto);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.texto-legal u{text-underline-offset:3px}

@media (max-width:900px){
  .legal-portada .caja{padding:calc(6*var(--u)) var(--lado) calc(5*var(--u))}
  .legal{padding:calc(5*var(--u)) 0 calc(9*var(--u))}
  .legal .caja{grid-template-columns:1fr;gap:calc(4*var(--u))}
  .indice-legal{position:static;max-height:none;padding:calc(2.5*var(--u))}
  .indice-legal summary{padding:0}
  .indice-legal details[open] summary{padding-bottom:calc(1.5*var(--u))}
  .texto-legal{font-size:15.5px;line-height:1.7}
  .texto-legal h2{margin-top:calc(5*var(--u));padding-top:calc(3*var(--u))}
  .texto-legal ul,.texto-legal ol{margin-left:18px}
  .texto-legal .bloque{padding:calc(2*var(--u)) calc(2.5*var(--u))}
}
@media (max-width:560px){
  .pestanas-legal{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:4px;border:1px solid rgba(255,255,255,.18);border-radius:999px;max-width:420px}
  .pestanas-legal a{justify-content:center;border:0;font-size:12px;letter-spacing:0;padding:10px 6px}
}
