/*
 * MR9 v10.11.3 — hybrid laptop navigation
 * Primary destinations remain visible on laptops. Secondary destinations use
 * a compact More panel instead of the phone-style full-screen navigation.
 */

@media (min-width: 721px) and (max-width: 1439px) {
  .topbar {
    grid-template-columns: clamp(166px, 16vw, 210px) minmax(0, 1fr) auto 90px !important;
    gap: clamp(9px, 1.15vw, 16px) !important;
    padding-inline: clamp(14px, 1.7vw, 22px) !important;
  }

  .topbar > .logo {
    grid-column: 1 !important;
    width: clamp(166px, 16vw, 210px) !important;
  }

  .topbar > .logo img {
    height: clamp(58px, 6.2vw, 68px) !important;
    max-height: 68px !important;
  }

  .topbar > .desktop-nav {
    display: flex !important;
    grid-column: 2 !important;
    justify-self: end !important;
    align-items: center !important;
    min-width: 0 !important;
    gap: clamp(9px, 1vw, 15px) !important;
  }

  .topbar > .desktop-nav > a,
  .topbar > .desktop-nav > details > summary {
    white-space: nowrap !important;
  }

  .topbar > .desktop-nav > a[href="event-professionals.htm"],
  .topbar > .desktop-nav > a[href="about.htm"],
  .topbar > .desktop-nav > .mr9-nav-dropdown:not(.mr9-event-types-nav) {
    display: none !important;
  }

  .topbar > .project-link {
    display: flex !important;
    grid-column: 3 !important;
    height: 48px !important;
    margin-left: 0 !important;
    padding-left: clamp(12px, 1.4vw, 20px) !important;
    gap: 10px !important;
    white-space: nowrap !important;
  }

  .topbar > .mr9-portal-nav {
    display: none !important;
  }

  .topbar > .menu {
    display: inline-flex !important;
    grid-column: 4 !important;
    width: 90px !important;
    height: 48px !important;
    flex: 0 0 90px !important;
    position: relative !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    padding: 0 38px 0 14px !important;
    border-color: rgba(236, 238, 232, .42) !important;
  }

  .topbar > .menu::before {
    content: "More";
    display: block;
    font-family: var(--cond);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .09em;
    text-transform: uppercase;
  }

  .topbar > .menu i {
    position: absolute;
    right: 14px;
    width: 17px;
    height: 1px;
    margin: 0 !important;
  }

  .topbar > .menu i:first-child {
    top: 19px;
  }

  .topbar > .menu i:last-child {
    top: 27px;
  }

  .topbar > .menu[aria-expanded="true"] i:first-child {
    top: 23px;
    transform: rotate(45deg) !important;
  }

  .topbar > .menu[aria-expanded="true"] i:last-child {
    top: 23px;
    transform: rotate(-45deg) !important;
  }

  .mobile-nav:not([hidden]) {
    position: fixed !important;
    inset: var(--mr9-header-height) clamp(14px, 1.7vw, 22px) auto auto !important;
    display: block !important;
    width: min(640px, calc(100vw - 28px)) !important;
    max-width: 640px !important;
    max-height: calc(100dvh - var(--mr9-header-height) - 18px) !important;
    padding: 20px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    background: rgba(10, 12, 9, .985) !important;
    border: 1px solid rgba(152, 255, 84, .42) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .72), 0 0 32px rgba(152, 255, 84, .08) !important;
    animation: mr9-more-panel-in .18s ease-out both;
  }

  .mobile-nav-brand {
    display: none !important;
  }

  .mobile-nav nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 0 !important;
  }

  .mobile-nav nav a {
    display: flex !important;
    align-items: center !important;
    min-height: 50px !important;
    padding: 13px 14px !important;
    border: 1px solid rgba(236, 238, 232, .16) !important;
    background: rgba(255, 255, 255, .025) !important;
    font-family: var(--cond) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
    transition: color .16s ease, border-color .16s ease, background-color .16s ease, transform .16s ease !important;
  }

  .mobile-nav nav a:hover,
  .mobile-nav nav a:focus-visible {
    color: var(--acid) !important;
    border-color: rgba(152, 255, 84, .62) !important;
    background: rgba(152, 255, 84, .075) !important;
    transform: translateX(3px);
  }

  /* The logo, Event Types dropdown, and project CTA already expose these. */
  .mobile-nav nav a[href="index.htm"],
  .mobile-nav nav a[href="luxury-weddings.htm"],
  .mobile-nav nav a[href="corporate-events.htm"],
  .mobile-nav nav a[href="mitzvahs.htm"],
  .mobile-nav nav a[href="galas-fundraisers.htm"],
  .mobile-nav nav a[href="private-events-milestone-celebrations.htm"],
  .mobile-nav nav a[href="start-a-project.htm"],
  .mobile-nav nav a[href="inquiry.php"] {
    display: none !important;
  }
}

/* Tablet and smallest laptop: one primary event control remains visible. */
@media (min-width: 721px) and (max-width: 900px) {
  .topbar > .desktop-nav > a {
    display: none !important;
  }

  .topbar > .desktop-nav > .mr9-nav-dropdown:not(.mr9-event-types-nav) {
    display: none !important;
  }
}

/* Standard laptop: show the three strongest public discovery paths. */
@media (min-width: 901px) and (max-width: 1179px) {
  .mobile-nav nav a[href="capabilities.htm"],
  .mobile-nav nav a[href="portfolio.htm"] {
    display: none !important;
  }
}

/* Larger laptop: add the Brands disclosure to the direct header. */
@media (min-width: 1180px) and (max-width: 1259px) {
  .topbar > .desktop-nav > .mr9-nav-dropdown:not(.mr9-event-types-nav) {
    display: block !important;
  }

  .mobile-nav nav a[href="capabilities.htm"],
  .mobile-nav nav a[href="portfolio.htm"],
  .mobile-nav nav a[href="the-prop-factory.htm"],
  .mobile-nav nav a[href="illumitubes.htm"] {
    display: none !important;
  }
}

/* Wide laptop: add Event Pros while About and Portals remain in More. */
@media (min-width: 1260px) and (max-width: 1439px) {
  .topbar > .desktop-nav > a[href="event-professionals.htm"],
  .topbar > .desktop-nav > .mr9-nav-dropdown:not(.mr9-event-types-nav) {
    display: block !important;
  }

  .mobile-nav nav a[href="capabilities.htm"],
  .mobile-nav nav a[href="portfolio.htm"],
  .mobile-nav nav a[href="event-professionals.htm"],
  .mobile-nav nav a[href="the-prop-factory.htm"],
  .mobile-nav nav a[href="illumitubes.htm"] {
    display: none !important;
  }
}

@keyframes mr9-more-panel-in {
  from { opacity: 0; transform: translateY(-8px) scale(.985); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 720px) {
  .topbar > .menu::before {
    content: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-nav:not([hidden]) {
    animation: none !important;
  }

  .mobile-nav nav a {
    transition: none !important;
  }
}
