/* V45 — advanced navigation, responsive glass headers and one compact editable footer. */
:root{
  --hkn-header-mobile-rgb:241,248,244;--hkn-header-mobile-alpha:.92;--hkn-header-mobile-border-rgb:255,255,255;--hkn-header-mobile-border-width:1px;--hkn-header-mobile-shadow-alpha:.18;--hkn-header-mobile-shadow-blur:30px;
  --hkn-header-mobile-scrolled-rgb:255,255,255;--hkn-header-mobile-scrolled-alpha:.97;--hkn-header-mobile-scrolled-border-rgb:255,255,255;--hkn-header-mobile-scrolled-border-width:0px;--hkn-header-mobile-scrolled-shadow-alpha:.16;--hkn-header-mobile-scrolled-shadow-blur:26px;
  --hkn-header-tablet-rgb:241,248,244;--hkn-header-tablet-alpha:.66;--hkn-header-tablet-border-rgb:255,255,255;--hkn-header-tablet-border-width:1px;--hkn-header-tablet-shadow-alpha:.18;--hkn-header-tablet-shadow-blur:34px;
  --hkn-header-tablet-scrolled-rgb:248,252,249;--hkn-header-tablet-scrolled-alpha:.92;--hkn-header-tablet-scrolled-border-rgb:255,255,255;--hkn-header-tablet-scrolled-border-width:0px;--hkn-header-tablet-scrolled-shadow-alpha:.14;--hkn-header-tablet-scrolled-shadow-blur:26px;
  --hkn-header-desktop-rgb:241,248,244;--hkn-header-desktop-alpha:.48;--hkn-header-desktop-border-rgb:255,255,255;--hkn-header-desktop-border-width:1px;--hkn-header-desktop-shadow-alpha:.18;--hkn-header-desktop-shadow-blur:38px;
  --hkn-header-desktop-scrolled-rgb:255,255,255;--hkn-header-desktop-scrolled-alpha:.95;--hkn-header-desktop-scrolled-border-rgb:255,255,255;--hkn-header-desktop-scrolled-border-width:0px;--hkn-header-desktop-scrolled-shadow-alpha:.14;--hkn-header-desktop-scrolled-shadow-blur:24px;
  --hkn-footer-mobile-rgb:10,47,34;--hkn-footer-mobile-text-rgb:255,255,255;--hkn-footer-mobile-alpha:1;--hkn-footer-mobile-border-rgb:25,85,63;--hkn-footer-mobile-border-width:0px;--hkn-footer-mobile-shadow-alpha:.12;--hkn-footer-mobile-shadow-blur:20px;
  --hkn-footer-tablet-rgb:10,47,34;--hkn-footer-tablet-text-rgb:255,255,255;--hkn-footer-tablet-alpha:1;--hkn-footer-tablet-border-rgb:25,85,63;--hkn-footer-tablet-border-width:0px;--hkn-footer-tablet-shadow-alpha:.12;--hkn-footer-tablet-shadow-blur:22px;
  --hkn-footer-desktop-rgb:10,47,34;--hkn-footer-desktop-text-rgb:255,255,255;--hkn-footer-desktop-alpha:1;--hkn-footer-desktop-border-rgb:25,85,63;--hkn-footer-desktop-border-width:0px;--hkn-footer-desktop-shadow-alpha:.12;--hkn-footer-desktop-shadow-blur:24px;
  --hkn-mobile-order-home:1;--hkn-mobile-order-packages:2;--hkn-mobile-order-gallery:3;--hkn-mobile-order-reviews:4;--hkn-mobile-order-location:5;--hkn-mobile-order-advanced:6;--hkn-mobile-order-booking:7;
}

.site-nav{
  border-style:solid!important;
  transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,backdrop-filter .22s ease!important;
}

