/*
Theme Name: Ecocentro La Charca by CENSYT
Theme URI: https://censyt.com.gt/
Author: CENSYT, S.A.
Author URI: https://censyt.com.gt/
Description: Tema premium para Ecocentro La Charca de Don Jerónimo, integrado con Hospedaje 360 Pro. Diseño eco-futurista para hospedaje, piscinas, restaurante, fauna y reservaciones.
Version: 1.1.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: ecocentro-charca
*/
:root{--eco-navy:#0d1b2f;--eco-navy2:#10253f;--eco-green:#0c905f;--eco-green2:#006b49;--eco-lime:#82d615;--eco-aqua:#35b6cf;--eco-blue:#29629c;--eco-purple:#4c2761;--eco-white:#fff;--eco-ink:#0f2036;--eco-muted:#617087;--eco-bg:#f3f8f7;--eco-card:#fff;--eco-radius:26px;--eco-shadow:0 20px 55px rgba(13,27,47,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--eco-bg);color:var(--eco-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}body.admin-bar .eco-header{top:32px}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.eco-container{width:min(1180px,calc(100% - 40px));margin:auto}.eco-section{padding:88px 0}.eco-eyebrow{margin:0 0 8px;color:var(--eco-green);font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}.eco-title{margin:0 0 18px;font-size:clamp(2rem,4vw,4.25rem);line-height:1.02;letter-spacing:-.045em}.eco-copy{font-size:1.08rem;color:var(--eco-muted);max-width:720px}.eco-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 22px;border-radius:999px;background:linear-gradient(135deg,var(--eco-green),#12b06f);color:#fff;font-weight:850;box-shadow:0 10px 28px rgba(12,144,95,.24);transition:.2s}.eco-btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.eco-btn.alt{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.65);box-shadow:none;backdrop-filter:blur(10px)}.eco-btn.light{background:#fff;color:var(--eco-navy);box-shadow:none}.eco-chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 13px;background:#e9fbf3;color:#08754f;font-weight:800;font-size:.85rem}
/* Header */
.eco-header{position:fixed;z-index:999;top:0;left:0;right:0;transition:.25s}.eco-header.is-scrolled{background:rgba(7,26,40,.88);backdrop-filter:blur(18px);box-shadow:0 12px 30px rgba(0,0,0,.18)}.eco-header:not(.is-scrolled){background:rgba(255,255,255,.94);backdrop-filter:blur(14px);box-shadow:0 8px 24px rgba(13,27,47,.08)}.eco-nav{height:92px;display:flex;align-items:center;gap:28px}.eco-brand{display:flex;align-items:center;margin-right:auto}.eco-brand img{width:150px;max-height:78px;object-fit:contain;filter:drop-shadow(0 5px 12px rgba(0,0,0,.14))}.eco-menu{display:flex;align-items:center;gap:24px;list-style:none;padding:0;margin:0;color:#fff;font-weight:750;font-size:.93rem}.eco-menu a{opacity:.9}.eco-menu a:hover{opacity:1;color:#bff45b}.eco-header:not(.is-scrolled) .eco-menu{color:var(--eco-navy)}.eco-header:not(.is-scrolled) .eco-menu a:hover{color:var(--eco-green)}.eco-mobile-toggle{display:none;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:14px;width:48px;height:48px;font-size:24px}.eco-header:not(.is-scrolled) .eco-mobile-toggle{background:rgba(13,27,47,.08);color:var(--eco-navy);border-color:rgba(13,27,47,.18)}
/* Hero */
.eco-hero{position:relative;min-height:780px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--eco-navy)}.eco-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.eco-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,21,37,.92) 0%,rgba(5,21,37,.65) 42%,rgba(5,21,37,.12) 78%),linear-gradient(0deg,rgba(5,21,37,.7),transparent 55%)}.eco-hero:after{content:"";position:absolute;inset:auto -5% -75px -5%;height:150px;background:var(--eco-bg);border-radius:50% 50% 0 0/55% 55% 0 0}.eco-hero-content{position:relative;z-index:2;padding:180px 0 125px;max-width:690px}.eco-hero-logo{width:220px;margin-bottom:28px}.eco-hero h1{font-size:clamp(3.2rem,7vw,6.3rem);line-height:.9;letter-spacing:-.055em;margin:0 0 24px;font-weight:950}.eco-hero h1 em{font-style:normal;color:var(--eco-lime)}.eco-hero p{max-width:650px;font-size:1.16rem;color:rgba(255,255,255,.9)}.eco-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.eco-location-badge{position:absolute;z-index:2;right:max(20px,calc((100vw - 1180px)/2));bottom:150px;padding:16px 19px;border-radius:18px;background:rgba(7,36,61,.88);backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(0,0,0,.18);font-weight:750;max-width:310px}
/* Cards / intro */
.eco-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.eco-photo-stack{position:relative}.eco-photo-stack>img{border-radius:var(--eco-radius);box-shadow:var(--eco-shadow);aspect-ratio:4/3;object-fit:cover}.eco-float-card{position:absolute;right:-18px;bottom:-24px;width:min(310px,75%);padding:20px;border-radius:22px;background:rgba(13,27,47,.92);color:#fff;box-shadow:var(--eco-shadow);backdrop-filter:blur(15px)}.eco-float-card strong{display:block;font-size:1.15rem}.eco-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.eco-point{display:flex;gap:10px;align-items:flex-start;padding:13px;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(13,27,47,.06)}.eco-point b{color:var(--eco-green)}
.eco-dark{background:radial-gradient(circle at 10% 10%,rgba(53,182,207,.16),transparent 28%),linear-gradient(135deg,#06283a,#073b38 50%,#071f33);color:#fff;position:relative;overflow:hidden}.eco-dark .eco-copy{color:rgba(255,255,255,.72)}.eco-services-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:38px}.eco-service{position:relative;min-height:285px;border-radius:24px;overflow:hidden;background:#10253f;box-shadow:0 16px 36px rgba(0,0,0,.22);transition:.22s}.eco-service:hover{transform:translateY(-5px)}.eco-service img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.eco-service:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,24,38,.95),rgba(6,24,38,.05) 70%)}.eco-service-body{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:20px}.eco-service h3{margin:0 0 5px;font-size:1.15rem}.eco-service p{margin:0;color:rgba(255,255,255,.75);font-size:.82rem}.eco-service-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:10px;border-radius:14px;background:linear-gradient(135deg,var(--eco-green),var(--eco-lime));font-size:20px}
/* Rooms */
.eco-room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.eco-room-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--eco-shadow);border:1px solid rgba(12,144,95,.08)}.eco-room-card img{width:100%;height:250px;object-fit:cover}.eco-room-content{padding:22px}.eco-room-content h3{margin:8px 0;font-size:1.35rem}.eco-room-content p{margin:0;color:var(--eco-muted)}
/* Experience */
.eco-experience{background:linear-gradient(rgba(4,25,31,.72),rgba(4,25,31,.8)),url('assets/images/areas-verdes.jpg') center/cover;color:#fff}.eco-experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.eco-experience-card{position:relative;min-height:360px;border:1px solid rgba(255,255,255,.35);border-radius:24px;overflow:hidden}.eco-experience-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.eco-experience-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,22,32,.9),rgba(4,22,32,.02) 70%)}.eco-experience-card>div{position:absolute;z-index:2;left:22px;right:22px;bottom:20px}.eco-experience-card h3{margin:0;font-size:1.45rem}.eco-experience-card p{margin:4px 0 0;color:rgba(255,255,255,.78)}
/* Info/prices/gallery */
.eco-info-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dfe8ec;border-radius:24px;overflow:hidden;box-shadow:var(--eco-shadow)}.eco-info-item{padding:22px;background:#fff;display:flex;gap:13px;align-items:center}.eco-info-icon{font-size:28px}.eco-info-item strong{display:block}.eco-info-item small{color:var(--eco-muted)}.eco-price-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}.eco-price-card{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.eco-price{padding:24px 15px;text-align:center;background:#fff;border-radius:20px;box-shadow:0 10px 28px rgba(13,27,47,.08)}.eco-price b{display:block;font-size:2rem;color:var(--eco-green)}.eco-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:250px;gap:14px}.eco-gallery a{display:block;overflow:hidden;border-radius:22px;position:relative}.eco-gallery img{width:100%;height:100%;object-fit:cover;transition:.25s}.eco-gallery a:hover img{transform:scale(1.04)}.eco-gallery a:first-child{grid-row:span 2}.eco-gallery a:nth-child(4){grid-column:span 2}.eco-cta{padding:72px 0;text-align:center;background:linear-gradient(90deg,rgba(6,34,46,.88),rgba(4,74,61,.84)),url('assets/images/piscina-noche.jpg') center/cover;color:#fff}.eco-cta .eco-title{max-width:780px;margin-left:auto;margin-right:auto}
/* Pages/plugin integration */
.eco-page-hero{padding:170px 0 70px;background:linear-gradient(135deg,#06283a,#0b5848);color:#fff}.eco-page{padding:60px 0 90px}.eco-plugin-wrap{padding:26px;border-radius:24px;background:#fff;box-shadow:var(--eco-shadow)}.eco-notice{padding:18px;border-radius:14px;background:#eef8f4;color:#0b694a;font-weight:700}.eco-content h1,.eco-content h2,.eco-content h3{color:var(--eco-ink)}
/* Footer */
.eco-footer{background:#071625;color:#dfeaf0;padding:44px 0 24px}.eco-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:34px}.eco-footer-logo{width:190px;margin-bottom:12px}.eco-footer h4{color:#fff;margin-top:0}.eco-footer a{color:#dfeaf0}.eco-footer a:hover{color:#bff45b}.eco-credit{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:16px;color:#91a5b7;font-size:.9rem}.eco-credit a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1050px){.eco-header:not(.is-scrolled) .eco-menu{color:#fff}.eco-menu{display:none;position:absolute;top:85px;left:20px;right:20px;padding:20px;flex-direction:column;align-items:stretch;background:rgba(7,26,40,.97);border-radius:20px}.eco-menu.is-open{display:flex}.eco-mobile-toggle{display:block}.eco-services-grid{grid-template-columns:repeat(3,1fr)}.eco-room-grid,.eco-experience-grid{grid-template-columns:1fr 1fr}.eco-info-band{grid-template-columns:1fr 1fr}}
@media(max-width:760px){body.admin-bar .eco-header{top:46px}.eco-container{width:min(100% - 26px,1180px)}.eco-section{padding:64px 0}.eco-nav{height:78px}.eco-brand img{width:125px}.eco-hero{min-height:720px}.eco-hero-content{padding:145px 0 105px}.eco-hero h1{font-size:3.7rem}.eco-location-badge{display:none}.eco-intro-grid,.eco-price-wrap,.eco-footer-grid{grid-template-columns:1fr}.eco-photo-stack{margin-top:20px}.eco-float-card{position:relative;right:auto;bottom:auto;width:auto;margin-top:12px}.eco-services-grid{grid-template-columns:1fr 1fr}.eco-room-grid,.eco-experience-grid{grid-template-columns:1fr}.eco-info-band,.eco-price-card{grid-template-columns:1fr}.eco-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.eco-gallery a:first-child{grid-row:auto;grid-column:span 2}.eco-gallery a:nth-child(4){grid-column:auto}.eco-credit{flex-direction:column}.eco-points{grid-template-columns:1fr}}
@media(max-width:460px){.eco-hero h1{font-size:3rem}.eco-services-grid,.eco-gallery{grid-template-columns:1fr}.eco-gallery a:first-child,.eco-gallery a:nth-child(4){grid-column:auto}.eco-service{min-height:250px}.eco-actions>*{width:100%}}


/* v1.0.2 · Logo legible + SEO visible */
.eco-hero-logo{filter:drop-shadow(0 0 2px rgba(255,255,255,.98)) drop-shadow(0 0 14px rgba(255,255,255,.82)) drop-shadow(0 10px 24px rgba(0,0,0,.34))!important}
.eco-footer-logo{filter:drop-shadow(0 0 10px rgba(255,255,255,.20))}
.eco-seo-summary{margin:30px 0 18px;padding:22px 24px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.045);color:rgba(255,255,255,.80);font-size:.92rem;line-height:1.65}
.eco-seo-summary strong{color:#fff}.eco-seo-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.eco-seo-tag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(53,182,207,.12);border:1px solid rgba(53,182,207,.25);color:#d6fbff;font-weight:750;font-size:.78rem;letter-spacing:.01em}.eco-seo-tag.censyt{background:rgba(130,214,21,.10);border-color:rgba(130,214,21,.24);color:#dfffb1}


/* v1.0.3 · Contacto + formulario correo/WhatsApp */
.eco-contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}.eco-contact-info,.eco-contact-form-card{background:#fff;border-radius:28px;box-shadow:var(--eco-shadow);padding:30px;border:1px solid rgba(13,27,47,.06)}.eco-contact-info h2{font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:0 0 15px}.eco-contact-cards{display:grid;gap:12px;margin-top:25px}.eco-contact-card{display:flex;align-items:center;gap:14px;padding:15px;border-radius:18px;background:#f4faf8;border:1px solid rgba(12,144,95,.10);transition:.2s}.eco-contact-card:hover{transform:translateY(-2px);border-color:rgba(12,144,95,.28)}.eco-contact-card>span{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--eco-green),var(--eco-aqua));color:#fff;font-size:22px}.eco-contact-card strong,.eco-contact-card small{display:block}.eco-contact-card small{color:var(--eco-muted);line-height:1.35}.eco-contact-form{display:grid;gap:16px}.eco-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.eco-contact-form label{display:grid;gap:7px;font-weight:800;color:var(--eco-ink);font-size:.91rem}.eco-contact-form input,.eco-contact-form select,.eco-contact-form textarea{width:100%;border:1px solid #d8e3e7;border-radius:14px;background:#fbfdfd;color:var(--eco-ink);font:inherit;font-weight:500;padding:12px 14px;outline:none;transition:.2s}.eco-contact-form textarea{resize:vertical;min-height:135px}.eco-contact-form input:focus,.eco-contact-form select:focus,.eco-contact-form textarea:focus{border-color:var(--eco-aqua);box-shadow:0 0 0 4px rgba(53,182,207,.12);background:#fff}.eco-form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:3px}.eco-contact-form button{border:0;cursor:pointer;font:inherit}.eco-whatsapp-btn{background:linear-gradient(135deg,#19a866,#25d366)}.eco-form-note{margin:0;color:var(--eco-muted);font-size:.78rem}.eco-form-alert{padding:13px 15px;border-radius:14px;margin-bottom:16px;font-weight:750}.eco-form-alert.success{background:#e7f9ef;color:#08734b;border:1px solid #b9ebd0}.eco-form-alert.error{background:#fff0f0;color:#a22929;border:1px solid #f3c2c2}.eco-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.eco-contact-seo{margin-top:34px;background:linear-gradient(135deg,#071f33,#073b38);border-color:rgba(53,182,207,.22);box-shadow:var(--eco-shadow)}
@media(max-width:850px){.eco-contact-grid{grid-template-columns:1fr}.eco-form-row{grid-template-columns:1fr}}
@media(max-width:520px){.eco-contact-info,.eco-contact-form-card{padding:20px}.eco-form-actions .eco-btn{width:100%}}


/* v1.0.4 · menú glass + home más dinámica + contacto/ubicación unidos */
.eco-header{background:transparent!important;box-shadow:none!important}
.eco-nav{height:84px;margin-top:16px;padding:0 18px;border-radius:28px;background:rgba(8,25,40,.36);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 44px rgba(0,0,0,.16)}
.eco-header.is-scrolled .eco-nav{background:rgba(7,26,40,.84);border-color:rgba(255,255,255,.10)}
.eco-header:not(.is-scrolled) .eco-menu,.eco-header.is-scrolled .eco-menu{color:#fff}
.eco-header .eco-menu a{position:relative;opacity:.96}.eco-header .eco-menu a:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--eco-lime),var(--eco-aqua));transform:scaleX(0);transform-origin:center;transition:.22s}.eco-header .eco-menu a:hover:after{transform:scaleX(1)}
.eco-mobile-toggle{background:rgba(255,255,255,.09)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}
.eco-brand img{width:158px;max-height:82px;filter:drop-shadow(0 0 8px rgba(255,255,255,.18)) drop-shadow(0 12px 24px rgba(0,0,0,.20));transition:.2s}.eco-brand:hover img{transform:translateY(-1px) scale(1.01)}
.eco-btn{position:relative;overflow:hidden}.eco-btn:before{content:"";position:absolute;inset:0;left:-120%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);transition:.5s}.eco-btn:hover:before{left:120%}
.eco-hero{min-height:860px}.eco-hero:before{background:radial-gradient(circle at 18% 20%,rgba(130,214,21,.18),transparent 18%),radial-gradient(circle at 78% 30%,rgba(53,182,207,.20),transparent 20%),linear-gradient(90deg,rgba(5,21,37,.94) 0%,rgba(5,21,37,.70) 42%,rgba(5,21,37,.16) 80%),linear-gradient(0deg,rgba(5,21,37,.72),transparent 58%)}.eco-hero-content{max-width:760px}.eco-hero-logo{filter:drop-shadow(0 0 3px rgba(255,255,255,.96)) drop-shadow(0 0 18px rgba(255,255,255,.45)) drop-shadow(0 16px 30px rgba(0,0,0,.30))!important}
.eco-hero-sub{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 0}.eco-hero-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);backdrop-filter:blur(12px);font-size:.86rem;font-weight:800;color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.14)}
.eco-hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px;max-width:820px}.eco-hero-stat{padding:16px 16px 15px;border-radius:22px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px);box-shadow:0 18px 38px rgba(0,0,0,.14)}.eco-hero-stat b{display:block;font-size:1rem;margin-bottom:4px;color:#fff}.eco-hero-stat span{display:block;color:rgba(255,255,255,.78);font-size:.88rem;line-height:1.45}
.eco-hero-panel{position:absolute;z-index:2;right:max(20px,calc((100vw - 1180px)/2));top:190px;width:min(360px,30vw);padding:18px;border-radius:28px;background:linear-gradient(180deg,rgba(7,26,40,.52),rgba(7,26,40,.86));border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);box-shadow:0 20px 42px rgba(0,0,0,.22)}.eco-hero-panel h3{margin:0 0 10px;color:#fff;font-size:1.05rem}.eco-hero-panel p{margin:0 0 14px;font-size:.92rem;color:rgba(255,255,255,.78)}.eco-hero-panel ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.eco-hero-panel li{display:flex;align-items:flex-start;gap:11px;color:#fff;font-weight:650;font-size:.90rem}.eco-hero-panel li span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:12px;background:linear-gradient(135deg,var(--eco-green),var(--eco-aqua));box-shadow:0 10px 20px rgba(53,182,207,.20)}
.eco-location-badge{bottom:94px;background:rgba(7,36,61,.76);border:1px solid rgba(255,255,255,.12)}.eco-wave-line{margin-top:20px;display:flex;gap:18px;align-items:center;white-space:nowrap;overflow:hidden;color:rgba(255,255,255,.80);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.73rem}.eco-wave-line span{position:relative;padding-right:18px}.eco-wave-line span:after{content:"•";position:absolute;right:0;color:var(--eco-lime)}
.eco-intro-grid .eco-btn,.eco-price-wrap .eco-btn{box-shadow:0 14px 26px rgba(12,144,95,.18)}.eco-service{border:1px solid rgba(255,255,255,.08)}.eco-service:hover{transform:translateY(-7px);box-shadow:0 28px 48px rgba(0,0,0,.26)}.eco-service:before{content:"";position:absolute;inset:auto 18px 0 18px;height:3px;background:linear-gradient(90deg,var(--eco-lime),var(--eco-aqua),#c92bb5);z-index:2;opacity:0;transition:.2s}.eco-service:hover:before{opacity:1;bottom:0}
.eco-contact-grid.merged{grid-template-columns:1.02fr .98fr}.eco-contact-stack{display:grid;gap:18px}.eco-location-panel{border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#061f33,#0a403d);color:#fff;box-shadow:var(--eco-shadow)}.eco-location-media{position:relative;min-height:250px}.eco-location-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.eco-location-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,21,37,.02),rgba(5,21,37,.66))}.eco-location-content{position:relative;padding:24px}.eco-location-content h3{margin:0 0 10px;font-size:1.45rem}.eco-location-content p{margin:0 0 14px;color:rgba(255,255,255,.82)}.eco-location-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.eco-location-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.eco-location-meta div{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10)}.eco-location-meta strong{display:block;color:#fff;font-size:.84rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.eco-location-meta span{color:rgba(255,255,255,.80);font-size:.92rem}
.eco-contact-form-card{background:linear-gradient(180deg,#ffffff,#f7fbfc)}.eco-contact-form-card h3{margin:0 0 8px;font-size:1.65rem}.eco-contact-topnote{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eafaf4;color:#0a7b51;font-size:.82rem;font-weight:800;margin-bottom:12px}.eco-contact-seo{margin-top:0}
@media(max-width:1100px){.eco-hero-panel{display:none}.eco-hero-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:1050px){.eco-nav{height:78px}.eco-menu{top:96px}.eco-header:not(.is-scrolled) .eco-menu{color:#fff}}
@media(max-width:850px){.eco-contact-grid.merged{grid-template-columns:1fr}.eco-location-meta{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.eco-nav{margin-top:12px}.eco-hero{min-height:800px}.eco-hero-grid{grid-template-columns:1fr}.eco-wave-line{font-size:.66rem;gap:12px}.eco-location-badge{display:none}}
@media(max-width:520px){.eco-location-meta{grid-template-columns:1fr}.eco-contact-topnote{display:flex}.eco-contact-cards{grid-template-columns:1fr}}


/* v1.0.5 · Experiencia inmersiva: slider, animaciones, mapa y footer premium */
.eco-scroll-progress{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:linear-gradient(90deg,var(--eco-lime),var(--eco-aqua),#7b57ff,#d02cae);box-shadow:0 0 12px rgba(53,182,207,.85);transition:width .08s linear}

/* Slider hero */
.eco-hero-slides{position:absolute;inset:0;z-index:0;overflow:hidden}
.eco-hero-slide{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 1.1s ease,transform 7s ease;will-change:opacity,transform}
.eco-hero-slide.is-active{opacity:1;transform:scale(1.10)}
.eco-hero-slide:after{content:"";position:absolute;inset:0}
.eco-hero-controls{position:absolute;z-index:4;left:max(20px,calc((100vw - 1180px)/2));bottom:80px;display:flex;align-items:center;gap:9px}
.eco-hero-arrow,.eco-hero-dot{border:1px solid rgba(255,255,255,.24);background:rgba(7,26,40,.42);color:#fff;backdrop-filter:blur(12px);cursor:pointer;transition:.22s}
.eco-hero-arrow{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;font-size:18px}
.eco-hero-arrow:hover{transform:translateY(-2px);background:rgba(12,144,95,.75)}
.eco-hero-dots{display:flex;gap:7px;margin:0 4px}
.eco-hero-dot{width:9px;height:9px;padding:0;border-radius:999px;background:rgba(255,255,255,.42)}
.eco-hero-dot.is-active{width:28px;background:linear-gradient(90deg,var(--eco-lime),var(--eco-aqua));border-color:transparent}
.eco-hero-scroll{position:absolute;z-index:4;left:50%;bottom:72px;transform:translateX(-50%);display:grid;place-items:center;gap:6px;color:rgba(255,255,255,.78);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.16em}
.eco-hero-scroll i{display:block;width:23px;height:37px;border:1px solid rgba(255,255,255,.42);border-radius:999px;position:relative}
.eco-hero-scroll i:after{content:"";position:absolute;left:50%;top:7px;width:4px;height:8px;border-radius:99px;background:#fff;transform:translateX(-50%);animation:ecoScrollCue 1.7s ease-in-out infinite}
@keyframes ecoScrollCue{0%,100%{opacity:.25;transform:translate(-50%,0)}50%{opacity:1;transform:translate(-50%,11px)}}

/* Panel hero más orientado al visitante */
.eco-hero-panel{overflow:hidden}
.eco-hero-panel:before{content:"";position:absolute;inset:-60% auto auto -40%;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(130,214,21,.22),transparent 70%);pointer-events:none}
.eco-hero-panel .eco-mini-label{display:inline-flex;padding:6px 9px;margin-bottom:8px;border-radius:999px;background:rgba(130,214,21,.12);border:1px solid rgba(130,214,21,.24);color:#dfffb1;font-size:.70rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}

/* Reveal on scroll */
.eco-reveal{opacity:0;transform:translateY(28px) scale(.985);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.75,.25,1)}
.eco-reveal.is-visible{opacity:1;transform:none}
.eco-reveal[data-eco-delay="1"]{transition-delay:.08s}.eco-reveal[data-eco-delay="2"]{transition-delay:.16s}.eco-reveal[data-eco-delay="3"]{transition-delay:.24s}.eco-reveal[data-eco-delay="4"]{transition-delay:.32s}.eco-reveal[data-eco-delay="5"]{transition-delay:.40s}
.eco-service img,.eco-room-card img,.eco-experience-card img,.eco-gallery img{transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .35s ease}
.eco-service:hover img,.eco-room-card:hover img,.eco-experience-card:hover img{transform:scale(1.06);filter:saturate(1.08)}
.eco-room-card{transition:transform .28s ease,box-shadow .28s ease}.eco-room-card:hover{transform:translateY(-8px);box-shadow:0 28px 60px rgba(13,27,47,.18)}

/* Mapa integrado */
.eco-location-map{height:310px;background:#071c2c;border-top:1px solid rgba(255,255,255,.10)}
.eco-location-map iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.88) contrast(1.02)}
.eco-map-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border-radius:16px;background:rgba(53,182,207,.10);border:1px solid rgba(53,182,207,.18);color:rgba(255,255,255,.88);font-size:.88rem}

/* Footer premium */
.eco-prefooter{position:relative;padding:58px 0;background:linear-gradient(110deg,rgba(6,32,46,.94),rgba(7,82,64,.90)),url('assets/images/hero-piscina.jpg') center/cover;color:#fff;overflow:hidden}
.eco-prefooter:before,.eco-prefooter:after{content:"";position:absolute;border-radius:50%;filter:blur(3px);pointer-events:none}.eco-prefooter:before{width:340px;height:340px;right:-90px;top:-150px;background:radial-gradient(circle,rgba(53,182,207,.20),transparent 70%)}.eco-prefooter:after{width:280px;height:280px;left:-90px;bottom:-150px;background:radial-gradient(circle,rgba(130,214,21,.18),transparent 70%)}
.eco-prefooter-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.4fr .6fr;gap:35px;align-items:center}.eco-prefooter h2{margin:0;font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;letter-spacing:-.04em}.eco-prefooter p{max-width:720px;color:rgba(255,255,255,.82);margin:14px 0 0}.eco-prefooter-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.eco-footer{position:relative;padding:58px 0 24px;background:radial-gradient(circle at 15% 0,rgba(53,182,207,.08),transparent 28%),linear-gradient(145deg,#04111d,#071b2b 56%,#07281f);overflow:hidden}.eco-footer:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 85%);pointer-events:none}
.eco-footer-grid{position:relative;z-index:2;grid-template-columns:1.25fr .8fr 1fr 1fr;gap:30px}.eco-footer-logo{width:210px;filter:drop-shadow(0 0 10px rgba(255,255,255,.20)) drop-shadow(0 10px 24px rgba(0,0,0,.28))}.eco-footer-brand-copy{max-width:350px;color:#a9bac8}.eco-footer h4{font-size:.83rem;text-transform:uppercase;letter-spacing:.12em;color:#dfffb1;margin-bottom:14px}.eco-footer-links{display:grid;gap:8px}.eco-footer-contact{display:grid;gap:10px;color:#a9bac8}.eco-footer-contact a{display:inline-flex;gap:8px;align-items:flex-start}.eco-footer-social{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.eco-social-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);font-weight:900;transition:.22s}.eco-social-btn:hover{transform:translateY(-3px);background:rgba(12,144,95,.30);border-color:rgba(130,214,21,.25)}
.eco-footer-tech{padding:16px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);color:#a9bac8;font-size:.86rem}.eco-footer-tech strong{display:block;color:#fff;margin-bottom:5px}.eco-footer-tech a{color:#dfffb1;font-weight:850}
.eco-credit{position:relative;z-index:2}.eco-credit span:last-child{display:inline-flex;gap:5px;align-items:center}.eco-credit a{padding:3px 8px;border-radius:999px;background:rgba(130,214,21,.08);border:1px solid rgba(130,214,21,.14);color:#dfffb1;text-decoration:none}.eco-credit a:hover{background:rgba(130,214,21,.16)}

/* Floating actions */
.eco-floating-actions{position:fixed;z-index:990;right:18px;bottom:18px;display:grid;gap:9px}.eco-float-action{display:flex;align-items:center;gap:9px;min-height:48px;padding:0 15px;border-radius:999px;color:#fff;font-weight:850;box-shadow:0 14px 32px rgba(0,0,0,.20);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);transition:.22s}.eco-float-action:hover{transform:translateY(-3px)}.eco-float-action.whatsapp{background:linear-gradient(135deg,#179e61,#25d366)}.eco-float-action.book{background:linear-gradient(135deg,#123b62,#0c905f)}

@media(max-width:1050px){.eco-hero-controls{bottom:55px}.eco-hero-scroll{display:none}.eco-footer-grid{grid-template-columns:1fr 1fr}.eco-prefooter-grid{grid-template-columns:1fr}.eco-prefooter-actions{justify-content:flex-start}}
@media(max-width:760px){.eco-hero-controls{left:18px;bottom:52px}.eco-location-map{height:270px}.eco-footer-grid{grid-template-columns:1fr}.eco-prefooter{padding:46px 0}.eco-floating-actions{right:12px;bottom:12px}.eco-float-action span{display:none}.eco-float-action{width:50px;height:50px;min-height:50px;padding:0;justify-content:center;border-radius:16px;font-size:20px}}
@media(prefers-reduced-motion:reduce){.eco-hero-slide,.eco-reveal,.eco-btn:before,.eco-hero-scroll i:after{animation:none!important;transition:none!important}.eco-reveal{opacity:1!important;transform:none!important}}


/* v1.0.6 · mejora de menú / menos transparencia y más elegancia */
.eco-header{background:transparent!important;box-shadow:none!important}
.eco-nav{
  height:86px;
  margin-top:16px;
  padding:0 16px 0 14px;
  border-radius:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(246,250,249,.95));
  border:1px solid rgba(12,144,95,.10);
  box-shadow:0 18px 46px rgba(8,24,40,.14), inset 0 1px 0 rgba(255,255,255,.82);
  backdrop-filter:none;
}
.eco-header.is-scrolled .eco-nav{
  background:linear-gradient(180deg,rgba(8,25,40,.97),rgba(10,32,51,.95));
  border-color:rgba(255,255,255,.08);
  box-shadow:0 18px 46px rgba(0,0,0,.25);
}
.eco-brand{padding:8px 12px 8px 6px;border-radius:20px;min-height:62px}
.eco-brand img{
  width:154px;max-height:80px;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.10));
}
.eco-menu{gap:10px;font-size:.92rem;font-weight:800;color:var(--eco-navy)}
.eco-header:not(.is-scrolled) .eco-menu{color:var(--eco-navy)}
.eco-header.is-scrolled .eco-menu{color:#fff}
.eco-header .eco-menu li{display:flex;align-items:center}
.eco-header .eco-menu a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:0 14px;border-radius:999px;
  opacity:1;transition:.2s;color:inherit;
}
.eco-header .eco-menu a:after{display:none}
.eco-header:not(.is-scrolled) .eco-menu a:hover,
.eco-header:not(.is-scrolled) .eco-menu .current-menu-item > a,
.eco-header:not(.is-scrolled) .eco-menu .current_page_item > a{
  background:rgba(12,144,95,.10);color:var(--eco-green);
  box-shadow:inset 0 0 0 1px rgba(12,144,95,.08);
}
.eco-header.is-scrolled .eco-menu a:hover,
.eco-header.is-scrolled .eco-menu .current-menu-item > a,
.eco-header.is-scrolled .eco-menu .current_page_item > a{
  background:rgba(255,255,255,.10);color:#fff;
}
.eco-nav-cta{margin-left:8px;box-shadow:0 12px 28px rgba(12,144,95,.22)}
.eco-mobile-toggle{
  background:#f1f7f5!important;color:var(--eco-navy)!important;border-color:rgba(12,144,95,.12)!important;
  box-shadow:0 8px 18px rgba(8,24,40,.10)
}
.eco-header.is-scrolled .eco-mobile-toggle{
  background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important;
}
@media(max-width:1050px){
  .eco-nav{height:78px;margin-top:12px;padding:0 14px}
  .eco-menu{
    top:92px;left:16px;right:16px;padding:14px;
    background:linear-gradient(180deg,rgba(255,255,255,.985),rgba(245,250,249,.98));
    border:1px solid rgba(12,144,95,.10);border-radius:24px;
    box-shadow:0 22px 40px rgba(8,24,40,.16)
  }
  .eco-header.is-scrolled .eco-menu{
    background:linear-gradient(180deg,rgba(8,25,40,.985),rgba(10,32,51,.98));
    border-color:rgba(255,255,255,.08)
  }
  .eco-header:not(.is-scrolled) .eco-menu{color:var(--eco-navy)}
  .eco-header.is-scrolled .eco-menu{color:#fff}
  .eco-menu li{width:100%}
  .eco-menu a{justify-content:flex-start;width:100%;padding:0 14px}
  .eco-nav-cta{display:none}
}
@media(max-width:760px){
  .eco-brand img{width:138px}
}


/* v1.0.7 · Menú completo blanco */
.eco-header{
  background:#ffffff!important;
  box-shadow:0 8px 28px rgba(8,24,40,.10)!important;
  border-bottom:1px solid rgba(13,27,47,.06);
  backdrop-filter:none!important;
}
.eco-header.is-scrolled{
  background:#ffffff!important;
  box-shadow:0 10px 30px rgba(8,24,40,.14)!important;
}
.eco-nav,
.eco-header.is-scrolled .eco-nav{
  width:min(1320px,calc(100% - 28px));
  height:86px;
  margin:0 auto;
  padding:0 6px;
  border:0;
  border-radius:0;
  background:#ffffff!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.eco-brand{
  min-height:70px;
  padding:5px 12px 5px 0;
}
.eco-brand img{
  width:165px;
  max-height:78px;
  object-fit:contain;
  filter:none!important;
}
.eco-menu,
.eco-header:not(.is-scrolled) .eco-menu,
.eco-header.is-scrolled .eco-menu{
  color:var(--eco-navy)!important;
  gap:6px;
}
.eco-header .eco-menu a{
  min-height:44px;
  padding:0 14px;
  border-radius:14px;
  color:var(--eco-navy)!important;
  font-weight:800;
  opacity:1;
}
.eco-header .eco-menu a:hover,
.eco-header .eco-menu .current-menu-item > a,
.eco-header .eco-menu .current_page_item > a{
  background:#eef8f4!important;
  color:var(--eco-green)!important;
  box-shadow:inset 0 0 0 1px rgba(12,144,95,.08);
}
.eco-nav-cta{
  margin-left:10px;
  background:linear-gradient(135deg,var(--eco-green),#12b06f)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(12,144,95,.22)!important;
}
.eco-mobile-toggle,
.eco-header.is-scrolled .eco-mobile-toggle,
.eco-header:not(.is-scrolled) .eco-mobile-toggle{
  background:#f2f7f5!important;
  color:var(--eco-navy)!important;
  border:1px solid rgba(13,27,47,.10)!important;
  box-shadow:none!important;
}
.eco-page-hero{
  padding-top:160px;
}
@media(max-width:1050px){
  .eco-nav,
  .eco-header.is-scrolled .eco-nav{
    width:min(100% - 20px,1320px);
    height:78px;
    margin:0 auto;
  }
  .eco-menu,
  .eco-header.is-scrolled .eco-menu,
  .eco-header:not(.is-scrolled) .eco-menu{
    top:78px;
    left:10px;
    right:10px;
    padding:12px;
    background:#fff!important;
    color:var(--eco-navy)!important;
    border:1px solid rgba(13,27,47,.08);
    border-radius:0 0 20px 20px;
    box-shadow:0 20px 35px rgba(8,24,40,.14);
  }
  .eco-menu a{
    color:var(--eco-navy)!important;
    border-radius:12px;
  }
  .eco-nav-cta{display:none}
}
@media(max-width:760px){
  .eco-brand img{width:140px}
}


/* ==========================================================
   v1.1.0 · REDISEÑO BOOTSTRAP 5.3 / PREMIUM
   ========================================================== */
:root{--eco-bs-green:#07965f;--eco-bs-green2:#0bb979;--eco-bs-navy:#081d32;--eco-bs-blue:#0879da;--eco-bs-purple:#7b1fa2;--eco-bs-cyan:#15c0d4;--eco-bs-lime:#8ed629;--eco-bs-soft:#f5f9f8}
body{padding-top:86px;background:#fff}.fw-black{font-weight:900}.text-white-75{color:rgba(255,255,255,.78)!important}.eco-scroll-progress{position:fixed;z-index:1200;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--eco-lime),var(--eco-aqua),#7d35b2);box-shadow:0 0 12px rgba(53,182,207,.65)}
/* Bootstrap navbar */
.eco-header{position:fixed!important;top:0!important;left:0;right:0;z-index:1100;background:#fff!important;border-bottom:1px solid #edf1f3;box-shadow:0 4px 18px rgba(8,29,50,.07)!important;transition:.25s}.admin-bar .eco-header{top:32px!important}.eco-header.is-scrolled{box-shadow:0 12px 30px rgba(8,29,50,.12)!important}.eco-navbar{padding:0!important;min-height:86px}.eco-nav-wrap{width:min(1320px,calc(100% - 34px));margin:auto;padding:0}.eco-brand{margin-right:20px;padding:4px 0}.eco-brand img{width:158px;max-height:78px;object-fit:contain;filter:none!important}.eco-menu .nav-link{font-weight:800;color:#10253f!important;border-radius:12px;padding:.65rem .75rem!important;font-size:.91rem;transition:.18s}.eco-menu .nav-link:hover,.eco-menu .current-menu-item>.nav-link,.eco-menu .current_page_item>.nav-link{background:#eef9f4;color:var(--eco-bs-green)!important}.eco-reserve-btn{border:0;border-radius:14px;padding:.75rem 1.2rem;font-weight:850;background:linear-gradient(135deg,var(--eco-bs-green),var(--eco-bs-green2));box-shadow:0 10px 22px rgba(7,150,95,.22)}.eco-bs-toggler{border:1px solid #dde7e4!important;border-radius:12px;padding:.45rem .6rem}.eco-bs-toggler:focus{box-shadow:0 0 0 .2rem rgba(7,150,95,.12)!important}
/* Hero Bootstrap carousel */
.eco-bs-hero{height:min(760px,calc(100vh - 86px));min-height:650px;background:#051827}.eco-bs-hero .carousel,.eco-bs-hero .carousel-inner,.eco-bs-hero .carousel-item{height:100%}.eco-bs-hero-img{object-fit:cover;filter:saturate(1.08) contrast(1.03)}.eco-hero-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(3,17,29,.90) 0%,rgba(3,17,29,.65) 42%,rgba(3,17,29,.14) 76%),linear-gradient(0deg,rgba(3,17,29,.42),transparent 55%)}.eco-bs-hero-content{z-index:4}.eco-bs-hero-content h1{font-size:clamp(3rem,6.4vw,6.4rem);line-height:.88;letter-spacing:-.05em;max-width:900px;text-shadow:0 14px 34px rgba(0,0,0,.28)}.eco-bs-hero-content h1 span{display:block;color:#69e0bd;font-size:.57em;line-height:1.05;margin-top:.12em}.eco-bs-hero-content .lead{max-width:680px;font-size:clamp(1.05rem,1.5vw,1.28rem)}.eco-glass-badge{padding:.7rem 1rem;background:rgba(4,26,43,.50)!important;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(9px);font-size:.78rem;letter-spacing:.04em}.eco-hero-cta,.eco-hero-secondary{border-radius:16px;padding:.9rem 1.4rem;font-weight:850}.eco-hero-cta{background:linear-gradient(135deg,#07a769,#11c887);border:0;box-shadow:0 14px 30px rgba(7,167,105,.30)}.eco-hero-secondary{border-width:1.5px;background:rgba(4,26,43,.26);backdrop-filter:blur(8px)}.eco-carousel-control{z-index:5;width:64px;height:64px;top:50%;transform:translateY(-50%);margin:0 18px;border-radius:50%;background:rgba(4,21,36,.52);border:1px solid rgba(255,255,255,.2);opacity:1}.eco-carousel-control.carousel-control-next{left:auto}.eco-carousel-indicators{z-index:5;bottom:22px}.eco-carousel-indicators [data-bs-target]{width:10px;height:10px;border-radius:50%;border:0}.eco-hero-signature{position:absolute;z-index:4;right:7%;bottom:80px;color:#fff;font-family:cursive;font-size:2.25rem;line-height:.82;transform:rotate(-7deg);text-shadow:0 6px 20px rgba(0,0,0,.38)}
/* headings */
.eco-section-kicker{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--eco-bs-green);margin-bottom:.45rem}.eco-section-kicker i{font-size:1rem}
/* service cards */
.eco-bs-services{position:relative;overflow:hidden}.eco-bs-services:after{content:"";position:absolute;right:-60px;bottom:-80px;width:260px;height:300px;background:radial-gradient(circle,rgba(7,150,95,.08),transparent 68%);pointer-events:none}.eco-service-bs{border-radius:20px!important;overflow:visible;background:#fff;box-shadow:0 10px 28px rgba(9,31,50,.09);transition:.22s;position:relative}.eco-service-bs:hover{transform:translateY(-7px);box-shadow:0 20px 38px rgba(9,31,50,.16)}.eco-service-photo{position:relative;height:145px;border-radius:20px 20px 10px 10px;overflow:visible}.eco-service-photo img{width:100%;height:100%;object-fit:cover;border-radius:20px 20px 10px 10px}.eco-service-bs-icon{position:absolute;left:18px;bottom:-24px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.4rem;border:4px solid #fff;box-shadow:0 9px 22px rgba(0,0,0,.20)}.eco-service-bs-icon.green{background:linear-gradient(135deg,#0aab6d,#078c5b)}.eco-service-bs-icon.blue{background:linear-gradient(135deg,#0aa7dc,#086ed0)}.eco-service-bs-icon.purple{background:linear-gradient(135deg,#bd3ed0,#6e20ad)}.eco-service-bs .card-body{padding:2rem 1rem 1rem}.eco-service-bs .card-body h3{font-size:1rem}.eco-card-arrow{display:grid;place-items:center;width:28px;height:28px;margin-left:auto;border-radius:50%;background:#edf8f4;color:var(--eco-bs-green)}
/* hotel */
.eco-hotel-showcase{background:linear-gradient(135deg,#0a392f 0%,#0c5947 32%,#f5faf8 32%,#f5faf8 100%);position:relative;overflow:hidden}.eco-hotel-intro{padding:2rem 1.5rem;color:#fff;display:flex;flex-direction:column;justify-content:center}.eco-hotel-intro p{color:rgba(255,255,255,.78)}.eco-room-bs{border-radius:20px!important;overflow:hidden;box-shadow:0 12px 30px rgba(9,31,50,.12);transition:.2s}.eco-room-bs:hover{transform:translateY(-4px)}.eco-room-bs img{height:210px;object-fit:cover}.eco-check-list li{display:flex;align-items:center;gap:.35rem;margin:.22rem 0}.eco-check-list i{color:#0aa567;font-weight:900}
/* pool */
.eco-pool-feature{min-height:570px;display:flex;align-items:center}.eco-pool-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.eco-pool-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,34,.93),rgba(4,20,34,.60) 52%,rgba(4,20,34,.24))}.eco-pool-mini{height:100%;padding:1.2rem;border-radius:20px;background:rgba(3,20,34,.58);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);color:#fff;text-align:center;box-shadow:0 12px 28px rgba(0,0,0,.18)}.eco-pool-mini i{display:grid;place-items:center;width:54px;height:54px;margin:0 auto .6rem;border-radius:50%;font-size:1.45rem;background:linear-gradient(135deg,#0aa7dc,#0db978);box-shadow:0 8px 20px rgba(10,167,220,.25)}.eco-pool-mini span{display:block;font-weight:800;font-size:.92rem}
/* wristband */
.eco-wristband-section{background:radial-gradient(circle at 70% 35%,rgba(37,116,209,.18),transparent 28%),linear-gradient(135deg,#061b30,#082a47 52%,#071a2c);color:#fff;overflow:hidden}.eco-wristband-section .text-secondary{color:rgba(255,255,255,.74)!important}.eco-wristband-media{position:relative;padding:10px}.eco-wristband-media img{box-shadow:0 24px 55px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12)}.eco-qr-orbit{position:absolute;right:-8px;top:-10px;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#15c0d4,#7818af);font-size:2rem;border:5px solid #081f35;box-shadow:0 0 28px rgba(21,192,212,.35)}.eco-tech-card{display:flex;gap:.9rem;align-items:flex-start;padding:1rem;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(8px)}.eco-tech-card>i{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:50%;font-size:1.2rem;background:linear-gradient(135deg,#0d8fe9,#14c1d4)}.eco-tech-card strong,.eco-tech-card span{display:block}.eco-tech-card span{font-size:.83rem;color:rgba(255,255,255,.68);margin-top:.15rem}
/* pricing */
.eco-price-bs{padding:1.25rem;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(9,31,50,.08);text-align:center;height:100%}.eco-price-bs span{display:block;color:#667788;font-weight:750}.eco-price-bs strong{display:block;color:var(--eco-bs-green);font-size:2rem;margin-top:.1rem}
/* home contact */
.eco-home-contact{background:#fff}.eco-contact-home-card,.eco-home-form,.eco-map-card{border:1px solid #e7eef0;border-radius:22px;background:#fff;box-shadow:0 14px 34px rgba(9,31,50,.08);overflow:hidden}.eco-contact-home-card,.eco-home-form{padding:1.5rem}.eco-contact-line{display:flex;align-items:center;gap:.75rem;padding:.78rem .9rem;border-radius:15px;background:#f6faf9;color:#10253f;text-decoration:none;border:1px solid #eaf1ef}.eco-contact-line>i{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#e7f8f1;color:#078a58;font-size:1.08rem}.eco-contact-line small,.eco-contact-line span{display:block}.eco-contact-line small{font-size:.7rem;color:#71808d;text-transform:uppercase;letter-spacing:.06em;font-weight:850}.eco-map-card{position:relative;min-height:430px}.eco-map-card iframe{border:0!important}.eco-map-open{position:absolute;top:14px;right:14px;border-radius:999px;box-shadow:0 8px 18px rgba(9,31,50,.12)}.eco-home-form .form-control,.eco-home-form .form-select{border-radius:12px;border-color:#dbe5e8;padding:.7rem .85rem}.eco-home-form .form-control:focus,.eco-home-form .form-select:focus{border-color:#65c9a4;box-shadow:0 0 0 .2rem rgba(7,150,95,.12)}
/* prefooter/footer */
.eco-prefooter-v110{padding:3.5rem 0;background:linear-gradient(90deg,rgba(5,31,46,.96),rgba(7,72,58,.92)),url('assets/images/piscina-noche.jpg') center/cover}.eco-footer-v110{background:#061827;color:#d7e4eb;position:relative;overflow:hidden}.eco-footer-v110:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 20%,rgba(7,150,95,.12),transparent 25%),radial-gradient(circle at 92% 30%,rgba(123,31,162,.14),transparent 24%);pointer-events:none}.eco-footer-v110>.container{position:relative}.eco-footer-logo-v110{width:205px;filter:drop-shadow(0 0 12px rgba(255,255,255,.12))}.eco-social-v110{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);font-size:1.1rem;transition:.2s}.eco-social-v110:hover{color:#fff;background:#0a9c63;transform:translateY(-2px)}.eco-footer-links-v110 li{margin:.42rem 0}.eco-footer-links-v110 a,.eco-footer-contact-v110 a{color:#cbdbe3;text-decoration:none}.eco-footer-links-v110 a:hover,.eco-footer-contact-v110 a:hover{color:#8ee8c6}.eco-footer-contact-v110 li{display:flex;gap:.6rem;margin:.7rem 0;align-items:flex-start}.eco-footer-contact-v110 i{color:#58d4a7;margin-top:.15rem}.eco-tech-pill{display:flex;align-items:center;gap:.65rem;margin-top:1rem;padding:.85rem 1rem;border-radius:16px;background:rgba(123,31,162,.14);border:1px solid rgba(173,90,205,.18);font-size:.84rem}.eco-tech-pill i{color:#d789f4;font-size:1.2rem}.eco-footer-bottom-v110{border-top:1px solid rgba(255,255,255,.10);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:#8fa5b3}.eco-footer-bottom-v110 a{color:#6cd9b4;font-weight:800;text-decoration:none}.eco-floating-v110{position:fixed;right:20px;bottom:20px;z-index:1080;display:grid;gap:10px}.eco-floating-btn{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;color:#fff!important;text-decoration:none;font-size:1.25rem;box-shadow:0 12px 26px rgba(0,0,0,.20)}.eco-floating-btn.book{background:#0a9c63}.eco-floating-btn.whatsapp{background:#25d366}
/* reveal */
.eco-reveal-v110{opacity:0;transform:translateY(18px);transition:opacity .55s ease var(--eco-delay,0ms),transform .55s ease var(--eco-delay,0ms)}.eco-reveal-v110.is-visible{opacity:1;transform:none}
/* Contact page compatibility */
.eco-page-hero{padding-top:110px}.eco-contact-form .form-control,.eco-contact-form .form-select{border-radius:12px}
/* Modal */
#ecoExperienceModal .modal-content{box-shadow:0 30px 80px rgba(0,0,0,.28)}
@media(max-width:991.98px){body{padding-top:78px}.eco-navbar{min-height:78px}.eco-nav-wrap{width:min(100% - 20px,1320px)}.eco-brand img{width:140px}.eco-navbar .navbar-collapse{position:absolute;top:78px;left:10px;right:10px;padding:1rem;background:#fff;border-radius:0 0 20px 20px;box-shadow:0 20px 36px rgba(8,29,50,.14);border:1px solid #e8edef}.eco-reserve-btn{margin-top:.8rem;margin-left:0!important;width:100%}.eco-bs-hero{height:720px}.eco-bs-hero-content h1{font-size:clamp(3rem,10vw,5rem)}.eco-carousel-control{width:48px;height:48px;margin:0 8px}.eco-hotel-showcase{background:linear-gradient(180deg,#0a4d3e 0,#0a4d3e 29%,#f5faf8 29%,#f5faf8 100%)}.eco-footer-bottom-v110{flex-direction:column}.admin-bar .eco-header{top:46px!important}}
@media(max-width:767.98px){.eco-bs-hero{height:680px;min-height:680px}.eco-bs-hero-content{top:52%!important}.eco-bs-hero-content h1 span{font-size:.48em}.eco-carousel-control{display:none}.eco-service-photo{height:180px}.eco-hotel-showcase{background:#f5faf8}.eco-hotel-intro{background:linear-gradient(135deg,#0a392f,#0c5947);border-radius:22px;padding:1.5rem}.eco-pool-feature{min-height:720px}.eco-wristband-section{text-align:center}.eco-wristband-section .btn{margin:auto}.eco-tech-card{text-align:left}.eco-map-card{min-height:340px}.eco-prefooter-v110{text-align:center}.eco-prefooter-v110 .col-lg-4{text-align:center!important}.eco-floating-v110{right:12px;bottom:12px}.eco-floating-btn{width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){.eco-reveal-v110{opacity:1;transform:none;transition:none}.carousel-item{transition:none!important}}
