:root{--green:#173f33;--green2:#245f4c;--teal:#2d9c91;--sand:#f6f1e7;--cream:#fffdf8;--ink:#1d2622;--muted:#65716b;--orange:#bf6a2f;--line:#e4e7df;--shadow:0 18px 48px rgba(23,63,51,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);line-height:1.55}img,video{max-width:100%;display:block}a{text-decoration:none;color:inherit}.wrap{width:min(1160px,calc(100% - 32px));margin:auto}.topbar{position:fixed;z-index:50;top:0;left:0;right:0;padding:14px 0;transition:.25s}.topbar.scrolled{background:rgba(255,253,248,.94);backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(0,0,0,.06)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.02em}.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover}.topbar:not(.scrolled) .brand,.topbar:not(.scrolled) .navlinks a{color:white}.navlinks{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700}.lang{border:1px solid currentColor;border-radius:999px;padding:8px 11px;background:transparent;color:inherit;font-weight:800;cursor:pointer}.menu{display:none;border:0;background:transparent;font-size:26px;color:inherit}.hero{min-height:88vh;display:grid;align-items:end;position:relative;background:linear-gradient(90deg,rgba(9,32,25,.77),rgba(9,32,25,.26)),url('assets/images/beach-wide.webp') center/cover no-repeat;color:white}.hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,var(--cream));opacity:.15}.hero-inner{position:relative;z-index:2;padding:160px 0 90px;max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:900;margin-bottom:16px}.hero h1{font-family:Georgia,serif;font-size:clamp(42px,7vw,78px);line-height:.98;margin:0 0 20px}.hero p{font-size:clamp(18px,2.1vw,23px);max-width:680px;margin:0 0 30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:14px 21px;font-weight:900;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--orange);color:white}.btn-light{background:white;color:var(--green)}.btn-outline{border-color:var(--green);color:var(--green);background:transparent}.trust{background:var(--green);color:white}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.13)}.trust-item{padding:22px 16px;text-align:center;background:var(--green)}.trust-item b{display:block;font-size:15px}.trust-item span{opacity:.75;font-size:13px}.section{padding:88px 0}.section.alt{background:var(--sand)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-head h2{font-family:Georgia,serif;font-size:clamp(34px,5vw,54px);line-height:1.04;margin:0}.section-head p{max-width:590px;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}.card-img{height:270px;object-fit:cover;width:100%}.card-body{padding:24px}.tag{display:inline-flex;background:#eef7f3;color:var(--green2);font-size:12px;font-weight:900;padding:7px 10px;border-radius:999px;margin-bottom:12px}.card h3{font-family:Georgia,serif;font-size:28px;margin:0 0 8px}.meta{display:flex;flex-wrap:wrap;gap:8px 15px;color:var(--muted);font-size:14px;margin:0 0 18px}.card p{color:var(--muted)}.link{font-weight:900;color:var(--green2)}.booking{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.booking-box{background:white;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.booking-box h3{margin:0 0 4px;font-size:26px}.booking-box>p{margin-top:0;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:800}.field input,.field select{width:100%;padding:14px;border-radius:14px;border:1px solid #ccd4cf;background:#fff;font:inherit;color:var(--ink)}.status{margin-top:14px;padding:13px 15px;border-radius:14px;background:#f3f5f2;color:var(--muted);font-size:14px}.status.good{background:#eaf7ef;color:#20603f}.status.bad{background:#fff1ed;color:#8b3c2a}.whatsapp{width:100%;margin-top:12px;background:#1d9b57;color:white}.experience-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.feature-photo{height:520px;object-fit:cover;width:100%;border-radius:28px}.stack{display:grid;gap:20px}.stack img{height:250px;width:100%;object-fit:cover;border-radius:28px}.video-card{display:grid;grid-template-columns:.75fr 1.25fr;gap:30px;align-items:center;margin-top:30px}.video-card video{height:520px;border-radius:28px;object-fit:cover;background:#000;margin:auto}.video-copy{padding:15px}.video-copy h3{font-family:Georgia,serif;font-size:42px;margin:0 0 14px}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:220px;gap:12px}.gallery img{width:100%;height:100%;object-fit:cover;border-radius:18px}.gallery img:first-child{grid-row:span 2}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{padding:28px;border-radius:24px;background:white;border:1px solid var(--line)}.panel h3{margin-top:0}.faq{display:grid;gap:12px}.faq details{background:white;border:1px solid var(--line);border-radius:18px;padding:18px 20px}.faq summary{font-weight:900;cursor:pointer}.cta{background:var(--green);color:white;border-radius:32px;padding:48px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-family:Georgia,serif;font-size:42px;margin:0 0 8px}.footer{padding:44px 0;background:#102d25;color:white}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer p{opacity:.7}.subhero{padding:150px 0 72px;background:var(--green);color:white}.subhero h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,68px);margin:0 0 12px}.crumb{opacity:.75;font-size:14px}.sticky-wa{position:fixed;z-index:40;right:20px;bottom:20px;background:#1d9b57;color:white;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:25px;box-shadow:0 10px 25px rgba(0,0,0,.2)}.note{font-size:12px;color:var(--muted);margin-top:10px}.seo-copy{columns:2;column-gap:40px;color:var(--muted)}@media(max-width:900px){.navlinks{display:none}.menu{display:block}.navlinks.open{display:flex;position:absolute;top:68px;left:16px;right:16px;flex-direction:column;align-items:stretch;background:white;color:var(--ink)!important;padding:18px;border-radius:18px;box-shadow:var(--shadow)}.topbar:not(.scrolled) .navlinks.open a{color:var(--ink)}.cards,.booking,.experience-grid,.video-card,.info-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr 1fr}.section{padding:66px 0}.feature-photo{height:420px}.video-card video{height:480px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery img:first-child{grid-column:1/-1;grid-row:span 1}.seo-copy{columns:1}}@media(max-width:600px){.wrap{width:min(100% - 22px,1160px)}.hero{min-height:82vh}.hero-inner{padding-bottom:60px}.hero h1{font-size:45px}.section-head{display:block}.section-head p{margin-top:12px}.cards{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr 1fr}.trust-item{padding:18px 8px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.booking-box{padding:20px}.gallery{grid-template-columns:1fr;grid-auto-rows:230px}.gallery img:first-child{grid-column:auto}.cta{padding:30px;display:block}.cta .btn{margin-top:18px}.footer-grid{display:block}.video-card video{height:430px}.feature-photo{height:330px}.stack img{height:210px}}
.reviews-section{background:var(--cream)}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review-card{background:white;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.review-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.review-card h3{font-family:Georgia,serif;font-size:25px;margin:0 0 2px}.review-top span:not(.review-stars){font-size:13px;color:var(--muted)}.review-stars{color:#168b82;letter-spacing:2px;font-size:18px;white-space:nowrap}.review-card p{margin:0;color:var(--muted);font-size:16px}.reviews-section .section-head{align-items:end}@media(max-width:900px){.reviews-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.reviews-grid{grid-template-columns:1fr}.review-card{padding:21px}}
.video-wrap{position:relative;width:max-content;max-width:100%;margin:auto}.video-wrap video{margin:0}.sound-btn{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:3;border:0;border-radius:999px;padding:10px 16px;background:rgba(16,45,37,.92);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.22);white-space:nowrap}.sound-btn.on{background:rgba(29,155,87,.95)}


/* V13 definitive logo fix */
.topbar .nav{
  min-height:132px !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
}
.topbar .brand{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
}
.topbar .brand img{
  width:110px !important;
  height:110px !important;
  min-width:110px !important;
  max-width:110px !important;
  max-height:110px !important;
  object-fit:contain !important;
  border-radius:50% !important;
  flex:0 0 110px !important;
}
.topbar .brand span,
.topbar .brand strong{
  font-size:20px !important;
}
@media (max-width:700px){
  .topbar .nav{min-height:94px !important;}
  .topbar .brand img{
    width:74px !important;
    height:74px !important;
    min-width:74px !important;
    max-width:74px !important;
    max-height:74px !important;
    flex-basis:74px !important;
  }
  .topbar .brand span,
  .topbar .brand strong{font-size:15px !important;}
}

/* V13 professional social + location */
.connect-modern{
  background:#f7f4ed;
  padding:76px 24px;
  color:#15372e;
}
.connect-modern-wrap{
  max-width:1120px;
  margin:0 auto;
}
.connect-modern-head{
  max-width:760px;
  margin-bottom:34px;
}
.connect-modern-kicker{
  display:inline-block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
  color:#c96e2b;
  margin-bottom:12px;
}
.connect-modern-head h2{
  font-family:Georgia,serif;
  font-size:clamp(34px,4vw,50px);
  line-height:1.08;
  margin:0 0 14px;
  color:#102f27;
}
.connect-modern-head p{
  margin:0;
  color:#5b6964;
  font-size:16px;
  line-height:1.7;
}
.connect-modern-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.connect-modern-card{
  background:#fff;
  border:1px solid #e0e6e1;
  border-radius:24px;
  padding:28px;
  box-shadow:0 16px 40px rgba(20,55,45,.08);
}
.connect-modern-card h3{
  font-family:Georgia,serif;
  font-size:25px;
  margin:0 0 20px;
}
.connect-modern-link{
  display:grid;
  grid-template-columns:48px 1fr 24px;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  margin-top:12px;
  border:1px solid #dce4df;
  border-radius:16px;
  text-decoration:none !important;
  background:#fbfcfb;
  color:#15372e !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.connect-modern-link:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(20,55,45,.11);
  border-color:#a8c7b9;
}
.connect-modern-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:white;
  font-size:22px;
  font-weight:800;
  background:#176b52;
}
.connect-modern-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.connect-modern-copy strong{
  font-size:16px;
  color:#15372e;
}
.connect-modern-copy small{
  font-size:13px;
  color:#6c7974;
}
.connect-modern-arrow{
  font-size:20px;
  color:#54736a;
}
.connect-modern-link.fb .connect-modern-icon{background:#1877f2;}
.connect-modern-link.ig .connect-modern-icon{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);}
.connect-modern-link.maps .connect-modern-icon{background:#2b8c61;}
.connect-modern-link.waze .connect-modern-icon{background:#28a9e0;}

@media(max-width:760px){
  .connect-modern{padding:56px 18px;}
  .connect-modern-grid{grid-template-columns:1fr;}
  .connect-modern-card{padding:22px;}
}


/* V14 — professional modern navigation inspired by boutique hotel sites */
.site-header-v14{
  position:relative;
  z-index:50;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(18,55,46,.08);
  box-shadow:0 4px 22px rgba(18,55,46,.05);
}
.header-inner-v14{
  max-width:1240px;
  margin:0 auto;
  min-height:118px;
  padding:0 24px;
  display:grid;
  grid-template-columns:minmax(300px,1fr) auto auto;
  align-items:center;
  gap:28px;
}
.brand-v14{
  display:flex;
  align-items:center;
  gap:16px;
  text-decoration:none !important;
  color:#12372e !important;
  min-width:0;
}
.brand-v14 img{
  width:104px;
  height:104px;
  object-fit:contain;
  flex:0 0 104px;
}
.brand-copy-v14{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}
.brand-copy-v14 strong{
  font-size:24px;
  font-weight:800;
  letter-spacing:-.02em;
}
.brand-copy-v14 small{
  margin-top:8px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  color:#c96e2b;
}
.main-nav-v14{
  display:flex;
  align-items:center;
  gap:30px;
  white-space:nowrap;
}
.main-nav-v14 a{
  position:relative;
  color:#1f2d29 !important;
  text-decoration:none !important;
  font-size:15px;
  font-weight:700;
  padding:44px 0 40px;
}
.main-nav-v14 a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:30px;
  height:2px;
  background:#0b6d59;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .2s ease;
}
.main-nav-v14 a:hover::after{
  transform:scaleX(1);
}
.header-actions-v14{
  display:flex;
  align-items:center;
  gap:12px;
  padding-left:20px;
  border-left:1px solid #e3e7e4;
}
.lang-v14{
  height:44px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid #d7ded9;
  background:#fff;
  color:#12372e;
  font-weight:800;
  cursor:pointer;
}
.header-icon-v14{
  width:40px;
  height:40px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#12372e !important;
  text-decoration:none !important;
  font-size:20px;
  transition:background .18s ease,transform .18s ease;
}
.header-icon-v14:hover{
  background:#eef5f1;
  transform:translateY(-1px);
}

@media(max-width:1080px){
  .header-inner-v14{
    grid-template-columns:1fr auto;
  }
  .main-nav-v14{
    grid-column:1/-1;
    justify-content:center;
    border-top:1px solid #edf0ee;
    gap:24px;
  }
  .main-nav-v14 a{
    padding:16px 0 14px;
  }
  .main-nav-v14 a::after{
    bottom:7px;
  }
}

@media(max-width:760px){
  .header-inner-v14{
    min-height:auto;
    padding:10px 14px;
    gap:12px;
  }
  .brand-v14 img{
    width:72px;
    height:72px;
    flex-basis:72px;
  }
  .brand-copy-v14 strong{
    font-size:17px;
  }
  .brand-copy-v14 small{
    display:none;
  }
  .header-actions-v14{
    gap:6px;
    padding-left:10px;
  }
  .header-icon-v14{
    display:none;
  }
  .lang-v14{
    height:38px;
    padding:0 10px;
    font-size:13px;
  }
  .main-nav-v14{
    overflow-x:auto;
    justify-content:flex-start;
    gap:20px;
    scrollbar-width:none;
  }
  .main-nav-v14::-webkit-scrollbar{
    display:none;
  }
  .main-nav-v14 a{
    font-size:13px;
    flex:0 0 auto;
  }
}


/* V15 — functional boutique header with correct icons */
.site-header-v15{
  position:relative;
  z-index:100;
  background:#fff;
  border-bottom:1px solid rgba(18,55,46,.08);
  box-shadow:0 4px 20px rgba(18,55,46,.04);
}
.header-inner-v15{
  max-width:1240px;
  margin:0 auto;
  min-height:116px;
  padding:0 24px;
  display:grid;
  grid-template-columns:minmax(300px,1fr) auto auto;
  align-items:center;
  gap:28px;
}
.brand-v15{
  display:flex;
  align-items:center;
  gap:16px;
  text-decoration:none!important;
  color:#12372e!important;
}
.brand-v15 img{
  width:104px;
  height:104px;
  object-fit:contain;
  flex:0 0 104px;
}
.brand-copy-v15{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}
.brand-copy-v15 strong{
  font-size:24px;
  font-weight:800;
  letter-spacing:-.02em;
}
.brand-copy-v15 small{
  margin-top:8px;
  color:#c96e2b;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
.main-nav-v15{
  display:flex;
  align-items:center;
  gap:28px;
  white-space:nowrap;
}
.main-nav-v15 a{
  position:relative;
  color:#1f2d29!important;
  text-decoration:none!important;
  font-size:15px;
  font-weight:700;
  padding:44px 0 40px;
}
.main-nav-v15 a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:29px;
  height:2px;
  background:#0b6d59;
  transform:scaleX(0);
  transition:transform .2s ease;
}
.main-nav-v15 a:hover::after,
.main-nav-v15 a:focus-visible::after{
  transform:scaleX(1);
}
.header-actions-v15{
  display:flex;
  align-items:center;
  gap:10px;
  padding-left:18px;
  border-left:1px solid #e3e7e4;
}
.lang-v15{
  height:44px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid #d7ded9;
  background:#fff;
  color:#12372e;
  font-weight:800;
}
.action-icon-v15{
  width:42px;
  height:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.action-icon-v15 svg{
  width:24px;
  height:24px;
}
.action-icon-v15:hover{
  transform:translateY(-2px);
}
.whatsapp-v15{
  background:#25D366;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(37,211,102,.25);
}
.instagram-v15{
  color:#c13584!important;
  border:1px solid #efc0d8;
  background:#fff;
}
.location-v15{
  color:#0b6d59!important;
  border:1px solid #b8d7cd;
  background:#fff;
}
#alojamientos,#experiencias,#disponibilidad,#contacto,#redes-sociales,#ubicacion{
  scroll-margin-top:135px;
}

@media(max-width:1080px){
  .header-inner-v15{grid-template-columns:1fr auto}
  .main-nav-v15{
    grid-column:1/-1;
    justify-content:center;
    border-top:1px solid #edf0ee;
  }
  .main-nav-v15 a{padding:16px 0 14px}
  .main-nav-v15 a::after{bottom:7px}
}
@media(max-width:760px){
  .header-inner-v15{min-height:auto;padding:10px 14px;gap:12px}
  .brand-v15 img{width:72px;height:72px;flex-basis:72px}
  .brand-copy-v15 strong{font-size:17px}
  .brand-copy-v15 small{display:none}
  .header-actions-v15{gap:6px;padding-left:10px}
  .action-icon-v15{width:36px;height:36px}
  .action-icon-v15 svg{width:20px;height:20px}
  .main-nav-v15{
    overflow-x:auto;
    justify-content:flex-start;
    gap:20px;
    scrollbar-width:none;
  }
  .main-nav-v15::-webkit-scrollbar{display:none}
  .main-nav-v15 a{font-size:13px;flex:0 0 auto}
}


/* V16 — sticky header + working navigation */
html{
  scroll-behavior:smooth;
}
.site-header-v16{
  position:sticky !important;
  top:0;
  z-index:9999;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(18,55,46,.08);
  box-shadow:0 4px 20px rgba(18,55,46,.05);
}
.site-header-v16.scrolled{
  box-shadow:0 9px 28px rgba(18,55,46,.12);
}
.header-inner-v16{
  max-width:1240px;
  margin:0 auto;
  min-height:94px;
  padding:0 24px;
  display:grid;
  grid-template-columns:minmax(300px,1fr) auto auto;
  align-items:center;
  gap:26px;
}
.brand-v16{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none!important;
  color:#12372e!important;
}
.brand-v16 img{
  width:82px;
  height:82px;
  object-fit:contain;
  flex:0 0 82px;
}
.brand-copy-v16{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}
.brand-copy-v16 strong{
  font-size:22px;
  font-weight:800;
}
.brand-copy-v16 small{
  margin-top:7px;
  color:#c96e2b;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.main-nav-v16{
  display:flex;
  align-items:center;
  gap:26px;
  white-space:nowrap;
}
.main-nav-v16 a{
  position:relative;
  color:#1f2d29!important;
  text-decoration:none!important;
  font-size:14px;
  font-weight:700;
  padding:36px 0 33px;
}
.main-nav-v16 a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:22px;
  height:2px;
  background:#0b6d59;
  transform:scaleX(0);
  transition:transform .2s ease;
}
.main-nav-v16 a:hover::after,
.main-nav-v16 a:focus-visible::after{
  transform:scaleX(1);
}
.header-actions-v16{
  display:flex;
  align-items:center;
  gap:9px;
  padding-left:18px;
  border-left:1px solid #e3e7e4;
}
.lang-v16{
  height:42px;
  min-width:48px;
  padding:0 13px;
  border-radius:12px;
  border:1px solid #d7ded9;
  background:#fff;
  color:#12372e;
  font-weight:800;
  cursor:pointer;
}
.action-icon-v16{
  width:40px;
  height:40px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none!important;
}
.action-icon-v16 svg{
  width:23px;
  height:23px;
}
.whatsapp-v16{
  background:#25D366;
  color:#fff!important;
}
.instagram-v16{
  color:#c13584!important;
  border:1px solid #efc0d8;
  background:#fff;
}
.location-v16{
  color:#0b6d59!important;
  border:1px solid #b8d7cd;
  background:#fff;
}
#top,#stays,#experiences,#availability,#contacto,#redes-sociales,#ubicacion{
  scroll-margin-top:115px;
}

