/* The native booking application and the 3D site share one dark visual shell. */
#booking-dialog{width:min(980px,calc(100vw - 32px));height:min(820px,calc(100dvh - 32px));background:#081322;color:#eff7ff;overflow:hidden;border:1px solid #587c9c66;border-radius:20px;box-shadow:0 30px 120px #000b,0 0 0 1px #a2cbea08}
#booking-dialog::backdrop{background:#020812db;backdrop-filter:blur(12px)}
.booking-shell{height:100%;display:flex;flex-direction:column;background:#081322}
.booking-shell-head{flex-shrink:0;padding:20px 70px 18px 26px;border-bottom:1px solid #6e98bd30;display:flex;align-items:center;gap:23px;background:linear-gradient(110deg,#0c1b2c,#081322)}
.booking-shell-head img{display:block;width:105px;height:auto;flex-shrink:0}
.booking-shell-head h2{font-size:19px;font-weight:550;letter-spacing:-.025em;line-height:1.3;margin:0;color:#eff7ff}
.booking-shell-head p{font-size:13px;line-height:1.5;color:#9eb8cf;margin:5px 0 0}
#booking-dialog .close-dialog{top:21px;right:20px;width:38px;height:38px;color:#e6f5ff;background:#183148;border:1px solid #8bb8db4d}
#booking-dialog .close-dialog:hover{background:#294c69;border-color:#b8dfff}
#booking-dialog .close-dialog:focus-visible{outline:3px solid #b1ddff;outline-offset:3px}
#booking-frame{display:block;width:100%;border:0;flex:1;min-height:0;background:#081322;color-scheme:dark}
.booking-shell-footer{flex-shrink:0;border-top:1px solid #6e98bd30;background:#081322;padding:12px 26px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;line-height:1.5;color:#91adc6}
.booking-shell-footer a{color:#aedcff;text-decoration:underline;text-underline-offset:3px}
.booking-shell-footer a:hover{color:#fff}
.booking-shell-footer a:focus-visible{outline:2px solid #b1ddff;outline-offset:4px}
#booking-load-status:empty{display:none}
.booking-retry{color:#c4e7ff;background:#1b3750;border:1px solid #638cb060;border-radius:6px;min-height:44px;padding:9px 12px;font:inherit;flex-shrink:0}
.booking-retry:focus-visible{outline:2px solid #b1ddff;outline-offset:3px}
#booking-unavailable{padding:50px 28px;max-width:590px;min-height:0;margin:auto;text-align:center;overflow-y:auto;overscroll-behavior:contain}
#booking-unavailable h3{font-size:27px;letter-spacing:-.035em;margin:15px 0;color:#eaf5ff}
#booking-unavailable p{line-height:1.7;color:#a3bcd1;font-size:16px}
#booking-unavailable a{display:inline-block;margin-top:20px;color:#acdaff;text-decoration:underline;text-underline-offset:4px}
.booking-pending-icon{font-size:35px;color:#8ecbfa}
@media(max-width:600px){
 #booking-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:none;border-radius:14px}
 .booking-shell-head{padding:19px 60px 16px 18px;gap:15px}
 .booking-shell-head img{display:none}
 .booking-shell-head h2{font-size:18px}
 .booking-shell-head p{font-size:12px;line-height:1.5}
 #booking-dialog .close-dialog{right:13px;top:16px}
 .booking-shell-footer{padding:10px 18px;font-size:11px;flex-wrap:wrap;gap:7px}
}
@media(max-height:500px){
 #booking-unavailable{padding:18px 24px}
 #booking-unavailable h3{font-size:22px;margin:10px 0}
 #booking-unavailable a{margin-top:12px}
}
