/* Estructura compartida por las 3 versiones. Cada versión define los tokens en :root y su propio hero. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--texto);font:400 1.06rem/1.65 var(--f-texto);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--acento-2)}
h1,h2,h3{font-family:var(--f-titulo);font-weight:var(--titulo-peso,600);line-height:1.08;text-wrap:balance;margin:0}
p{margin:0}
.franja{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:clamp(3.5rem,8vw,6rem);position:relative}
.in{max-width:70rem;margin-inline:auto;position:relative;z-index:1}
[data-lang="pt"] .es,[data-lang="es"] .pt{display:none!important}

.filete{display:flex;align-items:center;justify-content:center;gap:.9rem;color:var(--acento)}
.filete::before,.filete::after{content:"";height:1px;width:min(22vw,9rem);background:linear-gradient(90deg,transparent,var(--acento))}
.filete::after{background:linear-gradient(270deg,transparent,var(--acento))}
.orn{width:.55rem;height:.55rem;background:var(--acento);transform:rotate(45deg);flex:none}
.titulo-sec{text-align:center;display:grid;gap:.6rem;justify-items:center;margin-bottom:clamp(2rem,5vw,3rem)}
.titulo-sec h2{font-size:clamp(1.9rem,5vw,3rem);color:var(--acento);text-transform:var(--titulo-caps,none);letter-spacing:var(--titulo-esp,.02em)}
.titulo-sec .script{font:400 clamp(1.5rem,4vw,2.2rem)/1.1 var(--f-script);color:var(--texto)}

.idioma{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:max(16px,env(safe-area-inset-right,0px));z-index:5;display:flex;border:1px solid var(--acento);border-radius:99px;overflow:hidden;font:600 .78rem var(--f-texto);background:color-mix(in srgb,var(--fondo) 60%,transparent);backdrop-filter:blur(4px)}
.idioma button{all:unset;cursor:pointer;padding:.32rem .8rem;letter-spacing:.1em;color:var(--texto)}
.idioma button[aria-pressed="true"]{background:var(--acento);color:var(--fondo)}
.idioma button:focus-visible{outline:2px solid var(--acento-2);outline-offset:-3px}

.cta{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 2.2rem;border-radius:99px;background:var(--boton-fondo);color:var(--boton-texto);
  text-decoration:none;font:700 1rem var(--f-texto);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 6px 24px color-mix(in srgb,var(--acento) 30%,transparent);transition:transform .15s}
.cta:hover{transform:translateY(-2px)}
.cta:focus-visible{outline:3px solid var(--texto);outline-offset:3px}

/* Banda de datos */
.banda{padding-block:clamp(2.5rem,5vw,3.5rem)}
.panel{border:1px solid var(--linea);border-radius:var(--radio,6px);background:var(--panel)}
.fila-datos{display:grid;grid-template-columns:repeat(3,1fr)}
.fila-datos+.fila-datos{border-top:1px solid var(--linea)}
.dato{display:flex;gap:1rem;align-items:center;padding:1.3rem clamp(1rem,2.5vw,1.8rem);min-width:0}
.dato+.dato{border-left:1px solid var(--linea)}
.dato svg{flex:none;width:2.3rem;height:2.3rem;color:var(--acento)}
.dato .et{font:600 .72rem/1.2 var(--f-texto);letter-spacing:.16em;color:var(--suave);text-transform:uppercase}
.dato .va{font:var(--titulo-peso,600) clamp(1.05rem,2.2vw,1.35rem)/1.15 var(--f-titulo);color:var(--texto)}
.dato .va.grande{font-size:clamp(1.8rem,4vw,2.5rem)}
.dato .va small{display:block;font-size:.6em;letter-spacing:.08em}

