/* Site-fix overrides layered on top of Webflow's CSS. Webflow's runtime
   doesn't reliably initialize dropdowns / mobile nav on pages where
   the form module crashed the init chain, so we drive it ourselves. */

/* ============================================================
   DESKTOP (>= 992px)
   ============================================================ */
@media screen and (min-width: 992px) {
  /* --- Webflow language-switcher dropdown (.w-dropdown) --- */
  .w-dropdown {
    position: relative;
  }
  .w-dropdown:hover > .w-dropdown-list,
  .w-dropdown:focus-within > .w-dropdown-list,
  .w-dropdown.w--open > .w-dropdown-list {
    display: block !important;
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 500;
    top: 100%;
    left: 0;
  }
  .w-dropdown.w--open > .w-dropdown-toggle {
    color: #fff;
    background-color: #c8c8c8;
  }

  /* --- Custom services / about dropdown (.drop-container > a + .dropdown) --- */
  .drop-container {
    position: relative;
  }
  .drop-container:hover > .dropdown,
  .drop-container:focus-within > .dropdown,
  .drop-container.sf-drop-open > .dropdown {
    display: block !important;
    top: 100%;
    left: 0;
    z-index: 500;
    width: max-content;
    max-width: 90vw;
  }
  .drop-container > .dropdown:has(.dropdown-grid) {
    min-width: 34em;
  }
  .drop-container > .dropdown:not(:has(.dropdown-grid)) {
    min-width: 14em;
  }
  .drop-container > .dropdown > .dropdown-grid {
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  .drop-container > .dropdown .dropdown-link--secondary {
    min-width: 0;
    white-space: normal;
    transition: background-color 0.15s ease, color 0.15s ease;
  }
  .drop-container > .dropdown .dropdown-link--secondary:hover,
  .drop-container > .dropdown .dropdown-link--secondary:focus {
    background-color: rgba(252, 125, 19, 0.08);
  }
  .drop-container > .dropdown .dropdown-link--secondary:hover .nav-link,
  .drop-container > .dropdown .dropdown-link--secondary:focus .nav-link {
    color: #fc7d13;
  }

  /* --- Top-nav link underline hover (IX2 replacement) --- */
  .nav-link-wrapper .nav-link-underline,
  .nav-link-wrapper--white .nav-link-underline,
  .nav-link-wrapper-no-overflow .nav-link-underline {
    transition: transform 0.25s ease;
  }
  .nav-link-wrapper:hover .nav-link-underline,
  .nav-link-wrapper--white:hover .nav-link-underline,
  .nav-link-wrapper-no-overflow:hover .nav-link-underline,
  .drop-container:hover .nav-link-underline,
  .drop-container.sf-drop-open .nav-link-underline {
    transform: translateX(0) !important;
  }
}

/* ============================================================
   MOBILE (<= 991px)
   ============================================================ */
@media screen and (max-width: 991px) {
  /* Menu hidden by default, shown when burger toggles sf-nav-open */
  .navbar.w-nav .w-nav-menu {
    display: none;
  }
  .navbar.w-nav.sf-nav-open .w-nav-menu {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    max-height: calc(100vh - 100%);
    padding: 0.5em 0 1em;
    background-color: var(--dark-blue, #0d2942);
    z-index: 399;
    overflow-y: auto;
  }

  /* Each top-level nav link: full-width row with subtle divider */
  .navbar.w-nav.sf-nav-open .w-nav-menu > a,
  .navbar.w-nav.sf-nav-open .w-nav-menu .nav-link-wrapper,
  .navbar.w-nav.sf-nav-open .w-nav-menu .nav-link-wrapper--white,
  .navbar.w-nav.sf-nav-open .w-nav-menu .nav-link-wrapper-no-overflow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.9em 1.5em;
    color: #fff !important;
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    width: 100%;
    margin: 0;
    box-shadow: none;
    overflow: visible;
  }
  .navbar.w-nav.sf-nav-open .w-nav-menu .white-nav-link,
  .navbar.w-nav.sf-nav-open .w-nav-menu .nav-link,
  .navbar.w-nav.sf-nav-open .w-nav-menu .dropdown-link-text {
    color: #fff !important;
    text-align: left;
  }
  /* Hide the IX2 underline on mobile — not helpful here */
  .navbar.w-nav.sf-nav-open .nav-link-underline {
    display: none !important;
  }

  /* Services / About custom dropdown (.drop-container):
     hidden by default, expand when user taps the toggle */
  .navbar.w-nav.sf-nav-open .drop-container {
    width: 100%;
    position: relative;
  }
  .navbar.w-nav.sf-nav-open .drop-container > .dropdown {
    display: none !important;
    position: static;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.25);
    box-shadow: none;
    border: none;
    min-width: 0;
    max-width: none;
    padding: 0;
  }
  .navbar.w-nav.sf-nav-open .drop-container.sf-drop-open > .dropdown {
    display: block !important;
  }
  .navbar.w-nav.sf-nav-open .drop-container > .dropdown > .dropdown-grid {
    display: block;
    grid-template-columns: 1fr;
    width: 100%;
    background: transparent;
    border: none;
  }
  .navbar.w-nav.sf-nav-open .drop-container .dropdown-link,
  .navbar.w-nav.sf-nav-open .drop-container .dropdown-link--secondary {
    display: block;
    padding: 0.7em 2.5em;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    background: transparent;
    text-align: left;
  }
  .navbar.w-nav.sf-nav-open .drop-container .dropdown-link--secondary:hover,
  .navbar.w-nav.sf-nav-open .drop-container .dropdown-link--secondary:active {
    background-color: rgba(255, 255, 255, 0.05);
  }
  /* Rotate the dropdown-icon arrow when expanded for affordance */
  .navbar.w-nav.sf-nav-open .drop-container .dropdown-icon-black {
    color: #fff;
    transition: transform 0.2s ease;
  }
  .navbar.w-nav.sf-nav-open .drop-container.sf-drop-open .dropdown-icon-black {
    transform: rotate(180deg);
  }

  /* Webflow language-switcher (.w-dropdown) inline expand on mobile */
  .navbar.w-nav.sf-nav-open .w-dropdown {
    width: 100%;
    display: block;
  }
  .navbar.w-nav.sf-nav-open .w-dropdown .w-dropdown-toggle {
    display: flex;
    padding: 0.9em 1.5em;
    color: #fff !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  .navbar.w-nav.sf-nav-open .w-dropdown .w-dropdown-list {
    display: none !important;
    position: static !important;
    background: rgba(0, 0, 0, 0.25) !important;
    padding: 0 !important;
    min-width: 0 !important;
  }
  .navbar.w-nav.sf-nav-open .w-dropdown.w--open .w-dropdown-list {
    display: block !important;
  }
  .navbar.w-nav.sf-nav-open .w-dropdown .w-dropdown-list a {
    padding: 0.7em 2.5em !important;
    color: #fff !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  }
}
