/* 0.6.75 — mobile-first responsive navigation. */
.site-header{
  width:100%;
  z-index:1001;
}

.site-header .header-inner.header-wide{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px;
  align-items:center;
  gap:12px;
  width:100%;
  max-width:none;
  min-height:80px!important;
  margin:0;
  padding-inline:18px!important;
}

.site-header .brand{
  min-width:0;
  justify-self:start;
}

.site-header .serenity-logo{
  display:block;
  width:220px!important;
  max-width:100%!important;
  height:64px!important;
  object-fit:contain;
  object-position:left center;
}

.site-header .header-contact{
  display:none!important;
}

.site-header .menu-toggle{
  display:grid!important;
  grid-column:2!important;
  justify-self:end!important;
  align-self:center!important;
  align-content:center!important;
  gap:5px!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  padding:12px!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  cursor:pointer;
  z-index:3;
}

.site-header .menu-toggle span:not(.screen-reader-text){
  display:block!important;
  width:24px!important;
  height:2px!important;
  margin:0!important;
  border-radius:2px!important;
  background:#3d3431!important;
  opacity:1;
}

.site-header .menu-toggle[aria-expanded="true"] span:nth-of-type(2){
  opacity:1!important;
  transform:translateY(7px) rotate(45deg);
}

.site-header .menu-toggle[aria-expanded="true"] span:nth-of-type(3){
  opacity:0!important;
}

.site-header .menu-toggle[aria-expanded="true"] span:nth-of-type(4){
  opacity:1!important;
  transform:translateY(-7px) rotate(-45deg);
}

.site-header .primary-nav{
  display:none!important;
  position:absolute!important;
  inset-inline:0!important;
  top:100%!important;
  width:100%!important;
  max-width:100%!important;
  max-height:calc(100dvh - 80px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  padding:0!important;
  border-top:1px solid rgba(61,52,49,.12)!important;
  border-bottom:1px solid rgba(61,52,49,.14)!important;
  background:#fffdfb!important;
  box-shadow:0 16px 30px rgba(61,52,49,.10)!important;
  z-index:2!important;
}

.admin-bar .site-header .primary-nav{
  max-height:calc(100dvh - 112px)!important;
}

.site-header .primary-nav.is-open{
  display:block!important;
}

.site-header .nav-list{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:0!important;
  width:100%!important;
  margin:0!important;
  padding:14px 22px 24px!important;
}

.site-header .nav-list li{
  margin:0!important;
  border-bottom:1px solid rgba(61,52,49,.12)!important;
}

.site-header .nav-list li:last-child{
  margin:0!important;
  border-bottom:0!important;
}

.site-header .nav-list a{
  display:block!important;
  min-height:48px;
  padding:14px 2px!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:1.35rem!important;
  line-height:1.2!important;
  text-decoration:none!important;
}

.site-header .nav-list a::after{
  display:none!important;
}

.site-header .mobile-booking-link{
  display:list-item!important;
  margin-top:14px!important;
}

.site-header .mobile-booking-link a{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:13px 18px!important;
  border-radius:999px!important;
  background:#e7677a!important;
  color:#fff!important;
  text-align:center!important;
  font-family:Inter,Arial,sans-serif!important;
  font-size:.95rem!important;
  font-weight:600!important;
}

body.menu-open{
  overflow:hidden;
}

@media (max-width:782px){
  .admin-bar .site-header .primary-nav{
    max-height:calc(100dvh - 126px)!important;
  }
}

@media (max-width:390px){
  .site-header .header-inner.header-wide{
    gap:10px!important;
    padding-inline:14px!important;
  }

  .site-header .serenity-logo{
    width:200px!important;
    height:60px!important;
  }

  .site-header .nav-list{
    padding-inline:18px!important;
  }
}

@media (min-width:1051px){
  .site-header .header-inner.header-wide{
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:clamp(22px,3vw,48px);
    min-height:88px!important;
    padding-inline:clamp(24px,3.5vw,64px)!important;
  }

  .site-header .serenity-logo{
    width:300px!important;
    max-width:31vw!important;
    height:auto!important;
  }

  .site-header .menu-toggle,
  .site-header .mobile-booking-link{
    display:none!important;
  }

  .site-header .primary-nav{
    display:block!important;
    position:static!important;
    width:auto!important;
    max-height:none!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    justify-self:end;
  }

  .site-header .nav-list{
    flex-direction:row!important;
    align-items:center!important;
    gap:clamp(18px,2vw,34px)!important;
    width:auto!important;
    padding:0!important;
  }

  .site-header .nav-list li{
    border:0!important;
  }

  .site-header .nav-list a{
    display:block!important;
    min-height:0;
    padding:8px 0!important;
    font-family:inherit!important;
    font-size:.92rem!important;
  }

  .site-header .nav-list a:not(.nav-cta)::after{
    display:block!important;
  }

  .site-header .header-contact{
    display:inline-flex!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .site-header .menu-toggle span{
    transition:none!important;
  }
}