@media(max-width:1080px){
  .header-inner-v16{
    grid-template-columns:1fr auto;
  }
  .main-nav-v16{
    grid-column:1/-1;
    justify-content:center;
    border-top:1px solid #edf0ee;
    gap:22px;
  }
  .main-nav-v16 a{
    padding:13px 0 12px;
  }
  .main-nav-v16 a::after{
    bottom:5px;
  }
}
@media(max-width:760px){
  .header-inner-v16{
    min-height:auto;
    padding:8px 12px;
    gap:10px;
  }
  .brand-v16 img{
    width:62px;
    height:62px;
    flex-basis:62px;
  }
  .brand-copy-v16 strong{
    font-size:16px;
  }
  .brand-copy-v16 small{
    display:none;
  }
  .header-actions-v16{
    padding-left:8px;
    gap:5px;
  }
  .action-icon-v16{
    width:34px;
    height:34px;
  }
  .action-icon-v16 svg{
    width:19px;
    height:19px;
  }
  .lang-v16{
    height:36px;
    min-width:42px;
    font-size:12px;
  }
  .main-nav-v16{
    overflow-x:auto;
    justify-content:flex-start;
    gap:18px;
    scrollbar-width:none;
  }
  .main-nav-v16::-webkit-scrollbar{
    display:none;
  }
  .main-nav-v16 a{
    flex:0 0 auto;
    font-size:12px;
  }
}


