/* Shared, high-contrast booking actions. Keep the approved entrance media intact. */
.booking-button{display:inline-flex!important;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:15px 24px;border:1px solid #ffc18e;border-radius:12px;background:#ff9a4d;color:#172130!important;font:700 15px/1.3 Arial,sans-serif;text-decoration:none;white-space:nowrap;box-shadow:0 0 26px #ff8a3d40,0 6px 20px #0003;transition:background .18s,box-shadow .18s}
:root .booking-button{background:#ff9a4d;color:#172130!important;border-color:#ffc18e}
:root .booking-button:hover{background:#ffb374;box-shadow:0 0 32px #ff8a3d66,0 6px 20px #0003}.booking-button:focus-visible{outline:3px solid #fff;outline-offset:4px}.booking-button>span{font-size:20px}.booking-button[hidden]{display:none!important}
.home-page .hero header{gap:16px}.home-page .hero nav{gap:25px}.home-page .hero .hero-booking{display:inline-flex}.home-page .stay-nav{align-items:center}.home-page .stay-nav-book{min-height:48px;padding:12px 21px;font-size:14px}
.booking-section{padding-top:8px;padding-bottom:36px}.booking-section:focus{outline:none}.booking-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;padding:40px;border:1px solid #79dfff88;border-radius:24px;background:radial-gradient(ellipse at 0 0,#23658d66,transparent 65%),#152e49;box-shadow:0 0 55px #28baff14}.booking-intro{padding-top:10px}.calendar-icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:25px;border:1px solid #83e5ff80;border-radius:14px;background:#83e5ff15;color:#83e5ff}.calendar-icon svg{width:28px;height:28px}.booking-section h2{font-size:clamp(36px,3.8vw,55px);margin:0 0 22px}.booking-section .booking-note{max-width:390px;font-size:15px;line-height:1.8;margin-bottom:22px}.booking-direct{font-size:13px;color:#b3efff;font-weight:700;margin-bottom:28px}.booking-section .booking-host{max-width:360px}.booking-section .booking-host p :is(strong,span){font-size:12px}.booking-section .booking-question{font-size:12px;line-height:1.7;max-width:360px}
.booking-calendar{min-width:0;padding:24px 18px 16px;background:#fff;color:#102b40;border-radius:18px;color-scheme:light;align-self:start;box-shadow:0 12px 35px #0003}.calendar-heading{font-size:20px;font-weight:700;padding:0 10px 20px;line-height:1.4;border-bottom:1px solid #dce8f0}.calendar-heading span{display:block;font-size:10px;letter-spacing:.12em;color:#52697c;margin-top:7px}.booking-calendar #booking-embed{padding:0;min-height:550px;border-radius:0;margin:10px 0 0}.booking-calendar .widget-fallback{margin:12px 10px 0;color:#40576b}.booking-calendar .widget-fallback a{color:#155b7c}.booking-calendar .booking-button{white-space:normal;font-size:14px}.booking-calendar a:focus-visible{outline-color:#135878}
.resort-section .destination-pair{margin-top:0}.home-page .stay-layout{display:block;max-width:1050px}.home-page .amenity-list{grid-template-columns:1fr 1fr;gap:30px 50px}.home-page .home-facts{justify-content:flex-start;gap:70px}.home-page .closing-section .booking-button{max-width:310px}
.booking-dock{position:fixed;z-index:12;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);display:flex;align-items:center;gap:32px;padding:12px 14px 12px 24px;background:#0b2036f5;color:#fff;border:1px solid #83e5ff77;border-radius:18px;box-shadow:0 10px 45px #0008;backdrop-filter:blur(18px)}.booking-dock[hidden]{display:none}.booking-dock strong{display:block;font:20px Georgia,serif}.booking-dock>div>span{display:block;font-size:11px;color:#b5c9dc;margin-top:5px}.home-page .home-footer{padding-bottom:125px}.tour-header-actions{display:flex;gap:25px;align-items:center}
@media(max-width:1000px){.booking-layout{padding:28px;gap:28px}.booking-section h2{font-size:40px}.photo-header .booking-button{font-size:13px}.booking-calendar{padding-inline:12px}}
@media(max-width:700px){.booking-button{font-size:13px;min-height:48px;padding:12px 16px;gap:9px}.booking-button>span{font-size:17px}.home-page .hero header{padding:18px 5vw}.home-page .hero nav{gap:0}.home-page .hero .nav-house{display:none}.home-page .hero .wordmark,.scroll-tour-page .wordmark{gap:8px;font-size:9px;letter-spacing:.14em}.home-page .hero .wordmark small,.scroll-tour-page .wordmark small{font-size:7px;letter-spacing:.3em}.home-page .hero .brand-icon,.scroll-tour-page .brand-icon{font-size:30px}.home-page .stay-nav{gap:10px;padding-inline:5vw}.home-page .stay-nav>a:first-child{font-size:10px}.home-page .stay-nav-book{font-size:12px;padding:11px 14px;min-height:44px}.booking-section{padding-bottom:15px}.booking-layout{grid-template-columns:1fr;gap:24px;padding:24px 14px 14px;border-radius:18px}.booking-intro{padding:0 8px}.calendar-icon{display:none}.booking-section .section-kicker{margin-bottom:8px}.booking-section h2{font-size:36px;margin-bottom:14px}.booking-section h2 br{display:none}.booking-section h2 em::before{content:' '}.booking-section .booking-note{font-size:13px;line-height:1.7;margin-bottom:12px}.booking-direct{font-size:11px;margin-bottom:0}.booking-section .booking-host,.booking-section .booking-question{display:none}.booking-calendar{padding:18px 7px 12px;border-radius:12px}.calendar-heading{font-size:17px;padding:0 9px 14px}.calendar-heading span{font-size:8px}.booking-calendar .widget-fallback{font-size:10px;margin-inline:7px}.booking-calendar #booking-embed{margin-inline:0}.home-page .amenity-list{grid-template-columns:1fr;gap:26px}.home-page .home-facts{gap:0;justify-content:space-between}.booking-dock{left:0;right:0;bottom:0;transform:none;max-width:none;width:auto;border-radius:16px 16px 0 0;border-width:1px 0 0;padding:11px 5vw calc(11px + env(safe-area-inset-bottom));gap:0}.booking-dock>div{display:none}.booking-dock .booking-button{width:100%;min-height:50px;font-size:15px}.photo-header{gap:12px}.photo-header .back-home{font-size:10px;gap:7px}.tour-header-actions .tour-home{display:none}.scroll-tour-page header{padding:18px 5vw;gap:10px}}
@media(max-width:360px){.home-page .hero .hero-booking,.scroll-tour-page header .booking-button{font-size:12px;padding:12px}.home-page .hero .hero-booking>span,.scroll-tour-page header .booking-button>span{display:none}.photo-header .booking-button{font-size:11px;padding-inline:12px}.booking-layout{padding-inline:8px}.booking-section h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.booking-button{transition:none}}

.booking-section .booking-host{max-width:none;gap:16px}.booking-host .host-photo{width:116px;height:104px;flex-shrink:0;object-fit:cover;object-position:50% 38%;border-radius:14px;border:1px solid #83dfff66}.booking-host p{margin:0;min-width:0}
@media(max-width:700px){.booking-section .booking-host{display:flex;margin-top:18px;padding-top:16px;gap:12px}.booking-host .host-photo{width:88px;height:80px;border-radius:10px}.booking-section .booking-host p :is(strong,span){font-size:11px}}

/* The opening header uses the property blue; other booking actions retain orange. */
:root .home-page .hero .hero-booking{background:#83dfff;color:#071a30!important;border-color:#b0edff;box-shadow:0 0 26px #23adff40,0 6px 20px #0003}
:root .home-page .hero .hero-booking:hover{background:#b0edff;box-shadow:0 0 32px #23adff66,0 6px 20px #0003}
