:root{
    --petroleo:#062b35;
    --petroleo-2:#031820;
    --petroleo-3:#0b3944;
    --oro:#d8a63a;
    --oro-2:#ffd76a;
    --blanco:#f8f4ea;
    --muted:#b9c5c7;
    --line:rgba(216,166,58,.34);
    --glass:rgba(4,28,36,.74);
    --shadow:0 22px 70px rgba(0,0,0,.45);
    --radius:22px;
    --radius-sm:14px;
    color-scheme: dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at top,#0b3b49 0,#041d25 38%,#001C63 100%);color:var(--blanco);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,92vw);margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:12px;background:var(--oro);color:#071016;padding:10px 14px;border-radius:10px;z-index:99}.skip-link:focus{left:12px}
.site-header{position:sticky;top:0;z-index:50;background:#041c28;backdrop-filter:blur(18px);border-bottom:1px solid rgba(216,166,58,.14)}
.topbar{font-size:.86rem;color:var(--muted);border-bottom:1px solid rgba(255,255,255,.06)}
.topbar__inner{display:flex;gap:24px;align-items:center;justify-content:space-between;min-height:40px;white-space:nowrap;overflow:auto}
.topbar a:hover,.main-nav a:hover{color:var(--oro-2)}
.status{color:#8ff08f;border:1px solid rgba(143,240,143,.35);border-radius:999px;padding:3px 10px;background:rgba(40,120,40,.13)}
.navbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;min-height:84px}
.brand img{height:60px;width:auto;filter:drop-shadow(0 8px 18px rgba(255,210,70,.18))}
.main-nav{display:flex;align-items:center;justify-content:center;gap:24px;font-size:.86rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.main-nav a{padding:30px 0;color:#f7f7f7;position:relative}.main-nav a.active,.main-nav a[aria-current="page"]{color:var(--oro-2)}.main-nav a.active:after,.main-nav a[aria-current="page"]:after{content:"";height:2px;background:var(--oro);position:absolute;left:0;right:0;bottom:22px;border-radius:10px}
.nav-toggle{display:none;background:none;color:white;border:1px solid var(--line);border-radius:12px;padding:8px 12px;font-size:1.2rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;padding:13px 22px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;border:1px solid transparent;transition:.25s;cursor:pointer}
.btn--gold{background:linear-gradient(135deg,#f3c45f,#a97622);color:#071016;box-shadow:0 12px 26px rgba(216,166,58,.22)}.btn--gold:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(216,166,58,.34)}
.btn--outline{border-color:var(--line);background:rgba(0,0,0,.15);color:var(--blanco)}.btn--outline:hover{border-color:var(--oro);color:var(--oro-2)}
.section{padding:82px 0}.section--tight{padding:52px 0}.section-title{text-align:center;margin-bottom:34px}.eyebrow{color:var(--oro);font-size:.78rem;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.section-title h2,.hero h1,.page-hero h1{font-family:Georgia,'Times New Roman',serif;line-height:1.04;margin:8px 0 0}.section-title h2{font-size:clamp(2rem,4vw,3.5rem)}.gold{color:var(--oro-2)}
.hero{min-height:760px;position:relative;isolation:isolate;display:grid;align-items:center;padding:90px 0 70px;background-image:linear-gradient(90deg,rgba(2,15,20,.98) 0%,rgba(5,38,48,.74) 44%,rgba(6,43,53,.44) 100%),url('../img/hero-principal.jpg');background-size:cover;background-position:center}
.hero:after,.page-hero:after{content:"";position:absolute;inset:auto 0 0 0;height:180px;background:linear-gradient(transparent,var(--petroleo-2));z-index:-1}.hero__grid{display:grid;grid-template-columns:1.1fr .72fr;gap:60px;align-items:center}.hero h1{font-size:clamp(3rem,6vw,6.6rem);color:var(--oro-2);text-shadow:0 16px 42px rgba(0,0,0,.4)}.hero__lead{font-size:1.55rem;margin:18px 0 0}.hero p{color:#e9eef0;max-width:660px}.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0}.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:720px}.trust-item{border:1px solid rgba(216,166,58,.22);border-radius:16px;background:rgba(2,21,28,.68);padding:14px 16px;color:#dbe6e8;font-weight:700;font-size:.9rem}.trust-item span{color:var(--oro-2);display:block;font-size:1.2rem;margin-bottom:3px}
.booking-card{background:linear-gradient(180deg,rgba(3,23,30,.88),rgba(5,36,45,.78));border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow);max-width:410px;margin-left:auto}.booking-card h2{font-family:Georgia,serif;margin:0 0 6px;font-size:1.7rem}.booking-card p{color:var(--muted);margin:0 0 18px}.booking-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.booking-options span{border:1px solid rgba(216,166,58,.28);border-radius:16px;text-align:center;padding:14px 8px;font-size:.74rem;font-weight:900}.booking-options b{display:block;color:var(--oro-2);font-size:1.35rem}.rating{margin-top:18px;color:var(--oro-2);font-weight:900}.rating small{color:var(--muted);display:block;font-weight:600;margin-top:3px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.room-card{background:linear-gradient(180deg,rgba(4,34,43,.96),rgba(2,18,24,.96));border:1px solid rgba(216,166,58,.26);border-radius:18px;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.28);transition:.25s;position:relative}.room-card:hover{transform:translateY(-5px);border-color:rgba(255,215,106,.6)}.room-card__image{position:relative;aspect-ratio:4/2.75;overflow:hidden;background:#07171d}.room-card__image img{width:100%;height:100%;object-fit:cover;transition:.35s}.room-card:hover img{transform:scale(1.055)}.zoom-btn{position:absolute;right:10px;top:10px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,215,106,.6);background:rgba(0,0,0,.58);color:var(--oro-2);display:grid;place-items:center;font-size:1.05rem;cursor:pointer}.room-card__body{padding:18px}.room-card h3{font-family:Georgia,serif;font-size:1.35rem;margin:0 0 8px}.room-card p{color:var(--muted);margin:0 0 14px;font-size:.94rem}.features{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.chip{border:1px solid rgba(216,166,58,.28);color:#f4d58a;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:800;background:rgba(216,166,58,.06)}
.amenities{background:rgba(2,16,22,.55);border-block:1px solid rgba(216,166,58,.17)}.amenity-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:12px}.amenity{border:1px solid rgba(216,166,58,.18);border-radius:16px;padding:18px 10px;text-align:center;background:rgba(255,255,255,.025);min-height:112px}.amenity b{color:var(--oro-2);display:block;font-size:1.55rem;margin-bottom:7px}.amenity span{font-size:.78rem;color:#e9eef0;font-weight:700}
.decor-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.decor-card{min-height:220px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:linear-gradient(90deg,rgba(4,25,32,.98) 0%,rgba(5,41,52,.68) 100%);display:grid;grid-template-columns:1fr 1fr;align-items:center}.decor-card__img{height:100%;background-size:cover;background-position:center;min-height:220px}.decor-card__body{padding:26px}.decor-card h3{font-family:Georgia,serif;font-size:2rem;margin:0 0 8px}
.testimonial{border:1px solid rgba(216,166,58,.23);border-radius:var(--radius);background:rgba(3,24,31,.72);box-shadow:var(--shadow);padding:36px;display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:center}.testimonial blockquote{margin:0;font-size:1.1rem;color:#eef6f7}.testimonial cite{color:var(--oro-2);display:block;margin-top:14px;font-style:normal;font-weight:900}
.location-card{display:grid;grid-template-columns:.75fr 1.25fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:rgba(3,24,31,.75)}.location-card__info{padding:30px}.map{min-height:350px;background:radial-gradient(circle at center,rgba(216,166,58,.3),transparent 14%),linear-gradient(135deg,#082634,#04131a);position:relative}.map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(40deg,transparent 0 46%,rgba(255,255,255,.08) 47% 49%,transparent 50%),linear-gradient(140deg,transparent 0 46%,rgba(255,255,255,.06) 47% 49%,transparent 50%);background-size:120px 120px}.map:after{content:"★";position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);font-size:3rem;color:var(--oro-2);filter:drop-shadow(0 0 20px rgba(255,215,106,.7))}
.page-hero{position:relative;isolation:isolate;min-height:430px;display:grid;place-items:center;text-align:center;background-image:linear-gradient(rgba(3,18,24,.76),rgba(3,22,29,.85)),url('../img/banner-habitaciones.jpg');background-size:cover;background-position:center;padding:110px 0 80px}.page-hero h1{font-size:clamp(3rem,7vw,5.8rem);color:var(--oro-2)}.page-hero p{font-size:1.25rem;margin:10px auto 0;color:#f3f5f5;max-width:760px}.filterbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0 auto 32px}.filter-btn{border:1px solid var(--line);background:rgba(0,0,0,.22);color:var(--blanco);border-radius:14px;padding:12px 18px;font-weight:900;cursor:pointer}.filter-btn.active,.filter-btn:hover{background:linear-gradient(135deg,#f3c45f,#a97622);color:#06141a}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);display:none;place-items:center;z-index:200;padding:24px}.lightbox.is-open{display:grid}.lightbox img{max-height:82vh;max-width:92vw;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.lightbox__close{position:fixed;right:28px;top:22px;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#06141a;color:var(--oro-2);font-size:2rem;cursor:pointer}.lightbox p{color:var(--blanco);text-align:center;margin-top:12px}
.room-detail{display:grid;grid-template-columns:1fr .85fr;gap:34px;align-items:start}.room-detail__image{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.room-detail__info{background:rgba(3,25,33,.74);border:1px solid var(--line);border-radius:var(--radius);padding:34px}.room-detail h1{font-family:Georgia,serif;font-size:3rem;margin:0 0 10px;color:var(--oro-2)}
.cta-strip{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(90deg,rgba(4,31,40,.9),rgba(3,20,28,.92));padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:var(--shadow)}.cta-strip strong{font-family:Georgia,serif;color:var(--oro-2);font-size:2rem}.cta-strip p{margin:0;color:var(--muted)}
.site-footer{background:#041c28;border-top:1px solid rgba(216,166,58,.2);padding:56px 0 18px}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .9fr 1fr 1fr;gap:32px}.footer-logo{width:150px;margin-bottom:16px}.site-footer h3{color:var(--oro-2);font-size:.92rem;text-transform:uppercase;letter-spacing:.09em}.site-footer p,.site-footer a{color:var(--muted);font-size:.94rem}.site-footer a{display:block;margin:7px 0}.site-footer a:hover{color:var(--oro-2)}.socials{display:flex;gap:10px}.socials a{width:35px;height:35px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--oro-2)}.secure-box{border:1px solid var(--line);border-radius:18px;padding:20px;background:rgba(216,166,58,.06)}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:34px;padding-top:16px;display:flex;justify-content:space-between;gap:18px;color:#8da0a4;font-size:.82rem}
.prose{max-width:850px;margin:auto;color:#dbe6e8}.prose h2{font-family:Georgia,serif;color:var(--oro-2);font-size:2.2rem}.prose a{color:var(--oro-2);font-weight:800}.hidden{display:none!important}
@media (max-width:1050px){.hero__grid,.room-detail,.location-card{grid-template-columns:1fr}.booking-card{margin:0}.room-grid{grid-template-columns:repeat(3,1fr)}.amenity-grid{grid-template-columns:repeat(5,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.navbar{grid-template-columns:auto auto;min-height:72px}.navbar__cta{display:none}.nav-toggle{display:block;justify-self:end}.main-nav{grid-column:1/-1;display:none;flex-direction:column;align-items:flex-start;padding:10px 0 20px}.main-nav.is-open{display:flex}.main-nav a{padding:10px 0}.main-nav a:after{display:none}.hero{min-height:auto;padding:70px 0}.hero__grid{gap:26px}.hero h1{font-size:3.2rem}.trust-row{grid-template-columns:repeat(2,1fr)}.booking-options{grid-template-columns:1fr}.room-grid,.card-grid,.decor-grid{grid-template-columns:1fr}.decor-card{grid-template-columns:1fr}.amenity-grid{grid-template-columns:repeat(2,1fr)}.testimonial{grid-template-columns:1fr}.cta-strip{display:grid;text-align:center}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:grid}.topbar__inner{justify-content:flex-start}.page-hero h1{font-size:3rem}}

/* Correcciones: carrusel de imágenes por habitación */
.room-carousel{position:relative;overflow:hidden}
.room-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .32s ease,visibility .32s ease;z-index:0}
.room-slide.is-active{opacity:1;visibility:visible;z-index:1}
.room-slide img{width:100%;height:100%;object-fit:cover}
.room-carousel .zoom-btn{z-index:4}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:36px;height:42px;border-radius:999px;border:1px solid rgba(255,215,106,.5);background:rgba(2,11,16,.68);color:var(--oro-2);font-size:2rem;line-height:1;display:grid;place-items:center;cursor:pointer;transition:.2s}
.carousel-arrow:hover{background:rgba(216,166,58,.24);border-color:var(--oro-2)}
.carousel-arrow--prev{left:10px}.carousel-arrow--next{right:10px}
.carousel-count{position:absolute;left:10px;bottom:10px;z-index:5;background:rgba(2,11,16,.72);border:1px solid rgba(255,215,106,.36);color:var(--oro-2);font-weight:900;border-radius:999px;padding:4px 10px;font-size:.75rem}
.room-carousel--detail{aspect-ratio:16/10;min-height:420px;background:#021016}
.room-detail__gallery{display:grid;gap:14px}
.room-detail__zoom{width:100%;height:100%;border:0;background:none;padding:0;cursor:zoom-in;display:block}
.room-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:10px}
.room-thumb{border:1px solid rgba(216,166,58,.26);background:#031820;border-radius:12px;padding:3px;cursor:pointer;overflow:hidden;opacity:.62;transition:.2s}
.room-thumb:hover,.room-thumb.is-active{opacity:1;border-color:var(--oro-2);box-shadow:0 0 0 2px rgba(216,166,58,.12)}
.room-thumb img{width:100%;height:62px;object-fit:cover;border-radius:9px}
.review-btn{margin-top:18px}
.map--embed{background:#021016;min-height:420px}
.map--embed:before,.map--embed:after{display:none!important}
.map--embed iframe{position:relative;z-index:2;width:100%;height:100%;min-height:420px;border:0;display:block;filter:grayscale(1) invert(.88) hue-rotate(155deg) saturate(.9);opacity:.92}
.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:120;display:flex;align-items:center;gap:10px;border-radius:999px;padding:12px 18px;background:#4cb051!important;color:#fff;box-shadow:0 18px 38px rgba(0,0,0,.42);font-weight:900;border:1px solid rgba(255,255,255,.22)}
.floating-whatsapp span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:1.25rem}.floating-whatsapp:hover{transform:translateY(-2px);box-shadow:0 24px 48px rgba(0,0,0,.5)}
.has-lightbox{overflow:hidden}
@media(max-width:760px){.room-carousel--detail{min-height:300px}.floating-whatsapp{right:14px;bottom:14px;padding:10px 13px}.floating-whatsapp strong{display:none}.room-thumbs{grid-template-columns:repeat(4,1fr)}}


/* === Ajuste puntual solicitado: mapa completo, carruseles y WhatsApp flotante === */
.location-card.location-card--map-full{
    grid-template-columns:minmax(280px,.58fr) minmax(0,1.42fr);
    align-items:stretch;
}
.location-card.location-card--map-full .map--embed,
.location-card.location-card--map-full .map--real{
    position:relative;
    min-height:430px;
    height:100%;
    background:#021016!important;
}
.location-card.location-card--map-full .map--embed:before,
.location-card.location-card--map-full .map--embed:after,
.location-card.location-card--map-full .map--real:before,
.location-card.location-card--map-full .map--real:after{
    display:none!important;
    content:none!important;
}
.location-card.location-card--map-full .map--embed iframe,
.location-card.location-card--map-full .map--real iframe{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    border:0!important;
    display:block!important;
    filter:none!important;
    opacity:1!important;
}

.room-card__image.room-carousel{
    position:relative!important;
    aspect-ratio:4/2.75;
    min-height:190px;
    overflow:hidden!important;
}
.room-card__image.room-carousel .room-slide{
    position:absolute!important;
    inset:0!important;
    width:100%;
    height:100%;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease;
}
.room-card__image.room-carousel .room-slide.is-active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.room-card__image.room-carousel .room-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.room-card__image.room-carousel .carousel-arrow{
    opacity:.92;
}
.room-card__image.room-carousel .carousel-count{
    font-size:.7rem;
}

.room-detail-gallery{
    display:grid;
    gap:14px;
}
.room-main-photo-wrap{
    position:relative;
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    background:#021016;
    min-height:520px;
    box-shadow:var(--shadow);
}
.room-main-photo{
    width:100%;
    height:100%;
    min-height:520px;
    display:block;
    border:0;
    background:none;
    padding:0;
    cursor:zoom-in;
}
.room-main-photo img{
    width:100%;
    height:100%;
    min-height:520px;
    object-fit:cover;
}
.room-thumbs.room-thumbs--detail{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(110px,1fr));
    gap:12px;
}
.room-thumbs.room-thumbs--detail .room-thumb{
    height:86px;
    border:1px solid rgba(216,166,58,.28);
    background:#031820;
    border-radius:12px;
    padding:3px;
    cursor:pointer;
    overflow:hidden;
    opacity:.65;
    transition:.2s ease;
}
.room-thumbs.room-thumbs--detail .room-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:9px;
}
.room-thumbs.room-thumbs--detail .room-thumb:hover,
.room-thumbs.room-thumbs--detail .room-thumb.is-active{
    opacity:1;
    border-color:var(--oro-2);
    box-shadow:0 0 0 2px rgba(216,166,58,.16);
}
.floating-whatsapp{
    position:fixed!important;
    right:22px!important;
    bottom:22px!important;
    z-index:9999!important;
    display:flex!important;
    align-items:center;
    gap:10px;
    border-radius:999px;
    padding:12px 18px;
    background:#4cb051!important;
    color:#fff!important;
    box-shadow:0 18px 38px rgba(0,0,0,.42);
    font-weight:900;
    border:1px solid rgba(255,255,255,.22);
}
.floating-whatsapp span{
    width:34px;
    height:34px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.18);
    font-size:1.25rem;
}
@media(max-width:1050px){
    .location-card.location-card--map-full{grid-template-columns:1fr}
    .location-card.location-card--map-full .map--embed,
    .location-card.location-card--map-full .map--real{min-height:360px}
}
@media(max-width:760px){
    .room-main-photo-wrap,.room-main-photo,.room-main-photo img{min-height:310px}
    .room-thumbs.room-thumbs--detail{grid-template-columns:repeat(4,1fr)}
    .room-thumbs.room-thumbs--detail .room-thumb{height:68px}
    .floating-whatsapp{right:14px!important;bottom:14px!important;padding:10px 13px!important}
    .floating-whatsapp strong{display:none!important}
}


/* === Carrusel y zoom para decoraciones románticas === */
.decor-card--carousel{
    min-height:260px;
    grid-template-columns:1fr 1fr;
}
.decor-card__media.decor-carousel{
    position:relative;
    height:100%;
    min-height:260px;
    overflow:hidden;
    background:#021016;
}
.decor-card__media.decor-carousel .room-slide{
    position:absolute!important;
    inset:0!important;
    width:100%;
    height:100%;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .28s ease;
}
.decor-card__media.decor-carousel .room-slide.is-active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.decor-card__media.decor-carousel img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.decor-card__media.decor-carousel .carousel-arrow{
    width:34px;
    height:40px;
    font-size:1.8rem;
}
.decor-card__media.decor-carousel .carousel-count{
    left:12px;
    bottom:12px;
}
.decor-card__media.decor-carousel .zoom-btn{
    z-index:7;
}
@media(max-width:760px){
    .decor-card--carousel{grid-template-columns:1fr}
    .decor-card__media.decor-carousel{min-height:240px}
}


/* === Ajuste V5: icono real de WhatsApp y bloqueo de scroll horizontal móvil === */
html,
body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
}
@supports (overflow-x: clip){
    html,
    body{overflow-x:clip!important;}
}
body{
    position:relative;
}
.site-header,
.site-footer,
main,
section,
.container,
.hero,
.page-hero{
    max-width:100vw;
}
img,
video,
iframe,
svg,
canvas{
    max-width:100%;
}
.floating-whatsapp{
    position:fixed!important;
    right:22px!important;
    bottom:22px!important;
    z-index:99999!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    min-width:auto!important;
    max-width:calc(100vw - 28px)!important;
    border-radius:999px!important;
    padding:9px 16px 9px 10px!important;
    background:#4cb051!important;
    color:#fff!important;
    box-shadow:0 18px 38px rgba(0,0,0,.42)!important;
    font-weight:900!important;
    border:1px solid rgba(255,255,255,.22)!important;
    transform:translateZ(0);
}
.floating-whatsapp img{
    width:42px!important;
    height:42px!important;
    display:block!important;
    object-fit:contain!important;
    border-radius:50%!important;
    flex:0 0 42px!important;
    background:transparent!important;
}
.floating-whatsapp span{display:none!important;}
.floating-whatsapp strong{
    color:#fff!important;
    font-size:.92rem!important;
    line-height:1!important;
    white-space:nowrap!important;
}
.floating-whatsapp:hover{
    transform:translateY(-2px) translateZ(0)!important;
    box-shadow:0 24px 48px rgba(0,0,0,.5)!important;
}
@media(max-width:760px){
    html,
    body{
        width:100%!important;
        max-width:100%!important;
        overflow-x:hidden!important;
    }
    @supports (overflow-x: clip){
        html,
        body{overflow-x:clip!important;}
    }
    .container{
        width:100%!important;
        max-width:100%!important;
        padding-left:16px!important;
        padding-right:16px!important;
    }
    .topbar__inner{
        max-width:100%!important;
        overflow:hidden!important;
        white-space:normal!important;
        flex-wrap:wrap!important;
        justify-content:flex-start!important;
        gap:8px 14px!important;
    }
    .navbar,
    .hero__grid,
    .room-detail,
    .location-card,
    .cta-strip,
    .testimonial,
    .decor-card,
    .booking-card,
    .room-card,
    .footer-grid{
        min-width:0!important;
        max-width:100%!important;
    }
    .room-grid,
    .card-grid,
    .decor-grid,
    .amenity-grid,
    .footer-grid{
        width:100%!important;
        max-width:100%!important;
        overflow:hidden!important;
    }
    .hero h1,
    .page-hero h1,
    .section-title h2{
        overflow-wrap:anywhere;
    }
    .floating-whatsapp{
        right:14px!important;
        bottom:14px!important;
        width:58px!important;
        height:58px!important;
        padding:6px!important;
        border-radius:50%!important;
        gap:0!important;
        max-width:58px!important;
    }
    .floating-whatsapp img{
        width:48px!important;
        height:48px!important;
        flex-basis:48px!important;
    }
    .floating-whatsapp strong{display:none!important;}
}
