/* Bounded composition: recovered property design + unchanged 480px Host. */
#current-aurelio{width:100%;height:100%;border:0;display:block;background:#fffefa}
.hero-content{max-width:480px}.hero-panel{padding:24px!important}.welcome-chat#hotel-conversation{height:700px!important;min-height:0!important;max-height:85dvh;position:relative;width:100%;max-width:480px;margin:auto}
.property-host-open{position:fixed;bottom:22px;right:24px;z-index:40;background:#26372e;color:#fff;border:0;border-radius:30px;padding:16px 24px;font:14px 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 6px 24px #0003}
#hotel-conversation.property-host-overlay{position:fixed;z-index:100;right:24px;bottom:24px;height:min(790px,calc(100dvh - 40px))!important;max-height:none;box-shadow:0 20px 70px #0004;border-radius:20px;padding-top:34px;background:#fffefa}
.property-host-close{position:absolute;top:0;left:0;width:100%;height:34px;border:0;background:#eee9df;color:#26372e;cursor:pointer;font:12px 'DM Sans',sans-serif}
.property-detail{display:inline-block;color:inherit;margin:14px 0;text-underline-offset:5px;font:11px 'DM Sans',sans-serif;letter-spacing:.1em}
.site-header{gap:16px;flex-wrap:wrap}.site-header nav{flex-wrap:wrap;justify-content:center;gap:16px}.site-header .header-actions{margin-left:auto}.hero-media{min-height:560px}.lake-card{cursor:default}section[id]{scroll-margin-top:120px}img{max-width:100%}
@media(max-width:1050px){.hero{grid-template-columns:1fr!important}.hero-media{height:480px;min-height:0}.hero-panel{padding:24px!important}.site-header nav{display:flex;width:100%;order:3;padding-bottom:8px}.site-header{position:relative}}
@media(max-width:600px){.hero-media{height:400px}.hero-panel{padding:16px!important}.site-header{padding:16px}.site-header nav{gap:16px;font-size:10px}.book-now-top{padding:12px!important}.header-actions{gap:8px!important}#hotel-conversation.property-host-overlay{right:0;bottom:0;max-width:100%;width:100%;height:100dvh!important;border:0;border-radius:0}.property-host-open{right:16px;bottom:16px}.welcome-chat#hotel-conversation{max-height:none;height:690px!important}.map-wrap{min-width:0}.lake-map svg{max-width:100%}.brand{font-size:18px!important}}
@media(min-width:1051px){.welcome-chat#hotel-conversation:not(.property-host-overlay){height:min(700px,calc(100dvh - 180px))!important;min-height:520px!important;max-height:none}}
@media(max-width:600px){.welcome-chat#hotel-conversation.property-host-overlay{height:100dvh!important;min-height:0!important;max-height:none}}

/* Desktop: the right rail is reserved for the Host through the whole page. */
@media(min-width:601px){
 body{--host-rest-width:244px;--host-rail-width:calc(var(--host-rest-width) + 36px);display:grid;grid-template-columns:minmax(0,1fr) var(--host-rail-width)}
 body>.site-header{grid-column:1/-1}
 body>main,body>footer{grid-column:1;min-width:0}
 .hero{grid-template-columns:minmax(0,1fr)!important;height:max(650px,calc(100dvh - 108px))!important;min-height:650px!important}
 .hero-media{width:100%;min-width:0;aspect-ratio:auto!important;height:100%!important;min-height:650px!important}
 .hero-panel{position:fixed;right:18px;top:calc(var(--property-header-height,108px) + 22px);width:var(--host-rest-width);padding:0!important;z-index:89;background:transparent}
 .hero-content{width:100%;max-width:none}
 .welcome-chat#hotel-conversation,.welcome-chat#hotel-conversation.property-host-overlay,.welcome-chat#hotel-conversation:not(.property-host-overlay){position:fixed;z-index:90;right:18px;top:calc(var(--property-header-height,108px) + 48px);bottom:18px;width:var(--host-rest-width);max-width:calc(100vw - 36px);height:auto!important;min-height:0!important;max-height:none;margin:0;padding:0;transition:width .24s ease;border-radius:18px;box-shadow:0 12px 42px #142b2426;overflow:hidden;background:#fffefa}
 .welcome-chat#hotel-conversation.host-expanded{width:640px;max-width:calc(100vw - 36px)}
 .property-host-open,.property-host-close{display:none!important}
}
@media(prefers-reduced-motion:reduce){.welcome-chat#hotel-conversation{transition:none!important}}
.hero-media img{object-position:center center}

/* Root layer hierarchy: page < idle Host < active Host < navigation < modals.
   The header owns the dropdown stacking context; child z-index alone cannot escape it. */
:root{--layer-host-idle:20;--layer-host-active:30;--layer-navigation:40;--layer-modal:50}
.site-header{z-index:var(--layer-navigation)}
.language-dropdown{z-index:1}
.property-host-open{z-index:var(--layer-host-idle)}
#hotel-conversation.property-host-overlay{z-index:var(--layer-host-active)}
.room-modal,.booking-modal{z-index:var(--layer-modal)}
@media(min-width:601px){
 .hero-panel{z-index:var(--layer-host-idle)}
 .hero-panel:has(.host-expanded){z-index:var(--layer-host-active)}
 .welcome-chat#hotel-conversation{z-index:1}
}

/* The Host never participates in the Property section flow on phones. */
@media(max-width:600px){
 .hero-panel{position:fixed;right:0;bottom:0;width:0;height:0;padding:0!important;z-index:var(--layer-host-active);background:transparent}
 .hero-content> :not(#hotel-conversation){display:none}
 .welcome-chat#hotel-conversation:not(.property-host-overlay){display:none}
 .welcome-chat#hotel-conversation.property-host-overlay{display:block;top:0;padding-top:34px;box-sizing:border-box}
}

/* Mobile gate: leave navigation accessible; never hide Host/close beneath it. */
@media(max-width:600px){
 .welcome-chat#hotel-conversation.property-host-overlay{top:var(--property-header-height,134px);bottom:0;height:calc(100dvh - var(--property-header-height,134px))!important;padding-top:44px}
 .property-host-close{height:44px}
}

/* A page-spanning rail lets sticky positioning release the initial hero offset.
   The narrow header scrolls away; the wide header remains sticky. */
@media(min-width:601px){
 body{--host-sticky-clearance:0px;overflow-x:clip}
 body>.hero-panel{grid-column:2;grid-row:2 / 4;position:relative;top:auto;right:auto;width:var(--host-rest-width);justify-self:end;margin:22px 18px 0 0;display:block;align-self:stretch;height:auto!important;overflow:visible!important}
 .hero-panel>.hero-content{height:100%;display:block!important}
 .hero-panel h1{font-size:clamp(8.5px,.75vw,9.5px);letter-spacing:.22em;font-weight:500;line-height:26px;white-space:nowrap;text-align:center;width:100%;height:26px;margin:0;overflow:visible}
 .welcome-chat#hotel-conversation,.welcome-chat#hotel-conversation.property-host-overlay,.welcome-chat#hotel-conversation:not(.property-host-overlay){position:sticky;top:calc(var(--host-sticky-clearance) + 18px);right:auto;bottom:auto;height:calc(100dvh - var(--property-header-height,108px) - 66px + var(--host-released-space,0px))!important;margin-left:0px;transition:width .32s cubic-bezier(.25,.8,.25,1),margin-left .32s cubic-bezier(.25,.8,.25,1)}
 .welcome-chat#hotel-conversation.host-expanded{margin-left:calc(var(--host-rest-width) - min(640px,100vw - 36px))}
}
@media(min-width:1051px){body{--host-sticky-clearance:var(--property-header-height,108px)}}

/* Reclaim the initial alignment clearance as the rail sticks, keeping its bottom
   18px above the viewport edge. Width and left edge ease together. */
@property --host-released-space{syntax:"<length>";inherits:false;initial-value:0px}
@keyframes host-fill-viewport{to{--host-released-space:calc(var(--property-header-height,108px) - var(--host-sticky-clearance) + 30px)}}
@supports(animation-timeline:scroll(root block)){
 @media(min-width:601px){
  .welcome-chat#hotel-conversation{animation:host-fill-viewport linear both;animation-timeline:scroll(root block);animation-range:0px calc(var(--property-header-height,108px) - var(--host-sticky-clearance) + 30px)}
 }
}
@media(prefers-reduced-motion:reduce){.welcome-chat#hotel-conversation,.welcome-chat#hotel-conversation.property-host-overlay,.welcome-chat#hotel-conversation:not(.property-host-overlay){transition:none}}
/* The mobile heading shares the existing return bar; Host geometry is unchanged. */
@media(max-width:600px){
 .hero-content:has(.property-host-overlay)>h1:not(#hotel-conversation){display:block;position:fixed;top:calc(var(--property-header-height,134px) + 2px);left:0;width:100%;height:16px;margin:0;font-size:8.5px;line-height:16px;font-weight:500;letter-spacing:.22em;white-space:nowrap;text-align:center;z-index:calc(var(--layer-host-active) + 1);pointer-events:none}
 .hero-content:has(.property-host-overlay) .property-host-close{padding-top:16px}
}
