.fireworks-hero{background:radial-gradient(ellipse at 80% 10%,rgba(36,42,127,.3),transparent 60%);padding-top:2.5rem}
.fireworks-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:3rem;align-items:center}
.fireworks-copy h1{font-size:clamp(3rem,5.3vw,5.3rem);letter-spacing:.04em;line-height:1.02;margin:1rem 0 1.5rem}
.fireworks-copy h1 span{color:var(--bees-gold)}
.fireworks-artwork{max-width:420px;justify-self:end;border-radius:14px;overflow:hidden;border:1px solid rgba(255,212,0,.2)}
.fireworks-artwork img{width:100%;height:auto}
.fireworks-prices{display:flex;gap:3rem;margin:1.8rem 0}
.fireworks-prices>div{display:flex;flex-direction:column}
.fireworks-prices strong{font-family:var(--font-display);font-size:3.7rem;line-height:1;color:var(--bees-gold)}
.fireworks-prices span{color:var(--muted);font-size:.9rem}
.fireworks-schedule{border-block:1px solid rgba(255,212,0,.15);background:rgba(20,22,61,.18)}
.fireworks-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem}
.fireworks-timeline h3{letter-spacing:.05em;font-size:1.8rem}
.fireworks-fixture{border-color:rgba(255,212,0,.3)}
.fireworks-fixture h3 span{font-size:1.2rem;color:var(--bees-gold);padding:0 .35rem}
.fireworks-booking-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3rem;align-items:start}
.fireworks-form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.fireworks-page label{display:block;margin-bottom:.4rem}
.fireworks-page input{width:100%;min-height:48px;padding:.65rem .8rem;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#111114;color:var(--text);font:inherit;color-scheme:dark}
.fireworks-page input:focus-visible{outline:2px solid var(--bees-gold);outline-offset:2px}
.fireworks-ticket-pair{margin-top:1rem}
.fireworks-total{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-top:1px solid rgba(255,255,255,.15)}
.fireworks-total strong{color:var(--bees-gold);font-size:1.7rem}
.fireworks-total small{display:block;color:var(--muted)}
.fireworks-booking-grid .cta{display:flex;width:100%;justify-content:center;text-align:center}
.fireworks-page button:disabled{opacity:.5;cursor:not-allowed}
#fireworks-availability{font-weight:700;color:var(--bees-gold)}
#fireworks-status:empty{display:none}
#fireworks-status[data-error=true]{color:var(--danger)}
#book,#schedule{scroll-margin-top:230px}
.fireworks-confirmation{max-width:850px;min-height:50vh}
.fireworks-promo{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:1.5rem;border-color:rgba(255,212,0,.3);overflow:hidden}
.fireworks-promo>img{width:100%;height:auto}
.fireworks-promo h2{letter-spacing:.05em;line-height:1.1;margin:.6rem 0}
@media(max-width:800px){.fireworks-hero-grid,.fireworks-booking-grid{grid-template-columns:1fr;gap:2rem}.fireworks-artwork{justify-self:center;width:100%;max-width:360px}.fireworks-timeline{grid-template-columns:1fr}.fireworks-promo{grid-template-columns:120px 1fr;gap:.5rem}}
@media(max-width:480px){.fireworks-form-pair{grid-template-columns:1fr}.fireworks-promo{grid-template-columns:1fr}.fireworks-promo>img{width:180px;justify-self:center}.fireworks-page .card-body{padding:1.2rem}.fireworks-copy h1{font-size:3.2rem}}
