/* Additions for the static build: animations, popups, gallery, WhatsApp */
[hidden]{display:none!important}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* Reveal on scroll */
.js [data-r]{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js [data-r].in{opacity:1;transform:none}
.js .word{overflow:hidden;display:inline-block;vertical-align:top}
.js .word .wi{display:inline-block;transform:translateY(105%);opacity:0;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .9s}
.js .in-words .word .wi{transform:none;opacity:1}

/* Hero slider */
.hero-slide{opacity:0;transition:opacity 1.4s ease}
.hero-slide.on{opacity:1}
.hero-slide img{transition:transform 7s linear;transform:scale(1)}
.hero-slide.on img{transform:scale(1.07)}
.hero-dots button i{transform:scaleX(0)}
.hero-dots button[aria-selected=true] i{animation:dotfill 6s linear forwards}
@keyframes dotfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Amenity panel fade */
.am-photo img,.am-detail>div{transition:opacity .35s}
.am-fading .am-photo img,.am-fading .am-detail>div{opacity:0}
.am-bar button.on,.am-bar button[aria-selected=true]{position:relative}

/* Floating buttons: stacked on the right */
.fab{flex-direction:column;align-items:flex-end}
.fab a.fab-wa{background:#25d366;color:#fff}

/* Form status */
.form-status{margin:10px 0 0;font-size:.85rem;min-height:0}
.form-status.err{color:#b3432b}
.form-status.ok{color:var(--emerald)}
.dark .form-status.ok{color:var(--leaf-soft)}
.btn[disabled]{opacity:.65;cursor:wait}
.form-done{display:block}
.form-done .ty-ic{width:54px;height:54px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:var(--leaf);color:var(--on-leaf);font-size:1.6rem}
.form-done .btn{margin-top:14px}

/* Gallery lightbox */
.gallery figure{cursor:zoom-in}
.modal.lb figure{margin:0;max-width:min(1100px,92vw);text-align:center}
.modal.lb img{max-width:100%;max-height:78vh;border-radius:3px;box-shadow:0 20px 60px #0008}
.modal.lb figcaption{color:var(--cream);margin-top:12px;font-size:.9rem;letter-spacing:.06em}
.modal.lb .close,.modal.vm .close{color:var(--cream);font-size:2rem;top:16px;right:16px;z-index:2}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:#f5f1e81f;color:var(--cream);border:1px solid #f5f1e847;width:48px;height:48px;border-radius:50%;font-size:1.8rem;cursor:pointer}
.lb-prev{left:16px}.lb-next{right:16px}
@media (max-width:760px){.lb-nav{top:auto;bottom:24px;transform:none}}

/* Video modal */
.vm-frame{width:min(1000px,92vw);aspect-ratio:16/9;background:#000;border-radius:3px;overflow:hidden}
.vm-frame iframe{width:100%;height:100%;border:0;display:block}

/* Mobile menu */
.mobile-menu{opacity:0;transition:opacity .25s}
.mobile-menu.open{opacity:1}
body.lock{overflow:hidden}
.mobile-menu a{color:var(--cream)}
.mobile-menu .mobile-menu-cta{cursor:pointer}
.plan-card .plan-fp{color:var(--cream);border-color:#f5f1e859;margin-left:10px}
@media (max-width:760px){.plan-card .plan-fp{margin:10px 0 0}}