/* Entradas */
.boleteria{max-width:46rem;margin:0 auto;display:grid;gap:1.4rem}
.paso{display:grid;grid-template-columns:3rem 1fr;gap:1.1rem;align-items:start;padding:1.6rem;border:1px solid var(--linea);border-radius:var(--radio,6px);background:var(--panel)}
.paso>b{width:3rem;height:3rem;border-radius:50%;border:1.5px solid var(--acento);display:grid;place-items:center;font:600 1.3rem var(--f-titulo);color:var(--acento)}
.paso h3{font-size:1.3rem;color:var(--acento-2);margin-bottom:.35rem}
.paso p{color:var(--suave);font-size:1rem}
.paso>div{min-width:0}
.cantidades{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1rem}
.cant{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:.15rem;text-align:center;padding:.8rem .4rem;border-radius:var(--radio,6px);border:1.5px solid var(--acento);color:var(--texto);transition:background .15s,color .15s}
.cant .num{font:600 1.8rem/1 var(--f-titulo)}
.cant .pal{font:600 .74rem var(--f-texto);letter-spacing:.12em;text-transform:uppercase}
.cant small{font:400 .95rem var(--f-texto);color:var(--acento-2)}
.cant:hover,.cant[aria-pressed="true"]{background:var(--acento);color:var(--fondo)}
.cant:hover small,.cant[aria-pressed="true"] small{color:var(--fondo)}
.cant:focus-visible{outline:2px solid var(--texto);outline-offset:2px}
.pagar{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:1rem;padding:1rem;border-radius:99px;background:#009EE3;color:#fff;text-decoration:none;font:600 1.02rem var(--f-texto)}
.pagar:hover{filter:brightness(1.08)}
.pagar:focus-visible{outline:3px solid var(--texto);outline-offset:2px}
.pagar svg{width:1.5rem;height:1.5rem}
.prex{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin-top:1rem;padding:.9rem 1rem;border:1px dashed var(--linea);border-radius:var(--radio,6px);font-size:.98rem}
.prex code{font:600 1.15rem var(--f-texto);letter-spacing:.08em;color:var(--acento-2)}
.chico{all:unset;cursor:pointer;font:500 .85rem var(--f-texto);border:1px solid var(--acento);border-radius:99px;padding:.25rem .8rem;color:var(--acento-2)}
.chico:focus-visible{outline:2px solid var(--texto)}
form{display:grid;gap:.8rem;margin-top:1rem}
.campos{display:grid;grid-template-columns:1fr 7rem;gap:.7rem}
label{display:grid;gap:.3rem;font-size:.9rem;color:var(--suave)}
input,select{font:400 1rem var(--f-texto);padding:.7rem .85rem;border:1px solid var(--linea);border-radius:4px;background:var(--fondo);color:var(--texto);width:100%}
input:focus,select:focus{outline:2px solid var(--acento);outline-offset:1px}
.wpp{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;padding:.95rem 1rem;border-radius:99px;background:#25D366;color:#0B2614;font:600 1.02rem var(--f-texto)}
.wpp:hover{filter:brightness(1.06)}
.wpp:focus-visible{outline:3px solid var(--texto);outline-offset:2px}
.contacto{text-align:center;color:var(--suave);font-size:.98rem}
.contacto a{font:600 1.15rem var(--f-texto);letter-spacing:.05em;text-decoration:none}

/* Canciones */
.videos{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,3vw,1.8rem)}
.videos .principal{grid-column:1/-1}
.video{display:grid;gap:.5rem;align-content:start;min-width:0}
.marco{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:var(--radio,6px);overflow:hidden;border:1px solid var(--linea);background:#000}
.marco button{all:unset;cursor:pointer;position:absolute;inset:0;display:grid;place-items:center}
.marco img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .2s,transform .4s}
.marco button:hover img{opacity:1;transform:scale(1.03)}
.marco .play{position:absolute;width:4.2rem;height:4.2rem;border-radius:50%;background:color-mix(in srgb,#000 45%,transparent);border:1.5px solid var(--acento);display:grid;place-items:center}
.principal .marco .play{width:5.4rem;height:5.4rem}
.marco .play::after{content:"";border-left:1.15rem solid var(--acento-2);border-block:.7rem solid transparent;margin-left:.3rem}
.marco button:focus-visible{outline:3px solid var(--acento);outline-offset:-3px}
.marco iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video h3{font-size:1.2rem;color:var(--acento-2)}
.principal h3{font-size:1.6rem}
.video p{font-size:.92rem;color:var(--suave)}
.canal{text-align:center;margin-top:2.2rem}
.canal a{font:600 .85rem var(--f-texto);letter-spacing:.14em;text-decoration:none;border:1px solid var(--acento);border-radius:99px;padding:.6rem 1.3rem;display:inline-block;text-transform:uppercase}

/* Historia y noche */
.dos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.dos .foto img{width:100%;height:auto;border-radius:var(--radio,6px);border:1px solid var(--linea)}
.dos .foto figcaption{font-size:.85rem;color:var(--suave);margin-top:.5rem}
.texto{display:grid;gap:1rem}
.texto h2{font-size:clamp(1.7rem,3.8vw,2.5rem);color:var(--acento);text-transform:var(--titulo-caps,none);letter-spacing:var(--titulo-esp,.02em)}
.cita{font:400 clamp(1.6rem,3.6vw,2.3rem)/1.25 var(--f-script);color:var(--acento-2)}
.cita small{display:block;margin-top:.6rem;font:600 .74rem var(--f-texto);letter-spacing:.18em;color:var(--suave);text-transform:uppercase}
.estados{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.6rem;counter-reset:e}
.estados li{display:grid;gap:.15rem;counter-increment:e;padding-top:.7rem;border-top:1px solid var(--linea)}
.estados h3{font-size:1.15rem;color:var(--acento-2)}
.estados p{font-size:.95rem;color:var(--suave)}

footer{padding-block:3rem;text-align:center;border-top:1px solid var(--linea);background:var(--fondo)}
footer .frase{font:400 clamp(1.5rem,4vw,2.2rem)/1.2 var(--f-script);color:var(--texto);margin-top:1rem}
footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.6rem;margin-top:1.6rem;font:600 .82rem var(--f-texto);letter-spacing:.14em;text-transform:uppercase}
footer nav a{text-decoration:none}

@media (max-width:820px){
  .fila-datos{grid-template-columns:1fr 1fr}
  .dato{padding:1rem .8rem;gap:.6rem}
  .dato svg{width:1.8rem;height:1.8rem}
  .dato .va.grande{font-size:1.7rem}
  .dato:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid var(--linea)}
  .dos{grid-template-columns:1fr}
}
@media (max-width:560px){
  .videos{grid-template-columns:1fr}
  .paso{grid-template-columns:1fr;padding:1.2rem}
  .campos{grid-template-columns:1fr 5.5rem}
  .cta{width:100%;letter-spacing:.04em;padding-inline:1rem}
  .estados{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important}}
