.top-contact-bar{
  min-height:38px;
  padding:8px 34px 0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:22px;
  background:#fff;
}

.social-icons{
  display:flex;
  align-items:center;
  gap:8px;
}

.social-icons a{
  width:28px;
  height:28px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef7fa;
  color:var(--teal);
  font-size:11px;
  font-weight:900;
}

.top-phone{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--teal);
  font-size:15px;
  font-weight:900;
}

.phone-icon{
  width:16px;
  height:16px;
  fill:currentColor;
  flex:0 0 auto;
}

.site-header{
  background:#fff;
}

.nav-wrap{
  min-height:128px;
  padding:0 34px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}

.brand img{
  width:140px;
  height:140px;
  object-fit:contain;
}

.main-nav{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:30px;
  font-size:20px;
  font-weight:900;
  color:var(--navy);
}

.main-nav a{
  white-space:nowrap;
}

.nav-cta{
  background:linear-gradient(135deg,var(--teal2),var(--teal));
  color:#fff;
  padding:18px 30px;
  border-radius:14px;
  font-size:20px;
}

.nav-toggle{
  display:none;
  border:0;
  background:var(--navy);
  color:#fff;
  border-radius:9px;
  padding:8px 11px;
}

.top-contact-bar{
  position:fixed;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(760px,96vw);
  z-index:1000;
}

.site-header{
  position:fixed;
  top:38px;
  left:50%;
  transform:translateX(-50%);
  width:min(760px,96vw);
  z-index:999;
  box-shadow:0 10px 28px rgba(15,23,42,.10);
}

@media(max-width:820px){
  .top-contact-bar,
  .site-header{
    width:100%;
  }

  .site-header{
    top:auto;
    position:sticky;
  }

  .top-contact-bar{
    position:sticky;
    transform:none;
    left:auto;
  }
}

.header-tour-cart{
  position:relative;
  border:0;
  background:linear-gradient(135deg,var(--teal2),var(--teal));
  color:#fff;
  border-radius:999px;
  width:42px;
  height:42px;
  font-size:20px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(0,31,91,.16);
}

.header-tour-cart span{
  position:absolute;
  top:-7px;
  right:-7px;
  min-width:22px;
  height:22px;
  border-radius:999px;
  background:var(--navy);
  color:#fff;
  font-size:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.header-tour-cart{
  display:none;
  width:32px;
  height:32px;
  font-size:15px;
  box-shadow:0 6px 14px rgba(0,31,91,.14);
}

.header-tour-cart.has-items{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.header-tour-cart span{
  top:-6px;
  right:-6px;
  min-width:18px;
  height:18px;
  font-size:10px;
}

/* layout fix */
.top-contact-bar,
.site-header{
  width:min(1180px,96vw) !important;
}

/* keep fixed header flush with 900px site shell */
.top-contact-bar,
.site-header{
  width:min(900px,96vw) !important;
}

.social-icons a{
  font-size:16px;
  line-height:1;
}
