/* Inline TravelLine booking surface */
.booking-inline-modal{width:min(1120px,calc(100vw - 32px))!important;height:min(92dvh,900px)!important;max-width:none!important;max-height:none!important;margin:auto!important;padding:0!important;border:0!important;border-radius:10px!important;overflow:hidden!important;background:#fff!important;color:#1d4d48!important;box-shadow:0 20px 80px #0005!important}
.booking-inline-modal::backdrop{background:#092117c7;backdrop-filter:blur(4px)}
.booking-inline-modal[open]{display:grid;grid-template-rows:52px minmax(0,1fr)}
.booking-inline-modal__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;background:#1d4d48;color:#fff;font:600 14px/1.2 Helvetica,Arial,sans-serif}
.booking-inline-modal__close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #ffffff65;border-radius:50%;background:transparent;color:#fff;font:300 28px/1 Helvetica,Arial,sans-serif;cursor:pointer}
.booking-inline-modal__close:focus-visible{outline:2px solid #fff;outline-offset:2px}
.booking-inline-modal iframe{display:block;width:100%;height:100%;min-height:0;border:0;background:#fff}
html.booking-inline-modal-open,html.booking-inline-modal-open body{overflow:hidden}

/* Booking opens as a focused embedded TravelLine page. */
html.booking-modal-frame,html.booking-modal-frame body{width:100%;height:100%;min-height:0;margin:0!important;overflow:hidden;background:#fff}
html.booking-modal-frame body>:not(main){display:none!important}
html.booking-modal-frame main#main-content{display:block;width:100%;height:100dvh;min-height:0;margin:0!important;padding:0!important;overflow:auto;background:#fff}
html.booking-modal-frame main#main-content>:not(#online-booking){display:none!important}
html.booking-modal-frame #online-booking{display:block!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:14px 18px 18px!important;box-sizing:border-box;background:#fff!important;scroll-margin:0!important}
html.booking-modal-frame #online-booking>.eyebrow{margin:0 0 4px!important;font-size:11px!important;letter-spacing:1.5px!important}
html.booking-modal-frame #online-booking>h2{margin:0 0 4px!important;font-size:24px!important;line-height:1.15!important}
html.booking-modal-frame #online-booking>p{margin:0 0 10px!important;font-size:12px!important;line-height:1.35!important}
html.booking-modal-frame #online-booking #tl-booking-form{width:100%!important;min-width:0!important;min-height:0!important}
html.booking-modal-frame #online-booking #tl-booking-form iframe{display:block;width:100%!important;max-width:100%!important;min-height:min(70dvh,620px)!important;border:0!important}
html.booking-modal-frame #online-booking #booking-load-status{font-size:13px!important}

/* Keep booking labels inside the narrow mobile card buttons. */
@media(max-width:800px){
 body.resort-home main #stay.stay102 .stay102-actions .stay102-button{font-size:12px!important;line-height:1.15!important;letter-spacing:0!important;padding-inline:4px!important;overflow-wrap:anywhere}
}

/* Place the restaurant phone link beside, not on top of, its primary action. */
body.resort-home main #restaurant .home-secondary{display:inline-block!important;margin:0 0 0 16px!important;vertical-align:middle}
@media(max-width:520px){body.resort-home main #restaurant .home-secondary{display:block!important;margin:12px 0 0!important}}

/* Give every room-card gallery the same photo frame so controls line up. */
body main #catalog .room-slider89.unified-photo162{position:relative!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:8/5!important;overflow:hidden!important}
body main #catalog .room-slider89.unified-photo162>.room-slide89{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;margin:0!important}
body main #catalog .room-slider89.unified-photo162>.room-slide89 img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important;margin:0!important}

/* Remove the redundant custom date form while keeping TravelLine prominent. */
body:has(.booking-intro) .booking-intro{padding-bottom:12px!important}
body:has(.booking-intro) .booking-provider86{padding-top:24px!important}
@media(max-width:600px){.booking-inline-modal{width:100vw!important;height:100dvh!important;border-radius:0!important}.booking-inline-modal__bar{padding-inline:14px}}
@media(prefers-reduced-motion:reduce){.booking-inline-modal::backdrop{backdrop-filter:none}}
