/* Lexvia CMS v1.4.1.1 — Public header alignment hotfix
   Keeps brand, nav links, Contact dropdown and theme control on a shared vertical axis. */

@media (min-width: 901px) {
  .site-header,
  .site-header .nav-wrap {
    height: 84px !important;
    min-height: 84px !important;
  }

  .site-header .nav-wrap {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .site-header .brand {
    align-items: center !important;
    align-self: center !important;
    min-height: 44px;
  }

  .site-header .brand-mark,
  .site-header .brand-logo-img {
    margin-top: 0 !important;
  }

  .site-header .brand-copy {
    justify-content: center !important;
    margin-top: 0 !important;
  }

  .site-header .main-nav {
    align-items: center !important;
    align-self: stretch !important;
    height: 84px !important;
  }

  /* Undo the old active-link padding/margin trick that pulled text off-axis. */
  .site-header .main-nav > a:not(.nav-cta) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  .site-header .main-nav > a:not(.nav-cta)::after {
    bottom: -19px !important;
  }

  .site-header .nav-dropdown {
    display: flex !important;
    align-items: center !important;
    height: 44px !important;
  }

  .site-header .main-nav .nav-dropdown-trigger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 18px !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  .site-header .nav-actions {
    align-items: center !important;
    align-self: center !important;
    height: 44px !important;
  }

  .site-header .theme-switcher,
  .site-header .theme-toggle {
    height: 44px !important;
  }

  .site-header .theme-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    line-height: 1 !important;
  }
}

/* Retain the established mobile header behaviour. */
@media (max-width: 900px) {
  .site-header .main-nav > a:not(.nav-cta) {
    height: auto !important;
    line-height: 1.4 !important;
  }
}