/* V17 — recognizable official application logos */
.official-app-logo{
  width:26px !important;
  height:26px !important;
  display:block;
  object-fit:contain;
}
.connect-modern-card a [class*="icon"],
.connect-link [class*="icon"]{
  overflow:hidden;
}

/* V18 — full-color recognizable brand/application marks */
.official-app-logo{width:38px!important;height:38px!important;object-fit:contain!important;display:block!important;background:transparent!important;border-radius:0!important;padding:0!important;}
.connect-modern-card [class*=icon]{background:transparent!important;box-shadow:none!important;}


/* V20 — Airbnb header icon + booking section */
.airbnb-v20{
  background:#fff;
  border:1px solid #ffd0d8;
  box-shadow:0 4px 12px rgba(255,56,92,.10);
}
.airbnb-v20 img{
  width:23px;
  height:23px;
  object-fit:contain;
}

.airbnb-block-v20{
  grid-column:1/-1;
  margin-top:46px;
  padding-top:36px;
  border-top:1px solid rgba(18,55,46,.10);
  scroll-margin-top:120px;
}
.airbnb-heading-v20{
  max-width:780px;
  margin-bottom:24px;
}
.airbnb-heading-v20 h2{
  font-family:Georgia,serif;
  font-size:clamp(34px,4vw,48px);
  line-height:1.08;
  margin:6px 0 12px;
  color:#12372e;
}
.airbnb-heading-v20 p{
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}
.airbnb-grid-v20{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.airbnb-card-v20{
  background:#fff;
  border:1px solid #e1e7e3;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(18,55,46,.07);
}
.airbnb-card-v20>img{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
}
.airbnb-card-body-v20{
  padding:20px;
}
.airbnb-card-body-v20 h3{
  font-family:Georgia,serif;
  color:#12372e;
  font-size:24px;
  margin:0 0 10px;
}
.airbnb-card-body-v20 p{
  color:var(--muted);
  line-height:1.55;
  min-height:74px;
}
.airbnb-btn-v20{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  background:#FF385C;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800;
  transition:transform .18s ease,box-shadow .18s ease;
}
.airbnb-btn-v20:hover{
  transform:translateY(-2px);
  box-shadow:0 9px 22px rgba(255,56,92,.24);
}
.airbnb-btn-v20 img{
  width:20px;
  height:20px;
}

@media(max-width:900px){
  .airbnb-grid-v20{grid-template-columns:1fr}
  .airbnb-card-v20>img{height:220px}
  .airbnb-card-body-v20 p{min-height:0}
}


/* V22 — Caribbean palette, safely layered over the working V20 CSS */
:root{
  --caribe-sky:#8FD3D1;
  --mint:#BFE3D0;
  --turquoise:#247C78;
  --caribe-blue:#4FAFC0;
  --sand:#F5F0E7;
  --warm-white:#FFFDF8;
  --petrol:#174E4A;
  --petrol-soft:#2E6863;
  --text:#24413F;
  --muted:#6B7E7B;
  --airbnb:#FF385C;

  /* remap existing site variables without breaking layout */
  --green:var(--petrol);
  --green2:var(--turquoise);
  --teal:var(--caribe-blue);
  --cream:var(--warm-white);
  --ink:var(--text);
  --orange:#72BFB8;
  --line:#D8E7E1;
  --shadow:0 18px 48px rgba(23,78,74,.10);
}

body{background:var(--sand);}
.section.alt{background:linear-gradient(180deg,#F8F4EC 0%,#EEF8F4 100%);}
.topbar,.site-header-v16{background:rgba(255,253,248,.97);}
.main-nav-v16 a::after{background:var(--caribe-blue)!important;}

.btn.primary,
.availability-form button,
#availabilityForm button[type="submit"]{
  background:linear-gradient(135deg,var(--turquoise),var(--caribe-blue))!important;
  color:#fff!important;
}
.btn.secondary{
  background:var(--warm-white)!important;
  color:var(--petrol)!important;
  border-color:var(--caribe-sky)!important;
}

.card,.review-card,.connect-modern-card,.airbnb-card-v20{
  background:var(--warm-white)!important;
  border-color:#D8E7E1!important;
  box-shadow:0 14px 34px rgba(23,78,74,.07)!important;
}

.badge,.tag{
  background:#E8F6F0!important;
  color:var(--petrol)!important;
}

input,select,textarea{
  border-color:#C8DEDA!important;
  background:#FFFDFB!important;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--caribe-blue)!important;
  box-shadow:0 0 0 3px rgba(79,175,192,.14)!important;
}

.connect-modern{
  background:linear-gradient(180deg,#F8F4EC 0%,#EEF8F4 100%)!important;
}
.connect-modern-kicker{color:var(--caribe-blue)!important;}
.connect-modern-link{
  background:#F9FCFB!important;
  border-color:#D8E7E1!important;
}
.connect-modern-link:hover{
  border-color:var(--caribe-sky)!important;
}

footer,.site-footer{
  background:linear-gradient(135deg,#174E4A,#247C78)!important;
  color:#F6FFFC!important;
}

/* Keep Airbnb brand color distinct */
.airbnb-btn-v20{
  background:var(--airbnb)!important;
}
.airbnb-btn-v20:hover{
  background:#E93150!important;
}


/* V23 — Airbnb booking button on each accommodation detail page */
.house-airbnb-btn-v23{
  width:100%;
  min-height:52px;
  margin-top:12px;
  padding:0 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  box-sizing:border-box;
  border-radius:14px;
  background:#FF385C;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:0 10px 24px rgba(255,56,92,.18);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.house-airbnb-btn-v23:hover{
  background:#E93150;
  transform:translateY(-2px);
  box-shadow:0 13px 28px rgba(255,56,92,.25);
}
.house-airbnb-btn-v23 img{
  width:22px;
  height:22px;
  object-fit:contain;
  flex:0 0 22px;
}
.house-airbnb-btn-v23 .external-v23{
  font-size:20px;
  line-height:1;
  margin-left:2px;
}


/* V24 — refined Airbnb section + clearer availability instructions */

/* Separate Airbnb visually from availability */
.airbnb-section-v24{
  background:
    linear-gradient(180deg, rgba(239,249,246,.96), rgba(255,253,248,.98)),
    radial-gradient(circle at 10% 10%, rgba(143,211,209,.10), transparent 35%);
  padding:72px 24px 64px;
  border-top:1px solid rgba(36,124,120,.08);
  border-bottom:1px solid rgba(36,124,120,.08);
}
.airbnb-section-v24 .airbnb-block-v20{
  max-width:1180px;
  margin:0 auto;
  padding:0;
  border-top:0;
}
.airbnb-section-v24 .airbnb-heading-v20{
  text-align:center;
  margin:0 auto 34px;
  max-width:720px;
}
.airbnb-section-v24 .airbnb-heading-v20 .eyebrow{
  letter-spacing:.16em;
  font-weight:800;
  text-transform:uppercase;
}
.airbnb-section-v24 .airbnb-heading-v20 h2{
  margin-top:10px;
  font-size:clamp(36px,4vw,52px);
}
.airbnb-section-v24 .airbnb-heading-v20 p{
  font-size:16px;
  line-height:1.7;
}

.airbnb-section-v24 .airbnb-grid-v20{
  max-width:1060px;
  margin:0 auto;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.airbnb-section-v24 .airbnb-card-v20{
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(23,78,74,.08)!important;
  transition:transform .18s ease, box-shadow .18s ease;
}
.airbnb-section-v24 .airbnb-card-v20:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(23,78,74,.12)!important;
}
.airbnb-section-v24 .airbnb-card-v20>img{
  height:170px;
}
.airbnb-section-v24 .airbnb-card-body-v20{
  padding:18px 18px 20px;
}
.airbnb-section-v24 .airbnb-card-body-v20 h3{
  font-size:22px;
  line-height:1.2;
  margin-bottom:8px;
}
.airbnb-section-v24 .airbnb-card-body-v20 p{
  min-height:64px;
  font-size:14px;
  line-height:1.55;
}
.airbnb-section-v24 .airbnb-btn-v20{
  min-height:46px;
  font-size:14px;
}

/* Availability instructions */
.availability-instructions-v24{
  font-size:17px;
  line-height:1.8;
  color:var(--text)!important;
  max-width:660px;
}
.availability-instructions-v24 strong{
  color:var(--turquoise);
  font-weight:800;
}

/* Give availability its own breathing room */
#availability{
  scroll-margin-top:120px;
}
section#availability,
.section#availability,
.section.alt#availability{
  padding-top:72px!important;
  padding-bottom:72px!important;
}

/* Make the availability panel feel distinct from Airbnb */
#availability .availability-form,
#availability form,
#availability .availability-card{
  background:var(--warm-white)!important;
  border:1px solid #D8E7E1!important;
  box-shadow:0 16px 38px rgba(23,78,74,.08)!important;
  border-radius:22px;
}

@media(max-width:900px){
  .airbnb-section-v24{
    padding:54px 18px 48px;
  }
  .airbnb-section-v24 .airbnb-grid-v20{
    grid-template-columns:1fr;
    max-width:560px;
  }
  .airbnb-section-v24 .airbnb-card-v20>img{
    height:220px;
  }
  .airbnb-section-v24 .airbnb-card-body-v20 p{
    min-height:0;
  }
}


/* V25 — Premium boutique typography + mint identity */

/* Elegant local/system font stack: refined without external font dependency */
:root{
  --luxury-serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,
                 "Times New Roman",serif;
  --luxury-sans:"Avenir Next",Avenir,"Segoe UI",Helvetica,Arial,sans-serif;
  --premium-mint:#69CDB0;
  --premium-mint-dark:#238B75;
  --premium-mint-soft:#DDF4EC;
  --premium-ink:#153F39;
}

/* Main brand in header */
.brand-copy-v16 strong,
.brand-copy-v15 strong,
.brand-copy-v14 strong,
.brand-copy strong{
  font-family:var(--luxury-serif)!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
  color:var(--premium-ink)!important;
  font-size:26px!important;
  line-height:1.05!important;
}

/* Replace orange subtitle with elegant mint */
.brand-copy-v16 small,
.brand-copy-v15 small,
.brand-copy-v14 small,
.brand-copy small{
  font-family:var(--luxury-sans)!important;
  color:var(--premium-mint-dark)!important;
  font-weight:600!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
  font-size:10px!important;
}

/* Premium navigation typography */
.main-nav-v16 a,
.main-nav-v15 a,
.main-nav-v14 a,
nav a{
  font-family:var(--luxury-sans)!important;
  font-weight:500!important;
  letter-spacing:.015em;
}
.main-nav-v16 a::after,
.main-nav-v15 a::after,
.main-nav-v14 a::after{
  background:var(--premium-mint)!important;
}

/* Refined display headings throughout */
h1,h2,h3,
.airbnb-heading-v20 h2,
.airbnb-card-body-v20 h3{
  font-family:var(--luxury-serif)!important;
  font-weight:500!important;
  letter-spacing:-.015em!important;
  color:var(--premium-ink)!important;
}

/* Eyebrows / small section labels now mint rather than orange/coral,
   except Airbnb-specific branded buttons/icons */
.eyebrow:not(.airbnb-brand),
.section-kicker,
.connect-modern-kicker{
  color:var(--premium-mint-dark)!important;
  font-family:var(--luxury-sans)!important;
  letter-spacing:.16em!important;
  font-weight:700!important;
}

/* Generic orange accents become mint */
:where(.accent,.accent-text,.orange-text){
  color:var(--premium-mint-dark)!important;
}
:where(.accent-bg,.orange-bg){
  background:var(--premium-mint)!important;
}

/* Fine premium details */
.airbnb-section-v24 .airbnb-heading-v20 h2{
  font-size:clamp(40px,4vw,54px)!important;
}
.airbnb-section-v24 .airbnb-card-body-v20 h3{
  font-size:23px!important;
}
.availability-instructions-v24 strong{
  color:var(--premium-mint-dark)!important;
}

/* Mint decorative lines */
.airbnb-section-v24 .airbnb-heading-v20 h2::after,
.section-title::after{
  background:var(--premium-mint)!important;
}

/* Header polish */
.site-header-v16,
.site-header-v15,
.site-header-v14,
.topbar{
  background:rgba(255,254,250,.98)!important;
  box-shadow:0 5px 24px rgba(21,63,57,.055)!important;
  border-bottom:1px solid rgba(105,205,176,.18)!important;
}

/* Keep Airbnb's official coral only where it represents Airbnb */
.airbnb-btn-v20,
.house-airbnb-btn-v23{
  background:#FF385C!important;
}
.airbnb-btn-v20:hover,
.house-airbnb-btn-v23:hover{
  background:#E93150!important;
}


/* V26 — final premium contrast fixes */

/* Hero: all copy over photography must stay bright and legible */
.hero h1,
.hero h2,
.hero-title,
.hero-copy h1,
.hero-copy h2,
.hero-content h1,
.hero-content h2,
.hero .lead,
.hero .subtitle,
.hero p{
  color:#FFFFFF!important;
  text-shadow:0 2px 14px rgba(0,0,0,.30);
}

/* Mint eyebrow over hero image */
.hero .eyebrow,
.hero .section-kicker,
.hero-kicker{
  color:#86E0C3!important;
  text-shadow:0 1px 8px rgba(0,0,0,.28);
}

/* CTA / closing dark-green bands: headings and copy must be white */
.cta-section,
.final-cta,
.whatsapp-cta,
.contact-cta,
section[class*="cta"]{
  color:#FFFFFF;
}
.cta-section h1,.cta-section h2,.cta-section h3,
.final-cta h1,.final-cta h2,.final-cta h3,
.whatsapp-cta h1,.whatsapp-cta h2,.whatsapp-cta h3,
.contact-cta h1,.contact-cta h2,.contact-cta h3,
section[class*="cta"] h1,
section[class*="cta"] h2,
section[class*="cta"] h3{
  color:#FFFFFF!important;
}
.cta-section p,
.final-cta p,
.whatsapp-cta p,
.contact-cta p,
section[class*="cta"] p{
  color:rgba(255,255,255,.90)!important;
}

/* Specific common dark background containers */
[style*="background:#174E4A"] h1,
[style*="background:#174E4A"] h2,
[style*="background:#174E4A"] h3,
[style*="background: #174E4A"] h1,
[style*="background: #174E4A"] h2,
[style*="background: #174E4A"] h3{
  color:#FFFFFF!important;
}

/* Keep premium mint brand treatment */
.brand-copy-v16 small,
.brand-copy-v15 small,
.brand-copy-v14 small,
.brand-copy small{
  color:#238B75!important;
}

/* Hero overlay for a more premium/readable result */
.hero::before{
  background:linear-gradient(90deg,rgba(5,48,51,.50) 0%,rgba(5,48,51,.28) 52%,rgba(5,48,51,.12) 100%)!important;
}


/* V27 — accommodation-page hero contrast */
.detail-hero,
.property-hero,
.stay-hero,
.house-hero,
.detail-header,
.property-header{
  color:#fff;
}

.detail-hero h1,.detail-hero h2,.detail-hero h3,
.property-hero h1,.property-hero h2,.property-hero h3,
.stay-hero h1,.stay-hero h2,.stay-hero h3,
.house-hero h1,.house-hero h2,.house-hero h3,
.detail-header h1,.detail-header h2,.detail-header h3,
.property-header h1,.property-header h2,.property-header h3{
  color:#fff!important;
  text-shadow:0 2px 14px rgba(0,0,0,.22);
}

.detail-hero p,.detail-hero a,.detail-hero span,
.property-hero p,.property-hero a,.property-hero span,
.stay-hero p,.stay-hero a,.stay-hero span,
.house-hero p,.house-hero a,.house-hero span,
.detail-header p,.detail-header a,.detail-header span,
.property-header p,.property-header a,.property-header span{
  color:#fff!important;
}

/* Existing detail-page dark intro blocks */
.detail-hero .eyebrow,
.property-hero .eyebrow,
.stay-hero .eyebrow,
.house-hero .eyebrow{
  color:#86E0C3!important;
}

/* Target the actual dark green title sections even if older class names are used */
body:not(.home) main > section:first-of-type h1,
body:not(.home) main > section:first-of-type h2{
  color:#fff!important;
}
body:not(.home) main > section:first-of-type p,
body:not(.home) main > section:first-of-type .breadcrumb,
body:not(.home) main > section:first-of-type .breadcrumb a{
  color:#fff!important;
}

/* Detail pages use this large title pattern in several versions */
.page-hero h1,
.page-hero h2,
.page-hero-title,
.detail-title{
  color:#fff!important;
}
.page-hero p,
.page-hero .breadcrumb,
.page-hero .breadcrumb a{
  color:#fff!important;
}

.property-detail-v27 main section:first-of-type h1,
.property-detail-v27 main section:first-of-type h2,
.property-detail-v27 main section:first-of-type h3{
  color:#fff!important;
}
.property-detail-v27 main section:first-of-type p,
.property-detail-v27 main section:first-of-type a,
.property-detail-v27 main section:first-of-type span{
  color:#fff!important;
}
