:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",system-ui,sans-serif;color:#252632;background:#fff;--red:#ff0043;--line:#e3e3e8;--muted:#656574}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit;font-size:16px}button,.button{cursor:pointer;border:1px solid var(--line);border-radius:14px;background:#fff;color:#252632;padding:13px 18px;min-height:46px;font-weight:600;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--red);border-color:var(--red);color:#fff}.secondary{background:#252632;color:#fff;border-color:#252632}input,select,textarea{width:100%;padding:13px;border:1px solid #bfc0c9;border-radius:12px;color:inherit;background:#fff;min-width:0}textarea{min-height:100px;resize:vertical}label{display:grid;gap:8px;font-size:14px;font-weight:600;margin-bottom:18px}label.check{display:flex;align-items:flex-start;font-weight:400;line-height:1.5}label.check input{width:20px;height:20px;flex-shrink:0}fieldset{border:0;padding:0;margin:0 0 24px}legend{font-size:19px;font-weight:700;margin-bottom:16px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,6vw,70px);letter-spacing:-2px;line-height:1.05;margin-bottom:20px}h2{font-size:28px;letter-spacing:-.8px}h3{font-size:19px}p{line-height:1.6}.muted,small{color:var(--muted)}small{font-size:13px;line-height:1.5}.top{background:var(--red);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:22px max(24px,calc((100vw - 1120px)/2));gap:18px}.top img{display:block;object-fit:contain}.top nav{display:flex;gap:24px;font-size:14px;font-weight:600}.top nav a{text-decoration:none}main{max-width:1120px;margin:auto;padding:44px 24px;min-height:65vh}footer{max-width:1120px;margin:auto;padding:24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;border-top:1px solid var(--line)}.hero{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:14px 0 32px}.eyebrow{font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:600;color:var(--muted);margin-bottom:16px}.hero .meta{font-size:18px;margin-bottom:0}.artists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 44px}.artist{min-width:0}.artist img,.artist-placeholder{width:100%;aspect-ratio:1;object-fit:cover;border-radius:22px;background:#252632}.artist-placeholder{display:grid;place-items:center;color:#fff;font-size:40px}.artist h2{font-size:23px;letter-spacing:-.5px;margin:15px 0 6px}.buy-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);gap:24px;align-items:start}.card{border:1px solid var(--line);padding:26px;border-radius:22px;background:#fff;min-width:0;margin-bottom:20px}.aside{background:#252632;color:#fff}.aside small,.aside .muted{color:#d3d4dd}.step{font-size:12px;font-weight:700;color:var(--red);margin-bottom:12px}.tiers{display:grid;gap:10px}.tier{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);padding:16px;border-radius:14px;margin:0;cursor:pointer}.tier input{width:20px;height:20px}.tier:has(:checked){border:2px solid var(--red);padding:15px}.tier strong{font-size:18px}.tier small{display:block;margin-top:3px}.tier .price{font-size:20px;white-space:nowrap}.summary{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding-top:20px;gap:16px;margin:20px 0}.summary strong{font-size:30px;letter-spacing:-1px}.wide{width:100%}.error{color:#b00035;font-size:14px;line-height:1.5}.narrow{max-width:670px;margin:auto}.narrow h1{font-size:36px;letter-spacing:-1px}.pill{display:inline-flex;border-radius:30px;padding:7px 12px;font-size:12px;font-weight:600;background:#fff0c7;color:#705314;margin-bottom:18px}.pill.good{background:#dff4e7;color:#236643}.pill.bad{background:#ffe5ec;color:#a40030}.bank-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}.bank-row strong{display:block;font-size:17px;overflow-wrap:anywhere;margin-top:4px}.bank-row button{font-size:13px;padding:9px 12px}.total{font-size:40px;letter-spacing:-1.5px;font-weight:750;margin-bottom:4px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.actions>*{flex:1}.upload{border:1px dashed #bbbcc6;padding:18px;border-radius:14px;display:block;font-weight:500}.upload input{padding:10px 0 0;border:0;font-size:14px}.receipt-preview{max-width:160px;max-height:160px;border-radius:12px}.ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ticket{text-align:center;break-inside:avoid}.ticket svg{width:100%;max-width:270px;height:auto}.ticket h2{font-size:22px}.ticket small{display:block}.legal{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7}.loading{display:grid;place-items:center;min-height:45vh;background:var(--red);border-radius:22px}.empty{padding:20px 0;color:var(--muted)}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#252632;color:#fff;padding:13px 20px;border-radius:12px;max-width:90vw;z-index:20}.turnstile-slot{min-height:70px;margin:14px 0;max-width:100%}button:focus-visible,a:focus-visible{outline:3px solid #ff85a5;outline-offset:4px}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.card{animation:appear .18s ease-out}@keyframes appear{from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:none}}}@media(max-width:700px){.top{padding:18px 20px}.top img{width:85px}.top nav{gap:15px;font-size:13px}main{padding:28px 18px}.hero{display:block}.hero .button{margin-top:20px}.artists{gap:12px;grid-template-columns:1fr;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.artist{flex:0 0 75%;scroll-snap-align:start}.artist h2{font-size:22px}.buy-layout{grid-template-columns:1fr}.card{padding:20px;border-radius:18px}.ticket-grid{grid-template-columns:1fr}.tier{padding:13px;gap:9px}.tier:has(:checked){padding:12px}.tier .price{font-size:18px}.hero .meta{font-size:16px}.summary strong{font-size:27px}.actions{flex-direction:column}.total{font-size:34px}}@media print{.top,footer,.actions,.ticket button,#notice{display:none!important}main{padding:0}.ticket-grid{display:block}.ticket{page-break-after:always;border:0;margin:0}.ticket:last-child{page-break-after:auto}.ticket svg{width:280px}.ticket small{color:#252632}}

