/* Visible, interruptible entrance; fields remain immediately usable. */
html{scrollbar-gutter:stable}
#booking{transform-origin:50% 45%;overscroll-behavior:contain}
#booking[open]::backdrop{animation:booking-backdrop-in 360ms ease-out both}
#booking.is-closing::backdrop{animation:booking-backdrop-out 180ms ease-in both}
#booking.is-closing{pointer-events:none}
#booking .step-label::after{content:'';display:block;height:2px;background:#ef353d;margin-top:12px;transform:scaleX(var(--booking-progress,.333333));transform-origin:left;transition:transform 330ms cubic-bezier(.22,1,.36,1)}
#booking-success:not([hidden]){animation:booking-success-in 240ms cubic-bezier(.22,1,.36,1)}
@keyframes booking-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes booking-backdrop-out{from{opacity:1}to{opacity:0}}
@keyframes booking-success-in{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){#booking[open]::backdrop,#booking.is-closing::backdrop,#booking-success:not([hidden]){animation:none}#booking .step-label::after{transition:none}}
