/* Haven Trails final clickable color rules — 2026-10-04 */
:root{--haven-action:#3d783e;--haven-action-hover:#2e6030;--haven-action-text:#fff;--haven-soft:#c9bfa1}

button[data-open-safari],
button[data-open-booking],
[data-open-tour-booking],
.sb .bf,
.sb .bfo,
.bf,
.bfo,
.sticky-book,
#openModal,
.btn-p[data-open-booking],
.btn-p[data-open-safari],
.ht-tour-btn,
.hvnhdr-mobile-plan,
.ht-booking-page-card__btn,
.htfp-submit,
.hvnhdr-lang-search__box button,
.hvnhdr-mobile-lang-search__box button,
.ht-mobile-cta .ht-btn,
.btn--primary,
.btn--gold,
.topbar__btn--gold,
.newsletter-strip__submit,
.filter-btn.active,
.te-btn,
.ht-btn--primary,
.btn--brown,
.btn-consult,
.article-card__cta{
  background:#3d783e!important;
  background-color:#3d783e!important;
  border-color:#3d783e!important;
  color:#fff!important;
}

button[data-open-safari] *,
button[data-open-booking] *,
[data-open-tour-booking] *,
.sb .bf *,
.sb .bfo *,
.bf *,
.bfo *,
.sticky-book *,
#openModal *,
.btn-p[data-open-booking] *,
.btn-p[data-open-safari] *,
.ht-tour-btn *,
.hvnhdr-mobile-plan *,
.ht-booking-page-card__btn *,
.htfp-submit *,
.hvnhdr-lang-search__box button *,
.hvnhdr-mobile-lang-search__box button *,
.ht-mobile-cta .ht-btn *,
.btn--primary *,
.btn--gold *,
.topbar__btn--gold *,
.newsletter-strip__submit *,
.filter-btn.active *,
.te-btn *,
.ht-btn--primary *,
.btn--brown *,
.btn-consult *,
.article-card__cta *{
  color:#fff!important;
}

button[data-open-safari]:hover,
button[data-open-booking]:hover,
[data-open-tour-booking]:hover,
.sb .bf:hover,
.sb .bfo:hover,
.bf:hover,
.bfo:hover,
.sticky-book:hover,
#openModal:hover,
.btn-p[data-open-booking]:hover,
.btn-p[data-open-safari]:hover,
.ht-tour-btn:hover,
.hvnhdr-mobile-plan:hover,
.ht-booking-page-card__btn:hover,
.htfp-submit:hover,
.hvnhdr-lang-search__box button:hover,
.hvnhdr-mobile-lang-search__box button:hover,
.ht-mobile-cta .ht-btn:hover,
.btn--primary:hover,
.btn--gold:hover,
.topbar__btn--gold:hover,
.newsletter-strip__submit:hover,
.filter-btn.active:hover,
.te-btn:hover,
.ht-btn--primary:hover,
.btn--brown:hover,
.btn-consult:hover,
.article-card__cta:hover{
  background:#2e6030!important;
  background-color:#2e6030!important;
  border-color:#2e6030!important;
  color:#fff!important;
}

/* Haven unified green button lock v20261004d */
html body .hvnhdr-topbar .hvnhdr-top-cta,
html body .hvnhdr-top-cta,
html body .hvnhdr-header-cta,
html body .hvnhdr-mobile-menu .hvnhdr-mobile-plan,
html body .hvnhdr-mobile-plan,
html body .hvnhdr-mobile-toggle,
html body .hvnhdr-mobile-close{
  background:#3d783e!important;
  background-color:#3d783e!important;
  border-color:#3d783e!important;
  color:#fff!important;
}
html body .hvnhdr-top-cta *,
html body .hvnhdr-header-cta *,
html body .hvnhdr-mobile-plan *,
html body .hvnhdr-mobile-toggle *,
html body .hvnhdr-mobile-close *{
  color:#fff!important;
  fill:currentColor!important;
}
html body .hvnhdr-topbar .hvnhdr-top-cta:hover,
html body .hvnhdr-topbar .hvnhdr-top-cta:focus-visible,
html body .hvnhdr-header-cta:hover,
html body .hvnhdr-header-cta:focus-visible,
html body .hvnhdr-mobile-plan:hover,
html body .hvnhdr-mobile-plan:focus-visible,
html body .hvnhdr-mobile-toggle:hover,
html body .hvnhdr-mobile-toggle:focus-visible,
html body .hvnhdr-mobile-close:hover,
html body .hvnhdr-mobile-close:focus-visible{
  background:#2e6030!important;
  background-color:#2e6030!important;
  border-color:#2e6030!important;
  color:#fff!important;
}
html body .hvnhdr-header-cta::before,
html body .hvnhdr-mobile-plan::before{
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(255,255,255,.14)!important;
}
html body #has-smooth-wrap .ht-tour-btn,
html body #has-smooth-wrap a.ht-tour-btn,
html body .tours-section .ht-tour-btn,
html body .ht-homepage .ht-tour-btn,
html body .ht-tour-card .ht-tour-btn,
html body .ht-tour-card a.ht-tour-btn{
  background:#3d783e!important;
  background-color:#3d783e!important;
  border-color:#3d783e!important;
  color:#fff!important;
}
html body #has-smooth-wrap .ht-tour-btn *,
html body .tours-section .ht-tour-btn *,
html body .ht-homepage .ht-tour-btn *,
html body .ht-tour-card .ht-tour-btn *{
  color:#fff!important;
  fill:currentColor!important;
}
html body #has-smooth-wrap .ht-tour-btn:hover,
html body #has-smooth-wrap .ht-tour-btn:focus,
html body #has-smooth-wrap .ht-tour-btn:active,
html body .tours-section .ht-tour-btn:hover,
html body .tours-section .ht-tour-btn:focus,
html body .tours-section .ht-tour-btn:active,
html body .ht-homepage .ht-tour-btn:hover,
html body .ht-homepage .ht-tour-btn:focus,
html body .ht-homepage .ht-tour-btn:active,
html body .ht-tour-card .ht-tour-btn:hover,
html body .ht-tour-card .ht-tour-btn:focus,
html body .ht-tour-card .ht-tour-btn:active{
  background:#2e6030!important;
  background-color:#2e6030!important;
  border-color:#2e6030!important;
  color:#fff!important;
}

/* Haven tour card all-white text lock v20261004e */
html body .ht-tour-card,
html body .ht-tour-card-body,
html body .ht-tour-card-footer{
  color:#fff!important;
}
html body .ht-tour-card :where(
  h1,h2,h3,h4,h5,h6,
  p,span,strong,small,em,b,
  a,i,svg,
  .ht-tour-card-title,
  .ht-tour-card-title a,
  .ht-tour-card-cat,
  .ht-tour-from-price,
  .ht-tour-from-price span,
  .ht-tour-from-price strong,
  .ht-tour-from-price small,
  .ht-tour-card-footer,
  .ht-tour-card-footer div,
  .ht-tour-card-meta,
  .ht-tour-card-meta span,
  .ht-tour-meta,
  .ht-tour-meta span
){
  color:#fff!important;
}
html body .ht-tour-card :where(svg){
  fill:currentColor!important;
  stroke:currentColor!important;
}
html body .ht-tour-card .ht-tour-btn,
html body .ht-tour-card a.ht-tour-btn{
  background:#3d783e!important;
  background-color:#3d783e!important;
  border-color:#3d783e!important;
  color:#fff!important;
}
html body .ht-tour-card .ht-tour-btn:hover,
html body .ht-tour-card .ht-tour-btn:focus,
html body .ht-tour-card .ht-tour-btn:active{
  background:#2e6030!important;
  background-color:#2e6030!important;
  border-color:#2e6030!important;
  color:#fff!important;
}

/* Haven absolute tour-card white text lock v20261004f */
html body #has-smooth-wrap .ht-tour-card,
html body #has-smooth-wrap .ht-tour-card *{
  color:#fff!important;
}
html body #has-smooth-wrap .ht-tour-card svg{
  fill:currentColor!important;
  stroke:currentColor!important;
}
html body #has-smooth-wrap .ht-tour-card .ht-tour-btn,
html body #has-smooth-wrap .ht-tour-card a.ht-tour-btn{
  background:#3d783e!important;
  background-color:#3d783e!important;
  border-color:#3d783e!important;
  color:#fff!important;
}
html body #has-smooth-wrap .ht-tour-card .ht-tour-btn:hover,
html body #has-smooth-wrap .ht-tour-card .ht-tour-btn:focus,
html body #has-smooth-wrap .ht-tour-card .ht-tour-btn:active{
  background:#2e6030!important;
  background-color:#2e6030!important;
  border-color:#2e6030!important;
  color:#fff!important;
}

