.booking-modal-open{overflow:hidden}
.calculator-actions{grid-template-columns:1fr}
.seat-position-link{display:inline-block;margin-top:10px;color:#f5d998;text-decoration:underline;text-underline-offset:4px;font-size:12px;font-weight:650;line-height:1.6}
.seat-position-link:focus-visible{outline:2px solid #f5d998;outline-offset:4px}
.booking-dialog{width:min(1000px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #ad8b4f;border-radius:24px;background:#100c08;color:#f8f1e3;box-shadow:0 30px 100px #000b;overflow-y:auto;font-family:'Be Vietnam Pro',Arial,sans-serif;color-scheme:dark}
.booking-dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}
.booking-dialog[open]{display:block}.booking-dialog [hidden]{display:none!important}
.booking-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:21px 30px;border-bottom:1px solid #c8a45b44;background:#100c08f5;backdrop-filter:blur(12px)}
.booking-dialog-kicker{margin:0;color:#e4b95e;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.booking-dialog h2{font:500 30px/1.2 Lora,Georgia,serif;color:#f5d998;margin:6px 0 0}
.booking-dialog button{font-family:inherit;cursor:pointer}.booking-dialog-close{border:1px solid #c8a45b66;border-radius:50%;background:transparent;color:#f5d998;font-size:25px;width:42px;height:42px;flex-shrink:0}
.booking-dialog form{padding:26px 30px 30px;margin:0}
.booking-dialog-intro{font-size:13px;color:#c9bda9;line-height:1.8;margin:0 0 22px}
.booking-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}.booking-contact-fields label{font-size:12px;font-weight:650;color:#f0d18e}.booking-contact-fields label:first-child{grid-column:1/-1}
.booking-contact-fields input{display:block;width:100%;box-sizing:border-box;margin-top:9px;padding:13px 14px;min-height:49px;border:1px solid #c8a45b66;border-radius:9px;background:#080604;color:#f8f1e3;font:400 15px 'Be Vietnam Pro',Arial,sans-serif}
.booking-dialog h3{font:500 23px Lora,Georgia,serif;color:#f5d998;margin:0 0 16px}
.booking-dialog .show-price-calculator{max-width:none}.booking-dialog .ticket-calculator{padding:22px;border-radius:14px}.booking-dialog .calc-table{width:100%;border-collapse:collapse}
.booking-dialog .booking-error{font-size:13px;line-height:1.7;border:1px solid #b56651;padding:14px;border-radius:9px;background:#632a202a;color:#ffd1c3;margin:18px 0}
.booking-dialog-submit{width:100%;min-height:54px;display:block;border:0;border-radius:999px;background:linear-gradient(120deg,#f6dfa0,#dfb65f);color:#291b0c;font-size:16px;font-weight:800;margin-top:22px}.booking-dialog-submit:disabled{opacity:.65;cursor:wait}
.booking-dialog-note{font-size:11px;line-height:1.8;color:#b7a88e;margin:15px 0 0}
.booking-dialog :is(input,select,button):focus-visible{outline:2px solid #f5d998;outline-offset:3px}
.booking-dialog-success{text-align:center;padding:50px 35px 40px}.booking-dialog-success .success-mark{display:inline-grid;place-items:center;width:65px;height:65px;border-radius:50%;border:1px solid #b59451;background:#46331d;color:#f5d998;font-size:30px;margin-bottom:24px}.booking-dialog-success h3{font-size:28px;line-height:1.55;max-width:700px;margin:0 auto 25px}.booking-dialog-success button{max-width:280px;margin:25px auto 0}.booking-preview-note{font-size:12px;color:#c9bda9}
.offer-info{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid #d9b45f66;border-radius:14px;color:#f5d998;background:#d9b45f12;font:700 13px/1.5 'Be Vietnam Pro',Arial,sans-serif;text-align:center}.offer-info .offer-eligibility{color:#d1c09f!important}
.hero-actions>.offer-info{grid-column:1}.calculator-actions>.offer-info{width:100%;box-sizing:border-box}.guide-header>.offer-info{margin-left:auto;font-size:11px}.guide-actions>.offer-info{color:#f5d998}
.request-booking-button{font-family:inherit;cursor:pointer;color:#f8f1e3;border:0}.mobile-booking>.request-booking-button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;padding:10px 14px;border-radius:12px;background:#120d0a;color:#f5d998;text-align:left}.mobile-booking>.request-booking-button>strong{background:linear-gradient(120deg,#cb2626,#8f1010);color:white;padding:12px 18px;border-radius:999px;font-size:12px;white-space:nowrap}.mobile-booking>.request-booking-button small{display:block;font-size:9px}.mobile-booking>.offer-info{display:flex;min-height:0;padding:8px;border-radius:10px;font-size:12px}.mobile-booking .offer-info .offer-eligibility{font-size:8px!important}.footer-contact{display:block;margin-top:6px!important}.footer-contact a{color:#e4b95e}.guide-footer-address .footer-contact{margin-top:4px}
@media(max-width:700px){.booking-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:17px}.booking-dialog-head{padding:16px}.booking-dialog h2{font-size:24px}.booking-dialog form{padding:20px 15px}.booking-contact-fields{grid-template-columns:1fr;gap:17px}.booking-contact-fields label:first-child{grid-column:auto}.booking-contact-fields input{font-size:16px}.booking-dialog .ticket-calculator{padding:17px 12px}.booking-dialog-success{padding:35px 20px}.booking-dialog-success h3{font-size:23px}.guide-header>.offer-info{max-width:190px;padding:7px 10px;font-size:10px}.guide-header .offer-info .offer-eligibility{font-size:8px!important}.hero-actions>.offer-info{font-size:12px;padding:10px 14px}.booking-dialog .calc-total>strong{font-size:24px}.booking-dialog .qty-control button{min-height:36px;min-width:30px}}

.guide-actions .request-booking-button{color:#291b0c}

/* Slightly larger calculator text on phones. */
@media(max-width:700px){
 #ticket-calculator .calc-filters label{font-size:15px}
 #ticket-calculator .calc-filters label>span{font-size:12px}
 #ticket-calculator .seat-position-link{font-size:14px}
 #ticket-calculator .special-options legend{font-size:14px}
 #ticket-calculator .special-options label{font-size:12px}
 #ticket-calculator .calc-status{font-size:13px}
 #ticket-calculator .calc-table caption{font-size:11px}
 #ticket-calculator .calc-table th>span{font-size:15px}
 #ticket-calculator .calc-table th>small,#ticket-calculator .calc-table small b{font-size:11px}
 #ticket-calculator .calc-table td:before{font-size:11px}
 #ticket-calculator .calc-table td>strong,#ticket-calculator .calc-table td>span,#ticket-calculator .qty-control input{font-size:14px}
 #ticket-calculator .calc-total span{font-size:14px}
 #ticket-calculator .calc-total small{font-size:12px}
 #ticket-calculator .calc-total>strong{font-size:27px}
 #ticket-calculator .calc-rule{font-size:12px}
}

/* Contact form now requires only name and phone. */
.booking-contact-fields label:first-child{grid-column:auto}
