.booking-modal{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;padding:18px}.booking-modal.open{display:flex}.booking-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.booking-dialog{position:relative;z-index:1;width:min(620px,100%);max-height:92vh;overflow:auto;background:#100d14;border:1px solid #3b3043;border-radius:20px;padding:30px;box-shadow:0 30px 100px rgba(0,0,0,.65)}.booking-close{position:absolute;right:16px;top:12px;border:0;background:none;color:#fff;font-size:32px;cursor:pointer}.booking-dialog h2{font-size:clamp(42px,8vw,70px);margin:8px 0 22px}.booking-dialog h2 em{color:#d78cff;font-style:normal}.ticket-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ticket-option{background:#17131c;color:#fff;border:1px solid #352b3c;border-radius:12px;padding:16px 10px;text-align:left;cursor:pointer}.ticket-option.active{border-color:#c77cff;box-shadow:0 0 0 1px #c77cff inset}.ticket-option strong,.ticket-option span,.ticket-option small{display:block}.ticket-option strong{font-size:20px}.ticket-option span{margin-top:7px}.ticket-option small{margin-top:5px;color:#aaa}.booking-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;font-size:16px}.qty{display:flex;align-items:center;gap:12px}.qty button{width:34px;height:34px;border-radius:50%;border:1px solid #51445b;background:#201923;color:#fff;font-size:20px;cursor:pointer}.booking-dialog form{display:grid;gap:10px}.booking-dialog input{width:100%;box-sizing:border-box;padding:14px;border-radius:10px;border:1px solid #3a3040;background:#0d0b10;color:#fff;font:inherit}.booking-dialog form .button{border:0;cursor:pointer}.booking-note,.booking-status{font-size:12px;color:#aaa;text-align:center}.booking-status{color:#e7d9ef;margin-top:10px}.modal-open{overflow:hidden}@media(max-width:600px){.booking-dialog{padding:24px 18px}.ticket-options{grid-template-columns:1fr}.booking-summary{flex-wrap:wrap}}