.booking-form[hidden],.booking-choice[hidden],.booking-receipt[hidden]{display:none!important}
.closing-chapter :is(.booking-choice,.booking-receipt){position:absolute;top:50%;transform:translateY(-50%);left:43%;right:2%;padding:0}
.booking-panel-kicker{font:10px/1.6 var(--mono);letter-spacing:1px;color:#a7dce0;margin:0 0 20px}
:is(.booking-choice,.booking-receipt) h3{font-size:clamp(35px,3.2vw,51px);font-weight:450;line-height:1.1;letter-spacing:-.05em;margin:0 0 20px}
:is(.booking-choice,.booking-receipt) h3 span{color:#99a9b1}
:is(.booking-choice,.booking-receipt) h3:focus{outline:none}
.booking-panel-copy{max-width:470px;font:14px/1.8 var(--sans,Arial,sans-serif);color:#a7b9c0;margin:0 0 22px}
.booking-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid #a7dce073;border-radius:3px;background:#000;color:#d9edef;font:13px/1.5 var(--sans,Arial,sans-serif);padding:14px 18px;cursor:pointer}
.booking-primary:hover{border-color:#a7dce0;color:#fff;box-shadow:0 0 18px #a7dce019}
.booking-primary span{color:#a7dce0;font-size:17px}
.booking-panel-small{max-width:440px;font:11px/1.8 var(--sans,Arial,sans-serif);color:#849ca7;margin:18px 0 25px}
.booking-alternative,.booking-native-back{display:block;border:0;background:transparent;color:#aec5cc;font:11px/1.7 var(--sans,Arial,sans-serif);padding:8px 0;cursor:pointer}
.booking-native-back{margin:0 0 10px;font-size:10px}
:is(.booking-primary,.booking-alternative,.booking-native-back):focus-visible{outline:1px solid #a7dce0;outline-offset:5px}
.booking-receipt-mark{position:absolute;right:2px;top:2px;width:66px;height:66px;fill:none;stroke:#a7dce0;stroke-width:1;filter:drop-shadow(0 0 8px #a7dce044)}
.booking-receipt-mark circle{stroke:#a7dce044}.booking-receipt-mark .receipt-star{stroke:#e5b4cc;stroke-width:.8}
.booking-receipt:not([hidden]) .booking-receipt-mark path:not(.receipt-star){stroke-dasharray:50;animation:booking-received .6s ease-out both}
.booking-receipt-thanks{font:13px/1.7 var(--sans,Arial,sans-serif);color:#d2e3e8;margin:0 0 20px;overflow-wrap:anywhere}
.booking-receipt-details{margin:0 0 22px;border-top:1px solid #a7dce030}
.booking-receipt-details div{display:grid;grid-template-columns:115px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid #ffffff17}
.booking-receipt-details dt{font:10px/1.8 var(--mono);color:#7995a2}
.booking-receipt-details dd{margin:0;overflow-wrap:anywhere;font:12px/1.7 var(--sans,Arial,sans-serif);color:#c5d9df}
.booking-receipt-next{font-size:12px}
.booking-receipt-actions{display:flex;align-items:center;gap:24px}.booking-receipt-actions .booking-primary{font-size:12px;padding:10px 14px}
@keyframes booking-received{from{stroke-dashoffset:50}to{stroke-dashoffset:0}}
@media(max-height:800px){.booking-panel-kicker{margin-bottom:14px}.booking-receipt h3{font-size:38px;margin-bottom:14px}.booking-receipt-thanks{margin-bottom:15px}.booking-receipt-details{margin-bottom:18px}.booking-receipt-details div{padding:10px 0}.booking-receipt-next{margin-bottom:18px}.booking-receipt-mark{width:58px;height:58px}}
@media(prefers-reduced-motion:reduce){.booking-receipt-mark path{animation:none!important}}
