/* Shared navigation and accessibility. Loaded after legacy stylesheets. */
:root { --font-family-main: var(--font-poppins), sans-serif; --font-family-alt: var(--font-open-sans), sans-serif; }
body { font-family: var(--font-poppins), sans-serif; }
html { scroll-padding-top: 88px; }
#main-content { min-width: 0; }
header.visitor-header { background: #0a1220f5; backdrop-filter: blur(16px); border-bottom-color: #ffffff14; }
header.visitor-header #navigation > ul { gap: 2px; }
header.visitor-header #navigation ul li { padding: 0; }
header.visitor-header #navigation ul li a { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 10px; font-size: 12px; }
header.visitor-header #navigation ul li a[aria-current="page"] { color: #a1eddd; background: #a1eddd12; }
header.visitor-header #navigation ul li a.visitor-contact { background: #a1eddd; color: #102f27; padding-inline: 16px; margin-inline: 6px; font-weight: 600; }
header.visitor-header #navigation ul li a.visitor-contact:hover { background: #c5ffee; }
header.visitor-header #navigation .nav-has-dropdown:focus-within > .nav-dropdown { display: flex; }
header.visitor-header .lang-trigger { min-height: 44px; min-width: 60px; }
header.visitor-header #navigation .lang-option { min-height: 44px; }
header.visitor-header .mobile-menu-toggle { min-width: 48px; min-height: 48px; color: #d3f8ee; border-radius: 6px; }
.skip-to-content { position: fixed; }
@media (max-width: 1180px) {
  header.visitor-header { padding-inline: 16px; }
  header.visitor-header .main-navbar { padding: 0; }
  header.visitor-header .mobile-menu-toggle { display: block; }
  header.visitor-header #navigation { display: none !important; position: absolute; top: 68px; left: 0; right: 0; width: 100%; max-height: calc(100dvh - 84px); overflow-y: auto; background: #0c1726; border: 1px solid #2b3c4d; border-radius: 0 0 12px 12px; padding: 16px; clip-path: none; box-shadow: 0 22px 40px #0006; }
  header.visitor-header #navigation.active { display: block !important; }
  header.visitor-header #navigation > ul { display: flex; flex-direction: column; align-items: stretch; gap: 3px; }
  header.visitor-header #navigation ul li { display: block; }
  header.visitor-header #navigation ul li a { display: flex; font-size: 14px; width: 100%; padding: 10px 14px; }
  header.visitor-header #navigation ul li:hover::after { display: none; }
  header.visitor-header #navigation ul ul.nav-dropdown { display: flex; position: static; background: transparent; border: 0; border-left: 1px solid #49615c; border-radius: 0; box-shadow: none; margin: 0 0 4px 24px; padding: 0; }
  header.visitor-header #navigation ul ul.nav-dropdown a { font-size: 12px; color: #a3b8c9; }
  header.visitor-header #navigation ul li a.visitor-contact { margin: 6px 0; }
  header.visitor-header .lang-details { width: fit-content; margin-top: 8px; }
  header.visitor-header .lang-dropdown { position: static; margin-top: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
