/* FLEVO v5.4 — global navigation interaction fixes */
header,
header.top,
header .container,
header .topin,
header .nav,
header nav,
header a,
header button,
.header-lang,
.menu-toggle {
  pointer-events: auto !important;
}

header,
header.top {
  z-index: 1200 !important;
}

header::before,
header::after,
header .topin::before,
header .topin::after,
header .nav::before,
header .nav::after {
  pointer-events: none !important;
}

/* Keep all clickable controls above decorative glass layers. */
header .logo-link,
header nav,
header nav a,
header .header-lang,
header .menu-toggle,
header .actions,
header .actions a,
header .actions button {
  position: relative;
  z-index: 3;
}

/* Avoid active underline or decorative pseudo-elements covering neighbouring links. */
header nav a::before,
header nav a::after {
  pointer-events: none !important;
}

/* Improve keyboard and touch behaviour. */
header a,
header button,
.btn,
.filter,
.social a,
.quote-close,
.close,
.arrows button {
  touch-action: manipulation;
}

header a:focus-visible,
header button:focus-visible,
.btn:focus-visible,
.filter:focus-visible {
  outline: 3px solid rgba(20, 196, 207, .55);
  outline-offset: 4px;
}

/* Mobile menu must remain clickable over page content. */
@media (max-width: 900px) {
  header.top nav,
  header nav.open {
    z-index: 1250 !important;
    pointer-events: auto !important;
  }
}


/* FLEVO v5.7.2 — reliable mobile navigation and section links */
html {
  scroll-padding-top: 112px;
}

#home,
#about,
#services,
#projects,
#process,
#capabilities,
#clients,
#contact {
  scroll-margin-top: 112px;
}

@media (max-width: 980px) {
  body.flevo-mobile-nav-open {
    overflow: hidden !important;
  }

  body.flevo-mobile-nav-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1180;
    background: rgba(0, 12, 25, .62);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
  }

  header.site-header .nav,
  header.top .topin {
    position: relative !important;
  }

  header.site-header #mainNav.menu,
  header.top #mainNav {
    display: none !important;
    position: fixed !important;
    top: 88px !important;
    right: 13px !important;
    left: 13px !important;
    width: auto !important;
    max-height: calc(100dvh - 106px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    padding: 13px !important;
    border: 1px solid rgba(113, 195, 213, .34) !important;
    border-radius: 18px !important;
    background: linear-gradient(160deg, rgba(8, 35, 57, .985), rgba(2, 18, 34, .99)) !important;
    box-shadow: 0 24px 65px rgba(0, 4, 12, .48) !important;
    z-index: 1260 !important;
  }

  header.site-header #mainNav.menu.open,
  header.top #mainNav.open {
    display: flex !important;
  }

  header.site-header #mainNav a,
  header.top #mainNav a {
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    width: 100% !important;
    padding: 11px 15px !important;
    border-radius: 11px !important;
    color: #eef8fb !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    opacity: 1 !important;
    touch-action: manipulation;
  }

  header.site-header #mainNav a:hover,
  header.site-header #mainNav a.active,
  header.top #mainNav a:hover,
  header.top #mainNav a.active {
    color: #fff !important;
    background: rgba(17, 194, 201, .16) !important;
  }

  header.site-header #mainNav a::after,
  header.top #mainNav a::after {
    display: none !important;
  }

  #menuToggle {
    position: relative !important;
    z-index: 1270 !important;
    display: grid !important;
    place-items: center !important;
    flex: 0 0 auto !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  #menuToggle span {
    display: block;
    font-size: 27px;
    line-height: 1;
    transform: translateY(-1px);
  }

  #menuToggle.is-open {
    border-color: rgba(30, 214, 218, .92) !important;
    background: rgba(17, 194, 201, .16) !important;
  }
}

@media (max-width: 620px) {
  html { scroll-padding-top: 92px; }

  #home,
  #about,
  #services,
  #projects,
  #process,
  #capabilities,
  #clients,
  #contact {
    scroll-margin-top: 92px;
  }

  header.site-header #mainNav.menu,
  header.top #mainNav {
    top: 82px !important;
    right: 8px !important;
    left: 8px !important;
    max-height: calc(100dvh - 96px) !important;
  }
}