/* Portada en construcción: misma que el panel. */
html.construction{background:#ff4d7d linear-gradient(180deg,#e8003f 0%,#f7033f 25%,#ff0c4b 50%,#ff2862 75%,#ff4d7d 100%) no-repeat;background-size:100% 100lvh;overscroll-behavior:none}body.construction{background:transparent;color:#fff}body.construction main{max-width:none;padding:0;min-height:0}body.construction header,body.construction footer{display:none}.construction-cover{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:72px;padding:24px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));text-align:center}.construction-cover h1{margin:0;font-size:clamp(24px,4.5vw,44px);line-height:1.3;font-weight:700;letter-spacing:-.01em}.construction-cover img{width:clamp(90px,10vw,138px);height:auto}@media(max-width:600px){.construction-cover{gap:44px}.construction-cover h1{max-width:320px}}

/* Movimiento: sobrio, estilo Apple. Solo transform y opacity. Nada si el sistema pide reducir movimiento. */
:root{--ease-out:cubic-bezier(.23,1,.32,1)}
@media (prefers-reduced-motion:no-preference){
 button,.button,.tier{transition-property:background-color,border-color,color,box-shadow,transform;transition-duration:160ms;transition-timing-function:var(--ease-out)}
 button:not(:disabled):active,.button:active{transform:scale(.97)}
 .tier:active{transform:scale(.99)}
 @media (hover:hover) and (pointer:fine){.tier:hover{border-color:#c9c9d2}.artist img{transition:transform 600ms var(--ease-out)}.artist:hover img{transform:scale(1.03)}}

 /* Portada en construcción: entra lento y limpio, una sola vez. */
 .construction-cover h1{animation:fervor-rise 900ms var(--ease-out) 120ms both}
 .construction-cover img{animation:fervor-fade 1100ms var(--ease-out) 420ms both}

 /* Al llegar a una pantalla, los bloques entran escalonados. */
 html.enter .hero>*,html.enter .artist,html.enter main>section,html.enter .narrow>*{animation:fervor-rise 560ms var(--ease-out) both}
 html.enter .hero>:nth-child(2){animation-delay:80ms}
 html.enter .artist:nth-child(1){animation-delay:120ms}html.enter .artist:nth-child(2){animation-delay:170ms}html.enter .artist:nth-child(3){animation-delay:220ms}html.enter .artist:nth-child(n+4){animation-delay:270ms}
 html.enter .narrow>:nth-child(2){animation-delay:40ms}html.enter .narrow>:nth-child(3){animation-delay:80ms}html.enter .narrow>:nth-child(4){animation-delay:120ms}html.enter .narrow>:nth-child(n+5){animation-delay:160ms}

 /* Entradas: cuando el pago se confirma, los QR aparecen uno tras otro. */
 .ticket{animation:fervor-pop 480ms var(--ease-out) both}
 .ticket:nth-child(2){animation-delay:70ms}.ticket:nth-child(3){animation-delay:140ms}.ticket:nth-child(4){animation-delay:210ms}.ticket:nth-child(n+5){animation-delay:280ms}

 #notice:not([hidden]){animation:fervor-toast 320ms var(--ease-out)}
}
@keyframes fervor-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fervor-fade{from{opacity:0}to{opacity:1}}
@keyframes fervor-pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes fervor-toast{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}

/* ===== Diseño 2026 (referencias REFE / REFE 2): degradado pleno, logo gigante, mayúsculas, botones blancos rectos ===== */
:root{--fervor-gradient:linear-gradient(180deg,#e8003f 0%,#f7033f 25%,#ff0c4b 50%,#ff2862 75%,#ff4d7d 100%);--ink:#252632}
:root{background:#ff4d7d var(--fervor-gradient) no-repeat;background-size:100% 100%;min-height:100%}
body{background:transparent;color:var(--ink);min-height:100dvh;display:flex;flex-direction:column}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Encabezado chico solo fuera de la portada. */
header.top{background:transparent;border:0}header.top a,header.top nav a{color:#fff}header.top img{filter:none}
/* El estilo lo decide el contenido que está en pantalla, así cambia en el mismo instante que el texto. */
body:has(.landing-page) header.top,body:has(.construction-cover) header.top{display:none}
main{flex:1;width:100%}
main:not(:has(.landing-page)):not(:has(.construction-cover)):not(:has(.loading)):not(:has(.gallery)){background:#fff;border-radius:28px;max-width:1080px;margin:8px auto 24px;width:calc(100% - 32px);box-sizing:border-box}
footer{display:flex;justify-content:center;gap:24px;padding:28px 16px 36px;background:transparent;border:0;color:#fff}
footer a{color:#fff;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;text-decoration:none;opacity:.85}
body.construction footer{display:none}

/* Portada y entradas */
main:has(.landing-page){max-width:none;padding:0;background:transparent}
.landing-page{display:flex;flex-direction:column;align-items:center;color:#fff;text-align:center;padding:0 16px 24px;text-transform:uppercase}
.big-logo{display:block;width:100vw;max-width:none;margin:-3.2vw 0 clamp(36px,7vw,64px)}
.big-logo img{display:block;width:100%;height:auto}
@media(min-width:900px){.big-logo{width:min(100vw,1180px)}}
.landing-button{display:inline-block;background:#fff;color:var(--ink);border:0;border-radius:0;padding:.18em .5em;font-size:clamp(20px,4.6vw,30px);font-weight:800;letter-spacing:-.01em;line-height:1.15;text-transform:uppercase;text-decoration:none;cursor:pointer;min-height:0}
.landing-button.wide{width:100%;margin-top:6px}
.landing-button.is-off{opacity:.45;cursor:default;margin:0}
.landing-text{max-width:620px;font-size:clamp(18px,4.2vw,26px);font-weight:800;line-height:1.2;letter-spacing:-.01em;margin:clamp(28px,6vw,44px) 0 0}
.landing-heading{font-size:clamp(20px,4.6vw,28px);font-weight:800;letter-spacing:-.01em;margin:clamp(36px,7vw,56px) 0 18px}
.lineup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,900px)}
.lineup-artist{min-width:0;background:transparent}
.lineup-photo{aspect-ratio:1/1.12;background:rgba(255,255,255,.28) center/cover;border-top-left-radius:50% 45%;overflow:hidden;background-color:#d9d9d9}
.lineup-photo img{width:100%;height:100%;object-fit:cover;display:block}
.lineup-artist h3{margin:0;background:#fff;padding:14px 8px 18px;color:var(--ink);font-size:clamp(13px,2.6vw,18px);font-weight:800;letter-spacing:-.01em;line-height:1.1;overflow-wrap:anywhere}
.landing-extra{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:clamp(18px,4.2vw,26px);font-weight:800;letter-spacing:-.01em;line-height:1.15;margin:clamp(24px,5vw,36px) 0 0}
.landing-extra span{font-size:1.1em;line-height:1}
.landing-meta{margin:clamp(40px,8vw,64px) 0 0;font-size:14px;font-weight:700;letter-spacing:.02em;line-height:1.5;opacity:.9}
.landing-note{margin:28px 0 0;font-size:13px;font-weight:700;letter-spacing:.02em;opacity:.85;max-width:420px}

/* Lista de tandas */
#buy{width:min(100%,460px);display:flex;flex-direction:column;align-items:center}
.tier-list{border:0;margin:0 0 clamp(32px,6vw,44px);padding:0;width:100%;display:grid;gap:clamp(12px,2.6vw,18px)}
.tier-row{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-weight:800;font-size:clamp(20px,4.6vw,30px);letter-spacing:-.01em;line-height:1.15}
.tier-row input{position:absolute;opacity:0;pointer-events:none}
.tier-name{background:#fff;color:#ff0043;padding:0 .18em;text-transform:uppercase}
.tier-price{color:#fff;font-variant-numeric:tabular-nums}
.tier-row:not(.is-off):not(:has(input:checked)){opacity:.7}
.tier-row.is-off{opacity:.38;cursor:default}
.tier-row:has(input:focus-visible) .tier-name{outline:2px solid #fff;outline-offset:3px}

/* Formulario de compra sobre el degradado */
#buy-details{width:100%;margin-top:28px;text-transform:none;text-align:left;display:grid;gap:14px}
#buy-details[hidden]{display:none}
#buy-details label{color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;display:grid;gap:6px}
#buy-details input:not([type=checkbox]){border:0;border-radius:0;background:#fff;color:var(--ink);padding:12px 14px;font-size:16px;text-transform:none;letter-spacing:0;font-weight:500}
#buy-details .check{display:flex;gap:10px;align-items:flex-start;text-transform:none;font-size:14px;font-weight:500;letter-spacing:0}
#buy-details .check a{color:#fff}
#buy-details .summary{display:flex;justify-content:space-between;align-items:end;color:#fff;border-top:1px solid rgba(255,255,255,.4);padding-top:14px;text-transform:uppercase;font-weight:800}
#buy-details .summary small{font-weight:600;opacity:.85;text-transform:none}
#buy-details #total{font-size:26px}
#buy-details>small{color:#fff;opacity:.85;text-align:center}
#buy-details .error{color:#fff;font-weight:700}
@media(max-width:520px){.lineup-artist h3{padding:10px 4px 14px}}

/* Entrada de la portada */
@media (prefers-reduced-motion:no-preference){
 html.enter .landing-page>*{animation:fervor-rise 620ms var(--ease-out) both}
 html.enter .landing-page>.big-logo{animation:fervor-logo 900ms var(--ease-out) both}
 html.enter .landing-page>:nth-child(2){animation-delay:140ms}html.enter .landing-page>:nth-child(3){animation-delay:200ms}html.enter .landing-page>:nth-child(4){animation-delay:260ms}html.enter .landing-page>:nth-child(n+5){animation-delay:320ms}
 #buy-details:not([hidden]){animation:fervor-rise 420ms var(--ease-out) both}
 .tier-row{transition:opacity 200ms ease}
}
@keyframes fervor-logo{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
.landing-button[hidden]{display:none}

/* Condiciones: jerarquía clara y tipografía fina. */
.terms{padding:clamp(8px,3vw,24px) 0;color:#3a3b48}
.terms-eyebrow{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ff0043}
.terms h1{font-size:clamp(30px,5vw,42px);font-weight:600;letter-spacing:-.025em;line-height:1.1;color:var(--ink);margin:0 0 clamp(24px,4vw,36px)}
.terms h2{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8a8b97;margin:32px 0 12px;padding-top:24px;border-top:1px solid #ececf0}
.terms p,.terms li{font-size:15.5px;font-weight:400;line-height:1.65;margin:0 0 10px}
.terms ul{list-style:none;padding:0;margin:0}
.terms li{position:relative;padding-left:18px}
.terms li::before{content:'';position:absolute;left:2px;top:.72em;width:5px;height:5px;border-radius:50%;background:#ff0043}
.terms a{color:#ff0043}
.terms-back{display:inline-block;margin-top:28px;font-size:14px;font-weight:600;text-decoration:none}
/* Las franjas blancas del line-up quedan parejas aunque un nombre ocupe dos renglones. */
.lineup-artist{display:flex;flex-direction:column}.lineup-artist h3{flex:1;display:flex;align-items:center;justify-content:center}
.loading{background:transparent;border-radius:0;min-height:60vh}

/* Jerarquía: fecha y lugar como en un afiche, debajo del logo. */
.event-info{margin:0 0 clamp(28px,6vw,40px);display:grid;gap:6px}
.event-date{margin:0;font-size:clamp(24px,6vw,40px);font-weight:800;letter-spacing:-.02em;line-height:1.05}
.event-place{margin:0;font-size:clamp(13px,3.2vw,16px);font-weight:700;letter-spacing:.08em;opacity:.85}
.event-info.compact .event-date{font-size:clamp(18px,4.6vw,26px)}
.event-info.compact{margin-bottom:clamp(24px,5vw,34px)}
/* Pedido: título, datos en grilla con etiquetas y el importe destacado. */
.order{padding:clamp(4px,2vw,16px) 0}
.order-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.order-eyebrow{margin:0;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ff0043}
.order-title{font-size:clamp(34px,7vw,52px);font-weight:700;letter-spacing:-.03em;line-height:1;margin:0 0 24px;color:var(--ink)}
.order-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 24px;border-top:1px solid #ececf0}
.order-facts>div{padding:14px 0;border-bottom:1px solid #ececf0}
.order-facts>div:nth-child(odd):not(.wide){padding-right:12px}
.order-facts .wide{grid-column:1/-1}
.order-facts dt{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8a8b97;margin-bottom:4px}
.order-facts dd{margin:0;font-size:16px;font-weight:600;color:var(--ink);line-height:1.35}
.order-facts .wide dd{text-transform:none}
.order-amount{display:grid;gap:4px;margin:0 0 24px}
.order-amount small{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8a8b97}
.order-amount strong{font-size:clamp(36px,9vw,52px);font-weight:800;letter-spacing:-.03em;color:#ff0043;line-height:1.05;font-variant-numeric:tabular-nums}
.order-amount span{font-size:14px;color:#656574}

/* Avisame cuando salgan las entradas */
.notify{width:min(100%,420px);margin:clamp(8px,2vw,12px) auto 0;display:grid;gap:12px;text-transform:uppercase;color:#fff}
.construction-cover .notify{margin-top:8px}
.notify-title{margin:0;font-size:clamp(15px,3.6vw,18px);font-weight:800;letter-spacing:.02em;text-align:center}
.notify-row{display:flex;gap:0}
.notify-row input{flex:1;min-width:0;border:0;border-radius:0;padding:12px 14px;font-size:16px;color:var(--ink);background:#fff;text-transform:none}
.notify-row .landing-button{font-size:16px;padding:0 16px;white-space:nowrap;background:var(--ink);color:#fff}
.notify-msg{margin:0;font-size:13px;font-weight:700;text-transform:none;min-height:1em;text-align:center}
.tier-low{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.9;text-align:right}
.landing-social{margin-top:clamp(32px,6vw,48px);color:#fff;font-weight:800;font-size:15px;letter-spacing:.04em;text-decoration:none}
.notify .turnstile-slot:empty,.notify .notify-msg:empty{display:none}
.tier-price .tier-low{color:#fff;opacity:1;margin-top:2px}
.landing-socials{display:flex;gap:22px;justify-content:center;margin-top:clamp(32px,6vw,48px)}.landing-socials a{color:#fff;font-weight:800;font-size:15px;letter-spacing:.04em;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.5);padding-bottom:2px}
footer{flex-wrap:wrap}
.landing-page>.event-date{margin:0 0 clamp(20px,5vw,32px)}
body:has(.landing-socials) footer a[href*="instagram"],body:has(.landing-socials) footer a[href*="youtube"]{display:none}
.access-link{margin-top:clamp(40px,8vw,64px);color:#fff;opacity:.55;font-size:12px;font-weight:700;letter-spacing:.14em;text-decoration:none}.access-link:hover{opacity:.9}

/* Próximamente estilo afiche suizo / brutalista: grotesca enorme en negro, alineada a la izquierda, interlineado apretado. */
.poster{align-items:stretch;text-align:left;padding-left:clamp(14px,4vw,40px);padding-right:clamp(14px,4vw,40px);text-transform:none}
.poster .big-logo{align-self:center}
.poster-type{margin:0;display:flex;flex-direction:column;font-family:"Helvetica Neue",Helvetica,Arial,"Inter",system-ui,sans-serif;font-weight:700;font-size:clamp(46px,14vw,164px);line-height:1.02;letter-spacing:-.035em;text-transform:uppercase;color:#141414}
.poster-type span{display:block}
.poster-type b{font-weight:400;letter-spacing:0;display:inline-block;transform:translateY(-.04em)}
.poster-when{margin-top:.06em}.poster-when em{font-style:normal;color:#fff}
.poster-soon{margin:clamp(28px,6vw,48px) 0 10px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#141414}
.poster .notify{margin:0;width:min(100%,520px)}
.poster .notify-title{text-align:left;color:#141414;font-size:13px;letter-spacing:.16em}
.poster .notify-row .landing-button{background:#141414}
.poster .notify-msg{text-align:left;color:#141414}
.poster-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:clamp(40px,9vw,80px) 0 0;padding-top:14px;border-top:2px solid #141414;color:#141414}
.poster-info dt,.poster-info dd{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;font-size:clamp(12px,1.6vw,15px);font-weight:700;line-height:1.2;letter-spacing:-.01em}
.poster-info dd{font-weight:500}
.poster-links{justify-content:flex-start;gap:20px;margin-top:22px}
.poster-links a{color:#141414;border-bottom-color:rgba(20,20,20,.4);font-size:13px;letter-spacing:.1em}
.poster-links .access-link{margin:0 0 0 auto;border:0;opacity:.45}
@media(max-width:560px){.poster-info{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}}
@media (prefers-reduced-motion:no-preference){html.enter .poster-type span{animation:fervor-rise 700ms var(--ease-out) both}html.enter .poster-type span:nth-child(2){animation-delay:60ms}html.enter .poster-type span:nth-child(3){animation-delay:120ms}html.enter .poster-type span:nth-child(4){animation-delay:180ms}html.enter .poster-type span:nth-child(5){animation-delay:240ms}html.enter .poster-type span:nth-child(6){animation-delay:300ms}}

/* Degradado continuo: una capa fija detrás de todo, siempre de arriba a abajo de la ventana. Nunca se corta al deslizar ni al llegar al final. */
:root{background:#e0003c}
body::before{content:'';position:fixed;left:0;right:0;top:0;height:100lvh;min-height:100vh;background:linear-gradient(180deg,#e8003f 0%,#f7033f 25%,#ff0c4b 50%,#ff2862 75%,#ff4d7d 100%);z-index:-1;pointer-events:none}
@media print{body::before{display:none}}
/* Jerarquía del afiche: 1) tipografía enorme, 2) acción (email), 3) datos, 4) links. */
.poster .notify{margin-top:clamp(36px,7vw,56px)}
.poster .notify-title{font-size:clamp(14px,1.8vw,17px);letter-spacing:.02em;text-transform:none;font-weight:700}
.poster-info{border-top-width:3px}
.poster-links{margin-top:clamp(28px,5vw,40px)}
.turnstile-slot{min-height:0;margin:0}.turnstile-slot:has(iframe){margin:10px 0}

/* Logo completo, sin cortes, con aire. */
.big-logo{width:calc(100vw - 2*clamp(14px,4vw,40px));margin:clamp(18px,4vw,40px) auto clamp(28px,6vw,56px)}
@media(min-width:900px){.big-logo{width:min(calc(100vw - 80px),1180px)}}
/* Afiche: negro = concepto, blanco = lo clave (edición, fecha, hora). */
.poster-type .is-white{color:#fff}
.poster-meta{display:flex;justify-content:space-between;gap:16px;margin:0 0 clamp(18px,4vw,28px);font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;font-size:clamp(11px,1.4vw,13px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#141414}
.poster-meta span:last-child{text-align:right;color:#fff}
/* Imágenes entre renglones, teñidas de rojo (estilo Galeria Azur). */
.poster-type .poster-img{display:inline-block;vertical-align:middle;height:.78em;width:2.2em;margin-left:.12em;background:#ff0043 center/cover;filter:grayscale(1) contrast(1.15);mix-blend-mode:multiply;transform:translateY(-.04em)}

/* Logo FERVOR siempre de borde a borde (como el flyer de Morán); el título pisa la parte de abajo del logo. */
html,body{overflow-x:clip}
.big-logo,.poster .big-logo{width:100vw;max-width:none;margin:0 0 clamp(20px,4vw,40px);align-self:center}
@media(min-width:900px){.big-logo{width:100vw}}
.poster-meta{margin:clamp(14px,3vw,24px) 0 clamp(10px,2vw,16px);color:#fff}
.poster-meta span:last-child{color:#fff}
.poster .big-logo{margin-bottom:0}
.poster-type{position:relative;z-index:1;margin-top:-.3em}
.landing-page>.big-logo{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);align-self:auto}

/* Degradado: sin rebote al llegar a los bordes (era lo que mostraba el color plano abajo). */
html,body{overscroll-behavior:none}
:root{background-color:#e0003c}
/* Pie de página brutalista: grilla de 4 columnas, negro sobre el degradado. */
.site-footer{display:block;padding:clamp(40px,8vw,72px) clamp(14px,4vw,40px) clamp(24px,5vw,36px);margin-top:clamp(24px,6vw,56px);color:#141414;font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;border-top:3px solid #141414}
.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 16px}
.footer-grid p{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.footer-grid a,.footer-grid span{display:block;color:#141414;text-decoration:none;font-size:clamp(15px,1.8vw,18px);font-weight:700;letter-spacing:-.01em;line-height:1.5;opacity:1;text-transform:none}
.footer-grid a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-bottom{display:flex;justify-content:space-between;margin-top:clamp(32px,6vw,48px);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.footer-bottom a{color:#141414;opacity:.5;text-decoration:none;font-size:12px}
@media(max-width:640px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
body:has(.landing-socials) footer a[href*="instagram"],body:has(.landing-socials) footer a[href*="youtube"]{display:initial}
.site-footer a[href*="instagram"],.site-footer a[href*="youtube"]{display:block!important}
/* Galería: grilla con tamaños distintos (mosaico), estética de archivo. */
.gallery{padding:clamp(20px,5vw,48px) clamp(14px,4vw,40px) 0;color:#141414}
.gallery-head{display:grid;gap:4px;margin-bottom:clamp(20px,4vw,36px)}
.gallery-kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.gallery-head h1{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;font-size:clamp(56px,16vw,190px);line-height:.95;letter-spacing:-.04em;text-transform:uppercase;color:#141414}
.gallery-sub{margin:0;font-size:clamp(14px,1.8vw,18px);font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.04em}
.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(90px,14vw,190px);grid-auto-flow:dense;gap:clamp(6px,1vw,12px)}
.gallery-item{padding:0;border:0;border-radius:0;min-height:0;background:#141414;overflow:hidden;cursor:zoom-in}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 500ms var(--ease-out),filter 300ms ease}
@media (hover:hover){.gallery-item:hover img{transform:scale(1.04)}}
.gallery-item.g0{grid-column:span 4;grid-row:span 3}.gallery-item.g1{grid-column:span 2;grid-row:span 2}.gallery-item.g2{grid-column:span 2;grid-row:span 1}
.gallery-item.g3{grid-column:span 3;grid-row:span 2}.gallery-item.g4{grid-column:span 3;grid-row:span 2}.gallery-item.g5{grid-column:span 6;grid-row:span 3}
@media(max-width:640px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:34vw}.gallery-item.g0,.gallery-item.g5{grid-column:span 2;grid-row:span 2}.gallery-item.g1,.gallery-item.g2,.gallery-item.g3,.gallery-item.g4{grid-column:span 1;grid-row:span 1}.gallery-item.g3{grid-row:span 2}}
.lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(20,20,20,.94);color:#fff}
.lightbox::backdrop{background:rgba(20,20,20,.6)}
.lightbox img{position:absolute;inset:56px 12px 56px;width:calc(100% - 24px);height:calc(100% - 112px);object-fit:contain}
.lightbox button{position:absolute;background:transparent;border:0;color:#fff;font-weight:800;font-size:16px;letter-spacing:.06em;text-transform:uppercase;min-height:44px;padding:10px 14px}
.lb-close{top:6px;right:6px}.lb-prev{left:6px;top:50%;transform:translateY(-50%);font-size:28px}.lb-next{right:6px;top:50%;transform:translateY(-50%);font-size:28px}
.lb-count{position:absolute;bottom:14px;left:0;right:0;text-align:center;margin:0;font-size:13px;font-weight:700;letter-spacing:.12em}
@media (prefers-reduced-motion:no-preference){.lightbox[open] img{animation:fervor-pop 280ms var(--ease-out)}}

/* Fotos del afiche: llenan el espacio que sobra al lado de las palabras cortas, en monocromo rojo. */
.poster-type span:has(.poster-img){display:flex;align-items:center;gap:.14em}
.poster-type .poster-img{flex:1 1 auto;min-width:1.2em;width:auto;height:.74em;margin:0;display:block;transform:none;filter:contrast(1.15);mix-blend-mode:normal;background-color:transparent;background-image:linear-gradient(#ff0043,#ff0043),var(--photo);background-size:cover;background-position:center;background-blend-mode:color,normal}

/* Carga: ecualizador brutalista. Barras negras rectas que suben en secuencia, sobre una línea base. */
body:has(.loading) header.top,body:has(.loading) .site-footer{display:none}
.loading{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:transparent;border-radius:0}
.eq{display:flex;align-items:flex-end;gap:7px;height:64px;padding-bottom:6px;border-bottom:3px solid #141414}
.eq i{display:block;width:12px;height:100%;background:#141414;transform-origin:bottom;transform:scaleY(.18)}
.eq i:nth-child(2){transform:scaleY(.4)}.eq i:nth-child(3){transform:scaleY(.62)}.eq i:nth-child(4){transform:scaleY(.86)}.eq i:nth-child(5){transform:scaleY(.62)}.eq i:nth-child(6){transform:scaleY(.4)}
.eq-label{font:700 11px/1 "Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#141414}
@media (prefers-reduced-motion:no-preference){
 .eq i{animation:eq-rise 1100ms cubic-bezier(.77,0,.175,1) infinite}
 .eq i:nth-child(1){animation-delay:0ms}.eq i:nth-child(2){animation-delay:90ms}.eq i:nth-child(3){animation-delay:180ms}.eq i:nth-child(4){animation-delay:270ms}.eq i:nth-child(5){animation-delay:360ms}.eq i:nth-child(6){animation-delay:450ms}.eq i:nth-child(7){animation-delay:540ms}
}
@keyframes eq-rise{0%,100%{transform:scaleY(.12)}45%{transform:scaleY(1)}70%{transform:scaleY(.45)}}

/* Créditos de las fotógrafas: chiquitos. */
.gallery-item{position:relative;margin:0;cursor:default}
.gallery-item button{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.gallery-item figcaption{position:absolute;left:0;bottom:0;padding:3px 6px;background:rgba(20,20,20,.72);color:#fff;font:600 9px/1.3 "Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;letter-spacing:.04em}
.gallery-item figcaption a{color:#fff;text-decoration:none;opacity:.8}
.gallery-credits{margin:6px 0 0;font-size:11px;font-weight:600;letter-spacing:.04em;color:#141414}
.gallery-credits a,.lb-credit a{color:inherit;text-underline-offset:3px}
.lb-credit{position:absolute;bottom:36px;left:0;right:0;margin:0;text-align:center;font-size:11px;font-weight:600;letter-spacing:.04em;color:#fff;opacity:.85}
.lb-count{bottom:14px}
/* Carga: solo 3 barras, sin línea base ni texto. */
.eq{gap:10px;height:56px;padding-bottom:0;border-bottom:0}
.eq i{width:16px}
.eq i:nth-child(1){transform:scaleY(.3)}.eq i:nth-child(2){transform:scaleY(.6)}.eq i:nth-child(3){transform:scaleY(.9)}
@media (prefers-reduced-motion:no-preference){.eq i:nth-child(1){animation-delay:0ms}.eq i:nth-child(2){animation-delay:140ms}.eq i:nth-child(3){animation-delay:280ms}}
main:has(.gallery){max-width:none;padding:0;background:transparent}
.gallery-item figcaption a{opacity:1}
.eq i{background:#fff}

/* ===== Portada completa y Entradas en sistema afiche (referencias suizas / Sony Music) ===== */
.poster{--g:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif}
.block-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;margin:clamp(28px,6vw,48px) 0 0;padding:clamp(14px,2.4vw,20px) clamp(16px,2.4vw,22px);background:#141414;color:#fff;border:0;border-radius:0;min-height:0;font:700 clamp(22px,4vw,34px)/1 var(--g);letter-spacing:-.02em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.block-cta b{font-weight:400}
@media (hover:hover){.block-cta:hover{background:#000}}
.poster-intro{margin:clamp(36px,7vw,64px) 0 0;max-width:30ch;font:600 clamp(19px,2.6vw,28px)/1.25 var(--g);letter-spacing:-.015em;color:#141414;text-transform:none;text-align:left}
.section-kicker{margin:0 0 12px;font:700 12px/1 var(--g);letter-spacing:.16em;text-transform:uppercase;color:#fff}
.bill{margin-top:clamp(48px,9vw,96px)}
.bill-row{display:flex;align-items:center;gap:clamp(10px,2vw,20px);border-top:2px solid #141414;padding:clamp(10px,1.6vw,16px) 0}
.bill-row:last-child{border-bottom:2px solid #141414}
.bill-photo{flex:0 0 auto;width:clamp(44px,8vw,92px);aspect-ratio:1;background-color:#141414;background-image:linear-gradient(#ff0043,#ff0043),var(--photo,none);background-size:cover;background-position:center;background-blend-mode:color,normal}
.bill-row strong{flex:1;min-width:0;font:700 clamp(30px,7.5vw,92px)/.95 var(--g);letter-spacing:-.04em;text-transform:uppercase;color:#141414;overflow-wrap:anywhere}
.bill-row span{font:700 11px/1.2 var(--g);letter-spacing:.12em;text-transform:uppercase;color:#fff;text-align:right;max-width:10ch}
.bill-row.is-extra b{flex:0 0 auto;width:clamp(44px,8vw,92px);text-align:center;font:400 clamp(30px,7.5vw,92px)/1 var(--g);color:#fff}
.bill-row.is-extra strong{font-size:clamp(20px,4.2vw,48px);letter-spacing:-.03em}
.teaser{margin-top:clamp(48px,9vw,96px)}
.teaser-strip{display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(6px,1vw,10px)}
.teaser-strip img{width:100%;height:clamp(160px,30vw,380px);object-fit:cover;display:block}
.text-cta{display:inline-block;margin-top:14px;color:#141414;font:700 14px/1 var(--g);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid #141414;padding-bottom:3px}
.poster-info dt{text-transform:none}
/* Entradas: filas con nombre enorme en negro y precio en blanco. */
.tickets #buy{width:100%;align-items:stretch;margin-top:clamp(28px,6vw,48px)}
.tickets .tier-list{gap:0;margin-bottom:0}
.tickets .tier-row{border-top:2px solid #141414;padding:clamp(10px,1.6vw,16px) 0;font-size:inherit}
.tickets .tier-row:last-child{border-bottom:2px solid #141414}
.tickets .tier-name{background:none;padding:0;color:#141414;font:700 clamp(30px,7.5vw,88px)/.95 var(--g);letter-spacing:-.04em;text-transform:uppercase}
.tickets .tier-price{color:#fff;font:700 clamp(20px,3.4vw,40px)/1 var(--g);letter-spacing:-.02em;text-align:right}
.tickets .tier-row:not(.is-off):has(input:checked) .tier-name::before{content:'→ ';font-weight:400}
.tickets .landing-note{text-align:left;color:#141414;margin-top:24px}
.tickets .landing-button.is-off{margin-top:clamp(28px,6vw,48px)}
.tickets #buy-details label{color:#141414}
.tickets #buy-details .summary,.tickets #buy-details>small,.tickets #buy-details .check a{color:#141414}
.tickets #buy-details .summary{border-top-color:#141414}
@media(max-width:560px){.bill-row span{display:none}}

/* ===== Reglas de color y estructura (28/9) ===== */
/* Degradado de toda la página (no fijo): así cada zona tiene siempre su tono y el texto puede acompañarlo. */
body::before{display:none}
:root{background:#e0003c linear-gradient(180deg,#e8003f 0%,#f7033f 25%,#ff0c4b 50%,#ff2862 75%,#ff4d7d 100%) no-repeat;background-size:100% 100%;min-height:100%}
/* Tonos: claro = blanco sobre rojo oscuro; oscuro = negro sobre rojo claro. */
[data-tone]{--tone:#fff;--tone-inv:#990028}
[data-tone=dark]{--tone:#141414;--tone-inv:#fff}
.site-top .poster-meta,.poster-type>span,.notify-title,.notify-msg,.poster-info>div,.poster-info dt,.poster-info dd,.poster-intro,.section-kicker,.bill-row strong,.bill-row span,.teaser .text-cta,.tier-name,.tier-price,.landing-note,#buy-details label,#buy-details .summary,#buy-details>small,.gallery-credits,.gallery-credits a,.site-footer,.site-footer a,.site-footer p,.site-footer span{color:var(--tone,#fff)}
.poster-type>span.is-white{color:var(--tone,#fff)}
.poster-info,.bill-row,.tier-row,.site-footer,#buy-details .summary{border-color:currentColor}
.poster-info>div{border-top:0}
.poster-info{border-top:2px solid var(--tone,#fff);color:inherit}
.poster-info:has(>div[data-tone=dark]){border-top-color:#141414}
.bill-row,.tier-row{color:var(--tone,#fff)}
.bill-row:last-child,.tickets .tier-row:last-child{border-bottom-color:currentColor}
.bill-row.is-extra b{color:var(--tone,#fff)}
.block-cta{background:var(--tone,#fff);color:var(--tone-inv,#990028)}
@media (hover:hover){.block-cta:hover{background:var(--tone,#fff);opacity:.9}}
.notify-row .landing-button,.poster .notify-row .landing-button{background:var(--tone,#fff);color:var(--tone-inv,#990028)}
.tickets .tier-row:not(.is-off):not(:has(input:checked)){opacity:.7}
.tickets .tier-row.is-off{opacity:.4}
/* Encabezado único: meta chica + logo de borde a borde. Nada de header común. */
header.top{display:none}
.site-top{display:block;overflow:hidden}
.site-top .poster-meta{padding:0 clamp(14px,4vw,40px)}
.site-top .big-logo{display:block;width:100vw;margin:0}
.site-top .big-logo img{display:block;width:100%;height:auto}
body:has(.loading) .site-top{display:none}
.landing-page>.big-logo{display:none}
main:not(:has(.landing-page)):not(:has(.construction-cover)):not(:has(.loading)):not(:has(.gallery)){margin-top:clamp(16px,4vw,32px)}
/* Galería solo visual. */
.gallery{padding-top:clamp(10px,2vw,16px)}
.gallery-credits{margin:14px 0 0;font:600 10px/1.4 "Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
/* Mayúsculas en la mayoría de los textos. */
.poster-intro,.notify-title,.poster-info dt,.poster-info dd,.site-footer a,.site-footer span,.landing-note,.gallery-item figcaption,#buy-details .check span{text-transform:uppercase}
.poster-intro{font-size:clamp(17px,4.6vw,26px);line-height:1.2;letter-spacing:-.01em;max-width:28ch}
.poster-info dt,.poster-info dd{letter-spacing:.02em}
/* Espacios entre líneas y textos parejos (filas de tandas y line-up): mismo aire arriba y abajo de las mayúsculas. */
.tickets .tier-row,.bill-row{padding:clamp(14px,3.4vw,24px) 0}
.tickets .tier-name,.bill-row strong{line-height:.8;padding-top:.06em}
.tickets .tier-price{line-height:1}
.tickets .tier-price .tier-low{margin-top:6px}
.bill-row.is-extra b{line-height:.8}

.site-footer{max-width:none;width:auto;margin-left:0;margin-right:0;justify-content:initial}
.tickets .landing-note{max-width:none;width:100%;font-size:12px;line-height:1.5;letter-spacing:.06em;text-align:left;opacity:1}
.tickets .notify{margin-top:clamp(28px,6vw,48px)}

/* Un renglón por título: sin cortes a la mitad. */
.poster-type>span,.bill-row strong,.tickets .tier-name,.notify-title,.poster-info dt,.poster-info dd,.site-top .poster-meta span{white-space:nowrap}
.poster-type>span{overflow:visible}
.bill-row strong,.tickets .tier-name{overflow:hidden;display:block}
.poster-info dt,.poster-info dd{overflow:hidden;text-overflow:ellipsis}
.poster-intro,.landing-note,.gallery-credits,#buy-details .check span{text-wrap:balance}
.tickets .tier-name{flex:1;min-width:0}
.poster-type{margin-top:clamp(10px,2.4vw,20px)}
.bill-row strong,.tickets .tier-name{font-size:clamp(34px,11vw,96px)}

/* Fotos del afiche más desordenadas: tamaños y giros distintos, bien encuadradas (caras, momentos). */
.poster-type{position:relative}
.poster-type>span{position:relative;z-index:1}
.poster-type .poster-img{background-position:center,var(--focus,center)}
.poster-type .poster-img.tilt-a{height:.95em;transform:translateY(-.06em) rotate(-2.5deg);box-shadow:0 .08em 0 rgba(0,0,0,.18)}
.poster-type .poster-img.tilt-b{height:1.15em;transform:translateY(.1em) rotate(2deg);margin-right:-.2em}
.poster-type span:has(.float){z-index:0}
.poster-type .poster-img.float{position:absolute;right:-.2em;top:-.55em;width:2.6em;height:1.7em;flex:none;min-width:0;transform:rotate(-4deg);z-index:-1;opacity:.95}
@media(max-width:560px){.poster-type .poster-img.float{width:2.2em;height:1.5em;right:-.35em}}
/* Verificación de Cloudflare: nunca visible. */
.turnstile-slot,.turnstile-slot:has(iframe){position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;margin:0!important;opacity:0!important;pointer-events:none}
.site-top .big-logo{margin-top:clamp(10px,2.6vw,24px)}

/* Color por grupo. */
.poster-info{border-top-color:var(--tone,#fff)}
.poster-type>span,.poster-type>span.is-white{color:var(--tone,#fff)}
.bill{margin-top:clamp(40px,8vw,80px)}
.teaser{margin-top:clamp(40px,8vw,80px)}
.poster-type .poster-img{box-shadow:none!important}
/* Computadora: aprovechar el ancho. Acción a la izquierda, presentación a la derecha. */
@media(min-width:900px){
 .poster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,4vw,64px);grid-auto-flow:row dense;align-items:start}
 .poster>*{grid-column:1/-1}
 .poster>.notify,.poster>.block-cta{grid-column:1;margin-top:clamp(36px,4vw,56px)}
 .poster>.poster-intro{grid-column:2;margin-top:clamp(36px,4vw,56px);max-width:none;font-size:clamp(22px,2.2vw,34px);line-height:1.12}
 .poster>.poster-info{margin-top:clamp(36px,4vw,56px)}
 .poster .notify{width:100%}
}
/* Sin negro: todo en blanco. La jerarquía se marca con el peso (principal en negrita, secundario fino) y líneas finas. */
[data-tone],[data-tone=dark]{--tone:#fff;--tone-inv:#990028}
.poster-info,.bill-row,.tier-row,.tickets .tier-row,.site-footer,#buy-details .summary{border-width:1px!important;border-color:rgba(255,255,255,.7)!important}
.bill-row:last-child,.tickets .tier-row:last-child{border-bottom:1px solid rgba(255,255,255,.7)!important}
.poster-info{border-top:1px solid rgba(255,255,255,.7)!important}
.poster-info dt{font-weight:600}.poster-info dd{font-weight:300}
.notify-title{text-transform:uppercase;font-weight:500;letter-spacing:.14em;font-size:12px}
.notify-row{border:1px solid #fff}
.notify-row .landing-button,.poster .notify-row .landing-button{background:transparent;color:#fff;border-left:1px solid #fff;font-weight:600}
.notify-row input{background:rgba(255,255,255,.12);color:#fff;border-radius:0}
.notify-row input::placeholder{color:rgba(255,255,255,.75)}
.poster-intro{font-weight:400}
.site-footer p{font-weight:600}.site-footer a,.site-footer span{font-weight:300}
.footer-bottom,.footer-bottom a{font-weight:300;color:#fff}
.site-footer{border-top-color:rgba(255,255,255,.7)!important}
.gallery-credits,.gallery-credits a{font-weight:300;color:#fff}
.gallery-item figcaption{background:transparent;text-shadow:0 1px 6px rgba(0,0,0,.45);font-weight:500}
.tickets .tier-price{font-weight:300}
.tickets #buy-details label{font-weight:500}
.tickets #buy-details input:not([type=checkbox]){background:rgba(255,255,255,.12);color:#fff;border:1px solid #fff}
.tickets .tier-row.is-off .tier-name{font-weight:300}
.block-cta{font-weight:600}
.eq i{background:#fff}
.lightbox{background:rgba(153,0,40,.96)}
.text-cta{color:#fff!important;border-bottom:1px solid #fff!important;font-weight:500}
.bill-photo{background-color:rgba(255,255,255,.14)}
.gallery-item{background:rgba(255,255,255,.1)}
.poster-type,.poster-meta,.poster-info,.poster-info dt,.poster-info dd,.poster-soon,.poster-links a,.access-link,.footer-grid a,.footer-grid span,.footer-bottom a{color:#fff}
.tickets .landing-note,#buy-details .summary,#buy-details>small,#buy-details .check a,#buy-details label,.tickets #buy-details .summary{color:#fff!important}

/* ===== Sin cajas blancas en festivalfervor.com: todo sobre el degradado, en blanco, estilo afiche ===== */
main,main:not(:has(.landing-page)):not(:has(.construction-cover)):not(:has(.loading)):not(:has(.gallery)){background:transparent!important;border-radius:0!important;box-shadow:none!important;max-width:none!important;width:auto!important;margin:0!important;padding:clamp(20px,5vw,48px) clamp(14px,4vw,40px) 0!important;color:#fff}
main .card,main .narrow.card{background:transparent;border:0;border-top:1px solid rgba(255,255,255,.7);border-radius:0;padding:clamp(18px,4vw,28px) 0 0;margin:0 0 clamp(20px,4vw,32px);color:#fff;box-shadow:none}
main .narrow{max-width:760px;margin:0}
main h1,main .narrow h1,.terms h1,.order-title{font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:-.035em;line-height:.95;font-size:clamp(40px,11vw,96px);margin:0 0 clamp(18px,4vw,28px)}
main h2,main h3{color:#fff;font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;text-transform:uppercase;letter-spacing:-.01em}
main p,main li,main small,main .muted,main label,main legend{color:#fff}
main .muted,main small{opacity:.85;font-weight:300}
main a{color:#fff}
/* Formularios en blanco con contorno fino. */
main input:not([type=checkbox]):not([type=radio]),main textarea,main select{background:rgba(255,255,255,.12);border:1px solid #fff;border-radius:0;color:#fff}
main input::placeholder,main textarea::placeholder{color:rgba(255,255,255,.7)}
main label{text-transform:uppercase;font-size:12px;letter-spacing:.1em;font-weight:500}
main label.check,main label.upload{text-transform:none;letter-spacing:0;font-size:14px}
main button,main .button{background:transparent;border:1px solid #fff;border-radius:0;color:#fff;text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:14px}
main button.primary,main .button.primary{background:#fff;color:#990028;border-color:#fff}
main .upload{border:1px dashed rgba(255,255,255,.8);border-radius:0}
main .error{color:#fff;font-weight:700}
/* Condiciones. */
.terms{color:#fff}
.terms-eyebrow{color:#fff;font-weight:300}
.terms h2{color:#fff;border-top:1px solid rgba(255,255,255,.7);font-weight:600}
.terms p,.terms li{color:#fff;font-weight:400}
.terms li::before{background:#fff}
.terms-back{color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:500;border-bottom:1px solid #fff;padding-bottom:3px}
/* Pedido. */
.order-head .order-eyebrow{color:#fff;font-weight:300}
.order-facts{border-top-color:rgba(255,255,255,.7)}
.order-facts>div{border-bottom-color:rgba(255,255,255,.7)}
.order-facts dt{color:#fff;font-weight:300}
.order-facts dd{color:#fff;font-weight:700;text-transform:uppercase}
.order-amount small,.order-amount span{color:#fff;font-weight:300}
.order-amount strong{color:#fff;font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;letter-spacing:-.04em}
main .pill{background:transparent;border:1px solid #fff;color:#fff;border-radius:0;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
main .bank-row{border-bottom-color:rgba(255,255,255,.5)}
main .bank-row strong{color:#fff}
main .step{color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.12em}
main .summary{border-top-color:rgba(255,255,255,.7)}
main details.card>summary{cursor:pointer;color:#fff;text-transform:uppercase;font-size:13px;letter-spacing:.08em;font-weight:500}
/* Entradas: el QR necesita fondo blanco para leerse; solo el QR, sin caja alrededor. */
main .ticket{border-top:1px solid rgba(255,255,255,.7);text-align:left}
main .ticket .qr{background:#fff;padding:10px;display:inline-block;width:min(100%,280px)}
main .ticket h2{font-size:clamp(24px,6vw,36px)}
@media print{main,main .card,main .ticket{color:#252632!important;background:#fff!important}main h1,main h2,main p,main small,main strong{color:#252632!important}}
/* Un solo margen para todo: el logo y el contenido alineados al mismo borde. */
:root{--gutter:clamp(10px,2.6vw,28px)}
.site-top .big-logo{width:calc(100vw - 2*var(--gutter));margin:var(--gutter) auto 0}
main,main:not(:has(.landing-page)):not(:has(.construction-cover)):not(:has(.loading)):not(:has(.gallery)){padding-left:var(--gutter)!important;padding-right:var(--gutter)!important}
.landing-page,.poster,.gallery,.site-footer{padding-left:var(--gutter)!important;padding-right:var(--gutter)!important}
main:has(.landing-page),main:has(.gallery){padding-left:0!important;padding-right:0!important}
.gallery{padding-top:var(--gutter)}
.gallery-grid{gap:var(--gutter)}
/* Fotos con su color real, sin filtro. */
.poster-type .poster-img{background-image:var(--photo)!important;background-position:var(--focus,center)!important;background-blend-mode:normal!important;filter:none!important}
.bill-photo{background-image:var(--photo,none)!important;background-blend-mode:normal!important}

/* Cuenta. */
.account{color:#fff;max-width:760px}
.account h1{margin-bottom:clamp(14px,3vw,24px)}
.account-who{margin:0 0 clamp(24px,5vw,40px);font:700 clamp(20px,5vw,30px)/1.1 "Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;text-transform:uppercase;letter-spacing:-.02em}
.account-who span{display:block;margin-top:6px;font-size:13px;font-weight:300;letter-spacing:.04em;text-transform:none}
.account-lead{font-weight:300;margin:0 0 20px}
.account-orders{border-top:1px solid rgba(255,255,255,.7)}
.account-order{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.7);color:#fff;text-decoration:none}
.account-order strong{font:700 clamp(22px,6vw,34px)/1 "Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;text-transform:uppercase;letter-spacing:-.03em}
.account-order span{grid-column:1;font-weight:300;text-transform:uppercase;font-size:13px;letter-spacing:.04em}
.account-order em{grid-column:1;font-style:normal;font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.account-order b{grid-column:2;grid-row:1/4;align-self:center;font-weight:300;font-size:28px}
.account-empty{font-weight:300;text-transform:uppercase;letter-spacing:.04em}
.account-actions{display:grid;gap:14px;margin-top:clamp(24px,5vw,40px)}
.account-actions .text-cta,.account-form .text-cta{background:none;border:0;border-bottom:1px solid #fff;padding:0 0 3px;justify-self:start;min-height:0;font-size:12px}
.account-form{display:grid;gap:14px}
.account-form input[name=code]{font:700 32px/1 "Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;letter-spacing:.3em;text-align:left}
.buyer-line{margin:0;color:#fff;font-weight:300;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.account-form .error:empty{display:none}.account-lead{text-transform:uppercase;font-size:13px;letter-spacing:.04em;line-height:1.5}
.notify .notify-title,.poster .notify .notify-title,.tickets .notify .notify-title{color:#fff!important;text-transform:uppercase!important;font-weight:400!important;font-size:12px!important;letter-spacing:.16em!important;line-height:1.4}

.notify-msg,.account-form .error,main .error{color:#fff!important;font-weight:500;text-transform:uppercase;font-size:12px;letter-spacing:.06em}
/* Autocompletado de Safari/Chrome sin fondo amarillo. */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 1000px #e8264f inset;caret-color:#fff;transition:background-color 9999s}
.notify-row input:focus,main input:focus{outline:none;box-shadow:inset 0 0 0 1px #fff}
/* Mi cuenta: sin huecos. En computadora, dos columnas (título a la izquierda, formulario o pedidos a la derecha). */
.account{max-width:none}
.account-form label{margin:0}
.account-form{gap:12px}
.account-form .block-cta{margin-top:6px}
@media(min-width:900px){
 .account{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,4vw,64px);align-items:start;grid-auto-flow:row dense}
 .account>h1{grid-column:1;font-size:clamp(64px,9vw,150px)}
 .account>.account-lead,.account>.account-who,.account>.account-actions{grid-column:1}
 .account>.account-form,.account>.account-orders,.account>.account-empty{grid-column:2;grid-row:1/span 3;margin-top:clamp(8px,1vw,16px)}
}
/* Menos parte oscura: llega al rojo FERVOR al 12% (antes 32%). */
:root{background:#e0003c linear-gradient(180deg,#e8003f 0%,#f7033f 25%,#ff0c4b 50%,#ff2862 75%,#ff4d7d 100%) no-repeat!important;background-size:100% 100%!important}

/* Botón de cuenta: siempre visible arriba a la derecha. */
.account-btn{position:fixed;top:max(var(--gutter),env(safe-area-inset-top));right:var(--gutter);z-index:50;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#e0003c;border:1px solid rgba(255,255,255,.85);text-decoration:none;box-shadow:0 6px 18px -8px rgba(60,0,15,.6)}
@media (hover:hover){.account-btn:hover{background:#7a0020}}
body:has(.loading) .account-btn{display:none}
.footer-account{display:inline-flex!important;align-items:center;gap:6px}
/* Condiciones: título fijo a la izquierda y texto a la derecha en computadora. */
.terms{max-width:none}
.terms-head .terms-back{display:inline-block;margin-top:clamp(12px,2vw,20px)}
.terms-body>h2:first-child{margin-top:0}
@media(min-width:900px){
 .terms{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(32px,4vw,72px);align-items:start}
 .terms-head{position:sticky;top:clamp(20px,3vw,40px)}
 .terms-head h1{font-size:clamp(56px,6.4vw,110px)}
 .terms-body{padding-top:clamp(6px,1vw,14px)}
 .terms p,.terms li{font-size:16px}
}

/* Textito de contexto sobre las fotos. */
.photo-note{margin:0 0 10px;font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Line-up: foto y "+" en la misma columna cuadrada; textos centrados con la foto y empezando en la misma línea. */
.bill{--bw:clamp(44px,8vw,92px)}
.bill-row{display:grid!important;grid-template-columns:var(--bw) minmax(0,1fr);align-items:center;column-gap:clamp(12px,2.2vw,24px)}
.bill-photo{width:var(--bw)!important}
.bill-row strong{padding-top:0!important;line-height:1!important;text-box:trim-both cap alphabetic}
.bill-row.is-extra b{position:relative;width:var(--bw)!important;aspect-ratio:1;font-size:0!important;line-height:0!important}
.bill-row.is-extra b::before,.bill-row.is-extra b::after{content:'';position:absolute;left:50%;top:50%;background:currentColor;transform:translate(-50%,-50%)}
.bill-row.is-extra b::before{width:46%;height:2px}
.bill-row.is-extra b::after{width:2px;height:46%}

/* Botón de cuenta abajo a la derecha; con sesión, nombre y mail al lado del ícono. */
.account-btn{top:auto!important;bottom:max(var(--gutter),env(safe-area-inset-bottom));width:auto!important;min-width:48px;height:48px!important;border-radius:999px!important;padding:0 13px;display:flex!important;align-items:center;gap:10px}
.account-btn svg{flex:0 0 auto}
.acct-chip{display:none;text-align:right;line-height:1.15;max-width:52vw}
.account-btn.signed .acct-chip{display:grid}
.acct-chip strong{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acct-chip small{font-size:11px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-btn.signed{padding-left:16px}
html.compact-top .account-btn{display:none!important}
/* En Mi cuenta, Condiciones, pedidos y acceso el logo va chico para que se lea el contenido. */
html.compact-top .site-top{padding:max(var(--gutter),env(safe-area-inset-top)) var(--gutter) 0!important;margin:0!important}
html.compact-top .site-top .big-logo{display:inline-block;width:auto!important}
html.compact-top .site-top .big-logo img{width:clamp(110px,18vw,180px)!important;height:auto!important;max-width:none}

/* Fotos quietas y textos no seleccionables (los campos de los formularios sí). */
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}
img,.poster-img,.bill-photo,.gallery-item,.gallery-photo,.teaser-strip{cursor:default!important;-webkit-user-drag:none}
.gallery-photo{display:block;width:100%;height:100%}
.gallery-item img,.teaser-strip img{pointer-events:none}
/* Botón de cuenta: nombre y mail siempre dentro de la pastilla, en blanco. */
.account-btn{height:auto!important;min-height:48px;padding:7px 13px!important;line-height:1!important;overflow:hidden}
.account-btn.signed{padding-left:18px!important}
.account-btn .acct-chip{position:static;margin:0;padding:0;transform:none;align-content:center;gap:3px;min-width:0}
.account-btn .acct-chip>*{display:block;position:static;margin:0;padding:0;color:#fff;line-height:1.15;transform:none;text-align:right}
.account-btn .acct-chip small{font-size:10px;font-weight:400;letter-spacing:.04em;text-transform:lowercase;opacity:.85}

/* Nombre y apellido lado a lado. */
.name-pair{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:380px){.name-pair{grid-template-columns:1fr}}
.account>.account-who{font:300 14px/1.4 "Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;letter-spacing:.04em;text-transform:none}

/* Créditos de fotos: nombre en medium, Instagram en light; nada clickeable. */
.gallery-item figcaption{display:flex;align-items:baseline;gap:8px;pointer-events:none;text-transform:uppercase;color:#fff}
.gallery-item figcaption .cr-name{font-weight:500;font-size:12px;letter-spacing:.08em}
.gallery-item figcaption .cr-ig{font-weight:300;font-size:11px;letter-spacing:.06em;text-transform:none;opacity:.9}

/* Links en blanco (nunca rojo sobre rojo). */
.terms a,.terms-back,.site-footer .footer-access,.footer-bottom a{color:#fff!important;text-decoration-color:rgba(255,255,255,.6)!important;border-color:rgba(255,255,255,.6)!important;opacity:1!important}
/* Datos del festival: tres columnas, sin repetir el horario que ya está en grande. */
@media(min-width:561px){.poster-info{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.poster-info{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:10px}}

/* QR de cada entrada en Mi cuenta: listos para mostrar en la puerta. */
.account-qrs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;padding:14px 0 20px;border-bottom:1px solid rgba(255,255,255,.7)}
.account-qr{margin:0}
.account-qr .qr-box{background:#fff;aspect-ratio:1}
.account-qr .qr-box svg{display:block;width:100%;height:100%}
.account-qr figcaption{margin-top:8px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.account-qr.used .qr-box{opacity:.4}
@media(max-width:560px){.account-qrs{grid-template-columns:1fr 1fr}}
/* Página del pedido: afiche, sin recuadros. Primero celular. */
.order{max-width:none;padding:clamp(20px,4vw,40px) var(--gutter) 0;color:#fff}
.order-state{margin:0 0 6px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.order-title{margin:0 0 clamp(18px,3vw,28px);font:800 clamp(52px,14vw,150px)/.9 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap}
.pay-label{margin:0;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.pay-amount{margin:2px 0 0;font:800 clamp(48px,13vw,120px)/.95 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.04em;white-space:nowrap}
.pay-hint{margin:6px 0 0;font-size:13px;font-weight:300;text-transform:uppercase;letter-spacing:.04em}
.pay-timer{margin:14px 0 22px;font-size:13px;font-weight:300;text-transform:uppercase;letter-spacing:.04em}
.pay-timer b{font-weight:700;font-variant-numeric:tabular-nums;font-size:16px}
.copy-list{border-top:1px solid rgba(255,255,255,.7)}
.copy-row{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.7);cursor:pointer;color:#fff;-webkit-tap-highlight-color:transparent}
.copy-row span{display:grid;gap:2px;min-width:0}
.copy-row small{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.copy-row strong{font-size:clamp(18px,4.6vw,26px);font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere}
.copy-row em{flex:0 0 auto;font-style:normal;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:#fff;color:#e0003c;padding:10px 14px}
.copy-row.copied em{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px #fff}
.copy-row:focus-visible{outline:2px solid #fff;outline-offset:4px}
.pay-meta{margin:12px 0 0;font-size:12px;font-weight:300;text-transform:uppercase;letter-spacing:.06em}
.order-text{margin:18px 0;max-width:60ch;font-size:15px;line-height:1.5;font-weight:400}
.order-more{margin:10px 0 0;border-top:1px solid rgba(255,255,255,.35);padding-top:12px}
.order-more summary{cursor:pointer;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;list-style:none}
.order-more summary::after{content:' +'}
.order-more[open] summary::after{content:' −'}
.report-form{margin-top:16px}
.order-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:clamp(28px,5vw,44px) 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.7)}
.order-facts div{min-width:0}.order-facts .wide{grid-column:1/-1}
.order-facts dt{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.order-facts dd{margin:3px 0 0;font-size:15px;font-weight:700;text-transform:uppercase}
.order-tickets{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.order-ticket{margin:0}
.order-ticket .qr-box{background:#fff;aspect-ratio:1}
.order-ticket .qr-box svg{display:block;width:100%;height:100%}
.order-ticket.used .qr-box{opacity:.4}
.order-ticket figcaption{display:grid;gap:3px;margin-top:10px;text-transform:uppercase}
.order-ticket strong{font-size:14px;letter-spacing:.04em}
.order-ticket span{font-size:11px;font-weight:300;letter-spacing:.08em}
.order-actions{display:flex;flex-wrap:wrap;gap:12px 24px;margin:22px 0 0}
.order .text-cta{all:unset;cursor:pointer;color:#fff;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #fff;padding-bottom:3px}
.order-help{margin:22px 0 0;font-size:12px;font-weight:300;text-transform:uppercase;letter-spacing:.06em}
.order-help a{color:#fff}
@media(min-width:900px){
 .order{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(32px,4vw,72px);align-items:start}
 .order>.order-state,.order>.order-title{grid-column:1/-1}
 .order>.pay,.order>.order-text,.order>.block-cta,.order>.order-more,.order>.order-tickets{grid-column:1}
 .order>.order-facts{grid-column:2;grid-row:3/span 4;margin-top:0}
 .order>.order-actions,.order>.order-help{grid-column:2}
}
@media print{.account-btn,.order-actions,.order .text-cta,.site-footer,.site-top{display:none!important}}
/* Tandas: todo en blanco. Sin elegir en light; la elegida pasa a bold con flecha. Las cerradas, light y tenues. */
.tickets .tier-row,.tickets .tier-row .tier-name,.tickets .tier-row .tier-price{color:#fff!important}
.tickets .tier-row .tier-name{font-weight:300!important;transition:font-weight .15s}
.tickets .tier-row:not(.is-off):has(input:checked) .tier-name{font-weight:800!important}
.tickets .tier-row:not(.is-off):has(input:checked) .tier-price{font-weight:700!important}
.tickets .tier-row:not(.is-off),.tickets .tier-row:not(.is-off):not(:has(input:checked)){opacity:1!important}
.tickets .tier-row.is-off{opacity:.45!important}
@media (hover:hover){.tickets .tier-row:not(.is-off):not(:has(input:checked)):hover .tier-name{font-weight:500!important}}
html.hide-acct .account-btn{display:none!important}

/* Formulario de compra: cantidad compacta con menú FERVOR y checks propios. */
.qty-field{display:inline-grid!important;gap:6px;width:clamp(120px,30vw,160px)}
.fs{position:relative;min-width:0}
.fs>select{position:absolute;inset:0;opacity:0;pointer-events:none;width:100%}
.fs-button{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 2px 0 0;border-bottom:1px solid #fff;cursor:pointer;color:#fff;font-size:26px;font-weight:700}
.fs-button::after{content:'';width:9px;height:9px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:translateY(-3px) rotate(45deg);transition:transform .18s}
.fs.open .fs-button::after{transform:translateY(2px) rotate(-135deg)}
.fs-button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.fs-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);margin:0;padding:4px 0;list-style:none;background:#e0003c;border:1px solid #fff;box-shadow:0 18px 40px -16px rgba(90,0,25,.6)}
.fs-list li{padding:10px 14px;font-size:20px;font-weight:300;color:#fff;cursor:pointer;display:flex;justify-content:space-between}
.fs-list li:hover,.fs-list li.focus{background:rgba(255,255,255,.16)}
.fs-list li[aria-selected=true]{font-weight:800}
.fs-list li[aria-selected=true]::after{content:'✓';font-weight:400}
#buy-details label.check,.account-form label.check,label.check{display:flex!important;align-items:center!important;gap:12px!important;margin:14px 0!important;line-height:1.3!important;cursor:pointer}
label.check input[type=checkbox]{-webkit-appearance:none;appearance:none;flex:0 0 auto;width:22px!important;height:22px!important;margin:0!important;padding:0!important;border:1.5px solid #fff!important;border-radius:0!important;background:transparent!important;display:grid;place-items:center;cursor:pointer}
label.check input[type=checkbox]::after{content:'';width:6px;height:11px;border-right:2px solid #e0003c;border-bottom:2px solid #e0003c;transform:translateY(-1px) rotate(45deg);opacity:0}
label.check input[type=checkbox]:checked{background:#fff!important}
label.check input[type=checkbox]:checked::after{opacity:1}
label.check input[type=checkbox]:focus-visible{outline:2px solid #fff;outline-offset:3px}
#buy-details>small{display:block;text-align:left!important}

/* Playlist del festival. */
.playlist{margin-top:clamp(40px,8vw,80px)}
.playlist iframe{display:block;width:100%;border:0;border-radius:12px;background:rgba(255,255,255,.12)}
.playlist iframe.is-video{aspect-ratio:16/9;height:auto}
.playlist .text-cta{display:inline-block;margin-top:12px}

/* Tandas futuras: desenfocadas, para que se entienda que vienen más. Texto de relleno (no se revela nada). */
.tickets .tier-row.is-future{filter:blur(9px);opacity:.55!important;pointer-events:none;user-select:none;cursor:default}
.tickets .tier-row.is-future .tier-name{font-weight:300!important}
/* Un solo botón blanco por vez: "Comprar" se va cuando se abre el formulario. */
[hidden]{display:none!important}
.tickets .tier-row.is-future{filter:blur(7px)}

/* PDF / impresión de entradas: una hoja por entrada, QR grande centrado, datos mínimos. */
.print-only{display:none}
@media print{
 @page{size:A4;margin:0}
 html,body,:root{background:#fff!important;background-image:none!important}
 body>*:not(main),#app>*:not(.order),.order>*:not(.order-tickets){display:none!important}
 main,#app,.order{display:block!important;margin:0!important;padding:0!important;min-height:0!important}
 .order-tickets{width:100%;display:block!important;margin:0!important}
 .order-ticket{width:100%;height:100vh;margin:0;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8mm;break-after:page;page-break-after:always;color:#111!important;text-align:center}
 .order-ticket:last-child{break-after:auto;page-break-after:auto}
 .print-only{display:grid!important;gap:2mm}
 .print-head strong{font:800 28pt/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.02em;text-transform:uppercase}
 .print-head span{font:400 12pt/1.3 "Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em}
 .order-ticket .qr-box{width:95mm!important;height:95mm!important;aspect-ratio:auto;background:#fff!important;opacity:1!important}
 .order-ticket figcaption{display:grid!important;gap:2mm;margin:0;color:#111!important}
 .order-ticket figcaption .print-name{font:700 16pt/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase}
 .order-ticket figcaption strong{font:500 11pt/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.08em}
 .order-ticket figcaption span:not(.print-name){font:400 10pt/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.08em}
 .order-ticket figcaption button,.order-actions,.account-btn{display:none!important}
}

/* Fotos que cambian en Entradas: poco zoom, que se entienda la foto. */
.poster-type .poster-img.rand{background-size:cover!important}
/* QR minimalista: blanco con bordes redondeados y aire parejo. */
.qr-box{border-radius:14px;padding:14px;box-sizing:border-box;overflow:hidden}
.qr-box svg{display:block;width:100%;height:100%}
.qr-box svg path,.qr-box svg rect[fill="#000000"]{shape-rendering:crispEdges}
/* Line-up: que los nombres no queden cortados arriba ni abajo. */
.bill-row strong{line-height:1.02!important;text-box:none!important;padding:.02em 0!important;overflow-x:clip!important;overflow-y:visible!important}
/* Condiciones: interlineado más prolijo. */
.terms-body ul{margin:0 0 6px;padding-left:1.1em}
.terms-body li,.terms-body p{line-height:1.45!important;margin:0 0 10px!important}
.terms-body h2{margin:26px 0 12px!important;padding-top:18px!important}
.terms-body>h2:first-child{margin-top:0!important}
@media print{.order-ticket .qr-box{border-radius:0;padding:0}}
/* Celular: al estirar la página arriba o abajo, sigue el color de cada punta del degradado (no se ve el corte). La sombra no ocupa lugar ni agrega scroll. */
/* PDF de entradas: una hoja A4 roja FERVOR por cada QR (nunca más de una hoja por entrada). */
.print-sheet{display:none}
@media print{
 @page{size:A4;margin:0}
 *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 html,body,:root{background:#e0003c!important}
 .order>*:not(.print-sheet),.order-tickets{display:none!important}
 .order>.print-sheet{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:9mm;width:210mm;height:296mm;box-sizing:border-box;padding:18mm 16mm;overflow:hidden;background:#e0003c linear-gradient(180deg,#e8003f 0%,#f7033f 25%,#ff0c4b 50%,#ff2862 75%,#ff4d7d 100%)!important;color:#fff;text-align:center;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;break-inside:avoid;page-break-inside:avoid;break-after:page;page-break-after:always}
 .order>.print-sheet:last-of-type{break-after:auto;page-break-after:auto}
 .ps-logo{width:120mm;height:auto;display:block}
 .ps-info{display:grid;gap:1.5mm}
 .ps-info strong{font-size:20pt;font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
 .ps-info .ps-name{font-size:16pt}
 .ps-info span{font-size:11pt;text-transform:uppercase;letter-spacing:.06em}
 .ps-qr{width:100mm;height:100mm;background:#fff;border-radius:5mm;padding:5mm;box-sizing:border-box}
 .ps-qr svg{display:block;width:100%;height:100%}
}

/* Pocas entradas: aviso grande en la portada. */
.scarcity{margin:14px 0 0;font:800 clamp(22px,5.4vw,44px)/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.02em;text-transform:uppercase;color:#fff}

/* Line-up desplegable: cada artista abre un texto corto y su Spotify. */
.bill-item{display:block!important;padding:0!important}
.bill-item>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:var(--bw) minmax(0,1fr) auto;align-items:center;column-gap:clamp(12px,2.2vw,24px);padding:clamp(14px,3.4vw,24px) 0}
.bill-item>summary::-webkit-details-marker{display:none}
.bill-toggle{position:relative;width:clamp(16px,2.4vw,24px);aspect-ratio:1}
.bill-toggle::before,.bill-toggle::after{content:'';position:absolute;left:50%;top:50%;background:#fff;transform:translate(-50%,-50%)}
.bill-toggle::before{width:100%;height:2px}.bill-toggle::after{width:2px;height:100%;transition:transform .2s}
.bill-item[open] .bill-toggle::after{transform:translate(-50%,-50%) scaleY(0)}
.bill-more{padding:0 0 clamp(16px,3vw,26px) calc(var(--bw) + clamp(12px,2.2vw,24px));display:grid;gap:14px;justify-items:start;max-width:62ch}
.bill-more p{margin:0;font-size:clamp(15px,1.6vw,18px);line-height:1.45;color:#fff}
.spotify-link{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:4px}
@media(max-width:560px){.bill-more{padding-left:0}}
/* Fondo: debajo de todo el color base es el rosa del final del degradado (así nunca se ve un corte abajo); arriba lo cubre la sombra del logo. */
:root{background-color:var(--edge,#e0003c)!important}
/* Deslizar hacia abajo para actualizar en el celular. */
html,body,html.construction,body.construction{overscroll-behavior-y:auto!important}
/* Logo: en computadora un poco más chico; en celular sigue a todo el ancho. */
@media(min-width:900px){html:not(.compact-top) .site-top .big-logo{display:block;width:78%!important;max-width:1400px}html:not(.compact-top) .site-top .big-logo img{width:100%!important;height:auto!important}}
/* Galería: logo chico centrado. */
html.center-logo .site-top{text-align:center}
html.center-logo .site-top .big-logo{margin:0 auto}
html.center-logo .site-top{display:flex!important;justify-content:center!important}

/* Al deslizar: el logo queda quieto atrás y se desvanece; el contenido y las fotos le pasan por encima. Las fotos van un poco más lento (profundidad). */
main,#app,.site-footer{position:relative;z-index:1}
.poster-type .poster-img{translate:0 min(calc(var(--scroll,0) * .07px),70px)}
@media (prefers-reduced-motion:reduce){html:not(.compact-top) .site-top{position:static}html:not(.compact-top) .site-top .big-logo img{opacity:1;transform:none}.poster-type .poster-img{translate:none}}

/* Mi cuenta: una columna centrada, tamaños comunes y espacios parejos. */
.me{color:#fff;width:100%;max-width:680px;margin:0 auto;padding:clamp(16px,4vw,32px) var(--gutter) 0;box-sizing:border-box}
.me-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.7)}
.me-head h1{margin:0;font:800 clamp(30px,7vw,44px)/1.05 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.02em;text-transform:none}
.me-head p{margin:6px 0 0;font-size:14px;font-weight:300}
.me-small{all:unset;cursor:pointer;flex:0 0 auto;color:#fff;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:2px}
.me-body{display:grid;gap:36px;margin-top:28px}
.me-block{display:grid;gap:14px}
.me-block h2{margin:0;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.9}
.me-row,.me-order{display:grid;gap:12px;padding:16px 0;border-top:1px solid rgba(255,255,255,.35)}
.me-row p,.me-meta{margin:0;display:grid;gap:4px}
.me-row strong,.me-meta strong,.me-link strong{font:700 18px/1.25 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:0;text-transform:none}
.me-row span,.me-meta span,.me-link span{font-size:14px;font-weight:300;line-height:1.4;text-transform:none;letter-spacing:0}
.me .block-cta{margin:4px 0 0!important;padding:14px 18px!important;font-size:15px!important;min-height:0!important}
.me .block-cta span{font-size:15px!important;letter-spacing:.04em}
.me-order .account-qrs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border:0;padding:0}
.me-order .account-qr figcaption{margin-top:8px;font-size:12px;letter-spacing:.06em}
.me-help{margin:0;font-size:13px;font-weight:300;opacity:.9}
.me-order .me-small,.me-body>.me-small{justify-self:start}
.me-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;color:#fff;text-decoration:none;padding:14px 0;border-top:1px solid rgba(255,255,255,.35)}
.me-link b{grid-column:2;grid-row:1/3;align-self:center;font-weight:300;font-size:20px}
.me-old summary{cursor:pointer;list-style:none;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.9}
.me-old summary::-webkit-details-marker{display:none}
.me-old summary::after{content:' +'}.me-old[open] summary::after{content:' −'}
.me-old[open] summary{margin-bottom:10px}
@media(min-width:640px){.me-order .account-qrs{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Logo chico siempre centrado. */
html.compact-top .site-top{display:flex!important;justify-content:center!important;text-align:center}
/* Página del pedido con entradas: QR y acciones ordenadas. */
.order-ticket figcaption{gap:6px!important;margin-top:12px}
.order-ticket figcaption .text-cta{justify-self:start}
.order-ticket figcaption{display:flex!important;flex-wrap:wrap;align-items:baseline;column-gap:18px;row-gap:8px}
.order-ticket figcaption strong,.order-ticket figcaption>span:not(.print-name){flex-basis:100%}
.order-tickets{grid-template-columns:repeat(auto-fill,minmax(240px,300px))!important;gap:28px!important}
.order-actions{margin-top:28px!important}

/* Web cerrada: solo el logo y el código. */
html.locked .site-footer,html.locked .account-btn{display:none!important}
.locked-page{min-height:40vh;display:grid;align-content:start;padding:clamp(24px,6vw,64px) var(--gutter) 0}
.locked-page .notify{max-width:520px}
/* Spotify: el botón en una sola línea. */
.spotify-link span{white-space:nowrap;text-align:left}
.bill-more{text-align:left}
/* Espacio al final para que el botón de cuenta no tape el pie. */
html:not(.locked):not(.compact-top) .site-footer{padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}

/* Cuenta regresiva. */
.countdown{margin:clamp(14px,3vw,24px) 0 0;font-size:clamp(14px,2.4vw,20px);font-weight:300;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-align:left;align-self:stretch}
.countdown b{font-weight:800;font-size:1.25em}
/* Cómo llegar. */
.venue-map{display:grid;gap:10px;margin-top:clamp(32px,6vw,56px);text-align:left;align-self:stretch;color:#fff}
.venue-map .photo-note{margin:0}
.venue-map strong{font-size:clamp(20px,4vw,30px);font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
.venue-map iframe{width:100%;height:clamp(220px,40vw,340px);border:0;border-radius:12px;filter:grayscale(1) contrast(1.05)}
.venue-map .text-cta{justify-self:start;color:#fff}

/* Textos de artistas: a lo ancho, en pocas líneas. */
.bill-more{max-width:none!important}
.bill-more p{max-width:none}

/* Cupón en la compra. */
.coupon-row{display:flex;gap:10px;margin:18px 0 0}
.coupon-row input{flex:1;min-width:0;background:transparent!important;border:0!important;border-bottom:1px solid #fff!important;border-radius:0!important;color:#fff!important;font-size:16px;padding:10px 0!important;text-transform:uppercase}
.coupon-row input::placeholder{color:rgba(255,255,255,.7);text-transform:none}
.coupon-row button{all:unset;cursor:pointer;color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:1px solid #fff;padding:10px 16px}
.coupon-msg{margin:8px 0 0;min-height:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.coupon-msg:empty{display:none}
/* Página del pedido: una columna centrada, sin huecos. */
.order{display:block!important;width:100%;max-width:680px!important;margin:0 auto!important;padding:clamp(16px,4vw,32px) var(--gutter) 0!important;box-sizing:border-box}
.order>*{grid-column:auto!important;grid-row:auto!important}
.order .order-title{font-size:clamp(44px,11vw,72px)!important;margin-bottom:20px!important}
.order-tickets{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.order-tickets:has(.order-ticket:only-child){grid-template-columns:minmax(0,320px)!important}
.order-ticket figcaption{display:grid!important;gap:4px!important;margin-top:10px}
.order-ticket figcaption strong{font-size:13px;letter-spacing:.08em}
.order-ticket figcaption .text-cta{margin-top:4px}
.order .order-actions{margin:22px 0 0!important;padding-top:16px;border-top:1px solid rgba(255,255,255,.35)}
.order .order-facts{margin-top:28px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.order .venue-map{margin-top:28px}
.order .venue-map iframe{height:220px}
.order .order-help{margin-top:18px!important}

/* Horario de cada banda en el line-up. */
.bill-time{justify-self:end;font-size:clamp(14px,2.4vw,22px);font-weight:300;letter-spacing:.04em;white-space:nowrap}
.bill-row:not(.bill-item):has(.bill-time){grid-template-columns:var(--bw) minmax(0,1fr) auto}
.bill-item>summary:has(.bill-time){grid-template-columns:var(--bw) minmax(0,1fr) auto auto}
/* Encuesta. */
.survey form{display:grid;gap:22px;margin-top:10px}
.rating{display:flex;gap:10px}
.rating label{cursor:pointer}
.rating input{position:absolute;opacity:0;pointer-events:none}
.rating span{display:grid;place-items:center;width:52px;height:52px;border:1.5px solid #fff;font-size:22px;font-weight:700;color:#fff}
.rating input:checked+span{background:#fff;color:#e0003c}
.survey-q{display:grid!important;gap:8px;width:auto!important;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.survey textarea{background:transparent;border:1px solid #fff;color:#fff;font:inherit;font-size:16px;padding:12px;text-transform:none;letter-spacing:0}

/* Cuenta regresiva: cuatro números grandes con rótulo chico, separados por líneas finas. */
.countdown{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(20px,4vw,36px) 0 0!important;padding:0!important;align-self:stretch;border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(255,255,255,.7);font-size:inherit!important;letter-spacing:0!important}
.cd-unit{display:grid;gap:4px;padding:clamp(12px,2.4vw,20px) 0 clamp(12px,2.4vw,20px) clamp(10px,2vw,18px);border-left:1px solid rgba(255,255,255,.35);text-align:left}
.cd-unit:first-child{border-left:0;padding-left:0}
.cd-n{font:800 clamp(38px,9vw,96px)/.9 "Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#fff}
.cd-unit small{font-size:clamp(10px,1.4vw,13px);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#fff;opacity:.9}
.cd-today{margin:0;padding:16px 0;font:800 clamp(28px,6vw,56px)/1 "Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;grid-column:1/-1}

/* Aftermovie en la portada: sin controles, loop, créditos como las fotos. */
.aftermovie{margin-top:clamp(40px,8vw,80px);align-self:stretch;text-align:left}
.am-frame{position:relative;margin:0;overflow:hidden;background:#7a0020}
.am-frame video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;pointer-events:none}
.am-frame figcaption{position:absolute;left:0;bottom:0;display:flex;flex-wrap:wrap;gap:4px 16px;padding:10px 12px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5);pointer-events:none;text-transform:uppercase}
.am-cr{display:inline-flex;align-items:baseline;gap:8px}
.am-cr .cr-name{font-weight:500;font-size:12px;letter-spacing:.08em}
.am-cr .cr-ig{font-weight:300;font-size:11px;letter-spacing:.06em;text-transform:none;opacity:.9}
@media (prefers-reduced-motion:reduce){.am-frame video{display:none}.am-frame{aspect-ratio:16/9;background:url('/assets/video/aftermovie-iii.webp') center/cover}}

/* Botón de sonido del aftermovie. */
.am-sound{all:unset;position:absolute;right:10px;bottom:10px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #fff;background:rgba(224,0,60,.55);color:#fff;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.am-sound.on{background:rgba(255,255,255,.2)}
/* Galería en la portada: link centrado. */
.teaser .text-cta{display:block;width:max-content;margin:18px auto 0!important;text-align:center}

/* Aftermovie: márgenes más chicos, ícono de sonido y créditos que no se desarman en el celular. */
.aftermovie{margin-top:clamp(24px,5vw,48px)!important}
.teaser{margin-top:clamp(12px,3vw,24px)!important}
.am-sound{all:unset;position:absolute;right:10px;bottom:10px;cursor:pointer;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.am-sound.on{background:rgba(255,255,255,.25)}
.am-sound:focus-visible{outline:2px solid #fff;outline-offset:2px}
.am-frame figcaption{right:60px;gap:2px 12px!important;padding:8px 10px!important}
@media(max-width:600px){.am-cr .cr-name{font-size:9px!important;letter-spacing:.06em}.am-cr .cr-ig{font-size:9px!important}.am-cr{gap:5px}.am-frame figcaption{flex-direction:column;gap:1px!important;padding:6px 8px!important}}
/* Entrada: QR y título centrados; acciones como botones claros. */
.order>.order-state,.order>.order-title{text-align:center}
.order-tickets{justify-content:center!important}
.order-tickets:has(.order-ticket:only-child){grid-template-columns:minmax(0,340px)!important}
.order-ticket figcaption{display:grid!important;justify-items:stretch;text-align:center;gap:8px!important;margin-top:12px!important}
.order-ticket figcaption strong,.order-ticket figcaption>span:not(.print-name){justify-self:center}
.order .order-ticket figcaption .text-cta,.order .order-actions .text-cta{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 16px;border:1px solid #fff;color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.order .order-ticket figcaption [data-download]{background:#fff;color:#e0003c}
.order .order-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;border-top:0!important;padding-top:0!important;max-width:340px;margin:14px auto 0!important}
.order .order-actions .text-cta{min-height:40px;font-size:11px;border-color:rgba(255,255,255,.6)}
@media (hover:hover){.order .text-cta:hover{background:rgba(255,255,255,.12)}.order .order-ticket figcaption [data-download]:hover{background:#ffe3ea}}

/* Editar cuenta. */
.me-head-actions{display:flex;gap:14px;flex:0 0 auto}
.me-edit{display:grid;gap:14px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.35)}
.me-edit label{display:grid;gap:6px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.me-edit input{background:transparent!important;border:0!important;border-bottom:1px solid #fff!important;border-radius:0!important;color:#fff!important;font-size:17px;padding:8px 0!important;text-transform:none;letter-spacing:0}
.me-edit-actions{display:flex;align-items:center;gap:18px}
.me-save{all:unset;cursor:pointer;background:#fff;color:#e0003c;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:12px 22px}

/* Accesos rápidos abajo a la derecha: Mi cuenta (ícono) y Entradas. */
.account-btn{display:none!important}
.quick-nav{position:fixed;right:var(--gutter);bottom:max(var(--gutter),env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;gap:8px}
.quick-nav a{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;color:#fff;text-decoration:none;background:#e0003c;border:1px solid rgba(255,255,255,.85);box-shadow:0 8px 22px -10px rgba(60,0,15,.6)}
.qn-user{width:48px;border-radius:50%}
.qn-user.signed{background:#fff;color:#e0003c}
.qn-tickets{padding:0 18px 0 16px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#fff!important;color:#e0003c!important;border-color:#fff!important}
html.hide-acct .qn-tickets,html.on-account .qn-user,html.locked .quick-nav,body:has(.loading) .quick-nav{display:none!important}
@media print{.quick-nav{display:none!important}}

/* Verde de marca para lo que salió bien (pago confirmado, copiado, cupón). */
:root{--ok:#1ee08f}
.order-state.is-ok{display:flex;align-items:center;justify-content:center;gap:8px}
.order-state.is-ok::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(30,224,143,.25)}
.me-block h2.is-ok{display:flex;align-items:center;gap:8px}
.me-block h2.is-ok::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--ok)}
.copy-row.copied em{background:var(--ok)!important;color:#063b25!important;box-shadow:none!important}
.coupon-msg.is-ok{color:var(--ok)!important;font-weight:700}
.order-ticket:not(.used) .qr-box{box-shadow:0 0 0 3px transparent}
/* Carga: más chica. */
.eq{height:34px!important;gap:6px!important}
.eq i{width:9px!important}
.order .order-ticket figcaption [data-download]{color:#e0003c!important;-webkit-text-fill-color:#e0003c}

/* Sin botón de imprimir: "Agregar al calendario" ocupa todo el ancho. */
.order .order-actions:has(#calendar):not(:has(#refresh-order)){grid-template-columns:1fr!important}
/* Logo más chico en computadora; en el celular siempre de borde a borde. */
@media(min-width:900px){html:not(.compact-top) .site-top .big-logo{width:62%!important;max-width:1100px}}
/* Tercer color: lila, para lo secundario que tiene que destacar (horarios, rótulos de la cuenta regresiva, avisos). */
:root{--lila:#d4c2ff}
.bill-time,.cd-unit small,.scarcity,.tier-low,.photo-note,.order-state:not(.is-ok),.me-block h2:not(.is-ok),.venue-map .photo-note{color:var(--lila)!important}
.cd-unit{border-left-color:rgba(212,194,255,.45)!important}
.bill-row .bill-time{display:block!important}
@media(max-width:560px){.bill-row .bill-time{font-size:13px}}

/* Portada: primera pantalla con el aftermovie de fondo. */
html.has-hero .site-top{display:none!important}
.hero{position:relative;height:100svh;min-height:560px;margin:0!important;color:#fff;overflow:hidden;background:#7a0020}
.hero .hero-frame{position:absolute;inset:0;margin:0;background:transparent}
.hero .hero-frame video{width:100%;height:100%;aspect-ratio:auto!important;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,0,10,.55) 0%,rgba(40,0,10,.15) 35%,rgba(40,0,10,.25) 60%,rgba(224,0,60,.92) 100%);pointer-events:none}
.hero .am-sound{top:max(14px,env(safe-area-inset-top));right:var(--gutter);bottom:auto}
.hero .am-frame figcaption{left:var(--gutter);right:auto;top:max(18px,env(safe-area-inset-top));bottom:auto;padding:0!important}
.hero-in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(64px,10vh,110px) var(--gutter) clamp(22px,4vh,40px);box-sizing:border-box}
.hero-logo{display:block;width:100%;max-width:1400px;margin:0 auto;height:auto;filter:drop-shadow(0 6px 30px rgba(0,0,0,.25))}
.hero-bottom{display:grid;gap:clamp(12px,2vh,20px);max-width:1400px;width:100%;margin:0 auto}
.hero-date{margin:0;font:800 clamp(44px,9vw,120px)/.9 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.04em;text-transform:uppercase}
.hero .countdown{margin:0!important;border-color:rgba(255,255,255,.55)!important}
.hero .cd-n{font-size:clamp(30px,6vw,72px)!important}
.hero-cta{margin:0!important}
.hero-down{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);z-index:3;color:#fff;text-decoration:none;font-size:20px;opacity:.7;animation:hero-bob 1.8s ease-in-out infinite}
@keyframes hero-bob{50%{transform:translate(-50%,5px)}}
@media (prefers-reduced-motion:reduce){.hero-down{animation:none}}
@media(min-width:900px){.hero-bottom{grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:clamp(24px,4vw,56px)}.hero-bottom .hero-cta{grid-column:1/-1}.hero .countdown{align-self:end}}
@media(max-width:600px){.hero-in{padding-top:88px}.hero .am-frame figcaption{flex-direction:row;flex-wrap:wrap;max-width:62%}}
.hero-cta{max-width:460px;width:100%}
@media(max-width:600px){.hero-cta{max-width:none}.hero-in{padding-bottom:84px}}

/* Portada v2: FERVOR centrado sobre el video oscurecido; el video se funde en el rojo y el afiche lo pisa. */
.hero{background:transparent!important;height:100svh;min-height:520px}
.hero .hero-frame video{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 48%,transparent 96%);mask-image:linear-gradient(180deg,#000 0%,#000 48%,transparent 96%);filter:saturate(.95)}
.hero-shade{background:radial-gradient(ellipse at 50% 40%,rgba(30,0,8,.35) 0%,rgba(30,0,8,.6) 100%)!important;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 48%,transparent 96%);mask-image:linear-gradient(180deg,#000 0%,#000 48%,transparent 96%)}
.hero-in{justify-content:center!important;align-items:center;padding:0 var(--gutter) 22vh!important}
.hero-logo{width:min(86vw,1000px)!important;max-width:none!important}
.hero .am-sound{top:max(14px,env(safe-area-inset-top));right:var(--gutter);bottom:auto;z-index:3}
html.has-hero #app>.poster{position:relative;z-index:2;margin-top:-30vh;padding-top:0}
html.has-hero #app>.poster .poster-type{mix-blend-mode:normal}
/* Créditos del video en el pie, casi imperceptibles. */
.am-credit{display:block;width:100%;font-size:10px;font-weight:300;letter-spacing:.06em;text-transform:uppercase;opacity:.55;margin-bottom:8px}
.am-credit a{color:inherit;text-decoration:none;text-transform:none}
.hero{width:100%!important;max-width:none!important;box-sizing:border-box}
.hero-in{width:100%!important;max-width:none!important}

/* Portada: el logo sobre una foto del festival teñida de rojo FERVOR, como textura; se funde hacia abajo. */
html.home-top .site-top{position:relative}
html.home-top .site-top::before{content:'';position:absolute;left:0;right:0;top:-40px;height:calc(100% + 38vh);background:url('/assets/galeria/fervor-iii-hq-03.webp') 50% 35%/cover no-repeat;filter:grayscale(1) contrast(1.25) brightness(.95);mix-blend-mode:multiply;opacity:.6;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 45%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 45%,transparent 100%);z-index:-1;pointer-events:none}
html.home-top .site-top .big-logo{position:relative}
@media(min-width:900px){html.home-top .site-top::before{height:calc(100% + 30vh);background-position:50% 30%}}
/* Sin foto de fondo en la portada. */
html.home-top .site-top::before{content:none!important}

/* Créditos del video: una línea chica debajo del video. */
.aftermovie .am-credit{display:block;margin:8px 0 0!important;font-size:10px;font-weight:300;letter-spacing:.06em;text-transform:uppercase;color:#fff;opacity:.6;text-align:right;line-height:1.4}
.aftermovie .am-credit a{color:inherit;text-decoration:none;text-transform:none}
/* El pie termina por encima de los botones flotantes (Mi cuenta / Entradas), así "Acceso" se puede tocar. */
.site-footer{padding-bottom:calc(132px + env(safe-area-inset-bottom))!important}
/* Código del mail: campo + botón Pegar en la misma fila */
.code-row{display:flex;align-items:stretch;gap:8px;margin-top:6px}
.code-row input{flex:1;min-width:0;letter-spacing:.3em;font-variant-numeric:tabular-nums}
.paste-code{flex:0 0 auto;min-height:0;padding:0 16px;border:1.5px solid #fff;background:transparent;color:#fff;font:inherit;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:0;cursor:pointer;white-space:nowrap}
.paste-code:active{background:rgba(255,255,255,.15)}
/* Pago: aviso claro del importe exacto */
.pay-warn{margin:14px 0 4px;padding:12px 14px;border:2px solid #fff;background:rgba(255,255,255,.12);font-size:15px;line-height:1.4;text-transform:none;letter-spacing:0}
.pay-warn b{display:block;font-size:17px;margin-bottom:4px}
/* Jerarquía: verde = ya está; blanco = lo que tenés que hacer */
.ok-banner{display:flex;flex-direction:column;gap:4px;margin:6px 0 20px;padding:16px 18px;background:#1ee08f;color:#0b3d26;border-radius:14px;text-transform:none;letter-spacing:0}
.ok-banner b{font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
.ok-banner span{font-size:15px;line-height:1.4}
.pay-warn{background:#fff!important;color:#e0003c!important;border:0!important;border-radius:14px}
.pay-warn b{color:#e0003c}
/* Pago simple: cartel blanco con el importe, beneficio en lila */
.pay-card{background:#fff;color:#e0003c;border-radius:14px;padding:16px 18px;margin:4px 0 14px}
.pay-card .pay-label{color:#e0003c!important;margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.pay-card .pay-amount{color:#e0003c!important;margin:2px 0 4px}
.pay-card .pay-note{margin:0;font-size:15px;font-weight:600;text-transform:none;letter-spacing:0;color:#e0003c}
.benefit{display:flex;flex-direction:column;gap:2px;margin:16px 0;padding:14px 16px;background:#d4c2ff;color:#2a1460;border-radius:14px;text-transform:none;letter-spacing:0;font-size:15px;line-height:1.4}
.benefit b{font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.01em}
/* Entrar: un bloque compacto y centrado (celu y compu), sin huecos */
.account.account-login{display:flex!important;flex-direction:column;justify-content:center;align-items:stretch;width:100%;max-width:440px!important;margin:0 auto;min-height:calc(100svh - 380px);padding:clamp(8px,3vh,32px) 0;text-align:center}
.account-login>h1{font-size:clamp(56px,14vw,96px)!important;margin:0 0 6px!important;line-height:.9}
.account-login>.account-lead{margin:0 0 22px;opacity:.9}
.account-login>.account-form{margin-top:0!important;text-align:left}
.account-login .account-form .text-cta{justify-self:center}
@media (max-width:700px){.account.account-login{min-height:0;padding:28px 0 48px}}
main:has(>.account-login){display:flex;flex-direction:column;justify-content:center}
/* Entrar: jerarquía clara. Título → una línea → formulario en cartel blanco. Un poco más arriba del centro. */
main:has(>.account-login){padding-bottom:10vh}
.account-login>h1{margin:0 0 10px!important}
.account-login>.account-lead{font-size:15px!important;text-transform:none!important;letter-spacing:0!important;font-weight:400;opacity:.9;margin:0 0 26px!important}
.account-login .account-form{background:#fff;border-radius:18px;padding:22px 20px;box-shadow:0 24px 60px -24px rgba(80,0,20,.55);gap:14px}
.account-login .account-form label{color:#e0003c}
.account-login .account-form input{background:#fff5f7!important;border:1.5px solid #ffc2d1!important;color:#252632!important;border-radius:10px}
.account-login .account-form input::placeholder{color:#d79aab}
.account-login .account-form input:focus{border-color:#e0003c!important;outline:none}
.account-login .block-cta{background:#e0003c!important;color:#fff!important;border-radius:10px;border:0!important}
.account-login .block-cta span,.account-login .block-cta b{color:#fff!important}
.account-login .paste-code{border-color:#e0003c;color:#e0003c;border-radius:10px}
.account-login .text-cta{color:#e0003c!important;border-bottom-color:#e0003c!important}
.account-login .error,.account-login .notify-msg{color:#e0003c!important}
.account-login .check span,.account-login .check a{color:#252632}
/* Beneficio: etiqueta chica tipo cupón (amarilla), no un cartel a lo ancho */
.benefit{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:12px!important;width:auto;max-width:100%;margin:18px 0!important;padding:10px 18px 10px 10px!important;background:#ffe14d!important;color:#3a2a00!important;border-radius:999px!important;box-shadow:0 10px 28px -12px rgba(60,40,0,.55);transform:rotate(-1.5deg);animation:benefit-pop .5s cubic-bezier(.2,1.4,.4,1) both .15s}
.benefit i{flex:0 0 34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#3a2a00;color:#ffe14d;font:800 17px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal}
.benefit span{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.benefit b{font-size:15px!important;font-weight:800;text-transform:uppercase;letter-spacing:.01em}
.benefit small{font-size:12.5px;font-weight:500;opacity:.85}
@keyframes benefit-pop{from{opacity:0;transform:rotate(-1.5deg) scale(.85) translateY(6px)}to{opacity:1;transform:rotate(-1.5deg)}}
@media (prefers-reduced-motion:reduce){.benefit{animation:none}}
/* Compu: compra, pago y pedido en una columna cómoda; lo ancho queda solo para los títulos grandes */
@media (min-width:900px){
 #buy #open-buy,#buy-details{max-width:560px}
 .landing-page .notify{max-width:560px}
 .order{max-width:680px;margin-left:auto!important;margin-right:auto!important}
 .order .order-title{font-size:clamp(56px,6vw,96px)}
}
.benefit{width:fit-content!important;justify-self:start;align-self:flex-start}
/* Beneficio: pestaña lila pegada arriba del botón, sin animación ni bordes redondeados */
.benefit{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:baseline;gap:4px 10px!important;width:fit-content!important;max-width:100%;margin:28px 0 0!important;padding:9px 14px!important;background:#d4c2ff!important;color:#2a1460!important;border-radius:0!important;box-shadow:none!important;transform:none!important;animation:none!important}
.benefit b{font-size:13px!important;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#2a1460}
.benefit span{font-size:13px;font-weight:500;color:#2a1460;text-transform:none;letter-spacing:0}
.benefit+#open-buy{margin-top:0!important}
/* Comprar: más grande */
#open-buy{min-height:84px;padding:20px 26px!important;font-size:clamp(28px,3.2vw,44px)!important}
@media (min-width:900px){#buy #open-buy,#buy-details{max-width:640px}}
/* Sin bordes redondeados */
/* (antes: bordes rectos en tarjetas) */
/* Sin bordes redondeados en toda la web (solo queda redondo el botón de la cuenta) */
/* (antes: todo recto) */
/* Próximamente: solo el logo y la palabra, centrado, sin pie ni botones */
html.soon-only .site-footer,html.soon-only .quick-nav,html.soon-only .account-btn{display:none!important}
.soon{min-height:calc(100svh - 260px);display:flex;align-items:center;justify-content:center;text-align:center}
.soon h2{margin:0;font-size:clamp(44px,11vw,180px);line-height:.9;font-weight:800;letter-spacing:-.04em;text-transform:uppercase;color:#fff}
/* Próximamente: igual que la portada del panel. Pantalla completa, texto mediano arriba y el logo chico abajo. */
html.soon-only .site-top{display:none!important}
html.soon-only,html.soon-only body{overflow:hidden}
.soon{position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;min-height:0;background:linear-gradient(180deg,#e8003f 0%,#f7033f 25%,#ff0c4b 50%,#ff2862 75%,#ff4d7d 100%);color:#fff;text-align:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}
.soon-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(28px,8vh,72px);width:100%}
.soon h2{margin:0;font-size:clamp(24px,4.5vw,44px)!important;line-height:1.3!important;font-weight:700!important;letter-spacing:-.01em!important;text-transform:none!important}
.soon img{width:clamp(90px,10vw,138px);height:auto;display:block}

/* Beneficio: sticker verde con borde dentado, pegado torcido sobre la esquina del botón Comprar */
.benefit{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center;gap:2px!important;width:236px!important;height:118px;margin:0!important;padding:0 26px!important;background:#1ee08f!important;color:#0b3d26!important;clip-path:polygon(100.00% 50.00%,96.43% 52.61%,99.69% 55.60%,95.84% 57.79%,98.75% 61.13%,94.68% 62.87%,97.19% 66.51%,92.96% 67.79%,95.05% 71.69%,90.70% 72.49%,92.34% 76.60%,87.92% 76.91%,89.09% 81.17%,84.67% 80.99%,85.36% 85.36%,80.99% 84.67%,81.17% 89.09%,76.91% 87.92%,76.60% 92.34%,72.49% 90.70%,71.69% 95.05%,67.79% 92.96%,66.51% 97.19%,62.87% 94.68%,61.13% 98.75%,57.79% 95.84%,55.60% 99.69%,52.61% 96.43%,50.00% 100.00%,47.39% 96.43%,44.40% 99.69%,42.21% 95.84%,38.87% 98.75%,37.13% 94.68%,33.49% 97.19%,32.21% 92.96%,28.31% 95.05%,27.51% 90.70%,23.40% 92.34%,23.09% 87.92%,18.83% 89.09%,19.01% 84.67%,14.64% 85.36%,15.33% 80.99%,10.91% 81.17%,12.08% 76.91%,7.66% 76.60%,9.30% 72.49%,4.95% 71.69%,7.04% 67.79%,2.81% 66.51%,5.32% 62.87%,1.25% 61.13%,4.16% 57.79%,0.31% 55.60%,3.57% 52.61%,0.00% 50.00%,3.57% 47.39%,0.31% 44.40%,4.16% 42.21%,1.25% 38.87%,5.32% 37.13%,2.81% 33.49%,7.04% 32.21%,4.95% 28.31%,9.30% 27.51%,7.66% 23.40%,12.08% 23.09%,10.91% 18.83%,15.33% 19.01%,14.64% 14.64%,19.01% 15.33%,18.83% 10.91%,23.09% 12.08%,23.40% 7.66%,27.51% 9.30%,28.31% 4.95%,32.21% 7.04%,33.49% 2.81%,37.13% 5.32%,38.87% 1.25%,42.21% 4.16%,44.40% 0.31%,47.39% 3.57%,50.00% 0.00%,52.61% 3.57%,55.60% 0.31%,57.79% 4.16%,61.13% 1.25%,62.87% 5.32%,66.51% 2.81%,67.79% 7.04%,71.69% 4.95%,72.49% 9.30%,76.60% 7.66%,76.91% 12.08%,81.17% 10.91%,80.99% 15.33%,85.36% 14.64%,84.67% 19.01%,89.09% 18.83%,87.92% 23.09%,92.34% 23.40%,90.70% 27.51%,95.05% 28.31%,92.96% 32.21%,97.19% 33.49%,94.68% 37.13%,98.75% 38.87%,95.84% 42.21%,99.69% 44.40%,96.43% 47.39%);text-align:center;transform:rotate(-8deg)!important;filter:drop-shadow(0 6px 10px rgba(60,0,20,.35));animation:none!important}
.benefit b{font-size:17px!important;line-height:1.02;font-weight:800;letter-spacing:-.01em;text-transform:uppercase;color:#0b3d26!important}
.benefit span{font-size:11.5px!important;line-height:1.2;font-weight:600;color:#0b3d26!important;text-transform:none}
.buy-cta{position:relative;margin:56px 0 0}
.buy-cta .benefit{position:absolute;right:-10px;top:-74px;z-index:3}
.buy-cta #open-buy{width:100%;margin:0!important}
@media (min-width:900px){.buy-cta,#buy #buy-details{max-width:640px;margin-left:auto!important;margin-right:auto!important}.buy-cta .benefit{right:-60px;top:-70px}}
@media (max-width:420px){.benefit{width:200px!important;height:104px;padding:0 22px!important}.benefit b{font-size:15px!important}.buy-cta .benefit{right:-4px;top:-66px}}
.pay .benefit{margin:22px auto!important}
.buy-cta:has(#open-buy[hidden]){display:none}
.buy-cta{width:100%}
@media (min-width:900px){.buy-cta{width:min(100%,640px)}}
/* El mapa vuelve a ser redondeado */
html .venue-map.venue-map iframe{border-radius:14px!important}
@media (min-width:900px){.buy-cta .benefit{right:-170px!important;top:-92px!important}}
/* Fotos debajo del video: créditos sobre cada foto, mismo margen que entre fotos */
.aftermovie+.teaser,.aftermovie+.playlist+.teaser{margin-top:clamp(6px,1vw,10px)!important}
.ts-fig{position:relative;margin:0;overflow:hidden}
.ts-fig figcaption{position:absolute;left:8px;bottom:8px;display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;color:#fff;font-size:10px;line-height:1.2;text-shadow:0 1px 6px rgba(0,0,0,.55);pointer-events:none}
.ts-fig .cr-name{font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ts-fig .cr-ig{font-weight:300;font-size:9px;letter-spacing:.04em}
.benefit{width:200px!important;height:100px}
.benefit b{font-size:19px!important}
@media (max-width:899px){.buy-cta .benefit{width:170px!important;height:86px;right:-4px!important;top:-80px!important}.buy-cta .benefit b{font-size:16px!important}}
.big-logo,.big-logo img,.site-top a{cursor:pointer!important}
/* Sticker junto al precio de la tanda a la venta: queda pegado al precio, torcido, sin tapar números */
.tier-price{position:relative}
.benefit-tag{position:absolute!important;right:calc(100% + 18px);top:50%;transform:translateY(-50%) rotate(-8deg)!important;width:170px!important;height:86px!important;z-index:2;pointer-events:none}
.benefit-tag b{font-size:16px!important}
@media (max-width:899px){.benefit-tag{right:-6px;top:auto;bottom:calc(100% + 2px);transform:rotate(-8deg)!important;width:148px!important;height:76px!important}.benefit-tag b{font-size:14px!important}}
.buy-cta{margin-top:40px}
@media (max-width:899px){.tier-row .tier-name{font-size:min(41px,9vw)!important;min-width:0}.tier-row{gap:10px}.tier-row .tier-price{flex:0 0 auto}}
@media (max-width:899px){.benefit-tag{right:0!important;width:150px!important;height:76px!important;padding:0 12px!important;bottom:calc(100% + 6px)!important}.benefit-tag b{font-size:13.5px!important;white-space:nowrap}}
.benefit-tag{max-width:none!important}
@media (max-width:899px){.benefit-tag{bottom:auto!important;top:calc(100% + 4px)!important}}
.benefit b{white-space:nowrap!important}.benefit-tag{width:190px!important;height:94px!important;padding:0 16px!important}@media (max-width:899px){.benefit-tag{width:156px!important;height:78px!important}}
/* Guardar la entrada en Fotos (tipo Wallet, gratis): botón principal debajo del QR. */
.order-ticket .save-photo{display:block;width:100%;margin:12px 0 4px;background:#fff;color:#e0003c;border:0;padding:14px 16px;font:800 17px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;cursor:pointer}
.order-ticket .save-photo:hover{background:#ffe3ea}
/* En celular los créditos de fotos van solo con el nombre, sin arroba. */
@media(max-width:700px){html .cr-ig{display:none!important}}
/* Degradado sin corte abajo: detrás de la barra de Safari (iPhone) y al estirar la página se ve el color del final, no el rojo del principio. */
html:root{background-color:var(--edge,#e0003c)!important}
.soon{bottom:auto!important;height:100lvh!important;min-height:100vh}
/* Pago con tarjeta (Mercado Pago): botón principal arriba y la transferencia abajo, separadas por "o transferí". */
.pay-choice{max-width:560px;margin:0 auto 8px;display:grid;gap:10px}
.pay-choice .pay-hint{margin:0;font-size:14px;text-align:center;opacity:.95}
.pay-choice .pay-or{display:flex;align-items:center;gap:12px;margin:18px 0 6px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.pay-choice .pay-or::before,.pay-choice .pay-or::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.6)}
.pay-choice .block-cta{margin-top:0}
/* ===== Página del pedido (v2): una columna centrada, jerarquía clara, aire parejo. ===== */
.ord{max-width:520px;margin:0 auto;padding:0 0 32px;display:flex!important;flex-direction:column;align-items:stretch;gap:28px;text-align:center}
.ord>*{margin:0!important}
.ord-head{display:grid;gap:10px;justify-items:center}
.ord-kicker{margin:0;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--lila,#d4c2ff)}
.ord .order-title{margin:0!important;font-size:clamp(46px,13vw,96px)!important;line-height:.92!important;text-align:center}
.ord-sub{margin:0;font-size:14px;line-height:1.5;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff}
/* Confirmado */
.ord .ok-banner{display:grid;gap:4px;justify-items:center;text-align:center;padding:16px 18px;line-height:1.45}
.ord .ok-banner b{font-size:18px;letter-spacing:.01em}
.ord .ok-banner span{font-size:14px;max-width:34ch}
/* Entradas: una por fila, QR grande y centrado */
.ord .order-tickets{display:grid!important;grid-template-columns:1fr!important;gap:36px!important}
.ord .order-ticket{display:grid;gap:14px;justify-items:center}
.ord .order-ticket .qr-box{width:min(78vw,300px);padding:14px;box-sizing:border-box}
.ord .order-ticket figcaption{margin:0!important;display:grid;gap:4px;justify-items:center}
.ord .order-ticket figcaption strong{font-size:16px;letter-spacing:.08em}
.ord .order-ticket figcaption span:not(.print-only){font-size:12px;letter-spacing:.1em;opacity:.9}
.ord-ticket-actions{width:min(78vw,300px);display:grid;gap:12px}
.ord .order-ticket .save-photo{margin:0!important;width:100%;padding:16px!important;font-size:16px!important;letter-spacing:.04em}
.ord-links{margin:0;display:flex;justify-content:center;align-items:center;gap:10px;font-size:13px}
.ord-link{background:none;border:0;padding:4px 0;color:#fff;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.ord-links span{opacity:.6}
/* Pago pendiente */
.ord .pay{display:grid;gap:16px;margin:0!important}
.ord .pay-card{text-align:center;display:grid;justify-items:center;gap:6px;padding:20px 18px}
.ord .pay-card .pay-label,.ord .pay-card .pay-amount,.ord .pay-card .pay-note{margin:0}
.ord .pay-choice{margin:0;gap:10px}
.ord .pay .benefit{margin:6px auto 0!important;justify-self:center}
.ord .order-text{margin:0;font-size:15px;line-height:1.5;max-width:36ch;justify-self:center;align-self:center;text-align:center}
.ord>.order-text{margin:0 auto!important}
.ord .block-cta{margin:0!important}
/* Datos del pedido: lista centrada */
.ord .ord-facts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;padding:0!important;border-top:1px solid rgba(255,255,255,.6)}
.ord .ord-facts>div{padding:14px 8px!important;border-bottom:1px solid rgba(255,255,255,.6);text-align:center}
.ord .ord-facts dt{font-size:10px;letter-spacing:.16em;margin:0 0 4px}
.ord .ord-facts dd{margin:0;font-size:15px;line-height:1.35}
/* Mapa: título del lugar ya está arriba */
.ord .venue-map{margin:0!important;text-align:center;justify-items:center}
.ord .venue-map strong{display:none}
.ord .venue-map iframe{height:200px}
.ord .venue-map .text-cta{justify-self:center}
.ord-cal{margin:-12px 0 0!important;font-size:13px}
.ord .order-help{text-align:center;font-size:12px;line-height:1.6}
@media(min-width:900px){.ord{display:flex!important}.ord>*{grid-column:auto!important;grid-row:auto!important}}
.ord .order-title{font-size:clamp(40px,11.5vw,96px)!important}
.ord-links{flex-wrap:nowrap;gap:12px;font-size:12px;letter-spacing:.06em}
.ord-link{white-space:nowrap;text-transform:uppercase}
/* ===== Pedido v3: menos rojo (bloques en gris oscuro), pago con el azul de Mercado Pago, sticker pegado al total, textos de una línea. ===== */
.ord{--ord-panel:#1d1d22;gap:22px}
.ord .ord-head{gap:6px}
.ord-pay{display:grid!important;gap:12px!important;justify-items:center}
.ord .ord-total{position:relative;width:100%;box-sizing:border-box;background:var(--ord-panel)!important;color:#fff!important;padding:26px 18px 22px!important;border:0!important;box-shadow:none!important}
.ord .ord-total .pay-label{color:var(--lila,#d4c2ff)!important;font-size:11px!important;letter-spacing:.18em}
.ord .ord-total .pay-amount{color:#fff!important;font-size:clamp(40px,12vw,56px)!important;line-height:1!important;letter-spacing:-.03em}
.ord .ord-total .pay-note{color:rgba(255,255,255,.75)!important;font-size:13px!important}
.ord .ord-total .pay-note b{color:#fff}
.ord .ord-total .benefit{position:absolute!important;top:-26px;right:-8px;margin:0!important;transform:rotate(8deg)!important;width:132px!important;height:66px!important;z-index:2}
.ord .ord-total .benefit b{font-size:12px!important;line-height:1.05!important}
.ord-mp{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 20px;border:0;border-radius:0;background:#009ee3;color:#fff;font:700 17px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.01em;cursor:pointer}
.ord-mp:hover{background:#0089c6}.ord-mp:disabled{opacity:.7;cursor:wait}
.ord-mp b{font-weight:400}
.ord-trust{margin:2px 0 0;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#fff;white-space:nowrap}
.ord-methods{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8);white-space:nowrap}
.ord-pay .order-text{margin:6px 0 0!important;font-size:14px;white-space:nowrap;opacity:.9}
.ord .ok-banner{flex-direction:column}
.ord .ok-banner span{max-width:none;white-space:nowrap;font-size:13px}
/* Entradas y datos en paneles gris oscuro */
.ord .order-ticket{background:var(--ord-panel);padding:24px 18px 22px;box-sizing:border-box;width:100%}
.ord .order-ticket .qr-box{width:min(70vw,260px)}
.ord-ticket-actions{width:min(70vw,260px)}
.ord .ord-facts{background:var(--ord-panel);border-top:0!important;padding:4px 16px!important}
.ord .ord-facts>div{border-bottom-color:rgba(255,255,255,.14)!important}
.ord .ord-facts>div:last-child{border-bottom:0!important}
.ord .ord-facts dt{color:var(--lila,#d4c2ff)!important;opacity:1}
.ord .ord-facts dd{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ord .order-help{white-space:nowrap;font-size:11px}
/* ===== Pedido v4: fondo siempre rojo. Tarjetas de vidrio (blanco translúcido, bordes redondeados) para el total y cada QR; gris oscuro solo en botones. ===== */
.ord{--glass:rgba(255,255,255,.12);--glass-line:rgba(255,255,255,.28)}
.ord .ord-total,.ord .order-ticket{background:var(--glass)!important;border:1px solid var(--glass-line)!important;border-radius:20px!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(120,0,30,.18)!important}
.ord .order-ticket .qr-box{border-radius:12px!important;overflow:hidden}
.ord .ord-facts{background:transparent!important;padding:0!important;border-top:1px solid rgba(255,255,255,.6)!important}
.ord .ord-facts>div{border-bottom:1px solid rgba(255,255,255,.6)!important}
.ord .ord-facts>div:last-child{border-bottom:1px solid rgba(255,255,255,.6)!important}
.ord .ord-facts dt{color:#fff!important;opacity:.85}
.ord .order-ticket .save-photo{background:#1d1d22!important;color:#fff!important;border-radius:12px!important}
.ord .order-ticket .save-photo:hover{background:#2a2a31!important}
.ord-mp{border-radius:12px}
/* ===== Vidrio en toda la web (fondo siempre rojo): bloques interactivos en blanco translúcido con bordes redondeados. Íconos en vez de texto. ===== */
:root{--glass:rgba(255,255,255,.12);--glass-line:rgba(255,255,255,.28);--glass-shadow:0 10px 30px rgba(120,0,30,.18)}
.ic{display:inline-block;vertical-align:-.15em;flex:none}
/* Compra */
#buy-details:not([hidden]){display:grid;gap:18px;margin-top:18px!important;padding:22px 20px;background:var(--glass)!important;border:1px solid var(--glass-line)!important;border-radius:20px!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--glass-shadow)}
#buy-details>*{margin:0!important}
#buy-details .block-cta,.buy-cta .block-cta,.ord-mp,.account-form button[type=submit],.account-form .block-cta,.notify button{border-radius:14px!important}
#buy-details .coupon-row input,#buy-details .coupon-row button{border-radius:10px!important}
.buy-icons{margin:0!important;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.buy-icons span,.ord-icons span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
/* Acceso / Mi cuenta / Avisame */
.account-login .account-form,.notify,.me-block{background:var(--glass)!important;border:1px solid var(--glass-line)!important;border-radius:20px!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--glass-shadow)!important;padding:22px 20px!important}
.account-login .account-form input,.notify input{border-radius:12px!important}
.account-lead{display:flex;align-items:center;justify-content:center;gap:8px}
.me-block{margin-bottom:16px!important}
/* Pedido: íconos y botones píldora */
.ord-icons{margin:0;display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;font-size:13px;font-weight:600}
.ord .ok-banner{border-radius:16px!important}
.ord .ok-banner b,.ord .ok-banner span{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.ord-ticket-actions{display:flex!important;justify-content:center;gap:10px}
.ord-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border:1px solid rgba(255,255,255,.55);border-radius:999px!important;background:rgba(255,255,255,.14);color:#fff;font:700 13px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.ord-pill:hover{background:rgba(255,255,255,.24)}
.ord-ticket-actions .ord-pill{flex:1}
.ord .ord-facts dt{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.ord .venue-map iframe{border-radius:16px!important}
.ord-cal{margin:0!important;display:flex;justify-content:center}
.ord .order-help a{display:inline-flex;align-items:center;gap:8px;text-transform:none;letter-spacing:.02em;font-size:13px}
/* Redondeos que la regla general "sin bordes redondeados" pisaba */
html body .ord-pill{border-radius:999px!important}
html body .ord-mp,html body .notify button,html body .buy-cta .block-cta,html body #buy-details .block-cta{border-radius:14px!important}
/* En el pedido el mapa ya trae su botón "Abrir en Maps": sin link repetido */
.ord .venue-map .text-cta{display:none!important}
/* Redondeos (clase repetida para ganarle a la regla general sin bordes redondeados) */
.ord-pill.ord-pill.ord-pill{border-radius:999px!important}
.ord-mp.ord-mp.ord-mp,.buy-cta.buy-cta .block-cta,.notify.notify button{border-radius:14px!important}
.notify.notify.notify,.me-block.me-block.me-block{border-radius:20px!important}
.notify.notify input{border-radius:12px!important}
/* Mi cuenta: líneas con íconos, sin viñeta verde, QR redondeado */
.me-line{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.me-meta{display:grid!important;gap:4px}
.me-block h2{display:flex!important;align-items:center;gap:8px}
.me-block h2.is-ok::before{display:none!important}
.me-block .account-qr .qr-box{border-radius:12px!important;overflow:hidden}
.me-block .block-cta{border-radius:14px!important}
.me-block.me-block .block-cta.block-cta{border-radius:14px!important}
.me-pill{margin-top:14px;text-decoration:none;width:fit-content}
.account-login .account-form label{color:#fff!important}
.me-block .account-qr .qr-box.qr-box{border-radius:12px!important}
/* ===== Tarjetas de vidrio: todo centrado (sin huecos a la derecha) ===== */
#buy-details,#buy-details label,.account-login .account-form,.notify,.me-block,.me-head{text-align:center!important}
#buy-details{justify-items:center}
#buy-details>*{justify-self:center}
#buy-details .qty-field{display:grid!important;justify-items:center;gap:6px;width:100%}
#buy-details .qty-field select{width:140px!important;text-align:center;text-align-last:center}
#buy-details label.check{display:flex!important;justify-content:center;align-items:center;gap:10px;width:100%}
#buy-details label.check span{text-align:left}
#buy-details .coupon-row{width:100%}
#buy-details .coupon-row input{text-align:center}
#buy-details .summary{display:grid!important;justify-items:center;gap:4px;width:100%;text-align:center}
#buy-details .summary span{text-align:center}
#buy-details .block-cta{width:100%;justify-self:stretch}
#buy-details .error{text-align:center}
.account-login .account-form label{display:grid;justify-items:stretch;text-align:center}
.account-login .account-form input{text-align:center}
.me-head{display:grid!important;justify-items:center;gap:10px}
.me-head .me-head-actions{justify-content:center}
.me-block h2{justify-content:center}
.me-row,.me-row p,.me-order,.me-meta{display:grid!important;justify-items:center;text-align:center}
.me-block .account-qrs{justify-content:center!important}
.me-block .account-qr figcaption{text-align:center}
.me-block .block-cta{width:100%}
.me-pill{margin-left:auto;margin-right:auto}
.notify .notify-row{justify-content:center}
.notify input{text-align:center}
.me-link{text-align:left}
#buy-details .summary.summary{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}
#buy-details .summary.summary>*{text-align:center!important;margin:0!important}
.me-block .account-qrs.account-qrs{display:flex!important;flex-wrap:wrap;justify-content:center!important;gap:16px}
.me-block .account-qr{display:grid;justify-items:center}
.me-block .block-cta.block-cta,.ord .block-cta.block-cta{justify-content:center!important;gap:12px}
.me-head.me-head>div{display:grid;justify-items:center;text-align:center}
.me-head.me-head p{text-align:center;margin:0}
.me>.me-small,.me>a:not(.block-cta){display:block;width:fit-content;margin-left:auto!important;margin-right:auto!important;text-align:center}
#buy-details label.check{max-width:300px;margin-left:auto!important;margin-right:auto!important;justify-content:flex-start!important}
.me-body>.me-small{display:block;width:fit-content;margin:8px auto 0!important;text-align:center}
.me-block .account-qr .qr-box{width:170px!important;height:170px!important}
.me-head.me-head{text-align:center}
.me-head.me-head h1{text-align:center;margin:0!important;width:100%}
.me-head.me-head .me-head-actions{display:flex!important;flex-direction:row!important;justify-content:center;gap:18px}
.me-head.me-head>div{width:100%}.me-head.me-head h1{padding:0!important;text-indent:0}
.me-head.me-head>div:first-child{width:100%!important;justify-self:stretch!important;display:grid!important;justify-items:center!important}.me-head.me-head>div:first-child>*{text-align:center!important}
.me-head.me-head{grid-template-columns:1fr!important;width:100%}
/* Pantallas de error / estado: tarjeta de vidrio centrada con ícono */
.state-card{max-width:360px;margin:clamp(40px,12vh,120px) auto;padding:32px 24px;display:grid;justify-items:center;gap:12px;text-align:center;color:#fff;background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--glass-shadow)}
.state-card.state-card{border-radius:20px!important}
.state-card h1{margin:4px 0 0!important;font-size:30px!important;line-height:1!important}
.state-card p{margin:0;font-size:15px;opacity:.9}
.state-card .state-btn{margin-top:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;background:#fff;color:#c4002f;border:0;font:700 15px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;cursor:pointer}
.state-card .state-btn.state-btn{border-radius:999px!important}
.me-ico{display:inline-flex!important;align-items:center;gap:6px}
/* Crédito chiquito al final */
.footer-credit{margin:18px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.footer-credit img{height:12px;width:auto;filter:brightness(0) invert(1);display:block}
.footer-credit.footer-credit{flex-direction:column;gap:6px;font-size:8px;font-weight:300!important;letter-spacing:.18em;opacity:.7}
.footer-credit.footer-credit img{height:16px}
/* Scroll más suave: las apariciones entran con un fundido corto; las fotos y bloques con vidrio se pintan en su propia capa. */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.poster-type .poster-img{will-change:translate}
html{scroll-padding-top:16px;-webkit-tap-highlight-color:transparent}
/* Cantidad con − y +: vidrio redondeado, centrado. */
.qty-step{position:relative;display:inline-flex;align-items:center;gap:6px;padding:6px;border-radius:999px!important;background:var(--glass,rgba(255,255,255,.14));border:1px solid var(--glass-line,rgba(255,255,255,.35))}
.qty-step>select{position:absolute;inset:0;opacity:0;pointer-events:none}
.qty-step .qs-btn.qs-btn{all:unset;box-sizing:border-box;width:44px;height:44px;display:grid;place-items:center;border-radius:50%!important;background:#fff;color:#e0003c;cursor:pointer;transition:transform .15s,opacity .15s}
.qty-step .qs-btn:active{transform:scale(.92)}
.qty-step .qs-btn:disabled{opacity:.35;cursor:default}
.qty-step .qs-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.qty-step .qs-n{min-width:56px;text-align:center;font-size:28px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums}
#buy-details .qty-field select{width:auto!important}
/* Menús desplegables: tarjeta de vidrio redondeada que se abre con un fundido. */
.fs-list.fs-list{left:50%;right:auto;min-width:max(100%,180px);transform:translateX(-50%);padding:6px;border:1px solid rgba(255,255,255,.45);border-radius:16px!important;background:rgba(224,0,60,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 22px 44px -18px rgba(90,0,25,.65);animation:fs-in .16s ease-out;max-height:min(320px,50vh);overflow:auto}
.fs-list.fs-list li{border-radius:10px!important;padding:11px 14px;font-size:17px;font-weight:500;gap:16px;align-items:center;white-space:nowrap}
.fs-list.fs-list li[aria-selected=true]{background:rgba(255,255,255,.2);font-weight:800}
@keyframes fs-in{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}
.qty-step.qty-step.qty-step{border-radius:999px!important}
.qty-step.qty-step .qs-btn.qs-btn{border-radius:50%!important}
label.check.check input[type=checkbox]{border-radius:7px!important;transition:background .15s}
#buy-details label.check.check{margin:10px 0!important;justify-content:flex-start;max-width:300px;margin-inline:auto!important;text-align:left}
/* Crédito del pie más chico (6/10). */
.footer-credit.footer-credit.footer-credit{font-size:7px;gap:4px;letter-spacing:.2em;opacity:.6}
.footer-credit.footer-credit.footer-credit img{height:11px}
/* Botones flotantes: se esconden al bajar y vuelven al subir, así no tapan el texto. */
.quick-nav{transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .3s}
html.nav-away .quick-nav{transform:translateY(calc(100% + 32px));opacity:0;pointer-events:none}
/* Créditos de fotos: en las miniaturas no se muestran (quedaban apretados); en compu aparecen al pasar el mouse. */
.ts-fig figcaption{opacity:0;transition:opacity .2s}
@media(hover:hover){.ts-fig:hover figcaption{opacity:1}}
.footer-grid.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
/* Crédito: el logo más ancho que el texto (6/10). */
.footer-credit.footer-credit.footer-credit{font-size:6.5px;letter-spacing:.14em;gap:5px}
.footer-credit.footer-credit.footer-credit img{height:19px;width:auto}
/* Créditos del video: solo al pasar el mouse (6/10). */
.am-cr{opacity:0;transition:opacity .25s}
@media(hover:hover){.aftermovie:hover .am-cr{opacity:1}}
/* "Desarrollada por" un poco más grande. */
.footer-credit.footer-credit.footer-credit{font-size:8px;letter-spacing:.14em}
.footer-credit.footer-credit.footer-credit img{height:21px}
/* Total: cartel verde dentado "No hay costo de servicio" pegado al precio (6/10), para que no parezca que se cobra después. */
#buy-details .total-sticker{display:grid;place-items:center;width:150px;height:76px;margin:6px 0 2px!important;background:#1ee08f;color:#0b3d26;text-align:center;transform:rotate(-6deg);clip-path:polygon(50% 0,58% 7%,68% 2%,73% 11%,84% 9%,85% 20%,96% 22%,93% 33%,100% 42%,93% 50%,100% 58%,93% 67%,96% 78%,85% 80%,84% 91%,73% 89%,68% 98%,58% 93%,50% 100%,42% 93%,32% 98%,27% 89%,16% 91%,15% 80%,4% 78%,7% 67%,0 58%,7% 50%,0 42%,7% 33%,4% 22%,15% 20%,16% 9%,27% 11%,32% 2%,42% 7%)}
#buy-details .total-sticker b{font-size:13px;font-weight:800;line-height:1.1;text-transform:uppercase;letter-spacing:.01em;color:#0b3d26!important}
#buy-details #total-note:empty{display:none}
@media (prefers-reduced-motion:no-preference){#buy-details .total-sticker{animation:sticker-in .5s cubic-bezier(.2,.9,.3,1.3) both .1s}@keyframes sticker-in{from{opacity:0;transform:rotate(-20deg) scale(.6)}to{opacity:1;transform:rotate(-6deg)}}}
/* Frase de la marca (manual de marca, sept. 2026), arriba del pie. */
.footer-tag{margin:28px 0 0;font-size:clamp(17px,2.4vw,24px);font-weight:700;letter-spacing:-.01em;line-height:1.2;color:#fff;max-width:20ch}
/* Pie (7/10): la frase de la marca grande a la izquierda, los links compactos a la derecha; abajo una sola línea con ©, crédito y Salir. */
.footer-grid.footer-grid.footer-grid{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,.7fr));gap:28px 32px;align-items:start}
.footer-grid .footer-tag{margin:0;max-width:16ch;font-size:clamp(24px,3vw,40px);line-height:1.08;letter-spacing:-.02em;font-weight:800;text-transform:none}
.footer-bottom.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.footer-bottom>:last-child{justify-self:end}
.footer-bottom .footer-credit.footer-credit.footer-credit{margin:0;justify-self:center}
@media(max-width:899px){.footer-grid.footer-grid.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px}.footer-grid .footer-tag{grid-column:1/-1;max-width:18ch;font-size:26px}}
@media(max-width:520px){.footer-bottom.footer-bottom{grid-template-columns:1fr 1fr}.footer-bottom .footer-credit.footer-credit.footer-credit{grid-column:1/-1;grid-row:2;margin-top:14px}}
/* Sin la frase (8/10): tres columnas de links parejas. */
.footer-grid.footer-grid.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
/* Logo López Estévez un toque más chico (8/10). */
.footer-credit.footer-credit.footer-credit img{height:17px}
/* Crédito en una sola línea: "Desarrollada por" + logo al lado (8/10). */
.footer-credit.footer-credit.footer-credit{flex-direction:row;align-items:center;gap:8px;white-space:nowrap}
.footer-credit.footer-credit.footer-credit img{height:15px}
/* Día del festival: la banda que toca ahora se marca en verde y titila suave. */
.bill-row.is-now .bill-time{color:#1ee08f!important;font-weight:800;text-transform:uppercase}
.bill-row.is-now .bill-time::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%!important;background:#1ee08f;margin-right:8px;vertical-align:2px;animation:now-pulse 1.4s infinite}
@keyframes now-pulse{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.bill-row.is-now .bill-time::before{animation:none}}
/* Cómo llegar */
.directions .dir-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}
.directions .dir-actions .block-cta{grid-column:1/-1;margin:0}
.directions .dir-actions .ord-pill{justify-content:center;text-align:center}
.directions .dir-note{margin:18px 0 0;text-align:center;font-size:13px;opacity:.85}
.directions .venue-map>.photo-note,.directions .venue-map>strong{display:none}
/* Links del pie más fáciles de tocar en el celu. */
@media(max-width:899px){.footer-grid nav a{padding:5px 0}}
/* Pantalla de carga fija sobre todo: al desaparecer no empuja el contenido (sin saltos al cargar). */
#app>.loading{position:fixed;inset:0;z-index:30;min-height:0;border-radius:0}

/* pedido: el título entra justo en la columna y queda centrado */
.ord-head{justify-content:center}.ord .ord-head .order-title{font-size:clamp(40px,11.5vw,86px)!important}

/* Cambio de sección: rápido y sin escalonado */
html.enter.quick *{animation-duration:220ms!important;animation-delay:0ms!important}

/* Compra: sello redondo parejo (no deformado), pegado al costado; cupón chico; condiciones en una línea */
.benefit-tag,#buy-details .total-sticker{clip-path:polygon(50.0% 0.0%,58.6% 6.8%,69.1% 3.8%,74.4% 13.4%,85.4% 14.6%,86.6% 25.6%,96.2% 30.9%,93.2% 41.4%,100.0% 50.0%,93.2% 58.6%,96.2% 69.1%,86.6% 74.4%,85.4% 85.4%,74.4% 86.6%,69.1% 96.2%,58.6% 93.2%,50.0% 100.0%,41.4% 93.2%,30.9% 96.2%,25.6% 86.6%,14.6% 85.4%,13.4% 74.4%,3.8% 69.1%,6.8% 58.6%,0.0% 50.0%,6.8% 41.4%,3.8% 30.9%,13.4% 25.6%,14.6% 14.6%,25.6% 13.4%,30.9% 3.8%,41.4% 6.8%)!important;width:96px!important;height:96px!important;padding:0!important;display:grid!important;place-items:center!important;text-align:center;background:#1ee08f!important;border-radius:0!important}
.benefit-tag b,#buy-details .total-sticker b{font-size:12px!important;line-height:1.02!important;white-space:normal!important;letter-spacing:0!important;text-align:center;color:#0b3d26!important}
.tier-price{position:relative}
.benefit-tag{position:absolute!important;right:calc(100% + 10px)!important;left:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%) rotate(-10deg)!important;z-index:2}
@media (max-width:899px){.benefit-tag{width:78px!important;height:78px!important;right:-8px!important;top:auto!important;bottom:calc(100% - 4px)!important;transform:rotate(10deg)!important}.benefit-tag b{font-size:10px!important}}
#buy-details .summary.summary{position:relative}
#buy-details .total-sticker{position:absolute!important;right:0;top:50%;margin:0!important;transform:translateY(-50%) rotate(-10deg)}
@media (prefers-reduced-motion:no-preference){#buy-details .total-sticker{animation:sticker-side .45s cubic-bezier(.2,.9,.3,1.2) both .1s}@keyframes sticker-side{from{opacity:0;transform:translateY(-50%) rotate(-24deg) scale(.6)}to{opacity:1;transform:translateY(-50%) rotate(-10deg)}}}
#buy-details .check span{white-space:nowrap}
#buy-details .coupon-row{max-width:300px;margin:14px auto 0!important;gap:8px}
#buy-details .coupon-row input{font-size:14px!important;padding:6px 0!important}
#buy-details .coupon-row button{font-size:10px!important;padding:7px 12px!important}
@media (max-width:899px){.benefit-tag{width:66px!important;height:66px!important;right:-4px!important;top:calc(100% + 2px)!important;bottom:auto!important;transform:rotate(8deg)!important}.benefit-tag b{font-size:8.5px!important}}
@media (max-width:899px){.benefit-tag{width:76px!important;height:76px!important}.benefit-tag b{font-size:10px!important}}

/* Portada: el logo queda arriba y se achica al deslizar (ver site.js) */
html:not(.compact-top) .site-top .big-logo img{transform-origin:50% 100%;will-change:transform}
html.compact-top .site-top .big-logo img{transform:none!important;opacity:1!important}

/* Botón Comprar entradas de la portada: centrado */
.landing-page>.block-cta{margin-left:auto!important;margin-right:auto!important;align-self:center!important;justify-self:center!important;justify-content:center!important;gap:14px}
.landing-page>.block-cta{grid-column:1/-1!important;width:min(640px,100%)!important}

/* Accesos flotantes: escondidos mientras se ve (o no se pasó) el botón Comprar entradas de la portada */
html.cta-on .quick-nav{transform:translateY(calc(100% + 32px));opacity:0;pointer-events:none}
/* La cuenta, discreta: un círculo chico y translúcido, sin borde fuerte */
.quick-nav .qn-user{width:38px;height:38px;background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.35)!important;box-shadow:none!important;color:#fff!important}
.quick-nav .qn-user svg{width:17px;height:17px}
.quick-nav .qn-user.signed{background:rgba(255,255,255,.28)!important;color:#fff!important}

html.foot-on .quick-nav{transform:translateY(calc(100% + 32px));opacity:0;pointer-events:none}

/* Pie con jerarquía: tres destinos grandes (como el line-up), el resto chico en una línea, y lo legal mínimo */
.site-footer .foot-main{display:grid;grid-template-columns:1fr;border-top:1px solid rgba(255,255,255,.7)}
.site-footer .foot-main>a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.7);color:#fff;text-decoration:none;
  font:800 clamp(30px,8.5vw,64px)/.95 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.035em;text-transform:uppercase}
.site-footer .foot-main>a b{font-weight:300;font-size:.8em;transition:transform .25s}
.site-footer .foot-main>a:hover b{transform:translateX(6px)}
.site-footer .foot-more{display:flex;flex-wrap:wrap;gap:10px 22px;margin:26px 0 0}
.site-footer .foot-more a{color:#fff;text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.9}
.site-footer .footer-bottom{margin-top:34px!important}
@media(min-width:900px){.site-footer .foot-main{grid-template-columns:repeat(3,1fr);column-gap:28px}.site-footer .foot-main>a,.site-footer .foot-main summary{font-size:clamp(30px,3.4vw,52px)}}
/* Botón principal de la portada, más grande */
.landing-page>.block-cta{min-height:76px!important;font-size:clamp(22px,6vw,30px)!important;padding:0 24px!important}
.landing-page>.block-cta span{font-size:inherit!important}
@media(min-width:900px){.landing-page>.block-cta{min-height:92px!important;width:min(760px,100%)!important;font-size:34px!important}}
.site-footer .foot-main>a,.site-footer .foot-main>a span{font-weight:800!important;color:#fff!important;opacity:1!important;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:-.035em!important}
.site-footer .foot-main{border-top:0}.site-footer .foot-main a:first-child{padding-top:4px}
.landing-page>.block-cta,.landing-page>.block-cta span{font-weight:800!important;font-size:clamp(25px,7vw,34px)!important;letter-spacing:-.02em}
.landing-page>.block-cta{min-height:84px!important}

/* Íconos: menos texto suelto */
.site-footer .foot-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 0;flex-wrap:wrap}
.site-footer .foot-more{margin:0!important;gap:10px 20px}
.site-footer .foot-more a{display:inline-flex;align-items:center;gap:7px}
.site-footer .foot-social{display:flex;gap:10px}
.site-footer .foot-social a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%!important;border:1px solid rgba(255,255,255,.6);color:#fff}
.poster-info dt svg{width:13px;height:13px;margin:0 6px -2px 0;vertical-align:baseline}
.landing-page>.block-cta,.landing-page>.block-cta span{white-space:nowrap;font-size:clamp(21px,6vw,34px)!important}
/* Mientras carga: fondo rojo parejo, sin degradé (así arriba y abajo coinciden con el navegador) */
body:has(.loading)::before{background:#e8003f!important}
html:has(body .loading){background:#e8003f!important}
.site-footer .foot-social a{display:flex!important;align-items:center;justify-content:center;padding:0!important}
.site-footer .foot-social a svg{display:block;margin:0}
.poster-info dt{white-space:nowrap;overflow:visible!important;text-overflow:clip!important}
@media(max-width:899px){.poster-info dt{font-size:12px!important}.poster-info dt svg{display:none}}

/* Cómo llegar desplegable en el pie */
.site-footer .foot-map{border-bottom:1px solid rgba(255,255,255,.7)}
.site-footer .foot-map summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;color:#fff;
  font:800 clamp(30px,8.5vw,64px)/.95 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.035em;text-transform:uppercase}
.site-footer .foot-map summary::-webkit-details-marker{display:none}
.site-footer .foot-map summary b{font-weight:300;font-size:.8em;transition:transform .3s}
.site-footer .foot-map[open] summary b{transform:rotate(45deg)}
.site-footer .foot-map-body{display:grid;gap:12px;padding:0 0 20px}
.site-footer .foot-map-body iframe{width:100%;height:240px;border:0;border-radius:14px!important;filter:grayscale(.2)}
.site-footer .foot-map-go{color:#fff;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}
@media(min-width:900px){.site-footer .foot-main{align-items:start}.site-footer .foot-map{border-bottom:0}}
/* Final del pie compacto: sin hueco abajo */
.site-footer{padding-bottom:calc(28px + env(safe-area-inset-bottom))!important}
html:not(.locked):not(.compact-top) .site-footer{padding-bottom:calc(28px + env(safe-area-inset-bottom))!important}
.site-footer .footer-bottom{margin-top:26px!important}
@media(max-width:520px){.footer-bottom .footer-credit.footer-credit.footer-credit{margin-top:6px!important}}
.site-footer .foot-main .foot-map summary,.site-footer .foot-main .foot-map summary span{font-weight:800!important;color:#fff!important;opacity:1!important;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:-.035em!important}
.site-footer .foot-main .foot-map-body a.foot-map-go{display:inline-block;padding:0;border:0;font:600 13px/1.4 -apple-system,system-ui,sans-serif!important;letter-spacing:.06em!important;text-transform:uppercase}
.site-footer .foot-main+.foot-row{margin-top:22px}
.site-footer .foot-main .foot-map:last-child{border-bottom:1px solid rgba(255,255,255,.7)}
/* Jerarquía: lo secundario más chico y suave */
.site-footer .foot-main .foot-map-body a.foot-map-go{font-size:11px!important;letter-spacing:.1em!important;opacity:.85;text-decoration-thickness:1px}
.site-footer .foot-more a{font-size:11px!important;letter-spacing:.1em!important;opacity:.8}
.site-footer .foot-more a svg{width:13px;height:13px}
.site-footer .foot-social a{width:34px!important;height:34px!important;border-color:rgba(255,255,255,.45)!important}
.site-footer .foot-social a svg{width:17px;height:17px}
.site-footer .footer-bottom,.site-footer .footer-bottom *{font-size:11px!important;opacity:.85}
.teaser .text-cta,.venue-map .text-cta,.directions .text-cta{font-size:11px!important;letter-spacing:.12em!important}
.site-footer .foot-main>a,.site-footer .foot-main summary{padding:14px 0!important}
/* lugar para los botones flotantes al final, sin que tapen el crédito */
.site-footer,html:not(.locked):not(.compact-top) .site-footer{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
.site-footer .footer-credit,.site-footer .footer-credit *{font-size:9px!important;letter-spacing:.14em}
.site-footer .footer-credit img{height:13px!important;width:auto!important}
.site-footer .foot-main{margin-top:-18px}
/* Video y fotos de la portada como collage: tamaños distintos, girados, encimados */
.landing-page .aftermovie{position:relative;z-index:1;width:92%!important;align-self:flex-start!important;transform:rotate(-1.6deg);margin-left:-2%!important;box-shadow:0 22px 50px -24px rgba(60,0,15,.55)}
.landing-page .teaser{position:relative;z-index:2;margin-top:-34px!important}
.landing-page .teaser-strip{display:block!important;position:relative;height:clamp(300px,78vw,620px)}
.landing-page .ts-fig{position:absolute!important;box-shadow:0 18px 40px -18px rgba(40,0,10,.6);border:0}
.landing-page .ts-fig img{width:100%;height:100%;object-fit:cover;display:block}
.landing-page .ts-fig:nth-child(1){width:58%;aspect-ratio:4/5;right:2%;top:0;transform:rotate(3deg);z-index:3}
.landing-page .ts-fig:nth-child(2){width:44%;aspect-ratio:1;left:4%;top:16%;transform:rotate(-5deg);z-index:2}
.landing-page .ts-fig:nth-child(3){width:40%;aspect-ratio:3/4;left:30%;top:46%;transform:rotate(2deg);z-index:4}
.landing-page .teaser>.text-cta{position:relative;z-index:5;display:inline-block;margin-top:14px!important;transform:rotate(-2deg)}
@media(min-width:900px){.landing-page .aftermovie{width:70%!important;margin-left:4%!important}.landing-page .teaser-strip{height:min(46vw,620px)}
 .landing-page .ts-fig:nth-child(1){width:34%;right:6%;top:-8%}.landing-page .ts-fig:nth-child(2){width:26%;left:10%;top:6%}.landing-page .ts-fig:nth-child(3){width:24%;left:40%;top:38%}}
@media(max-width:899px){.landing-page .teaser{margin-top:6px!important}.landing-page .teaser-strip{height:118vw}
 .landing-page .ts-fig:nth-child(1){width:60%;right:0;top:4%}.landing-page .ts-fig:nth-child(2){width:46%;left:2%;top:0}.landing-page .ts-fig:nth-child(3){width:44%;left:22%;top:50%}}

/* Estética iOS: bordes redondeados en todo (botones, tarjetas, fotos, campos), píldoras y círculos */
:root{--r-btn:18px;--r-card:22px;--r-img:16px}
.block-cta,#buy .block-cta,.state-btn,.account-login .block-cta{border-radius:var(--r-btn)!important}
.ok-banner,.pay-card,.pay-warn,.account-login .account-form,#buy-details,.ord-ticket,.order-ticket,.tier-row,.state-card,.notify,.me-card{border-radius:var(--r-card)!important}
.am-frame,.aftermovie,.ts-fig,.gallery-photo,.gallery-item,.bill-photo,.poster-img,.venue-map iframe,.foot-map-body iframe,.hero-frame{border-radius:var(--r-img)!important;overflow:hidden}
.poster-type .poster-img{border-radius:12px!important}
.bill-photo{border-radius:10px!important}
input:not([type=checkbox]):not([type=radio]),select,textarea,.coupon-row input,.me-edit input,.code-row input{border-radius:14px!important}
.coupon-row input,.me-edit input{border:1px solid rgba(255,255,255,.6)!important;padding:10px 14px!important;background:rgba(255,255,255,.08)!important}
.coupon-row button,.paste-code,.text-cta.pill,.ord-pill,#apply-coupon{border-radius:999px!important}
label.check input[type=checkbox]{border-radius:7px!important}
.qs-btn,.qn-user,.foot-social a,.account-btn{border-radius:50%!important}
.qn-tickets{border-radius:999px!important}
.countdown{border-radius:var(--r-card);overflow:hidden}
#notice{border-radius:16px!important}
.tier-row,.countdown{border-radius:0!important}
/* Collage prolijo: piezas con giros leves y poco encimadas, sin tapar textos */
.landing-page .aftermovie{transform:rotate(-1.2deg)}
@media(max-width:899px){
 .landing-page .aftermovie{width:94%!important;margin-left:0!important}
 .landing-page .teaser{margin-top:18px!important}
 .landing-page .teaser-strip{height:104vw}
 .landing-page .ts-fig:nth-child(2){width:48%;left:0;top:0;transform:rotate(-2.5deg);aspect-ratio:4/5}
 .landing-page .ts-fig:nth-child(1){width:50%;right:0;top:9%;transform:rotate(2deg);aspect-ratio:4/5}
 .landing-page .ts-fig:nth-child(3){width:46%;left:27%;top:56%;transform:rotate(-1deg);aspect-ratio:4/3}
 .landing-page .teaser>.text-cta{margin-top:4px!important;transform:none}
}
@media(min-width:900px){
 .landing-page .teaser-strip{height:min(40vw,560px)}
 .landing-page .ts-fig:nth-child(2){width:26%;left:6%;top:0;transform:rotate(-2.5deg)}
 .landing-page .ts-fig:nth-child(1){width:30%;left:35%;top:-14%;transform:rotate(1.5deg)}
 .landing-page .ts-fig:nth-child(3){width:26%;right:6%;left:auto;top:8%;transform:rotate(3deg)}
}
@media(max-width:899px){.landing-page .teaser-strip{height:94vw}}
@media(min-width:900px){.landing-page .teaser{margin-top:28px!important}.landing-page .ts-fig:nth-child(1){top:4%}.landing-page .ts-fig:nth-child(2){top:10%}.landing-page .ts-fig:nth-child(3){top:16%}.landing-page .teaser-strip{height:min(36vw,520px)}}
/* Fotos y videos siempre rectos (sin redondeo), puestos encima como recortes */
.am-frame,.aftermovie,.ts-fig,.ts-fig img,.gallery-photo,.gallery-item,.gallery-item img,.bill-photo,.poster-img,.poster-type .poster-img,.hero-frame,.am-frame video,video,.order-ticket .qr-box{border-radius:0!important}

/* Galería: título grande blanco como el resto de las secciones */
.gallery .gal-title{margin:0 0 clamp(16px,4vw,28px);color:#fff;font:800 clamp(52px,14vw,120px)/.9 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.045em;text-transform:uppercase}
.gallery .gal-sub{margin:48px 0 12px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

.gallery .gal-credits{margin:22px 0 0;color:#fff;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.gallery .gal-credits a{color:#fff;text-underline-offset:3px}
/* En Entradas y en el pedido no hace falta el botón flotante */
html.hide-acct .quick-nav,html:has(.ord) .quick-nav{display:none!important}
.gallery .gal-title{text-align:center}
.gallery .gal-credits{text-align:center}

/* Barra fina tipo iOS con el logo chico, aparece cuando el logo grande ya se fue */
.site-top .big-logo img{transform:none!important}
.mini-bar{position:fixed;left:0;right:0;top:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;height:calc(48px + env(safe-area-inset-top));padding-bottom:10px;box-sizing:border-box;
  background:rgba(232,0,63,.72);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);border-bottom:.5px solid rgba(255,255,255,.18);
  opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.mini-bar img{height:22px;width:auto;display:block}
html.mini-on .mini-bar{opacity:1;transform:none;pointer-events:auto}
html.compact-top .mini-bar,body:has(.loading) .mini-bar{display:none}
/* Collage con 6 fotos */
@media(max-width:899px){
 .landing-page .teaser-strip{height:168vw}
 .landing-page .ts-fig:nth-child(2){width:48%;left:0;top:0;transform:rotate(-2.5deg);aspect-ratio:4/5}
 .landing-page .ts-fig:nth-child(1){width:50%;right:0;top:5%;transform:rotate(2deg);aspect-ratio:4/5}
 .landing-page .ts-fig:nth-child(3){width:46%;left:26%;top:31%;transform:rotate(-1deg);aspect-ratio:4/3;z-index:4}
 .landing-page .ts-fig:nth-child(4){position:absolute;width:42%;left:2%;top:47%;transform:rotate(3deg);aspect-ratio:3/4;z-index:2}
 .landing-page .ts-fig:nth-child(5){position:absolute;width:52%;right:0;top:52%;transform:rotate(-2deg);aspect-ratio:4/3;z-index:3}
 .landing-page .ts-fig:nth-child(6){position:absolute;width:44%;left:30%;top:75%;transform:rotate(1.5deg);aspect-ratio:4/3;z-index:5}
}
@media(min-width:900px){
 .landing-page .teaser-strip{height:min(62vw,880px)}
 .landing-page .ts-fig:nth-child(4){width:22%;left:2%;top:52%;transform:rotate(2deg);aspect-ratio:3/4}
 .landing-page .ts-fig:nth-child(5){width:30%;left:30%;top:58%;transform:rotate(-1.5deg);aspect-ratio:4/3;z-index:3}
 .landing-page .ts-fig:nth-child(6){width:24%;right:4%;top:54%;transform:rotate(2.5deg);aspect-ratio:4/5}
}
/* Fotos y videos con borde de estampilla (troquelado): la foto queda recortada con medias lunas en los bordes */
.am-frame,.ts-fig,.gallery-photo,.hero-frame,.poster-type .poster-img{--r:6px;--s:19px;
 -webkit-mask:linear-gradient(#000 0 0) center/calc(100% - 2*var(--r)) calc(100% - 2*var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 50%,#0000 96%,#000 100%) calc(var(--s)/-2) calc(var(--s)/-2)/var(--s) var(--s) round;
 mask:linear-gradient(#000 0 0) center/calc(100% - 2*var(--r)) calc(100% - 2*var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 50%,#0000 96%,#000 100%) calc(var(--s)/-2) calc(var(--s)/-2)/var(--s) var(--s) round;
 box-shadow:none!important}
.poster-type .poster-img{--r:3px;--s:10px}
.landing-page .aftermovie{box-shadow:none!important}
.landing-page .ts-fig,.landing-page .aftermovie .am-frame{filter:none}
.landing-page .teaser-strip,.landing-page .aftermovie{filter:drop-shadow(0 14px 22px rgba(60,0,15,.35))}
.site-footer a[hidden]{display:none!important}
/* Estampillas: margen de papel entre la foto y el troquel (más rústico) */
:root{--paper:#f4eee3}
.ts-fig,.am-frame,.gallery-photo{background:var(--paper)!important;padding:7px!important;box-sizing:border-box}
.ts-fig img,.am-frame video,.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover}
.am-frame .am-sound,.am-frame button{margin:7px}
.poster-type .poster-img{outline:3px solid var(--paper);outline-offset:-3px}
/* Line-up: cada artista con su estampilla grande, girada, y el nombre al lado */
.bill{--bw:clamp(84px,24vw,150px)}
.bill-row{padding:14px 0!important;column-gap:clamp(16px,4vw,32px)!important}
.bill-photo{--r:4px;--s:12px;width:var(--bw)!important;height:auto!important;aspect-ratio:4/5;border-radius:0!important;
  background:var(--photo,none) center/cover no-repeat,var(--paper)!important;background-origin:content-box!important;background-clip:border-box!important;padding:5px;box-sizing:border-box;
  -webkit-mask:linear-gradient(#000 0 0) center/calc(100% - 2*var(--r)) calc(100% - 2*var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 50%,#0000 96%,#000 100%) calc(var(--s)/-2) calc(var(--s)/-2)/var(--s) var(--s) round;
  mask:linear-gradient(#000 0 0) center/calc(100% - 2*var(--r)) calc(100% - 2*var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 50%,#0000 96%,#000 100%) calc(var(--s)/-2) calc(var(--s)/-2)/var(--s) var(--s) round;
  transform:rotate(-3deg);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.bill-item:nth-child(even) .bill-photo,.bill-row:nth-child(even)>.bill-photo{transform:rotate(2.5deg)}
.bill-item:nth-child(3n) .bill-photo{transform:rotate(-1deg)}
.bill-item[open] .bill-photo,.bill-row:hover .bill-photo{transform:rotate(0) scale(1.04)}
.bill-row.is-extra{grid-template-columns:auto 1fr!important}
.bill-photo{padding:0!important;background:var(--photo,none) center/calc(100% - 12px) calc(100% - 12px) no-repeat,var(--paper)!important;transform:rotate(-3deg)!important}
.bill-item:nth-child(even) .bill-photo{transform:rotate(2.5deg)!important}
.bill-item:nth-child(3n) .bill-photo{transform:rotate(-1deg)!important}
.bill-item[open] .bill-photo,.bill-row:hover .bill-photo{transform:rotate(0) scale(1.04)!important}
.bill-row.is-extra{grid-template-columns:var(--bw) minmax(0,1fr)!important;padding:10px 0!important}
.bill-row.is-extra>b{justify-self:center;font-size:26px!important;font-weight:300!important;line-height:1}
/* Collage más amontonado */
@media(max-width:899px){
 .landing-page .teaser{margin-top:-14px!important}
 .landing-page .teaser-strip{height:132vw}
 .landing-page .ts-fig:nth-child(2){width:50%;left:0;top:0}
 .landing-page .ts-fig:nth-child(1){width:52%;right:0;top:4%}
 .landing-page .ts-fig:nth-child(3){width:48%;left:24%;top:27%}
 .landing-page .ts-fig:nth-child(4){width:44%;left:0;top:42%}
 .landing-page .ts-fig:nth-child(5){width:54%;right:0;top:45%}
 .landing-page .ts-fig:nth-child(6){width:46%;left:26%;top:66%}
}
@media(min-width:900px){
 .landing-page .teaser{margin-top:-40px!important}
 .landing-page .teaser-strip{height:min(48vw,700px)}
 .landing-page .ts-fig:nth-child(2){width:28%;left:8%;top:0}
 .landing-page .ts-fig:nth-child(1){width:30%;left:32%;top:-4%}
 .landing-page .ts-fig:nth-child(3){width:28%;left:58%;top:4%}
 .landing-page .ts-fig:nth-child(4){width:22%;left:4%;top:42%}
 .landing-page .ts-fig:nth-child(5){width:30%;left:24%;top:46%}
 .landing-page .ts-fig:nth-child(6){width:26%;left:52%;top:44%}
}
.bill-row.is-extra>b{font-size:0!important;aspect-ratio:auto!important;height:28px;justify-self:stretch}
.bill-row.is-extra b::before{width:22px!important;height:2px!important}
.bill-row.is-extra b::after{width:2px!important;height:22px!important}
@media(max-width:899px){.landing-page .teaser-strip{height:120vw}}

/* Arriba: degradé rojo difuminado (sin rectángulo) para que el contenido se esfume; el logo chico aparece cuando el grande se fue */
.mini-bar{height:calc(96px + env(safe-area-inset-top))!important;padding-bottom:0!important;align-items:flex-start!important;padding-top:calc(14px + env(safe-area-inset-top))!important;
  background:linear-gradient(180deg,rgba(232,0,63,.96) 0%,rgba(232,0,63,.85) 35%,rgba(232,0,63,.45) 68%,rgba(232,0,63,0) 100%)!important;border:0!important;
  -webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;
  -webkit-mask:linear-gradient(#000 45%,#0000);mask:linear-gradient(#000 45%,#0000);transform:none!important;transition:opacity .35s ease!important}
.mini-bar img{opacity:0;transform:translateY(-4px) scale(.96);transition:opacity .3s ease,transform .3s ease}
html.top-fade .mini-bar{opacity:1;pointer-events:none}
html.mini-on .mini-bar{pointer-events:auto}
html.mini-on .mini-bar img{opacity:1;transform:none}
.poster-type .poster-img{outline:0!important}
/* Sin borde blanco: solo troquel, la foto llega al borde */
.ts-fig,.am-frame,.gallery-photo{background:transparent!important;padding:0!important}
.bill-photo{background:var(--photo,none) center/cover no-repeat!important}
/* Line-up más compacto y visual */
.bill{--bw:clamp(62px,17vw,104px)}
.bill-row{padding:8px 0!important}
.bill-row.is-extra{padding:6px 0!important}
.bill-row.is-extra>b{height:22px}
/* Datos (fecha, lugar, hora) más pegados */
.landing-page .poster-info{margin-top:clamp(14px,4vw,24px)!important;margin-bottom:0!important;padding:12px 0!important}
.landing-page .poster-info+*{margin-top:clamp(14px,4vw,24px)!important}
.landing-page>.block-cta{margin-bottom:0!important}
/* Degradé de arriba más leve */
.mini-bar{height:calc(70px + env(safe-area-inset-top))!important;padding-top:calc(10px + env(safe-area-inset-top))!important;
  background:linear-gradient(180deg,rgba(232,0,63,.75) 0%,rgba(232,0,63,.45) 45%,rgba(232,0,63,0) 100%)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.bill-photo{--r:3px!important;--s:9px!important}
.bill-item summary,.bill-row{min-height:0!important}

/* Pie estilo iOS: lista agrupada en una tarjeta, con íconos y flechita; lo demás chico y centrado */
.site-footer{text-align:center}
.site-footer .foot-main{display:block!important;margin:0 auto!important;max-width:560px;background:rgba(255,255,255,.12);border-radius:22px!important;overflow:hidden;border:0!important}
.site-footer .foot-main>a,.site-footer .foot-main summary{display:flex!important;align-items:center;gap:14px;padding:15px 18px!important;border:0!important;border-bottom:.5px solid rgba(255,255,255,.22)!important;
  font:600 17px/1.2 -apple-system,"SF Pro Text",system-ui,sans-serif!important;letter-spacing:-.01em!important;text-transform:none!important;color:#fff!important;text-align:left}
.site-footer .foot-main>a span,.site-footer .foot-main summary span{flex:1;font:inherit!important;letter-spacing:inherit!important}
.site-footer .foot-main>a:last-child,.site-footer .foot-main .foot-map:last-child summary{border-bottom:0!important}
.site-footer .foot-main .foot-map{border:0!important}
.site-footer .foot-main .foot-map[open] summary{border-bottom:.5px solid rgba(255,255,255,.22)!important}
.site-footer .foot-main .chev{opacity:.6;font-size:0!important;transform:none!important;transition:transform .25s}
.site-footer .foot-main .foot-map[open] .chev{transform:rotate(90deg)!important}
.site-footer .foot-main .foot-map-body{padding:12px 14px 14px!important}
.site-footer .foot-main a[hidden]{display:none!important}
@media(min-width:900px){.site-footer .foot-main{display:block!important}}
.site-footer .foot-row{flex-direction:column;justify-content:center!important;gap:16px!important;margin-top:22px!important}
.site-footer .foot-more{justify-content:center}
.site-footer .footer-bottom{display:flex!important;flex-direction:column;align-items:center;gap:8px!important;margin-top:22px!important}
.site-footer .footer-bottom>*{grid-column:auto!important;margin:0!important}
.landing-page .teaser>.text-cta{display:none!important}
.site-footer .foot-main *{text-transform:none!important}
@media(max-width:899px){.landing-page .teaser-strip{height:110vw}}
.site-footer{border-top:0!important;padding-top:28px!important}

.mini-bar{background:linear-gradient(180deg,rgba(var(--topc,232,0,63),.8) 0%,rgba(var(--topc,232,0,63),.45) 45%,rgba(var(--topc,232,0,63),0) 100%)!important}
/* Salir y Acceso no van en el pie (cerrar sesión está en Mi cuenta) */
.site-footer .footer-access{display:none!important}
.site-footer .footer-credit a,.site-footer .footer-credit a *{cursor:pointer!important}
.site-footer .footer-credit a:hover img{opacity:1}
.site-footer .footer-credit img{transition:opacity .2s;opacity:.85}
/* Profundidad en el collage: las del fondo más chicas, suaves y algo desenfocadas; las de adelante nítidas con sombra suave */
.landing-page .teaser-strip{filter:none!important}
.landing-page .ts-fig{transition:filter .4s,opacity .4s}
.landing-page .ts-fig:nth-child(4){filter:blur(1.6px) saturate(.85) drop-shadow(0 6px 10px rgba(120,0,30,.18));opacity:.78;z-index:1!important}
.landing-page .ts-fig:nth-child(2){filter:blur(.8px) drop-shadow(0 8px 14px rgba(120,0,30,.22));opacity:.9;z-index:1!important}
.landing-page .ts-fig:nth-child(5){filter:blur(.5px) drop-shadow(0 10px 16px rgba(120,0,30,.25));opacity:.94}
.landing-page .ts-fig:nth-child(1),.landing-page .ts-fig:nth-child(3),.landing-page .ts-fig:nth-child(6){filter:drop-shadow(0 18px 26px rgba(90,0,25,.38))}
.landing-page .ts-fig:nth-child(3),.landing-page .ts-fig:nth-child(6){z-index:6!important}
@media(hover:hover){.landing-page .ts-fig:hover{filter:drop-shadow(0 18px 26px rgba(90,0,25,.38))!important;opacity:1!important;z-index:9!important}}
@media(max-width:899px){.landing-page .teaser-strip{height:102vw}}

/* Profundidad sin sombras: las de atrás desenfocadas y con un velo del color del fondo; movimiento más lento al deslizar */
.landing-page .ts-fig,.landing-page .ts-fig:nth-child(n){filter:none!important;opacity:1!important;box-shadow:none!important}
.landing-page .aftermovie,.landing-page .teaser-strip{filter:none!important;box-shadow:none!important}
.landing-page .ts-fig::after{content:'';position:absolute;inset:0;background:rgb(var(--topc,255,20,80));opacity:0;pointer-events:none}
.landing-page .ts-fig:nth-child(4) img{filter:blur(2.2px)}.landing-page .ts-fig:nth-child(4)::after{opacity:.42}
.landing-page .ts-fig:nth-child(2) img{filter:blur(1.2px)}.landing-page .ts-fig:nth-child(2)::after{opacity:.26}
.landing-page .ts-fig:nth-child(5) img{filter:blur(.6px)}.landing-page .ts-fig:nth-child(5)::after{opacity:.14}
.landing-page .ts-fig{translate:0 calc(var(--p,0) * var(--d,0) * 1px)}
.landing-page .ts-fig:nth-child(4){--d:-.16}.landing-page .ts-fig:nth-child(2){--d:-.11}.landing-page .ts-fig:nth-child(5){--d:-.07}
.landing-page .ts-fig:nth-child(1),.landing-page .ts-fig:nth-child(3),.landing-page .ts-fig:nth-child(6){--d:.04}
@media (prefers-reduced-motion:reduce){.landing-page .ts-fig{translate:none}}
@media(hover:hover){.landing-page .ts-fig:hover{filter:none!important}.landing-page .ts-fig:hover img{filter:none}.landing-page .ts-fig:hover::after{opacity:0}}
/* Un solo sello a la vista: junto a la tanda mientras elegís; al abrir la compra pasa al total */
#buy:has(#buy-details:not([hidden])) .benefit-tag{opacity:0!important;transform:rotate(-8deg) scale(.6)!important;transition:opacity .25s,transform .25s;pointer-events:none}
.benefit-tag{transition:opacity .25s,transform .25s}

/* Contacto como ícono junto a las redes; pie sin espacio vacío abajo (solo deja lugar cuando están los botones flotantes) */
.site-footer .foot-social a{border-color:rgba(255,255,255,.75)!important;color:#fff!important;opacity:1!important}
.site-footer,html:not(.locked):not(.compact-top) .site-footer{padding-bottom:calc(22px + env(safe-area-inset-bottom))!important}
html:not(.hide-acct):not(.cta-on):not(:has(.ord)) .site-footer{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}
/* Separador antes del pie: línea troquelada como el borde de una entrada, con el logo chico en el medio */
.site-footer{position:relative;margin-top:clamp(36px,8vw,64px)!important}
.site-footer::before{content:'';position:absolute;left:0;right:0;top:0;height:12px;
  background:radial-gradient(circle 3.5px at 50% 50%,rgba(255,255,255,.5) 98%,transparent) 0 0/14px 12px repeat-x;
  -webkit-mask:linear-gradient(90deg,#000 calc(50% - 46px),transparent calc(50% - 46px) calc(50% + 46px),#000 calc(50% + 46px));
  mask:linear-gradient(90deg,#000 calc(50% - 46px),transparent calc(50% - 46px) calc(50% + 46px),#000 calc(50% + 46px))}
.site-footer::after{content:'';position:absolute;left:50%;top:-4px;width:64px;height:20px;transform:translateX(-50%);background:url(/assets/fervor.svg) center/contain no-repeat;opacity:.9}
.site-footer .foot-main{margin-top:20px!important}

/* Collage: las fotos caen una por una como estampillas que se pegan */
@media (prefers-reduced-motion:no-preference){
 .landing-page .ts-fig.pre{opacity:0!important;scale:1.18}
 .landing-page .ts-fig.drop{transition:opacity .35s ease,scale .5s cubic-bezier(.2,1.25,.35,1)!important;opacity:1;scale:1}
}

label.check.need input[type=checkbox]{border-color:#fff!important;box-shadow:0 0 0 4px rgba(255,255,255,.35)}
@media (prefers-reduced-motion:no-preference){label.check.need{animation:need-shake .4s}}
@keyframes need-shake{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
.need-msg{margin:-4px 0 6px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:center}

#buy .block-cta.busy{opacity:.85}
#buy .block-cta.busy b{animation:busy-arrow 1s ease-in-out infinite}
@keyframes busy-arrow{50%{transform:translateX(6px)}}
.pay-wait{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;text-align:center;
  background:rgba(232,0,63,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:pay-in .25s ease both}
.pay-wait p{margin:14px 0 0;font:800 24px/1.1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.02em;text-transform:uppercase}
.pay-wait small{font-size:13px;opacity:.85}
@keyframes pay-in{from{opacity:0}}
.pay-wait small{color:#fff!important;opacity:.85}
.pay-wait p{font-size:clamp(20px,6vw,28px)!important;padding:0 24px}
/* Separador: solo una línea troquelada fina, de muchos puntitos */
.site-footer::after{display:none!important}
.site-footer::before{height:4px!important;background:radial-gradient(circle 1.1px at 50% 50%,rgba(255,255,255,.7) 95%,transparent) 0 0/6px 4px repeat-x!important;-webkit-mask:none!important;mask:none!important}
/* Line-up prolijo: misma columna para foto/«+», nombres alineados a la misma línea, sin giros, alturas parejas */
.bill{--bw:64px;--gap:16px}
.bill-row,.bill-item>summary{display:grid!important;grid-template-columns:var(--bw) minmax(0,1fr) auto!important;column-gap:var(--gap)!important;align-items:center!important;padding:10px 0!important;min-height:0!important}
.bill-item.bill-row{display:block!important;padding:0!important}
.bill-row strong{text-align:left!important;justify-self:start!important;margin:0!important;padding:0!important}
.bill-photo,.bill-item .bill-photo,.bill-item:nth-child(n) .bill-photo{width:var(--bw)!important;aspect-ratio:1!important;transform:none!important;margin:0!important}
.bill-item[open] .bill-photo,.bill-row:hover .bill-photo{transform:none!important}
.bill-row.is-extra{grid-template-columns:var(--bw) minmax(0,1fr)!important;padding:12px 0!important}
.bill-row.is-extra>b{width:var(--bw)!important;height:20px!important;justify-self:center}
.bill-row.is-extra strong{font-size:clamp(15px,4.4vw,30px)!important;white-space:normal!important}
@media(min-width:900px){.bill{--bw:92px;--gap:24px}}
/* Datos: tres columnas iguales, alineadas a la izquierda y más juntas */
.landing-page .poster-info{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0 12px!important}
.landing-page .poster-info>div{text-align:left!important}
/* aire antes del video para que no toque la lista */
.landing-page .aftermovie{margin-top:clamp(28px,7vw,56px)!important}
@media(max-width:899px){.bill-row strong,.bill-item>summary strong{font-size:clamp(20px,7.4vw,40px)!important;white-space:nowrap;overflow:hidden;text-overflow:clip}.bill-row.is-extra strong{font-size:clamp(14px,4.2vw,20px)!important}}

/* Mi cuenta estilo iOS */
.me .me-old{margin-top:18px;background:rgba(255,255,255,.12);border-radius:18px!important;overflow:hidden}
.me .me-old>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:15px 18px;font:600 16px/1.2 -apple-system,system-ui,sans-serif!important;letter-spacing:-.01em!important;text-transform:none!important;color:#fff}
.me .me-old>summary::-webkit-details-marker{display:none}
.me .me-old>summary::after{content:'';width:8px;height:8px;border-right:2px solid rgba(255,255,255,.7);border-bottom:2px solid rgba(255,255,255,.7);transform:rotate(-45deg);transition:transform .25s}
.me .me-old[open]>summary::after{transform:rotate(45deg)}
.me .me-old>*:not(summary){padding:0 14px 14px}
.me-head .me-small{display:inline-flex;align-items:center;gap:6px;padding:8px 14px!important;border-radius:999px!important;background:rgba(255,255,255,.14);border:0!important;text-decoration:none!important;font-size:12px!important}
.me-head .me-small+.me-small{margin-left:6px}

.ord-mail{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;width:100%}
.ord-mail[hidden]{display:none}
.ord-mail input{flex:1;min-width:0;padding:11px 14px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.6)!important;background:rgba(255,255,255,.1)!important;color:#fff!important;font-size:16px}
.ord-mail input::placeholder{color:rgba(255,255,255,.7)}
.ord-mail .ord-send{background:#fff!important;color:#e0003c!important}
.ord-mail-msg{flex-basis:100%;margin:2px 0 0;font-size:12px;font-weight:600;text-align:center;color:#fff}
.ord-mail-msg:empty{display:none}
.ord-ticket-actions{display:flex!important;flex-wrap:wrap;justify-content:center;gap:8px!important;width:100%}
.ord-ticket-actions .ord-pill{padding:9px 14px!important;font-size:12px!important}
.ord-mail{padding:0 4px}
.ord-ticket-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ord-ticket-actions .ord-pill{padding:9px 6px!important;gap:5px!important;justify-content:center;min-width:0;white-space:nowrap;font-size:11px!important}
.ord-mail input{border-radius:999px!important}

/* Mi cuenta como perfil: avatar con iniciales, nombre y mail en dos líneas, acciones abajo */
.me-head{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:6px 14px;text-align:left!important;padding-bottom:18px}
.me-avatar{grid-row:1;width:58px;height:58px;border-radius:50%!important;display:grid;place-items:center;background:#fff;color:#e0003c;font:800 22px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.02em}
.me-id{min-width:0}
.me-id h1{margin:0!important;font:700 22px/1.15 -apple-system,"SF Pro Display",system-ui,sans-serif!important;letter-spacing:-.02em!important;text-transform:none!important;text-align:left!important;color:#fff}
.me-id p{margin:3px 0 0!important;font-size:14px!important;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left!important}
.me-head-actions{grid-column:1/-1;display:flex!important;gap:8px;justify-content:flex-start!important;margin-top:10px}
.ord-mail input[name=who]{flex-basis:100%}
/* Perfil centrado, como la tarjeta de cuenta de iPhone */
.me .me-head{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:0!important}
.me .me-avatar{width:76px;height:76px;font-size:28px;margin-bottom:12px}
.me .me-id{text-align:center!important;width:100%}
.me .me-id h1,.me .me-id p{text-align:center!important}
.me .me-id h1{font-size:24px!important}
.me .me-head-actions{justify-content:center!important;margin-top:14px!important}
/* Sin textos chicos en violeta: los rótulos van en blanco */
:root{--lila:#fff}
.ord-kicker,.ord .ord-total .pay-label,.ord .ord-facts dt,.me-card small,.me-card .me-kicker,[class*=kicker],.photo-note,.countdown span,.countdown small{color:rgba(255,255,255,.85)!important}
/* Botón Pagar: grande y en negrita, igual que Comprar entradas */
#pay-card,.ord-mp,.me .block-cta,.me-card .block-cta{font:800 clamp(20px,5.6vw,26px)/1 "Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:-.02em!important;text-transform:uppercase!important;min-height:64px;border-radius:18px!important;display:flex!important;align-items:center;justify-content:space-between!important;padding:0 22px!important;background:#fff!important;color:#9b0f2e!important}
#pay-card span,.ord-mp span,.me .block-cta span{font:inherit!important;letter-spacing:inherit!important}

/* Sello del pedido: el mismo sello redondo de la compra */
.ord .ord-total .benefit{clip-path:polygon(50.0% 0.0%,58.6% 6.8%,69.1% 3.8%,74.4% 13.4%,85.4% 14.6%,86.6% 25.6%,96.2% 30.9%,93.2% 41.4%,100.0% 50.0%,93.2% 58.6%,96.2% 69.1%,86.6% 74.4%,85.4% 85.4%,74.4% 86.6%,69.1% 96.2%,58.6% 93.2%,50.0% 100.0%,41.4% 93.2%,30.9% 96.2%,25.6% 86.6%,14.6% 85.4%,13.4% 74.4%,3.8% 69.1%,6.8% 58.6%,0.0% 50.0%,6.8% 41.4%,3.8% 30.9%,13.4% 25.6%,14.6% 14.6%,25.6% 13.4%,30.9% 3.8%,41.4% 6.8%)!important;width:92px!important;height:92px!important;padding:0!important;display:grid!important;place-items:center!important;top:-30px!important;right:-10px!important;transform:rotate(10deg)!important;background:#1ee08f!important}
.ord .ord-total .benefit b{font-size:11px!important;line-height:1.02!important;text-align:center;white-space:normal!important;color:#0b3d26!important}

.me .me-avatar{position:relative;cursor:pointer;background:rgba(255,255,255,.18) center/cover no-repeat;color:#fff;border:2px solid rgba(255,255,255,.55)}
.me .me-avatar.has-photo svg{display:none}
.me-avatar-edit{position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;border-radius:50%!important;background:#fff;color:#e0003c;display:grid;place-items:center;font:700 18px/1 -apple-system,system-ui,sans-serif;font-style:normal}

#buy .who{width:100%;margin:6px 0 0;background:rgba(255,255,255,.1);border-radius:16px!important;overflow:hidden;text-align:left}
#buy .who[hidden]{display:none}
#buy .who>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 16px;color:#fff;font:600 15px/1.2 -apple-system,system-ui,sans-serif;text-transform:none}
#buy .who>summary::-webkit-details-marker{display:none}
#buy .who>summary small{font-size:12px;opacity:.75;font-weight:500}
#buy .who-note{margin:0 16px 10px;font-size:12px;opacity:.85;color:#fff}
#buy .who-list{display:grid;gap:10px;padding:0 12px 14px}
#buy .who-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#buy .who-row span{grid-column:1/-1;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;opacity:.85;padding-left:4px}
#buy .who-row input{min-width:0;padding:10px 12px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.5)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;font-size:16px}
#buy .who-row input::placeholder{color:rgba(255,255,255,.7)}
#buy .news-note{margin:2px 0 0;font-size:11px;line-height:1.35;color:#fff;opacity:.75;text-align:center;text-transform:none}

/* Pedido pendiente en Mi cuenta: total grande, cuenta atrás y botón Pagar */
.me .me-pending h2{margin:0 0 4px!important;color:#fff!important;font-size:12px!important;letter-spacing:.14em!important;text-align:center}
.me-pay{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.me-pay-what{margin:0;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;opacity:.85}
.me-pay-total{font:800 clamp(44px,13vw,64px)/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.04em;color:#fff}
.me-pay-time{display:inline-flex;align-items:center;gap:6px;margin:4px 0 8px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.16);font-size:14px;font-weight:600;color:#fff}
.me-pay-time b{font-variant-numeric:tabular-nums;font-weight:800}
.me-pay.pay-soon .me-pay-time{background:#fff;color:#e0003c}
.me-pay-btn{display:flex!important;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;min-height:62px;padding:0 22px;border-radius:18px!important;background:#fff;color:#9b0f2e!important;text-decoration:none;font:800 24px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.02em;text-transform:uppercase}
.me-pay-btn span,.me-pay-btn b{font:inherit;color:inherit}
/* Foto de perfil: círculo limpio, la foto llena todo y el + queda afuera */
.me .me-avatar{border:3px solid #fff!important;box-sizing:border-box;overflow:visible;background-size:cover!important;background-position:center!important}
.me .me-avatar.has-photo{background-color:#fff}
#buy-details label.check{justify-content:center!important;width:100%;margin-left:auto!important;margin-right:auto!important}
#buy-details label.check+.need-msg{text-align:center}
.site-footer .footer-credit,.site-footer .footer-credit *{color:#fff!important;opacity:1!important}
.site-footer .footer-credit img{opacity:1!important;filter:brightness(0) invert(1)}

.me-pay-btn{white-space:nowrap}
.me-pay.pay-late .me-pay-total{opacity:.55}
/* Mi cuenta: aire parejo entre secciones */
.me .me-body{display:grid;gap:22px;margin-top:22px}
.me .me-body>*{margin:0!important}
.me .me-head{padding-bottom:22px!important}
/* Pie: © a la izquierda y crédito al centro, en una sola fila */
.site-footer .footer-bottom{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center;gap:10px!important}
.site-footer .footer-bottom>span:first-child{justify-self:start;grid-column:1;grid-row:1;white-space:nowrap}
.site-footer .footer-bottom .footer-credit{grid-column:2!important;grid-row:1!important;justify-self:center;margin:0!important;white-space:nowrap}
@media(max-width:899px){.site-footer .footer-bottom>span:first-child,.site-footer .footer-bottom .footer-credit,.site-footer .footer-bottom .footer-credit *{font-size:9px!important;letter-spacing:.1em}.site-footer .footer-credit img{height:12px!important}}
/* Pie: crédito centrado y © abajo a la izquierda, a la altura de los botones flotantes (así no queda el hueco) */
.site-footer .footer-bottom{display:flex!important;flex-direction:column;align-items:center;gap:0!important}
.site-footer .footer-bottom .footer-credit{white-space:nowrap}
.site-footer .footer-bottom>span:first-child{position:absolute;left:var(--gutter,16px);bottom:calc(var(--gutter,16px) + 16px + env(safe-area-inset-bottom));margin:0!important}
html:not(.hide-acct):not(.cta-on):not(:has(.ord)) .site-footer .footer-bottom>span:first-child{bottom:calc(var(--gutter,16px) + 16px + env(safe-area-inset-bottom))}
html.hide-acct .site-footer,html:has(.ord) .site-footer{padding-bottom:calc(52px + env(safe-area-inset-bottom))!important}
/* Comprar entradas: mismo aire arriba y abajo */
.landing-page>.block-cta{margin-top:24px!important;margin-bottom:24px!important;line-height:1!important}
.landing-page>.block-cta+.poster-info,.landing-page>.block-cta+*{margin-top:0!important}
/* Comprar entradas como franja blanca de borde a borde (separador) */
.landing-page>.block-cta{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;border-radius:0!important;min-height:104px!important;justify-content:center!important;gap:18px!important;font-size:clamp(26px,7.6vw,46px)!important;box-shadow:none!important}
.landing-page>.block-cta span{font-size:inherit!important}
.landing-page>.block-cta+.poster-info{border-top:0!important}
/* Botones sin flecha */
.block-cta>b,.me-pay-btn>b,#pay-card>b,.ord-mp>b,.state-btn>b{display:none!important}
.block-cta,.me-pay-btn,#pay-card,.ord-mp{justify-content:center!important}
#buy .news-note span{display:block;white-space:nowrap}

/* Logo siempre visible: en cualquier sección, cuando el logo de arriba sale de la pantalla aparece el chico */
html.compact-top .mini-bar{display:flex!important}
body:has(.loading) .mini-bar{display:none!important}
/* Sin botones flotantes (Entradas, pedido): © y crédito juntos y centrados */
html.hide-acct .site-footer .footer-bottom>span:first-child,html:has(.ord) .site-footer .footer-bottom>span:first-child{position:static!important;order:2;margin-top:8px!important}
html.hide-acct .site-footer,html:has(.ord) .site-footer{padding-bottom:calc(26px + env(safe-area-inset-bottom))!important}

.am-sound{display:none!important}

/* El collage no pisa el video ni sus créditos */
.landing-page .teaser{margin-top:28px!important}
.landing-page .ts-fig{translate:none!important}
/* Compu: logo chico de arriba más grande */
@media(min-width:900px){.mini-bar img{height:34px!important}.mini-bar{height:calc(96px + env(safe-area-inset-top))!important;padding-top:calc(16px + env(safe-area-inset-top))!important}}
/* Compu: pie en tres columnas y crédito más grande */
@media(min-width:900px){
 .site-footer .foot-main{max-width:960px!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;background:none!important;gap:14px}
 .site-footer .foot-main>a,.site-footer .foot-main .foot-map{background:rgba(255,255,255,.12);border-radius:18px!important;border:0!important}
 .site-footer .foot-main>a,.site-footer .foot-main summary{border:0!important;padding:20px 22px!important;font-size:19px!important}
 .site-footer .foot-main .foot-map{align-self:start}
 .site-footer .footer-credit,.site-footer .footer-credit *{font-size:12px!important}
 .site-footer .footer-credit img{height:20px!important}
}

/* Video centrado (equilibrado con el collage) y créditos chicos sobre el rojo */
.landing-page .aftermovie{margin-left:auto!important;margin-right:auto!important;align-self:center!important}
@media(min-width:900px){.landing-page .aftermovie{width:min(78%,1100px)!important}}
.aftermovie .am-by{margin:10px 0 0;text-align:center;color:#fff;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;opacity:.8;transform:rotate(1.2deg)}
.aftermovie .am-by a{color:#fff;text-decoration:none}
.am-frame figcaption{display:none!important}
@media(min-width:900px){
 .landing-page .ts-fig:nth-child(2){left:6%!important}.landing-page .ts-fig:nth-child(1){left:36%!important;right:auto!important}.landing-page .ts-fig:nth-child(3){left:66%!important;right:auto!important}
 .landing-page .ts-fig:nth-child(4){left:10%!important}.landing-page .ts-fig:nth-child(5){left:38%!important}.landing-page .ts-fig:nth-child(6){left:66%!important;right:auto!important}
}
.landing-page .teaser{margin-top:clamp(40px,6vw,64px)!important}
.aftermovie .am-by{position:relative;z-index:3}

/* Troquel aplicado al video mismo (el marco no recorta: así no aparecen bordes raros) */
.landing-page .am-frame{-webkit-mask:none!important;mask:none!important;background:transparent!important;overflow:visible!important}
.landing-page .am-frame video{--r:6px;--s:19px;display:block;width:100%;aspect-ratio:16/9;object-fit:cover;
 -webkit-mask:linear-gradient(#000 0 0) center/calc(100% - 2*var(--r)) calc(100% - 2*var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 50%,#0000 96%,#000 100%) calc(var(--s)/-2) calc(var(--s)/-2)/var(--s) var(--s) round;
 mask:linear-gradient(#000 0 0) center/calc(100% - 2*var(--r)) calc(100% - 2*var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 50%,#0000 96%,#000 100%) calc(var(--s)/-2) calc(var(--s)/-2)/var(--s) var(--s) round}
/* Crédito: «Video por» y los nombres uno debajo del otro */
.aftermovie .am-by{display:flex;flex-direction:column;align-items:flex-start;gap:4px;transform:none!important;opacity:1!important;text-align:left;font-size:12px!important;letter-spacing:.06em!important;line-height:1.25}
.aftermovie .am-by b{font-weight:800;font-size:13px;margin-bottom:4px}
.aftermovie .am-by a{font-weight:400}
@media(min-width:900px){.landing-page .aftermovie{position:relative}
 .aftermovie .am-by{position:absolute!important;left:calc(100% + 18px);top:50%;transform:translateY(-50%)!important;margin:0!important;width:max-content}}
@media(max-width:899px){.aftermovie .am-by{margin:12px 0 0 6px!important}}
.landing-page .aftermovie{overflow:visible!important}
/* Crédito chico, centrado abajo de todo (a la altura del ©) */
.site-footer .footer-credit,.site-footer .footer-credit *{font-size:9px!important;letter-spacing:.12em}
.site-footer .footer-credit img{height:12px!important}
@media(min-width:900px){.site-footer .footer-credit,.site-footer .footer-credit *{font-size:9px!important}.site-footer .footer-credit img{height:13px!important}}
.site-footer .footer-bottom .footer-credit{position:absolute!important;left:50%;transform:translateX(-50%);bottom:calc(var(--gutter,16px) + 20px + env(safe-area-inset-bottom));margin:0!important}
html.hide-acct .site-footer .footer-bottom .footer-credit,html:has(.ord) .site-footer .footer-bottom .footer-credit{position:static!important;transform:none}
@media(max-width:899px){.site-footer .footer-bottom .footer-credit{bottom:calc(var(--gutter,16px) + 64px + env(safe-area-inset-bottom))}}

/* Troquel en la imagen misma (no en el marco): bordes parejos */
.landing-page .ts-fig{-webkit-mask:none!important;mask:none!important;overflow:visible!important}
.landing-page .ts-fig img{--r:5px;--s:16px;
 -webkit-mask:linear-gradient(#000 0 0) center/calc(100% - 2*var(--r)) calc(100% - 2*var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 50%,#0000 96%,#000 100%) calc(var(--s)/-2) calc(var(--s)/-2)/var(--s) var(--s) round;
 mask:linear-gradient(#000 0 0) center/calc(100% - 2*var(--r)) calc(100% - 2*var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 50%,#0000 96%,#000 100%) calc(var(--s)/-2) calc(var(--s)/-2)/var(--s) var(--s) round}
.landing-page .ts-fig::after{display:none!important}
.landing-page .ts-fig:nth-child(4) img{opacity:.6}.landing-page .ts-fig:nth-child(2) img{opacity:.78}.landing-page .ts-fig:nth-child(5) img{opacity:.9}
/* Créditos tipo cartelito, con la letra de la web, pisando un poco la foto o el video */
.cr-pop{position:absolute!important;z-index:6;display:flex!important;flex-direction:column;align-items:flex-start;gap:1px;margin:0!important;padding:9px 12px 10px!important;background:#fff;color:#e0003c!important;border-radius:10px!important;box-shadow:0 10px 24px -12px rgba(60,0,15,.6);
 font:800 11px/1.15 "Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:-.01em!important;text-transform:uppercase;opacity:1!important;transform:rotate(-3deg)!important;width:max-content;text-align:left}
.cr-pop b{font:inherit;font-size:9px;letter-spacing:.12em;opacity:.7;margin-bottom:2px}
.cr-pop a{color:#e0003c!important;text-decoration:none;font:inherit}
.landing-page .aftermovie .am-by.cr-pop{left:auto!important;right:-14px;top:auto!important;bottom:-18px;transform:rotate(-3deg)!important}
.landing-page .teaser{position:relative}
.landing-page .cr-photos{right:2%;top:-14px;transform:rotate(2.5deg)!important}
@media(max-width:899px){.landing-page .aftermovie .am-by.cr-pop{right:4px;bottom:-16px}.landing-page .cr-photos{right:4px;top:-10px}}
/* Créditos como en el boceto: texto blanco sobre el rojo, «VIDEO POR» en negrita y los nombres corridos debajo, pisando el borde */
.cr-pop{background:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important;color:#fff!important;transform:none!important;gap:3px!important;font:700 12px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:.02em!important}
.cr-pop b{font-size:13px!important;font-weight:800!important;letter-spacing:.02em!important;opacity:1!important;margin:0 0 3px!important}
.cr-pop a{color:#fff!important;font-weight:500!important;padding-left:22px}
.landing-page .aftermovie .am-by.cr-pop{right:auto!important;left:calc(100% - 18px)!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
.landing-page .cr-photos{right:auto!important;left:calc(98% - 24px);top:30%!important;transform:none!important}
@media(max-width:899px){.landing-page .aftermovie .am-by.cr-pop{left:auto!important;right:10px!important;top:auto!important;bottom:-34px!important;transform:none!important}.landing-page .aftermovie{margin-bottom:40px!important}.landing-page .cr-photos{left:auto;right:10px;top:auto!important;bottom:4px}}
@media(max-width:899px){.landing-page .cr-photos{top:-30px!important;bottom:auto!important;right:10px!important;left:auto!important}.landing-page .teaser{margin-top:56px!important}}
.site-footer{margin-top:clamp(24px,4vw,40px)!important}
/* Galería: troquel en la imagen (bordes parejos) */
.gallery-photo{-webkit-mask:none!important;mask:none!important}
.gallery-photo img{--r:5px;--s:16px;
 -webkit-mask:linear-gradient(#000 0 0) center/calc(100% - 2*var(--r)) calc(100% - 2*var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 50%,#0000 96%,#000 100%) calc(var(--s)/-2) calc(var(--s)/-2)/var(--s) var(--s) round;
 mask:linear-gradient(#000 0 0) center/calc(100% - 2*var(--r)) calc(100% - 2*var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 50%,#0000 96%,#000 100%) calc(var(--s)/-2) calc(var(--s)/-2)/var(--s) var(--s) round}
/* Botón flotante: un poco más arriba y sombra más corta, para que el borde de la pantalla del celu no la corte */
.quick-nav{bottom:calc(max(var(--gutter),env(safe-area-inset-bottom)) + 10px)}
.quick-nav a.qn-tickets{box-shadow:0 5px 14px -7px rgba(60,0,15,.55)}
/* Crédito de fotos en compu: adentro del ancho de la página (antes se salía por la derecha y cortaba los nombres) */
@media(min-width:900px){.landing-page .cr-photos{left:calc(100% - 104px)!important;right:auto!important;white-space:nowrap}.landing-page .cr-photos a{padding-left:10px}}
html,body{overflow-x:clip}
/* Celu: «Fotos por» abajo a la derecha del collage (en el hueco libre) y las fotos más cerca del video */
@media(max-width:899px){.landing-page .cr-photos{top:auto!important;bottom:2px!important;right:8px!important;left:auto!important}.landing-page .teaser{margin-top:0!important}}
/* Celu: los nombres de los créditos no se tocan (se abrían sin querer al scrollear) */
@media(max-width:899px),(hover:none){.cr-pop a{pointer-events:none;cursor:default;-webkit-touch-callout:none}}
/* Collage: al pasar el mouse no cambia nada (el salto de capa y de desenfoque sobre el troquel se veía roto). La profundidad queda solo con transparencia. */
.landing-page .teaser .ts-fig img{filter:none!important}
.landing-page .teaser .ts-fig:nth-child(1){z-index:3!important}.landing-page .teaser .ts-fig:nth-child(2){z-index:1!important}.landing-page .teaser .ts-fig:nth-child(3){z-index:6!important}
.landing-page .teaser .ts-fig:nth-child(4){z-index:1!important}.landing-page .teaser .ts-fig:nth-child(5){z-index:3!important}.landing-page .teaser .ts-fig:nth-child(6){z-index:6!important}
.landing-page .cr-photos{z-index:10!important}
/* Fecha, hora y lugar con el mismo diseño que la cuenta regresiva: dato grande, rótulo chico, líneas finas entre columnas, sin íconos */
.landing-page .poster-info{display:grid!important;grid-template-columns:1fr 1fr 2fr;gap:0!important;margin:0!important;padding:0!important;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35)}
.landing-page .poster-info>div{display:grid!important;gap:6px;align-content:start;padding:clamp(14px,2.6vw,24px) 0 clamp(14px,2.6vw,24px) clamp(10px,2vw,18px)!important;border-left:1px solid rgba(255,255,255,.35);margin:0!important;min-width:0}
.landing-page .poster-info>div:first-child{border-left:0;padding-left:0!important}
.landing-page .poster-info dt{display:block!important;margin:0!important;font:800 clamp(26px,4.6vw,54px)/.95 "Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:-.035em!important;text-transform:uppercase;color:#fff!important;font-variant-numeric:tabular-nums}
.landing-page .poster-info dt svg{display:none!important}
.landing-page .poster-info dd{margin:0!important;font-size:clamp(10px,1.4vw,13px)!important;font-weight:500!important;letter-spacing:.16em!important;text-transform:uppercase;color:rgba(255,255,255,.85)!important}
@media(max-width:599px){.landing-page .poster-info{grid-template-columns:1fr 1fr}.landing-page .poster-info>div:nth-child(3){grid-column:1/-1;border-left:0;padding-left:0!important;border-top:1px solid rgba(255,255,255,.35)}}
/* Video de la portada derecho: girado, el troquel se dibujaba mal y torcía el crédito «Video por» */
.landing-page .aftermovie{transform:none!important;rotate:none!important}
/* Compu: «Cómo llegar» abre el mapa debajo de los tres botones, a todo el ancho (antes estiraba solo su columna y dejaba un hueco) */
@media(min-width:900px){
 .site-footer .foot-main{position:relative;overflow:visible!important}
 .site-footer .foot-main .foot-map{position:static!important}
 .site-footer .foot-main .foot-map[open] summary{border-bottom:0!important}
 .site-footer .foot-main .foot-map[open] .foot-map-body{position:absolute;left:0;right:0;top:calc(100% + 14px);z-index:2;background:rgba(255,255,255,.12);border-radius:18px;padding:14px!important;display:grid;gap:12px;justify-items:center}
 .site-footer .foot-main .foot-map-body iframe{height:340px}
 .site-footer .foot-main:has(.foot-map[open]){margin-bottom:430px!important}
}
/* Galería: al pasar el mouse la foto no se agranda (el recuadro le cortaba el troquel y quedaba con bordes rectos) */
.gallery-item img,.gallery-item:hover img{transform:none!important;filter:none!important}
/* Próximamente: sin el logo chico de arriba (ya está el grande en el centro) */
html.soon-only .mini-bar,html.locked .mini-bar{display:none!important}
/* Extras del line-up sin «+» (no despliegan nada): el texto queda alineado con los nombres de las bandas */
.bill-row.is-extra strong{grid-column:2}
/* Playlist: tarjeta con el diseño de la web (fotos de las bandas en abanico con troquel, título grande, botón blanco) en vez del reproductor oscuro de Spotify */
.landing-page .playlist{margin:clamp(28px,5vw,56px) 0 0!important;padding:0!important;background:none!important}
.landing-page .pl-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,64px);padding:clamp(22px,4vw,40px) 0;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35);color:#fff;text-decoration:none}
.landing-page .pl-covers{position:relative;width:clamp(170px,24vw,300px);aspect-ratio:1.1}
.landing-page .pl-covers img{position:absolute;width:62%;aspect-ratio:1;object-fit:cover;display:block;top:16%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.landing-page .pl-covers .pl-c0{left:0;transform:rotate(-8deg);z-index:1}
.landing-page .pl-covers .pl-c1{left:19%;top:4%;transform:rotate(2deg);z-index:3}
.landing-page .pl-covers .pl-c2{left:38%;transform:rotate(9deg);z-index:2}
@media(hover:hover){.landing-page .pl-card:hover .pl-c0{transform:rotate(-12deg) translateX(-6px)}.landing-page .pl-card:hover .pl-c2{transform:rotate(13deg) translateX(6px)}}
.landing-page .pl-text{display:grid;gap:14px;justify-items:start;min-width:0}
.landing-page .pl-text small{font-size:clamp(10px,1.4vw,13px);font-weight:500;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.landing-page .pl-text strong{font:800 clamp(34px,6vw,76px)/.92 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.04em;text-transform:uppercase}
.landing-page .pl-names{font-size:clamp(12px,1.5vw,15px);font-weight:500;letter-spacing:.04em;text-transform:uppercase;opacity:.9}
.landing-page .pl-btn{display:inline-flex;align-items:center;gap:10px;margin-top:6px;padding:12px 20px 12px 16px;border-radius:999px;background:#fff;color:#e0003c;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 20px -12px rgba(60,0,15,.6)}
.landing-page .pl-btn svg{width:20px;height:20px}
.landing-page .pl-btn svg path{stroke:#fff}
@media(max-width:599px){.landing-page .pl-card{grid-template-columns:1fr;justify-items:center;text-align:center}.landing-page .pl-text{justify-items:center}}
.landing-page .pl-covers{margin-left:clamp(8px,1.5vw,18px)}
/* Ventana emergente de la playlist */
html.pl-lock{overflow:hidden}
.pl-pop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgba(190,0,45,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;transition:opacity .3s}
.pl-pop.on{opacity:1}
.pl-pop-in{position:relative;width:min(560px,100%);display:grid;gap:14px;justify-items:center;text-align:center;color:#fff;transform:translateY(24px) scale(.97);transition:transform .45s cubic-bezier(.2,.9,.25,1)}
.pl-pop.on .pl-pop-in{transform:none}
.pl-pop-k{margin:0;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.pl-pop h3{margin:0 0 6px;font:800 clamp(30px,6vw,48px)/.95 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.04em;text-transform:uppercase}
.pl-pop-frame{width:100%;--r:6px;--s:19px;background:#121212;-webkit-mask:linear-gradient(#000 0 0) center/calc(100% - 2*var(--r)) calc(100% - 2*var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 50%,#0000 96%,#000 100%) calc(var(--s)/-2) calc(var(--s)/-2)/var(--s) var(--s) round;mask:linear-gradient(#000 0 0) center/calc(100% - 2*var(--r)) calc(100% - 2*var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 50%,#0000 96%,#000 100%) calc(var(--s)/-2) calc(var(--s)/-2)/var(--s) var(--s) round}
.pl-pop-frame iframe{display:block;width:100%;height:min(420px,60vh);border:0}
.pl-pop-open{color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}
.pl-pop-x{position:absolute;top:-6px;right:0;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center}
@media(max-width:599px){.pl-pop-x{top:-52px}}
/* Extras del line-up: tres columnas parejas debajo de las bandas (en el celu, uno por renglón) */
.bill-extras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:6px;border-top:1px solid rgba(255,255,255,.45)}
.bill-extras p{margin:0;padding:16px 14px 4px 0;font-weight:800;font-size:clamp(12px,1.25vw,16px);line-height:1.15;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap}
.bill-extras p+p{padding-left:14px;border-left:1px solid rgba(255,255,255,.45)}
@media(max-width:699px){.bill-extras{grid-template-columns:1fr}.bill-extras p,.bill-extras p+p{padding:12px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.45);font-size:14px}}
/* Ventana de la playlist: troquel parejo en los cuatro bordes y cruz alineada al borde del reproductor */
.pl-pop-frame{-webkit-mask:none;mask:none}
.pl-pop-x{top:0;right:0;width:40px;height:40px;background:#fff;color:#ff0043;font-size:24px;font-weight:500;box-shadow:0 8px 20px -10px rgba(0,0,0,.4)}
.pl-pop-x:focus{outline:none}.pl-pop-x:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:599px){.pl-pop-x{top:-50px}}
.landing-page .cr-photos{z-index:60!important}
/* Galería: fotos limpias, sin troquel (en grilla los agujeros se veían como mordiscos) */
.gallery-photo img{-webkit-mask:none!important;mask:none!important;border-radius:6px}

/* Playlist: la tapa nueva (estética del flyer) al centro, debajo las bandas y el botón. */
.landing-page .pl-card{grid-template-columns:1fr!important;justify-items:center;text-align:center;gap:20px!important}
.landing-page .pl-cover{display:block;width:clamp(220px,32vw,360px);height:auto;aspect-ratio:1;box-shadow:0 24px 50px -24px rgba(0,0,0,.45);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
@media(hover:hover){.landing-page .pl-card:hover .pl-cover{transform:rotate(-2deg) scale(1.02)}}
.landing-page .pl-text{justify-items:center!important}

/* Playlist como vinilo: la tapa cuadrada (sin troquel) y el disco asomando por detrás; con el mouse el disco sale y gira. */
.landing-page .pl-vinyl{--w:clamp(220px,30vw,340px);position:relative;display:block;width:var(--w);height:var(--w);margin-right:calc(var(--w)*.36)}
.landing-page .pl-vinyl .pl-cover{position:relative;z-index:2;width:100%;height:100%;box-shadow:0 26px 50px -22px rgba(0,0,0,.55);transform:none!important}
.landing-page .pl-disc{position:absolute;z-index:1;top:3%;left:3%;width:94%;height:94%;border-radius:50%;background:radial-gradient(circle,#111 0 2.2%,#ff0043 2.4% 17%,#0d0d0d 17.4% 19%,#1c1c1c 19.5%,#0d0d0d 21%,#1a1a1a 23%,#0d0d0d 25%,#1c1c1c 28%,#0b0b0b 32%,#1a1a1a 38%,#0c0c0c 44%,#1c1c1c 50%,#0b0b0b 56%,#191919 62%,#0c0c0c 68%,#1b1b1b 70.5%,#0a0a0a 71%);box-shadow:0 20px 40px -20px rgba(0,0,0,.6);transform:translateX(36%) rotate(0deg);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.landing-page .pl-disc::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 30deg,transparent 0 10%,rgba(255,255,255,.08) 14%,transparent 20% 60%,rgba(255,255,255,.06) 64%,transparent 70%)}
@media(hover:hover){.landing-page .pl-card:hover .pl-disc{transform:translateX(52%) rotate(160deg)}}
@media(max-width:599px){.landing-page .pl-vinyl{--w:62vw;margin-right:calc(var(--w)*.3)}.landing-page .pl-disc{transform:translateX(30%)}}
