/* ==========================================================================
   Masthead + main menu (Home · About Us · Our Tours · Blog · FAQs · Contact Us)
   Shared by home-2 and home-3. Behaviour: assets/js/nav.js
   ========================================================================== */

.masthead {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--c-line);
  backdrop-filter: saturate(1.4) blur(8px);
  transition: box-shadow .25s ease;
}
.masthead.is-scrolled { box-shadow: 0 6px 24px rgba(16, 49, 46, .08); }
.masthead__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-2);
  min-height: 68px;
}

.brand2 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: var(--c-ink);
  text-decoration: none;
}
.brand2 img { width: 44px; height: auto; }
.brand2__text b {
  display: block;
  font-family: var(--ff-head);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--c-ink);
}
.brand2__text small {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--c-primary);
}

.mainnav { display: none; }

.masthead__actions { display: flex; align-items: center; gap: 4px; }
.masthead__cta { display: none; }
.icon-btn--dark { color: var(--c-ink); }
.icon-btn--dark:hover { background: var(--c-paper); }

@media (min-width: 1100px) {
  .mainnav { display: block; }
  .masthead__burger { display: none; }
  .masthead__cta { display: inline-flex; }
}

.mainnav__list {
  display: flex;
  align-items: center;
  gap: 2px;
}
.mainnav__list > li { position: relative; }
.mainnav__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 44px;
  padding: 0 14px;
  border: 0;
  border-radius: var(--r-sm);
  background: none;
  color: var(--c-ink);
  font-size: .9375rem;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}
.mainnav__link:hover,
.has-sub:focus-within > .mainnav__link,
.has-sub.is-open > .mainnav__link { background: var(--c-paper); color: var(--c-primary); }
.mainnav__link[aria-current="page"] { position: relative; color: var(--c-primary); }
.mainnav__link[aria-current="page"]::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 6px;
  height: 2px;
  border-radius: 2px;
  background: var(--c-cta);
}
.mainnav__link .icon { transition: transform .2s ease; }
.has-sub.is-open > .mainnav__link .icon { transform: rotate(180deg); }

/* Dropdown panels: open on hover (pointer) + click/keyboard (JS toggles .is-open) */
.subpanel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 300px;
  padding: 10px;
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: #fff;
  box-shadow: var(--sh-2);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}
/* invisible bridge so the pointer can travel from button to panel */
.subpanel::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
@media (hover: hover) {
  .has-sub:hover > .subpanel { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
}
.has-sub.is-open > .subpanel { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }

.subpanel a {
  display: block;
  padding: 10px 12px;
  border-radius: var(--r-sm);
  color: var(--c-text);
  text-decoration: none;
}
.subpanel a:hover { background: var(--c-paper); }
.subpanel a b { display: block; font-size: .9375rem; }
.subpanel a span { display: block; font-size: var(--fs-xs); color: var(--c-muted); }

.subpanel--mega {
  left: 50%;
  width: 720px;
  padding: var(--s-3);
  transform: translate(-50%, 6px);
}
@media (hover: hover) {
  .has-mega:hover > .subpanel--mega { transform: translate(-50%, 0); }
}
.has-mega.is-open > .subpanel--mega { transform: translate(-50%, 0); }

.mega {
  display: grid;
  grid-template-columns: 1fr 1fr 1.3fr;
  gap: var(--s-3);
}
.mega__title {
  margin: 0 0 6px 12px;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c-muted);
}
.mega ul a {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  font-size: .9375rem;
}
.mega ul a span { display: inline; font-weight: 500; }
.mega__feature {
  display: grid !important;
  gap: 4px;
  padding: 0 !important;
}
.mega__feature:hover { background: none !important; }
.mega__feature img { aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--r-sm); margin-bottom: 6px; }
.mega__feature b { font-family: var(--ff-head); font-size: 1.0625rem; line-height: 1.25; }
.mega__feature:hover b { color: var(--c-primary); }
.mega__code { font-size: 11px !important; font-weight: 700; letter-spacing: .06em; color: var(--c-cta) !important; }
.mega__all {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  margin-top: var(--s-2);
  padding: 10px 12px;
  font-weight: 700;
  color: var(--c-primary) !important;
}

/* Drawer nav (mobile) */
.drawer-nav { display: grid; }
.drawer-nav > a,
.drawer-nav summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  border-bottom: 1px solid var(--c-line);
  font-weight: 600;
  font-size: 1.0625rem;
  text-decoration: none;
  color: var(--c-ink);
  cursor: pointer;
  list-style: none;
}
.drawer-nav summary::-webkit-details-marker { display: none; }
.drawer-nav details[open] summary .icon { transform: rotate(180deg); }
.drawer-nav details a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding-left: 14px;
  color: var(--c-muted);
  text-decoration: none;
}
.drawer-nav [aria-current="page"] { color: var(--c-cta); }
.drawer__contact { display: grid; gap: 10px; margin-top: auto; padding-top: var(--s-3); }


@media (max-width: 479px) {
  .masthead .brand2__text small { display: none; }
  .masthead .brand2__text b { font-size: 1rem; }
}
