/* Prioritize the free registration decision without changing the offer or tracking. */

.hero-layout{padding-block:30px 46px}
.hero-invitation{margin-bottom:18px}
.event-title .event-wordmark{font-size:30px}
.event-title .event-live{font-size:96px}
.hero-promise{font-size:clamp(32px,3.2vw,43px);line-height:1.08;margin-top:18px}
.hero-audience{max-width:400px;margin-top:14px;color:#d8d8d8;font-size:15px;line-height:1.5}
.hero-event-details{margin-top:17px;font-size:14px}
.hero-registration{margin-top:18px}
.hero-registration .hero-button{margin-top:0;min-height:58px}
.hero-reassurance{margin-top:9px;font-size:12px}
.hero-registration .countdown-block{display:flex;align-items:center;gap:18px;margin-top:20px;padding:13px 0 0;border:0;border-top:1px solid #ffffff30;border-radius:0;background:none}
.hero-registration .countdown-block[hidden]{display:none}
.countdown-caption{flex-shrink:0;font-size:9px}
.hero-registration .event-countdown{flex:1;margin:0}
.hero-registration .event-countdown strong{font-size:22px}
.hero-registration .event-countdown span{font-size:9px}
.hero-billing{bottom:51px}
/* One persistent ticket action after the hero. The giveaway remains at the top. */
.mobile-register[hidden],body:has(dialog[open]) .mobile-register{display:none!important}
@media(min-width:761px){
 .mobile-register{position:fixed;z-index:30;top:0;bottom:auto;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px max(40px,calc((100vw - 1280px)/2));background:#101113f5;color:#fff;border-bottom:1px solid #ffffff30;box-shadow:0 3px 16px #0002;backdrop-filter:blur(12px)}
 .mobile-register>div{display:flex;align-items:center;gap:18px}
 .mobile-register strong{font-size:15px}
 .mobile-register>div>span{font-size:12px;color:#ccc}
 .mobile-register .button{min-height:46px;min-width:220px;font-size:14px;padding:12px 20px}
}
/* Keep every original field and consent choice while fitting ordinary laptop heights. */
.optin-panel{padding:26px 32px}
.optin-kicker{margin-bottom:12px}
.optin-panel h2{font-size:36px}
.optin-intro{margin-top:10px;line-height:1.5}
.optin-fields{margin-top:14px}
.optin-fields label{margin:10px 0 5px}
.optin-fields input{height:44px;padding-block:10px}
.optin-free{margin-top:12px}
.optin-panel .event-sms-choice{margin-top:12px}
.optin-panel .event-sms-help{line-height:1.45}
.optin-submit{margin-top:10px;min-height:50px}
.optin-panel .registration-status:empty{display:none}
.optin-panel .registration-privacy{margin-top:9px;line-height:1.5}
@media(max-width:760px){
 .hero-layout{padding:24px 20px 42px}
 .hero-invitation{margin-bottom:14px}
 .event-title .event-wordmark{font-size:26px}
 .event-title .event-live{font-size:76px}
 .hero-promise{font-size:31px;line-height:1.1;margin-top:17px}
 .hero-audience{font-size:14px;margin-top:12px;max-width:340px}
 .hero-event-details{font-size:12px;gap:7px;margin-top:15px}
 .hero-registration{margin-top:17px}
 .hero-registration .hero-button{min-height:54px;font-size:15px}
 .hero-registration .countdown-block{margin-top:17px;gap:14px}
 .hero-registration .event-countdown strong{font-size:20px}
 .hero-billing{margin-top:26px;padding-top:20px}
 body:has(.mobile-register:not([hidden])) #fll-help{bottom:96px}
 body:has(.mobile-register:not([hidden])) #fll-help-status{bottom:156px}
 .event-page footer{padding-bottom:104px}
 .optin-panel{padding:24px}
 .optin-panel h2{font-size:32px}
 .optin-kicker{margin-bottom:12px}
}
@media(max-width:360px){
 .hero-layout{padding-inline:16px}
 .hero-promise{font-size:28px}
 .event-title .event-live{font-size:70px}
 .hero-audience{font-size:13px}
 .hero-event-details{font-size:11px}
 .hero-reassurance{font-size:11px}
 .optin-panel{padding:24px 20px}
 .optin-name-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
@media(prefers-reduced-motion:reduce){.mobile-register{backdrop-filter:none}}

/* Owner-maintained availability snapshot, not a live inventory or countdown. */
.availability-banner{display:block;background:#145cfc;color:#fff;text-decoration:none;border-bottom:1px solid #ffffff26}
.availability-banner-inner{display:flex;align-items:center;justify-content:center;gap:30px;min-height:60px;padding-block:10px}
.availability-banner-copy{display:flex;align-items:center;gap:18px;line-height:1.45}
.availability-banner-copy strong{font-size:16px;font-weight:700}
.availability-banner-copy>span{font-size:12px;color:#e5edff}
.availability-banner-action{flex-shrink:0;display:inline-flex;align-items:center;gap:12px;min-height:40px;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.availability-banner:hover{background:#0b49d4}
.availability-banner:focus-visible{outline:3px solid #fff;outline-offset:-5px}
@media(max-width:760px){
 .availability-banner-inner{width:100%;padding:9px 20px;gap:12px;justify-content:space-between}
 .availability-banner-copy{display:block}
 .availability-banner-copy strong{display:block;font-size:13px}
 .availability-banner-copy>span{display:block;font-size:10px;margin-top:2px}
 .availability-banner-action{font-size:12px;gap:6px}
}
@media(max-width:360px){.availability-banner-inner{padding-inline:16px;gap:8px}.availability-banner-copy strong{font-size:12px}.availability-banner-action{font-size:11px}}