@media (max-width:760px){
  html:not(.theme-dark) .site-nav{
    background:rgba(var(--hkn-header-mobile-rgb),var(--hkn-header-mobile-alpha))!important;
    border-width:var(--hkn-header-mobile-border-width)!important;
    border-color:rgba(var(--hkn-header-mobile-border-rgb),.88)!important;
    box-shadow:0 14px var(--hkn-header-mobile-shadow-blur) rgba(10,42,34,var(--hkn-header-mobile-shadow-alpha)),inset 0 1px 0 rgba(255,255,255,.68)!important;
    backdrop-filter:blur(20px) saturate(140%)!important;
    -webkit-backdrop-filter:blur(20px) saturate(140%)!important;
  }
  html:not(.theme-dark) .site-nav.is-scrolled{
    background:rgba(var(--hkn-header-mobile-scrolled-rgb),var(--hkn-header-mobile-scrolled-alpha))!important;
    border-width:var(--hkn-header-mobile-scrolled-border-width)!important;
    border-color:rgba(var(--hkn-header-mobile-scrolled-border-rgb),.88)!important;
    box-shadow:0 12px var(--hkn-header-mobile-scrolled-shadow-blur) rgba(10,42,34,var(--hkn-header-mobile-scrolled-shadow-alpha)),inset 0 1px 0 rgba(255,255,255,.68)!important;
  }
}
@media (min-width:761px) and (max-width:1100px){
  html:not(.theme-dark) .site-nav{
    background:rgba(var(--hkn-header-tablet-rgb),var(--hkn-header-tablet-alpha))!important;
    border-width:var(--hkn-header-tablet-border-width)!important;
    border-color:rgba(var(--hkn-header-tablet-border-rgb),.88)!important;
    box-shadow:0 18px var(--hkn-header-tablet-shadow-blur) rgba(10,42,34,var(--hkn-header-tablet-shadow-alpha)),inset 0 1px 0 rgba(255,255,255,.68)!important;
    backdrop-filter:blur(22px) saturate(145%)!important;
    -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
  }
  html:not(.theme-dark) .site-nav.is-scrolled{
    background:rgba(var(--hkn-header-tablet-scrolled-rgb),var(--hkn-header-tablet-scrolled-alpha))!important;
    border-width:var(--hkn-header-tablet-scrolled-border-width)!important;
    border-color:rgba(var(--hkn-header-tablet-scrolled-border-rgb),.88)!important;
    box-shadow:0 14px var(--hkn-header-tablet-scrolled-shadow-blur) rgba(10,42,34,var(--hkn-header-tablet-scrolled-shadow-alpha)),inset 0 1px 0 rgba(255,255,255,.68)!important;
  }
}
@media (min-width:1101px){
  html:not(.theme-dark) .site-nav{
    background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,255,255,.08) 48%,rgba(255,255,255,.22)),rgba(var(--hkn-header-desktop-rgb),var(--hkn-header-desktop-alpha))!important;
    border-width:var(--hkn-header-desktop-border-width)!important;
    border-color:rgba(var(--hkn-header-desktop-border-rgb),.88)!important;
    box-shadow:0 18px var(--hkn-header-desktop-shadow-blur) rgba(10,42,34,var(--hkn-header-desktop-shadow-alpha)),inset 0 1px 0 rgba(255,255,255,.68)!important;
    backdrop-filter:blur(30px) saturate(170%)!important;
    -webkit-backdrop-filter:blur(30px) saturate(170%)!important;
  }
  html:not(.theme-dark) .site-nav.is-scrolled{
    background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.04)),rgba(var(--hkn-header-desktop-scrolled-rgb),var(--hkn-header-desktop-scrolled-alpha))!important;
    border-width:var(--hkn-header-desktop-scrolled-border-width)!important;
    border-color:rgba(var(--hkn-header-desktop-scrolled-border-rgb),.88)!important;
    box-shadow:0 14px var(--hkn-header-desktop-scrolled-shadow-blur) rgba(10,42,34,var(--hkn-header-desktop-scrolled-shadow-alpha)),inset 0 1px 0 rgba(255,255,255,.68)!important;
    backdrop-filter:blur(22px) saturate(150%)!important;
    -webkit-backdrop-filter:blur(22px) saturate(150%)!important;
  }
}

/* Keep the full-width desktop/tablet scrolled bar inside the viewport.
   Geometry switches instantly, preventing the half-width transition crop. */