/* Haven mobile nav redesign v20261004nav2 */
@media (max-width:1220px){
  html body .hvnhdr-mobile-overlay{
    background:rgba(20,34,23,.52)!important;
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
  }
  html body .hvnhdr-mobile-menu{
    width:min(92vw,390px)!important;
    max-width:390px!important;
    background:#f7faf7!important;
    border-left:1px solid rgba(61,120,62,.14)!important;
    box-shadow:-24px 0 60px rgba(24,48,29,.22)!important;
    overflow:hidden!important;
  }
  html body .hvnhdr-mobile-head{
    min-height:70px!important;
    padding:10px 14px!important;
    flex:0 0 auto!important;
    background:#fff!important;
    border-bottom:1px solid rgba(61,120,62,.12)!important;
    box-shadow:0 4px 18px rgba(31,57,35,.05)!important;
  }
  html body .hvnhdr-mobile-logo,
  html body .hvnhdr-mobile-logo img{
    width:148px!important;
    height:48px!important;
  }
  html body .hvnhdr-mobile-logo img{
    filter:none!important;
    object-fit:contain!important;
  }
  html body .hvnhdr-mobile-close{
    width:40px!important;
    height:40px!important;
    border-radius:12px!important;
    background:#3d783e!important;
    color:#fff!important;
    box-shadow:0 7px 18px rgba(61,120,62,.20)!important;
  }
  html body .hvnhdr-mobile-body{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding:14px 14px 24px!important;
    background:#f7faf7!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(61,120,62,.32) transparent;
  }
  html body .hvnhdr-mobile-body::-webkit-scrollbar{width:6px!important}
  html body .hvnhdr-mobile-body::-webkit-scrollbar-thumb{
    background:rgba(61,120,62,.30)!important;
    border-radius:999px!important;
  }
  html body .hvnhdr-mobile-tools{
    margin:0 0 14px!important;
    gap:8px!important;
  }
  html body .hvnhdr-mobile-tool{
    min-height:48px!important;
    padding:8px 10px!important;
    border:1px solid rgba(61,120,62,.13)!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#243128!important;
    box-shadow:0 3px 12px rgba(28,58,34,.05)!important;
  }
  html body .hvnhdr-mobile-tool i{color:#3d783e!important}
  html body .hvnhdr-mobile-nav{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  html body .hvnhdr-mobile-home,
  html body .hvnhdr-mobile-row{
    overflow:hidden!important;
    margin:0!important;
    border:1px solid rgba(61,120,62,.12)!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(28,58,34,.045)!important;
  }
  html body .hvnhdr-mobile-home{
    min-height:54px!important;
    padding:0 14px!important;
    color:#243128!important;
  }
  html body .hvnhdr-mobile-home i{color:#3d783e!important}
  html body .hvnhdr-mobile-direct,
  html body .hvnhdr-mobile-toggle-row{
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    min-height:54px!important;
    padding:0 14px!important;
    border:0!important;
    background:#fff!important;
    color:#243128!important;
    font-size:13.5px!important;
    font-weight:850!important;
    letter-spacing:0!important;
    touch-action:manipulation!important;
  }
  html body .hvnhdr-mobile-label{
    min-width:0!important;
    gap:11px!important;
  }
  html body .hvnhdr-mobile-label i{
    width:28px!important;
    height:28px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:9px!important;
    background:rgba(61,120,62,.09)!important;
    color:#3d783e!important;
    font-size:13px!important;
  }
  html body .hvnhdr-mobile-toggle-row > i{
    width:28px!important;
    height:28px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:50%!important;
    background:rgba(61,120,62,.09)!important;
    color:#3d783e!important;
    font-size:9px!important;
    transition:transform .2s ease,background .2s ease!important;
  }
  html body .hvnhdr-mobile-row.open{
    border-color:rgba(61,120,62,.26)!important;
    box-shadow:0 8px 22px rgba(31,67,38,.08)!important;
  }
  html body .hvnhdr-mobile-row.open .hvnhdr-mobile-toggle-row{
    background:rgba(61,120,62,.055)!important;
    color:#245326!important;
  }
  html body .hvnhdr-mobile-row.open .hvnhdr-mobile-toggle-row > i{
    transform:rotate(180deg)!important;
    background:#3d783e!important;
    color:#fff!important;
  }
  html body .hvnhdr-mobile-sub{
    position:relative!important;
    z-index:3!important;
    max-height:0;
    overflow:hidden!important;
    pointer-events:none!important;
    visibility:visible!important;
    background:#f4f8f4!important;
    border-top:0 solid transparent!important;
    transition:max-height .28s ease!important;
  }
  html body .hvnhdr-mobile-row.open .hvnhdr-mobile-sub{
    pointer-events:auto!important;
    border-top:1px solid rgba(61,120,62,.10)!important;
  }
  html body .hvnhdr-mobile-sub__inner{
    position:relative!important;
    z-index:4!important;
    padding:8px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:4px!important;
  }
  html body .hvnhdr-mobile-sub a{
    position:relative!important;
    z-index:5!important;
    width:100%!important;
    min-height:46px!important;
    padding:0 11px 0 13px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    background:transparent!important;
    color:#29362d!important;
    font-size:13px!important;
    line-height:1.25!important;
    font-weight:720!important;
    text-decoration:none!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(61,120,62,.12)!important;
    cursor:pointer!important;
  }
  html body .hvnhdr-mobile-sub a i{
    flex:0 0 auto!important;
    color:#3d783e!important;
    font-size:9px!important;
  }
  html body .hvnhdr-mobile-sub a:hover,
  html body .hvnhdr-mobile-sub a:focus-visible,
  html body .hvnhdr-mobile-sub a:active,
  html body .hvnhdr-mobile-sub a.is-touching{
    border-color:rgba(61,120,62,.13)!important;
    background:#fff!important;
    color:#245326!important;
    box-shadow:0 3px 12px rgba(35,70,41,.07)!important;
    outline:none!important;
  }
  html body .hvnhdr-mobile-footer{
    flex:0 0 auto!important;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px))!important;
    border-top:1px solid rgba(61,120,62,.12)!important;
    background:#fff!important;
    box-shadow:0 -8px 22px rgba(24,50,29,.06)!important;
  }
  html body .hvnhdr-mobile-plan{
    min-height:48px!important;
    border-radius:12px!important;
    background:#3d783e!important;
    color:#fff!important;
    box-shadow:0 8px 20px rgba(61,120,62,.18)!important;
    touch-action:manipulation!important;
  }
}
