/* Keep the vendor forms in plain containers: their popovers and cart own motion. */
.booking-search{padding:clamp(.75rem,2vw,1.75rem);background:var(--paper);overflow:visible}
.catalog-section>.booking-search{margin-top:clamp(1.5rem,3vw,2rem);background:var(--canvas);border-radius:var(--radius-small)}
.booking-widget{position:relative;min-width:0;width:100%}
.booking-widget--search{min-height:6.5rem}
.booking-widget--search[data-booking-state="ready"]{min-height:0}
.booking-widget--booking{min-height:34rem}
#tl-search-form,#tl-booking-form{width:100%;margin-inline:auto;min-width:0}
#tl-booking-form{max-width:87rem;position:relative;z-index:0}
.booking-status,.booking-fallback,.booking-no-script{padding:1.25rem;color:var(--muted);font-size:1rem}
.booking-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.booking-widget--booking>.booking-status{align-items:flex-start;padding-top:8rem}
.booking-fallback{border-radius:var(--radius-small);background:var(--sky)}
.booking-fallback p{margin-bottom:.75rem}
.booking-widget.is-unavailable{min-height:0}
.booking-phone{display:inline-flex;align-items:center;gap:.6rem;min-height:2.75rem;line-height:1.4}
.booking-phone .icon{width:1.15em;height:1.15em;flex-shrink:0}
.has-booking-page{--mobile-contact-space:0px}
.booking-page{padding:clamp(1rem,2.6vw,2.5rem);overflow:visible}
.booking-heading{margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.booking-heading h1{font-size:clamp(2.3rem,1.7rem + 2.5vw,4rem)}
.booking-heading p{margin-top:1rem;color:var(--muted);font-size:1.1rem}
.booking-help{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.5rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.booking-help p{color:var(--muted)}
.booking-phone{font-weight:600;color:var(--blue);font-variant-numeric:tabular-nums}
@media(hover:hover) and (pointer:fine){.booking-phone:hover{color:var(--blue-hover);text-decoration:underline;text-underline-offset:.2em}}
@media(max-width:43.75em){.booking-widget--search{min-height:25rem}.booking-page{padding:1rem .6rem}.booking-page .breadcrumbs,.booking-heading,.booking-help{margin-inline:.4rem}.booking-heading p{font-size:1rem}.booking-help{flex-direction:column;align-items:flex-start}}
