﻿/* WordPress three-level collections. Kept separate from legacy two-level layouts. */
.mega-intro__cta[hidden] { display: none !important; }
@media (min-width: 1181px) {
  .nav-links > li > .sub-menu.mega-grouped {
    grid-template-columns: minmax(220px, 350px) minmax(180px, 250px) minmax(210px, 280px) minmax(300px, 410px) !important;
    grid-template-rows: repeat(var(--mega-rows), 64px) minmax(0, 1fr) !important;
    gap: 7px 26px !important;
    align-content: start !important;
    align-items: start;
    height: auto !important;
    min-height: 420px !important;
    max-height: calc(100dvh - 60px - var(--sticky-nav-offset, 0px)) !important;
    overflow-y: auto;
    padding: 32px max(24px, calc((100vw - 1440px) / 2)) !important;
  }
  .nav-links > li > .sub-menu.mega-grouped::before {
    grid-column: 1 !important;
    grid-row: 1 / -1 !important;
    height: 350px !important;
    min-height: 350px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
  }
  .nav-links > li > .sub-menu.mega-grouped::after { display: none !important; }
  .nav-links .mega-grouped > .mega-intro {
    grid-column: 2 !important;
    grid-row: 1 / -1 !important;
    align-self: start;
    padding: 12px 0 !important;
    border: 0 !important;
  }
  .nav-links .mega-grouped .mega-intro__title { font-size: clamp(28px, 2.1vw, 38px); }
  .nav-links .mega-grouped > .mega-group { display: contents !important; }
  .nav-links .mega-category,
  .nav-links .mega-grouped > .mega-direct {
    grid-column: 3 !important;
    grid-row: var(--mega-row) !important;
  }
  .nav-links .mega-category {
    width: 100%; height: 100%; min-height: 64px; box-sizing: border-box; padding: 12px 38px 12px 18px;
    position: relative; border: 1px solid transparent; border-radius: 6px;
    background: #eeeae5; color: #172c36; font: 600 15px/1.45 'DM Sans', sans-serif;
    text-align: left; cursor: pointer;
  }
  .nav-links .mega-category::after { content: '\2192'; position: absolute; right: 15px; }
  .nav-links .is-selected > .mega-category { background: #ff7000; color: white; }
  .nav-links .mega-category:focus-visible { outline: 2px solid #172c36; outline-offset: 3px; }
  .nav-links .mega-tour-list {
    grid-column: 4; grid-row: 1 / -1; align-self: start;
    list-style: none; margin: 0; padding: 0; width: 100%;
  }
  .nav-links .mega-tour-list[hidden] { display: none !important; }
  .nav-links .mega-tour-list > li { display: block; margin: 0; padding: 0; }
  .nav-links .mega-tour-list > li > a {
    display: block; padding: 15px 4px; border-bottom: 1px solid #ded8d0;
    color: #172c36; font: 650 15px/1.5 'DM Sans', sans-serif; text-decoration: none;
    white-space: normal;
  }
  .nav-links .mega-tour-list > li > a::before,
  .nav-links .mega-tour-list > li > a::after { display: none; }
  .nav-links .mega-tour-list > li > a:hover,
  .nav-links .mega-tour-list > li > a:focus-visible,
  .nav-links .mega-tour-list > li > a[aria-current='page'] { color: #e85f00; }
  .nav-links > .mega-dismissed > .sub-menu { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
}
@media (max-width: 1180px) {
  .mobile-nav .sub-menu .sub-menu { padding-left: 16px; border-left: 1px solid rgba(128,128,128,.3); }
  .mobile-nav .sub-menu .sub-menu a.mobile-link { font-size: 15px; line-height: 1.5; letter-spacing: 0; }
  .mobile-nav li { position: relative; }
  .mobile-nav .menu-item-has-children > a.mobile-link { padding-right: 48px; }
  .mobile-nav .menu-item-has-children > a.mobile-link::after { display: none; }
  .mobile-menu-toggle { position: absolute; right: 0; top: 0; width: 44px; height: 44px; background: transparent; border: 0; color: #ff7000; font-size: 26px; cursor: pointer; }
  .mobile-menu-toggle:focus-visible { outline: 2px solid #ff7000; }
}

/* Unified Sky Dome dropdown surface: white canvas and orange line on every mega menu. */
@media (min-width: 1181px) {
  .navbar::before {
    background: #ffffff !important;
  }

  .nav-links > .menu-item-has-children > .sub-menu {
    background: #ffffff !important;
    border-top-color: #ff7000 !important;
    border-bottom-color: #e6e2dc !important;
  }

  .nav-links .mega-grouped .mega-intro__eyebrow { color: #e85f00; }
  .nav-links .mega-grouped .mega-intro__title { color: #102f3b; }
  .nav-links .mega-grouped .mega-intro__copy { color: #526a74; }

  .nav-links .mega-category {
    background: #f2f3f2;
    border: 0;
    border-radius: 0;
    color: #173440;
    font-weight: 600;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
  }
  .nav-links .mega-category::after { color: #e36a0d; }
  .nav-links .mega-category:hover {
    background: #fff5eb;
  }
  .nav-links .is-selected > .mega-category {
    background: linear-gradient(135deg, #ff7a00 0%, #f45d00 100%);
    color: #ffffff;
    box-shadow: none;
    font-weight: 700;
  }
  .nav-links .is-selected > .mega-category::after { color: #ffffff; }
  .nav-links .mega-category:focus-visible { outline: 2px solid #173440; outline-offset: 2px; }

  .nav-links .mega-tour-list > li > a {
    position: relative;
    padding-left: 6px;
    padding-right: 28px;
    border: 0;
    border-bottom: 1px solid #e4e2de;
    background: transparent;
    color: #173440 !important;
    -webkit-text-fill-color: #173440 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: color .18s ease, padding-left .18s ease, border-color .18s ease;
  }
  .nav-links .mega-tour-list > li > a > :not(.menu-badge) {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .nav-links .mega-tour-list > li > a::before {
    content: '';
    display: block;
    position: absolute;
    left: 3px;
    top: 50%;
    width: 5px;
    height: 5px;
    background: #ff7000;
    opacity: 0;
    transform: translateY(-50%) rotate(45deg);
    transition: opacity .18s ease;
  }
  .nav-links .mega-tour-list > li > a::after {
    content: '\2192';
    display: block;
    position: absolute;
    right: 5px;
    top: 50%;
    color: #e85f00;
    opacity: 0;
    transform: translate(-5px, -50%);
    transition: opacity .18s ease, transform .18s ease;
  }
  .nav-links .mega-tour-list > li > a:hover,
  .nav-links .mega-tour-list > li > a:focus-visible,
  .nav-links .mega-tour-list > li > a[aria-current='page'] {
    padding-left: 18px;
    background: transparent;
    border-bottom-color: #ff7000;
    color: #e85f00 !important;
    -webkit-text-fill-color: #e85f00 !important;
  }
  .nav-links .mega-tour-list > li > a:hover::before,
  .nav-links .mega-tour-list > li > a:focus-visible::before,
  .nav-links .mega-tour-list > li > a[aria-current='page']::before,
  .nav-links .mega-tour-list > li > a:hover::after,
  .nav-links .mega-tour-list > li > a:focus-visible::after,
  .nav-links .mega-tour-list > li > a[aria-current='page']::after {
    opacity: 1;
  }
  .nav-links .mega-tour-list > li > a:hover::after,
  .nav-links .mega-tour-list > li > a:focus-visible::after,
  .nav-links .mega-tour-list > li > a[aria-current='page']::after {
    transform: translate(0, -50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .nav-links .mega-category { transition: none; }
}

/* Elevated mobile navigation: light, calm and consistent with the desktop header. */
@media (max-width: 1180px) {
  .mobile-overlay__bg {
    background:
      radial-gradient(circle at 100% 0, rgba(255, 112, 0, .09), transparent 34%),
      linear-gradient(180deg, #fffdf9 0%, #f6f1ea 100%) !important;
  }

  .mobile-nav {
    padding-right: clamp(22px, 6vw, 40px);
    padding-bottom: 28px;
    padding-left: clamp(22px, 6vw, 40px);
  }

  .mobile-nav > ul {
    justify-content: flex-start !important;
    gap: 0;
    padding-top: clamp(22px, 5vh, 44px);
  }

  .mobile-nav li { width: 100%; }

  .mobile-nav > ul > li > a.mobile-link {
    min-height: 58px;
    padding: 15px 48px 15px 0;
    border-bottom: 1px solid #ded8d0;
    color: #17323e !important;
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(20px, 5.6vw, 27px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: .035em;
    text-transform: uppercase !important;
  }

  .mobile-link::before { display: none !important; }

  .mobile-nav > ul > li > a.mobile-link:hover,
  .mobile-nav > ul > li > a.mobile-link:focus-visible,
  .mobile-nav > ul > .current-menu-item > a.mobile-link,
  .mobile-nav > ul > .current-menu-parent > a.mobile-link {
    color: #df6200 !important;
  }

  .mobile-nav .sub-menu {
    gap: 0;
    margin: 0;
    padding: 4px 0 12px 16px;
    border-left: 2px solid rgba(255, 112, 0, .42);
  }

  .mobile-nav .sub-menu .sub-menu {
    margin: 0 0 6px;
    padding: 2px 0 7px 14px;
    border-left: 1px solid #d9d2c9;
  }

  .mobile-nav .sub-menu a.mobile-link,
  .mobile-nav .sub-menu .sub-menu a.mobile-link {
    min-height: 42px;
    padding: 10px 44px 10px 0;
    border-bottom: 1px solid rgba(23, 50, 62, .09);
    color: #3d555f !important;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .015em;
    text-transform: none !important;
  }

  .mobile-nav .sub-menu > .menu-item-has-children > a.mobile-link {
    color: #17323e !important;
    font-size: 15px;
    font-weight: 700;
  }

  .mobile-nav .sub-menu a.mobile-link:hover,
  .mobile-nav .sub-menu a.mobile-link:focus-visible,
  .mobile-nav .sub-menu .current-menu-item > a.mobile-link {
    color: #df6200 !important;
  }

  .mobile-menu-toggle {
    top: 11px;
    width: 36px;
    height: 36px;
    color: #e85f00;
    font-family: 'DM Sans', sans-serif;
    font-size: 23px;
    font-weight: 400;
    line-height: 1;
  }

  .mobile-nav .sub-menu .mobile-menu-toggle {
    top: 3px;
  }

  .mobile-menu-toggle:hover,
  .mobile-menu-toggle:focus-visible {
    background: #fff1e4;
    outline: none;
  }

  .mobile-nav__footer {
    padding-top: 20px;
    border-top-color: #d8d1c8 !important;
  }

  .mobile-nav__social a {
    color: #61727a !important;
  }

  .mobile-nav__social a:hover,
  .mobile-nav__social a:focus-visible {
    color: #df6200 !important;
  }
}

@media (max-width: 480px) {
  .mobile-nav > ul {
    padding-top: 18px;
  }

  .mobile-nav > ul > li > a.mobile-link {
    min-height: 54px;
    padding-top: 13px;
    padding-bottom: 13px;
    font-size: clamp(19px, 6vw, 24px);
  }

  .mobile-nav__footer {
    padding-top: 16px;
  }
}

/* Selective tour badges: intentionally limited to a few commercial highlights. */
.menu-badge {
  display: inline-flex;
  align-items: center;
  min-height: 19px;
  margin-left: 8px;
  padding: 3px 6px;
  color: #fff;
  -webkit-text-fill-color: #fff !important;
  font-family: 'DM Sans', sans-serif;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .04em;
  border-radius: 4px;
  text-transform: uppercase;
  vertical-align: middle;
  white-space: nowrap;
}

.menu-badge--seller { background: #e76525; }
.menu-badge--teal { background: #3b9da5; }
.menu-badge--gold { background: #ac8435; }

@media (max-width: 1180px) {
  .mobile-nav .menu-badge {
    min-height: 18px;
    margin-left: 7px;
    padding: 3px 5px;
    font-size: 8px;
    letter-spacing: .03em;
  }
}
