/* Source booking journey geometry, adapted to a native modal dialog. */
dialog.booking-journey-modal { width:min(1140px,calc(100vw - 2rem)); right:var(--booking-journey-scrollbar,0px); max-width:none; max-height:calc(100dvh - 2rem); margin:auto; padding:0; border:1px solid #39424b; border-radius:12px; background:#080b0e; color:#eef3f7; box-shadow:0 2rem 7rem rgba(0,0,0,.72); }
.booking-journey-modal::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(4px); }
body.booking-journey-modal-open { overflow:hidden; }
body.booking-journey-modal-open .venue-finder-mobile-action { display:none; }
.booking-journey-modal .modal-content { border:0; border-radius:0; background:#080b0e; }
.booking-journey-modal-header { display:flex; gap:1rem; align-items:center; min-height:5.5rem; padding:1rem 1.25rem; border-bottom:1px solid #303841; background:#10151a; }
.booking-journey-modal-header .modal-title { color:#fff; font-family:Audiowide,Roboto,sans-serif; font-size:clamp(1.1rem,2vw,1.55rem); font-weight:var(--font-heading-weight); line-height:1.2; }
.booking-journey-modal-subtitle { color:#aeb8c2; font-size:.8rem; }
.booking-journey-modal .booking-modal-close { display:inline-grid; flex:0 0 auto; width:2.75rem; height:2.75rem; margin-left:auto; padding:0; place-items:center; border:1px solid rgba(238,243,247,.46); border-radius:8px; background:rgba(238,243,247,.1); color:#f4f7fa; font-size:1.45rem; }
.booking-journey-modal .booking-modal-close:hover,.booking-journey-modal .booking-modal-close:focus-visible { border-color:var(--kd-yellow); background:rgba(255,235,59,.16); }
.booking-journey-modal-body { min-height:min(42rem,calc(100dvh - 7.5rem)); padding:0; background:radial-gradient(circle at 30% 0,rgba(18,147,230,.14),transparent 34%),#080b0e; }
.booking-venue-finder-frame { display:block; width:100%; height:76dvh; border:0; background:#080b0e; color-scheme:dark; }
.booking-journey-loading,.booking-journey-error { display:grid; min-height:min(36rem,calc(100dvh - 8rem)); place-content:center; justify-items:center; gap:.75rem; padding:2rem; text-align:center; }
.booking-journey-loading strong,.booking-journey-error h3 { font-family:Audiowide,Roboto,sans-serif; }
.booking-journey-loading span,.booking-journey-error p { color:#aeb8c2; max-width:34rem; }
.booking-journey-error-actions { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; }
.booking-journey-modal [hidden] { display:none!important; }
@media(max-width:767.98px) {
    dialog.booking-journey-modal { width:100vw; max-height:100dvh; margin:auto 0; border:0; border-radius:0; }
    .booking-journey-modal-header { align-items:flex-start; padding:.85rem 1rem; flex-shrink:0; }
    .booking-journey-modal-subtitle { display:none; }
}
