.esv-header{
  position:sticky; top:0; z-index:1000;
  background:#fff;
  border-bottom:1px solid rgba(84,84,84,.08);
  transition:box-shadow .3s ease;
}

/* ===== BARRA SUPERIOR ===== */
.esv-topbar{
  background:#f4fbfb;
  border-bottom:1px solid rgba(26,181,181,.15);
  overflow:hidden;
  max-height:44px; opacity:1;
  transition:max-height .3s ease, opacity .25s ease, border-color .3s ease;
}
.esv-topbar__inner{
  max-width:1080px; margin:0 auto;
  display:flex; align-items:center; justify-content:flex-end;
  padding:8px 24px;
}
.esv-topbar__item{
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--font-body,"Montserrat",sans-serif);
  font-size:13px; color:#137e83; text-decoration:none;
  transition:opacity .2s ease;
}
.esv-topbar__phone:hover{ opacity:.75; }

/* al hacer scroll → se pliega */
.esv-header.is-stuck .esv-topbar{
  max-height:0; opacity:0; border-color:transparent;
}


.esv-header__inner{
  max-width:1080px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 24px;
  transition:padding .3s ease;
}
.esv-header__logo{ height:76px; width:auto; display:block; transition:height .3s ease; }

/* estado al hacer scroll */
.esv-header.is-stuck{ box-shadow:0 6px 24px rgba(84,84,84,.08); }
.esv-header.is-stuck .esv-header__inner{ padding:12px 24px; }
.esv-header.is-stuck .esv-header__logo{ height:60px; }

/* nav escritorio */
.esv-header__nav{ display:flex; align-items:center; gap:34px; }
.esv-menu{ display:flex; align-items:center; gap:34px; margin:0; padding:0; list-style:none; }
.esv-menu a{
  position:relative; padding:6px 0;
  font-family:var(--font-body,"Montserrat",sans-serif);
  font-size:15px; font-weight:500;
  color:var(--color-primary,#545454); text-decoration:none;
  transition:color .2s ease;
}
.esv-menu a::after{
  content:""; position:absolute; left:0; bottom:0;
  width:0; height:2px; background:var(--color-cta,#1ab5b5);
  transition:width .25s ease;
}
.esv-menu a:hover, .esv-menu .current-menu-item>a{ color:var(--color-cta,#1ab5b5); }
.esv-menu a:hover::after, .esv-menu .current-menu-item>a::after{ width:100%; }

/* CTA */
.esv-header__cta{
  display:inline-flex; align-items:center; gap:.5em;
  padding:.55em 1.25em; border-radius:8px;
  font-family:var(--font-heading,"Cormorant Garamond",serif);
  font-size:16px; font-weight:500;
  background:var(--color-cta,#1ab5b5); color:#fff!important; text-decoration:none;
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.esv-header__cta:hover{
  background:var(--color-cta-hover,#169b9b);
  transform:translateY(-1px); box-shadow:0 6px 16px rgba(26,181,181,.3);
}

/* móvil oculto en escritorio */
.esv-header__toggle, .esv-header__mobile{ display:none; }

/* ===== NAVEGACIÓN POR ANCLAS (landing) ===== */
html{ scroll-behavior:smooth; }

/* deja hueco bajo el header sticky al saltar a una sección
   (≈ altura del header en estado compacto) */
[id]{ scroll-margin-top:82px; }

/* enlace activo según la sección visible */
.esv-menu a.is-active{ color:var(--color-cta,#1ab5b5); }
.esv-menu a.is-active::after{ width:100%; }

/* ===== TABLET / MÓVIL ===== */
@media (max-width:980px){
  .esv-header__inner{ padding:18px 20px; }
  .esv-header__logo{ height:64px; }                         /* GRANDE al entrar */
  .esv-header.is-stuck .esv-header__logo{ height:38px; }    /* encoge al scroll */
  .esv-header.is-stuck .esv-header__inner{ padding:10px 20px; }
  .esv-topbar{ display:none; }

  .esv-header__nav{ display:none; }

  .esv-header__toggle{
    display:flex; flex-direction:column; justify-content:center; gap:5px;
    width:44px; height:44px; padding:0; border:0; background:none; cursor:pointer;
  }
  .esv-header__toggle span{
    width:24px; height:2px; margin:0 auto; display:block;
    background:var(--color-primary,#545454);
    transition:transform .25s ease, opacity .25s ease;
  }
  .esv-header__toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .esv-header__toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .esv-header__toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  .esv-header__mobile{
    display:block; padding:8px 20px 24px;
    border-top:1px solid rgba(84,84,84,.08);
  }
  .esv-header__mobile[hidden]{ display:none; }
  .esv-menu--mobile{ flex-direction:column; align-items:stretch; gap:0; }
  .esv-menu--mobile a{ display:block; padding:14px 0; border-bottom:1px solid rgba(84,84,84,.06); }
  .esv-header__cta--mobile{ margin-top:16px; justify-content:center; }
}