
.early-price-label{display:block;color:var(--orange);font-weight:800;font-size:.9rem;letter-spacing:.04em}.early-price .ticket-price{margin:10px 0!important;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.early-was{width:100%;font-size:1rem;color:var(--cream);font-weight:400}.early-price small{display:block;font-size:.8rem;line-height:1.4;margin-bottom:18px}.early-popup{box-sizing:border-box;width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:clamp(24px,5vw,44px);background:#24121f;color:#ffe0ae;border:2px solid #f68a16;border-radius:24px 0;box-shadow:0 20px 80px #0008;text-align:center}.early-popup::backdrop{background:#10080dbb}.early-popup h2{font-size:clamp(2.2rem,7vw,3.6rem);line-height:1.05;margin:15px 0;color:#f68a16}.early-popup p{font-size:1rem;line-height:1.5;margin:14px 0}.early-popup .early-close{position:absolute;right:10px;top:8px;background:transparent;border:0;color:#ffe0ae;font-size:30px;cursor:pointer;padding:5px 10px}.early-popup-prices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.early-popup-prices div{border:1px solid #f68a1666;padding:15px 8px}.early-popup-prices strong{display:block;font-size:2.4rem;color:#f68a16;line-height:1.2}.early-popup-prices span{display:block;font-weight:bold}.early-popup .button{display:inline-block;margin-top:8px}.early-popup .early-small{font-size:.8rem;margin-bottom:0}.early-close:focus-visible{outline:2px solid #f68a16}
/* Campaign poster typography and angled offer detailing. */
.early-popup h2,.early-popup-prices span,.early-popup-prices strong,.early-popup-prices s,.early-price-label{font-family:'Veneer',Impact,sans-serif;font-weight:400;font-synthesis:none;font-feature-settings:'calt' 0}
.early-popup h2{transform:rotate(-4deg);font-size:clamp(2.7rem,8vw,4rem);margin:18px 0 24px;line-height:1.04;text-shadow:2px 3px 0 #10080d}
.early-popup-prices span{font-size:1.45rem;line-height:1.15}
.early-popup-prices strong{font-size:clamp(3.2rem,9vw,4rem);margin:4px 0;line-height:1}
.early-popup-prices s{font-size:1.6rem;color:#ffe0aecc}
.early-popup-prices s,.early-was s{position:relative;display:inline-block;text-decoration:none}
.early-popup-prices s::after,.early-was s::after{content:'';position:absolute;left:-12%;right:-12%;top:49%;height:2px;background:var(--orange);transform:rotate(-15deg);box-shadow:0 1px 0 #24121f}
@media(max-width:480px){.early-popup h2{margin-top:16px}.early-popup-prices span{font-size:1.25rem}.early-popup-prices div{padding:12px 6px}}
#booking .early-price{margin:14px 0 20px}
#booking .early-price-label{display:block;background:var(--orange);color:var(--ink);font-family:'Veneer',Impact,sans-serif;font-size:clamp(27px,2.5vw,40px);line-height:1.08;padding:12px 14px;transform:rotate(-2deg);box-shadow:3px 4px 0 #10080d;margin:8px 0 22px;text-align:center}
#booking .early-price .early-was{font-family:'Veneer',Impact,sans-serif;font-size:28px;line-height:1.2;margin-bottom:4px}
#booking .early-price .ticket-price strong{font-size:clamp(64px,5vw,82px);line-height:1}
#booking .early-price small{font-size:14px;line-height:1.45;margin-top:12px;margin-bottom:0}
@media(max-width:480px){#booking .early-price-label{font-size:30px}#booking .early-price .ticket-price strong{font-size:68px}}

#booking .offer-deadline{display:block;font-size:.62em;letter-spacing:.025em;margin-bottom:5px}#booking .early-price-label{font-size:clamp(38px,3.3vw,52px)}
.early-popup-prices s{font-size:clamp(38px,6vw,48px);line-height:1.1;margin:8px 0 4px;color:var(--cream)}
#booking .early-price .early-was s{font-size:clamp(38px,3.5vw,48px);line-height:1.1;vertical-align:middle;margin-left:6px}
.early-popup-prices s::after,.early-was s::after{height:3px}
/* Slightly tighter desktop cards, retaining the offer hierarchy. */
@media(min-width:901px){
#booking .booking-card{padding-top:22px;padding-bottom:22px}
#booking .booking-card h3{margin-bottom:8px}
#booking .booking-card .seat-type{margin-bottom:6px}
#booking .early-price{margin:8px 0 12px}
#booking .early-price-label{padding:9px 12px;margin:6px 0 15px;font-size:clamp(36px,3vw,46px)}
#booking .early-price .ticket-price{margin:6px 0!important;gap:5px}
#booking .early-price small{margin-top:7px}
#booking .booking-card>p:not(.seat-type):not(.ticket-price){line-height:1.45;margin-top:10px;margin-bottom:18px}
#booking .ticket-book{padding-top:12px;padding-bottom:12px}
}
/* Draw the angled discount strokes as their prices move up the viewport. */
.early-was s::after{transform-origin:left center;transform:rotate(-15deg) scaleX(var(--price-strike,1))}
.early-popup[open] .early-popup-prices s::after{transform-origin:left center;animation:price-strike-draw .8s .2s both}
@keyframes price-strike-draw{from{transform:rotate(-15deg) scaleX(0)}to{transform:rotate(-15deg) scaleX(1)}}
@media(prefers-reduced-motion:reduce){.early-was s::after{transform:rotate(-15deg)}.early-popup[open] .early-popup-prices s::after{animation:none}}

.early-popup-prices s::after,.early-was s::after{top:59%}

/* Santa gives the offer a small gig-poster moment. */
.early-popup{background:radial-gradient(ellipse at 90% 8%,#80232f 0,transparent 45%),#24121f}
.early-popup-hero{position:relative;min-height:175px;display:flex;align-items:center;text-align:left;isolation:isolate;margin:0 -12px 8px}
.early-popup-hero h2{position:relative;z-index:1;font-size:clamp(38px,5vw,54px);margin:14px 0;width:65%;text-shadow:3px 4px #160a11}
.early-popup-santa{position:absolute;width:76%;max-width:none;height:240px;object-fit:contain;right:-64px;bottom:-20px;pointer-events:none;z-index:0;mask-image:linear-gradient(#000 80%,transparent)}
.early-popup .early-close{z-index:3}
.early-popup-prices{position:relative;background:#24121fdd}
@media(max-width:480px){.early-popup-hero{min-height:145px;margin-top:15px}.early-popup-hero h2{font-size:38px;width:70%}.early-popup-santa{height:190px;right:-45px;width:80%;bottom:-12px}}

/* Alternate live-show photograph, softened into the offer panel. */
.early-popup-hero h2{color:var(--cream)}
.early-popup-santa{width:49%;height:230px;right:-12px;bottom:-10px;object-fit:cover;object-position:40% 62%;mask-image:linear-gradient(to right,transparent,#000 22%,#000 90%,transparent);border-radius:22px}
@media(max-width:480px){.early-popup-santa{width:49%;height:180px;right:-12px;bottom:0;object-position:40% 60%}.early-popup-hero h2{width:65%;font-size:36px}}

.early-popup-santa{width:49%;height:210px;right:-12px;bottom:-6px;object-fit:contain;object-position:center;mask-image:none;border-radius:0}
@media(max-width:480px){.early-popup-santa{width:45%;height:185px;right:-12px;bottom:0;object-position:center}}

/* Layered gig-poster offer, with ticket perforations and savings stickers. */
.early-popup{background-image:url('/assets/img/confetti.svg'),radial-gradient(ellipse at 90% 5%,#962b37,transparent 52%),linear-gradient(145deg,#321724,#170d18);background-size:580px auto,100% 100%,100% 100%;box-shadow:0 25px 90px #000b,inset 0 0 0 7px #24121f,inset 0 0 0 8px #f68a1655}
.early-popup-hero h2{font-size:clamp(40px,5vw,58px);text-shadow:4px 5px #10080d}
.early-popup-hero h2::after{content:'';display:block;width:88%;height:6px;margin-top:12px;background:var(--orange);transform:rotate(-2deg);box-shadow:0 3px #10080d}
.early-popup-santa{filter:drop-shadow(7px 9px 3px #10080d66)}
.early-popup-prices{background:none;gap:20px;margin:24px 0 26px}
.early-popup-prices>div{position:relative;border:2px solid var(--cream);border-radius:12px 2px;background:#173c31;box-shadow:5px 6px 0 #10080d;transform:rotate(-2deg);padding:12px 8px 15px}
.early-popup-prices>div:nth-child(2){background:#48233f;transform:rotate(2deg)}
.early-popup-prices>div>span:first-child{border-bottom:1px dashed #ffe0ae88;padding-bottom:8px;letter-spacing:.04em}
.early-popup-prices .offer-sticker{display:inline-block;background:var(--orange);color:#170d18;padding:5px 15px;margin-top:8px;transform:rotate(-4deg);box-shadow:2px 3px #10080d;font-size:25px}
.early-popup-prices strong{font-size:68px;text-shadow:3px 3px #10080d}
.early-popup>.button{border:2px solid #ffb747;box-shadow:4px 5px 0 #10080d;padding-left:32px;padding-right:32px;transform:rotate(-2deg)}
.early-popup .early-close{background:#24121f;border-radius:50%;width:38px;height:38px;line-height:26px;padding:0;border:1px solid #ffe0ae88}
@media(max-width:480px){.early-popup{padding:24px 20px}.early-popup-hero h2{font-size:36px}.early-popup-prices{gap:12px}.early-popup-prices strong{font-size:56px}.early-popup-prices .offer-sticker{font-size:22px;padding:5px 10px}}

/* Quiet falling confetti sits behind all offer content. */
.early-popup{isolation:isolate;background-image:radial-gradient(ellipse at 90% 5%,#962b37,transparent 52%),linear-gradient(145deg,#321724,#170d18);background-size:100% 100%}
.early-popup::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/assets/img/confetti.svg') repeat;background-size:580px auto;opacity:.16;animation:early-confetti-fall 32s linear infinite}
.early-popup .early-ends{color:var(--orange);text-shadow:3px 4px #10080d}
@keyframes early-confetti-fall{from{background-position:0 -580px}to{background-position:0 580px}}
@media(prefers-reduced-motion:reduce){.early-popup::before{animation:none}}

/* Each piece falls, drifts and tumbles independently behind the copy. */
.early-popup::before{content:none;animation:none}
.early-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;opacity:.18;container-type:size}
.early-confetti i{position:absolute;top:-12px;display:block;animation:early-piece-fall linear infinite}
@keyframes early-piece-fall{from{transform:translate3d(0,-12px,0) rotate(0deg)}to{transform:translate3d(var(--drift),calc(100cqh + 24px),0) rotate(var(--spin))}}
.early-popup:not([open]) .early-confetti i{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.early-confetti{display:none}}
@media(max-width:480px){
 .early-popup-hero{margin-left:0;margin-right:0;padding-top:14px}
 .early-popup-hero h2{padding-left:6px;font-size:clamp(28px,8vw,36px)}
 .early-popup-santa{right:4px;bottom:2px;height:162px;width:42%}
}