@media (min-width:801px){
  .site-nav.is-scrolled{
    left:0!important;
    right:0!important;
    width:auto!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    transform:none!important;
    overflow:visible!important;
  }
}
@media (min-width:801px) and (max-width:1180px){
  .site-nav.is-scrolled .brand span{display:none!important}
  .site-nav.is-scrolled .nav-links{gap:clamp(6px,1vw,10px)!important}
  .site-nav.is-scrolled .nav-links>a:not(.nav-book-now),
  .site-nav.is-scrolled .nav-pages-menu>summary{font-size:11px!important}
  .site-nav.is-scrolled .nav-links .nav-book-now{padding:9px 11px!important;font-size:11px!important}
  .site-nav.is-scrolled .header-google-review-badge{
    min-width:62px!important;
    grid-template-columns:28px auto!important;
    grid-template-areas:"star score"!important;
    padding:5px 7px!important;
    column-gap:4px!important;
  }
  .site-nav.is-scrolled .header-review-star{width:28px!important;height:28px!important;font-size:17px!important}
  .site-nav.is-scrolled .header-review-count,
  .site-nav.is-scrolled .header-review-g{display:none!important}
  .site-nav.is-scrolled .theme-switch-text{display:none!important}
}

.nav-links>.nav-link-home{order:0!important}
.nav-links>.nav-link-packages{order:1!important}
.nav-links>.nav-link-gallery{order:2!important}
.nav-links>.nav-link-reviews{order:3!important}
.nav-links>.nav-link-location{order:4!important}
.nav-links>.nav-pages-menu{order:5!important}
.nav-links>.nav-book-now{order:6!important}
.site-nav .brand span{
  max-width:clamp(150px,18vw,280px);
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(min-width:801px){.nav-mobile-home-only{display:none!important}}

.nav-pages-menu{
  position:relative;
  flex:0 0 auto;
  color:#173020;
}
.nav-pages-menu>summary{
  min-height:42px;
  padding:10px 11px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:999px;
  cursor:pointer;
  list-style:none;
  color:inherit;
  font-size:14px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}
.nav-pages-menu>summary::-webkit-details-marker{display:none}
.nav-pages-menu>summary::marker{display:none}
.nav-pages-menu>summary svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .18s ease;
}
.nav-pages-menu[open]>summary,
.nav-pages-menu.has-current-page>summary,
.nav-pages-menu>summary:hover{
  color:#267a31;
  background:rgba(38,130,50,.09);
}
.nav-pages-menu[open]>summary svg{transform:rotate(180deg)}
.nav-pages-panel{
  position:absolute;
  top:calc(100% + 16px);
  right:-90px;
  width:min(640px,calc(100vw - 40px));
  padding:18px;
  border:1px solid rgba(25,96,65,.14);
  border-radius:24px;
  background:rgba(255,255,255,.97);
  box-shadow:0 24px 60px rgba(5,45,29,.22);
  backdrop-filter:blur(24px) saturate(145%);
  -webkit-backdrop-filter:blur(24px) saturate(145%);
  transform-origin:top right;
  animation:hkn-menu-in .16s ease both;
  z-index:2200;
}
.nav-pages-panel::before{
  content:"";
  position:absolute;
  top:-8px;
  right:116px;
  width:15px;
  height:15px;
  background:rgba(255,255,255,.97);
  border-top:1px solid rgba(25,96,65,.12);
  border-left:1px solid rgba(25,96,65,.12);
  transform:rotate(45deg);
}
.nav-pages-heading{
  position:relative;
  z-index:1;
  display:flex;
  align-items:baseline;
  gap:9px;
  margin:0 2px 13px;
  text-align:left;
}
.nav-pages-heading span{
  color:#d9851d;
  font-size:10px;
  line-height:1;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.nav-pages-heading strong{color:#173e2d;font-size:15px}
.nav-pages-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.site-nav .nav-pages-grid a{
  min-width:0;
  padding:12px!important;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:10px;
  border:1px solid transparent;
  border-radius:15px;
  color:#214536;
  text-align:left;
  text-decoration:none;
  white-space:normal!important;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}
.site-nav .nav-pages-grid a::after{display:none!important}
.site-nav .nav-pages-grid a:hover,
.site-nav .nav-pages-grid a:focus-visible,
.site-nav .nav-pages-grid a.is-current-page{
  background:#eef7f1;
  border-color:#d5e9dc;
  transform:translateY(-1px);
}
.nav-page-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:#fff;
  background:linear-gradient(145deg,#16805b,#0b5b40);
  font-size:16px;
  font-weight:900;
}
.nav-pages-grid strong{
  display:block;
  overflow:hidden;
  color:inherit;
  font-size:13px;
  line-height:1.2;
  text-overflow:ellipsis;
}
.nav-pages-grid small{
  display:-webkit-box;
  margin:4px 0 0;
  overflow:hidden;
  color:#718078;
  font-size:10px;
  line-height:1.35;
  font-weight:600;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

html.theme-dark .nav-pages-menu{color:#fff}
html.theme-dark .nav-pages-panel{
  background:rgba(17,43,31,.98);
  border-color:rgba(139,231,187,.24);
  box-shadow:0 26px 64px rgba(0,0,0,.46);
}
html.theme-dark .nav-pages-panel::before{
  background:#112b1f;
  border-color:rgba(139,231,187,.22);
}
html.theme-dark .nav-pages-heading strong{color:#f4fff8}
html.theme-dark .site-nav .nav-pages-grid a{color:#e8fff2}
html.theme-dark .site-nav .nav-pages-grid a:hover,
html.theme-dark .site-nav .nav-pages-grid a:focus-visible,
html.theme-dark .site-nav .nav-pages-grid a.is-current-page{
  background:#1c4935;
  border-color:#2c694e;
}
html.theme-dark .nav-pages-grid small{color:#b7d2c3}

.cms-page-body{padding-top:128px!important}
.cms-page-body .site-nav .brand span{max-width:240px;overflow:hidden;text-overflow:ellipsis}
.cms-page-body .site-nav .nav-links a.is-current-page{color:#268232!important}

@keyframes hkn-menu-in{
  from{opacity:0;transform:translateY(-6px) scale(.985)}
  to{opacity:1;transform:none}
}

@media (min-width:801px) and (max-width:1180px){
  .site-nav .nav-links{gap:clamp(8px,1vw,14px)!important}
  .site-nav .nav-links>a:not(.nav-book-now){font-size:12px!important}
  .nav-pages-menu>summary{padding-inline:8px;font-size:12px}
  .nav-pages-panel{right:-70px}
}

@media (max-width:800px){
  .cms-page-body{padding-top:96px!important}
  .nav-links{
    max-height:calc(100vh - 118px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .nav-links>.nav-link-home{order:var(--hkn-mobile-order-home)!important}
  .nav-links>.nav-link-packages{order:var(--hkn-mobile-order-packages)!important}
  .nav-links>.nav-link-gallery{order:var(--hkn-mobile-order-gallery)!important}
  .nav-links>.nav-link-reviews{order:var(--hkn-mobile-order-reviews)!important}
  .nav-links>.nav-link-location{order:var(--hkn-mobile-order-location)!important}
  .nav-links>.nav-pages-menu{width:100%;order:var(--hkn-mobile-order-advanced)!important}
  .nav-links>.nav-book-now{order:var(--hkn-mobile-order-booking)!important}
  .nav-pages-menu>summary{
    width:100%;
    min-height:47px;
    padding:13px!important;
    justify-content:center;
    border-bottom:1px solid #edf1ee;
    border-radius:0;
    font-size:14px;
  }
  .nav-pages-panel{
    position:static;
    width:100%;
    margin:4px 0 8px;
    padding:10px;
    border-radius:17px;
    background:#f5faf7;
    box-shadow:none;
    transform:none;
    animation:none;
  }
  .nav-pages-panel::before,.nav-pages-heading{display:none}
  .nav-pages-grid{grid-template-columns:1fr;gap:5px}
  .site-nav .nav-pages-grid a{
    padding:10px!important;
    grid-template-columns:31px minmax(0,1fr);
    border-bottom:0!important;
    border-radius:12px;
  }
  .nav-page-icon{width:31px;height:31px;border-radius:10px}
  .nav-pages-grid small{-webkit-line-clamp:1}
  html.theme-dark .nav-pages-panel{background:#10291e}
}

@media (max-width:430px){
  .cms-page-body .site-nav .brand span{max-width:132px}
}

/* Shared mobile header controls: match the Homepage on CMS and Gallery pages. */
.nav-profile-wrap{
  display:none;
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  z-index:2003;
}
.nav-profile-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  padding:0;
  border:2px solid rgba(11,101,71,.72);
  border-radius:18px;
  background:linear-gradient(145deg,#fff,#f2f8f5);
  color:#0b6547;
  box-shadow:0 10px 26px rgba(5,55,38,.16),inset 0 1px 0 rgba(255,255,255,.95);
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}
.nav-profile-button svg{width:27px;height:27px;fill:currentColor}
.nav-profile-button:active{transform:scale(.96)}
.profile-quick-menu{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:210px;
  padding:9px;
  border:1px solid rgba(16,91,64,.12);
  border-radius:18px;
  background:rgba(255,255,255,.98);
  box-shadow:0 20px 50px rgba(3,43,29,.22);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.profile-quick-menu::before{
  content:"";
  position:absolute;
  top:-7px;
  right:18px;
  width:14px;
  height:14px;
  border-top:1px solid rgba(16,91,64,.10);
  border-left:1px solid rgba(16,91,64,.10);
  background:#fff;
  transform:rotate(45deg);
}
.profile-quick-menu a{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:11px;
  padding:12px;
  border-radius:13px;
  color:#174f3a;
  font-family:inherit;
  font-size:13px;
  text-decoration:none;
}
.profile-quick-menu a:hover,.profile-quick-menu a:active{background:#edf7f2}
.profile-quick-menu a span{font-size:19px}
.profile-quick-menu a b{font-weight:750}
@media(max-width:820px){
  .nav-profile-wrap{display:block!important}
  .site-nav .menu-toggle{left:24px!important}
  .site-nav .brand{margin-left:auto!important;margin-right:auto!important}
}
@media(max-width:430px){
  .nav-profile-wrap{right:18px!important}
  .nav-profile-button{width:50px!important;height:50px!important;border-radius:17px!important}
  .profile-quick-menu{width:196px}
}

.hkn-main-footer{
  min-height:0!important;
  margin:0!important;
  border-style:solid!important;
  border-left:0!important;
  border-right:0!important;
  border-bottom:0!important;
  text-align:center;
  backdrop-filter:blur(14px) saturate(125%);
  -webkit-backdrop-filter:blur(14px) saturate(125%);
}
.hkn-main-footer b,.hkn-main-footer p,.hkn-main-footer strong,.hkn-main-footer small,.hkn-main-footer a{color:inherit!important}
.hkn-main-footer>b{display:block;margin:0;font-size:17px;line-height:1.2}
.hkn-main-footer>p{margin:6px 0 0!important;font-size:11px;line-height:1.35}

@media(max-width:760px){
  .hkn-main-footer{
    padding:14px 16px!important;
    background:rgba(var(--hkn-footer-mobile-rgb),var(--hkn-footer-mobile-alpha))!important;
    color:rgb(var(--hkn-footer-mobile-text-rgb))!important;
    border-width:var(--hkn-footer-mobile-border-width)!important;
    border-color:rgba(var(--hkn-footer-mobile-border-rgb),.92)!important;
    box-shadow:0 -8px var(--hkn-footer-mobile-shadow-blur) rgba(3,31,21,var(--hkn-footer-mobile-shadow-alpha))!important;
  }
  .hkn-main-footer>b{font-size:16px}
  .hkn-main-footer>p{max-width:520px;margin:5px auto 0!important;font-size:10.5px}
}
@media(min-width:761px) and (max-width:1100px){
  .hkn-main-footer{
    padding:13px 24px!important;
    background:rgba(var(--hkn-footer-tablet-rgb),var(--hkn-footer-tablet-alpha))!important;
    color:rgb(var(--hkn-footer-tablet-text-rgb))!important;
    border-width:var(--hkn-footer-tablet-border-width)!important;
    border-color:rgba(var(--hkn-footer-tablet-border-rgb),.92)!important;
    box-shadow:0 -8px var(--hkn-footer-tablet-shadow-blur) rgba(3,31,21,var(--hkn-footer-tablet-shadow-alpha))!important;
  }
}
@media(min-width:1101px){
  .hkn-main-footer{
    padding:13px 32px!important;
    background:rgba(var(--hkn-footer-desktop-rgb),var(--hkn-footer-desktop-alpha))!important;
    color:rgb(var(--hkn-footer-desktop-text-rgb))!important;
    border-width:var(--hkn-footer-desktop-border-width)!important;
    border-color:rgba(var(--hkn-footer-desktop-border-rgb),.92)!important;
    box-shadow:0 -8px var(--hkn-footer-desktop-shadow-blur) rgba(3,31,21,var(--hkn-footer-desktop-shadow-alpha))!important;
  }
}
