/* VisaHoBe overrides: remove template badge, fit hero title, tidy legacy bits */
.w-webflow-badge, a.w-webflow-badge, .w-webflow-badge > img { display: none !important; visibility: hidden !important; opacity: 0 !important; }
.hero-title { font-size: 20vw !important; line-height: 0.86 !important; letter-spacing: -0.015em; white-space: nowrap; }
.hero-title-wrapper { overflow: hidden; }
@media screen and (max-width: 767px) { .hero-title { font-size: 19vw !important; } }
@media screen and (max-width: 479px) { .hero-title { font-size: 19vw !important; } }

/* ---------- Sticky navigation: white liquid glass ---------- */
.navbar.w-nav {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
  background-color: rgba(255, 255, 255, 0.74);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  backdrop-filter: blur(24px) saturate(180%);
  border-bottom: 1px solid rgba(11, 21, 36, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 8px 30px rgba(11, 21, 36, 0.06);
}
.navbar.w-nav .nav-link-wrap { flex-wrap: nowrap; }

/* brand + desktop links go dark so they read on the light glass */
.navbar.w-nav .nav-text { color: #0b1524; }

@media screen and (min-width: 992px) {
  .navbar.w-nav .navlink {
    color: #0b1524 !important;
    background-color: rgba(255, 255, 255, 0.5) !important;
    border: 1px solid rgba(11, 21, 36, 0.09);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
  .navbar.w-nav .navlink:hover {
    background-color: #ffffff !important;
    color: #0b1524 !important;
    border-color: rgba(11, 21, 36, 0.16);
  }
  .navbar.w-nav .navlink.w--current {
    background-color: #0b1524 !important;
    color: #ffffff !important;
    border-color: #0b1524;
  }
  .navbar.w-nav .primary-button {
    background-color: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(11, 21, 36, 0.12);
  }
}

/* mobile: keep the blue slide-down panel, only darken the bar itself */
@media screen and (max-width: 991px) {
  .navbar.w-nav { background-color: rgba(255, 255, 255, 0.76); }
  .navbar.w-nav .menu-button { border: 1px solid rgba(11, 21, 36, 0.12); }
}

/* ---------- Footer contact strip ---------- */
.vh-contact-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  padding: 28px 0 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  margin-top: 28px;
  font-family: var(--font-family--inter-tight, sans-serif);
  color: #fff;
}
.vh-contact-strip .vh-contact-item { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.vh-contact-strip .vh-label {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.6;
}
.vh-contact-strip a,
.vh-contact-strip span.vh-value {
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.vh-contact-strip a:hover { text-decoration: underline; }
@media screen and (max-width: 767px) {
  .vh-contact-strip { grid-template-columns: 1fr; gap: 18px; }
}

/* ---------- Country pages: hero text centered and filling the middle ---------- */
.destination-hero-area {
  justify-content: center !important;
  align-items: center;
  height: 100vh;
  min-height: 620px;
  padding-top: 7rem !important;
  padding-bottom: 5rem !important;
}
.destination-hero-area .destination-hero {
  display: flex;
  align-items: center;
  width: 100%;
}
.destination-hero-area .container { width: 100%; max-width: 1240px; }
.destination-hero-area .destination-hero-main {
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-top: 0 !important;
  margin-left: auto;
  margin-right: auto;
  max-width: 72rem;
  grid-row-gap: 1.5rem;
  row-gap: 1.5rem;
}
.destination-hero-area .destination-hero-left {
  align-items: center;
  max-width: 100%;
  width: 100%;
}
.destination-hero-area .destination-hero-right {
  align-items: center;
  text-align: center;
  max-width: 52rem;
  width: 100%;
  row-gap: 1.75rem;
}
.destination-hero-area .space-1-medium { height: 0 !important; min-height: 0 !important; }
.destination-hero-area .inner-hero-heading {
  text-align: center;
  font-size: clamp(2.6rem, 6vw, 5.6rem);
  line-height: 0.98;
  letter-spacing: -0.02em;
  margin: 0;
}
.destination-hero-area .inner-hero-p {
  text-align: center;
  font-size: clamp(1.05rem, 1.15vw, 1.3rem);
  max-width: 46rem;
  margin-left: auto;
  margin-right: auto;
}
.destination-hero-area .primary-button { margin-top: 0.5rem; }

@media screen and (max-width: 767px) {
  .destination-hero-area { height: auto; min-height: 78vh; padding-top: 6rem !important; padding-bottom: 4rem !important; }
  .destination-hero-area .inner-hero-heading { font-size: clamp(2.1rem, 9vw, 3.2rem); }
}

/* ---------- Every hero except the home page: text centered, filling the middle ---------- */
.destination-hero-block,
.package-hero,
.about-hero-block,
.contact-hero,
.packages-hero-area {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: auto;
  min-height: 100vh;
  padding-top: 8rem !important;
  padding-bottom: 5rem !important;
}
.destination-hero-block > .section,
.package-hero > .section,
.about-hero-block > .section,
.contact-hero > .section,
.packages-hero-area > .section {
  width: 100%;
  display: flex;
  align-items: center;
}
.destination-hero-block .container,
.package-hero .container,
.about-hero-block .container,
.contact-hero .container,
.packages-hero-area .container { width: 100%; }

/* one centered stack instead of split columns */
.destination-hero-item,
.packeges-hero-main,
.about-hero-wrap {
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  max-width: 72rem;
  row-gap: 1.5rem;
  grid-row-gap: 1.5rem;
}
.packages-hero-left,
.packages-hero-right,
.about-hero-top,
.about-hero-bottom,
.about-hero-text-wrap,
.about-hero-buttons {
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  max-width: 52rem;
}
.packages-hero-right { max-width: 52rem; }
.packages-hero-left .inner-button-wrap,
.about-hero-buttons { margin-left: auto; margin-right: auto; justify-content: center; }
.about-hero-title-wrap { max-width: 64rem; margin-left: auto; margin-right: auto; }
.about-badge-wrap,
.badge-wrap { display: flex; justify-content: center; width: 100%; }
.packages-hero-area .space-1-medium { height: 0 !important; min-height: 0 !important; }

/* type that fills the space */
.destination-hero-block .inner-hero-heading,
.package-hero .inner-hero-heading,
.about-hero-block .inner-hero-heading,
.contact-hero .inner-hero-heading,
.packages-hero-area .inner-hero-heading {
  font-size: clamp(2.6rem, 6vw, 5.6rem);
  line-height: 0.98;
  letter-spacing: -0.02em;
  text-align: center;
  margin: 0 auto;
}
.destination-hero-block .inner-hero-p,
.package-hero .inner-hero-p,
.packages-hero-area .inner-hero-p,
.about-hero-text,
.contact-hero .about-hero-text {
  font-size: clamp(1.05rem, 1.15vw, 1.3rem);
  text-align: center;
  max-width: 46rem;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .destination-hero-block,
  .package-hero,
  .about-hero-block,
  .contact-hero,
  .packages-hero-area {
    min-height: 78vh;
    padding-top: 6rem !important;
    padding-bottom: 4rem !important;
  }
  .destination-hero-block .inner-hero-heading,
  .package-hero .inner-hero-heading,
  .about-hero-block .inner-hero-heading,
  .contact-hero .inner-hero-heading,
  .packages-hero-area .inner-hero-heading { font-size: clamp(2.1rem, 9vw, 3.2rem); }
}

/* ---------- Force hero centering (v8) ---------- */
.destination-hero-block,
.package-hero,
.about-hero-block,
.contact-hero,
.packages-hero-area {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 100vh !important;
  height: auto !important;
}
.destination-hero-block > .section,
.package-hero > .section,
.about-hero-block > .section,
.contact-hero > .section,
.packages-hero-area > .section {
  width: 100% !important;
  margin: auto 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 0 !important;
}

/* contact form date field matches the other inputs */
input[type="date"].contact-text-fifeld { -webkit-appearance: none; appearance: none; min-height: 3.5rem; color: inherit; }

/* ---------- Footer: mobile layout fixes ---------- */
@media screen and (max-width: 767px) {
  .section.footer .container { padding-left: 18px; padding-right: 18px; }
  .section.footer .footer-main { align-items: stretch; width: 100%; }

  .section.footer .footer-title-wrapper {
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
    max-width: 100%;
  }

  /* the email was set at 44px and pushed 130px outside the viewport */
  .section.footer .email-address {
    display: block;
    width: 100%;
    max-width: 100%;
    font-size: clamp(1.05rem, 5.6vw, 1.55rem);
    line-height: 1.35;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .section.footer .footer-social-block { justify-content: flex-start; }

  .section.footer .footer-contact-wrapper {
    width: 100%;
    max-width: 100%;
    align-items: stretch;
  }

  .section.footer .footer-form {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    width: 100%;
  }
  .section.footer .field-wrapper,
  .section.footer .footer-text-field { width: 100%; }
  .section.footer .submit-button.footer {
    width: 100%;
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .section.footer .vh-contact-strip {
    margin-top: 24px;
    padding: 22px 18px 8px;
    gap: 16px;
  }
  .section.footer .vh-contact-strip .vh-contact-item { gap: 4px; }
  .section.footer .vh-contact-strip a,
  .section.footer .vh-contact-strip span.vh-value { font-size: 14.5px; }

  .section.footer .copyright-wrapper {
    padding: 18px 18px 26px;
    align-items: flex-start;
  }
  .section.footer .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    text-align: left;
  }
  .section.footer .uitlity-link-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
  }
  .section.footer .utility-link { padding: 6px 0; }
}
