/* Shared navigation, language control and partner credit. */
.navbar-wrapper .navbar,
.navbar-wrapper .navbar.scrolled {
  border-radius: 999px;
  border-color: rgba(171, 187, 255, .18);
  background: rgba(9, 13, 25, .94);
  box-shadow: 0 16px 42px rgba(0, 0, 0, .32), inset 0 1px rgba(255, 255, 255, .07);
}

.language-switcher { position: relative; display: inline-flex; flex: 0 0 auto; }
.language-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  clip-path: inset(50%);
}
.language-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 94px;
  height: 36px;
  padding: 0 12px 0 14px;
  border: 1px solid rgba(171, 187, 255, .2);
  border-radius: 999px;
  background: rgba(255, 255, 255, .045);
  color: #d1d8e7;
  font: 600 12px var(--font);
  cursor: pointer;
  transition: border-color 180ms, background-color 180ms, color 180ms;
}
.language-trigger svg { transition: transform 220ms var(--ease-out); }
.language-switcher.is-open .language-trigger {
  border-color: rgba(147, 167, 255, .5);
  background: rgba(102, 130, 255, .12);
  color: #fff;
}
.language-switcher.is-open .language-trigger svg { transform: rotate(180deg); }
.language-menu {
  position: absolute;
  z-index: 1200;
  top: calc(100% + 9px);
  right: 0;
  width: 150px;
  padding: 6px;
  border: 1px solid rgba(171, 187, 255, .2);
  border-radius: 14px;
  background: #101625;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .44), inset 0 1px rgba(255, 255, 255, .06);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-5px) scale(.98);
  transform-origin: top right;
  pointer-events: none;
  transition: opacity 180ms var(--ease-out), transform 180ms var(--ease-out), visibility 180ms;
}
.language-switcher.is-open .language-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
.language-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 40px;
  padding: 0 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #aeb8c9;
  font: 500 13px var(--font);
  text-align: left;
  cursor: pointer;
  transition: color 160ms, background-color 160ms;
}
.language-option svg { opacity: 0; color: var(--purple-400); }
.language-option.is-selected { color: #fff; background: rgba(102, 130, 255, .16); }
.language-option.is-selected svg { opacity: 1; }
.language-trigger:focus-visible,
.language-option:focus-visible { outline: 2px solid var(--purple-400); outline-offset: 2px; }

.footer-ador {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 3px 5px 3px 13px;
  border: 1px solid rgba(171, 187, 255, .14);
  border-radius: 999px;
  background: rgba(255, 255, 255, .025);
  color: #8f99ab;
  font: 500 11px var(--font);
  text-decoration: none;
  transition: border-color 180ms, background-color 180ms, transform 180ms;
}
.adorweb-logo-crop { position: relative; display: block; flex: 0 0 128px; width: 128px; height: 32px; overflow: hidden; }
.adorweb-logo-crop img { position: absolute; left: -80px; top: -65px; display: block; width: 288px; height: 162px; max-width: none; }
.footer-ador > svg { margin-right: 9px; color: #9fb0ec; }

@media (hover: hover) and (pointer: fine) {
  .language-trigger:hover { border-color: rgba(171, 187, 255, .42); background: rgba(255, 255, 255, .075); color: #fff; }
  .language-option:hover { color: #fff; background: rgba(255, 255, 255, .075); }
  .footer-ador:hover { border-color: rgba(171, 187, 255, .36); background: rgba(102, 130, 255, .09); transform: translateY(-2px); }
}

@media (max-width: 1120px) {
  .navbar-wrapper .navbar,
  .navbar-wrapper .navbar.scrolled { width: min(100%, 1050px); }
  .navbar-wrapper .nav-socials { display: none; }
  .mobile-menu {
    top: 86px;
    right: 18px;
    bottom: auto;
    left: 18px;
    align-items: stretch;
    justify-content: flex-start;
    gap: 4px;
    max-width: 520px;
    max-height: calc(100dvh - 100px);
    margin: 0 auto;
    padding: 13px;
    overflow-y: auto;
    border: 1px solid rgba(147, 167, 255, .2);
    border-radius: 20px;
    background: linear-gradient(155deg, rgba(18, 25, 41, .98), rgba(8, 13, 23, .99));
    box-shadow: 0 30px 80px rgba(0, 0, 0, .58), inset 0 1px rgba(255, 255, 255, .06);
    transform: translateY(-7px) scale(.985);
    transform-origin: top center;
    transition: opacity 180ms var(--ease-out), transform 180ms var(--ease-out);
  }
  .mobile-menu.active { transform: translateY(0) scale(1); }
  .mobile-link {
    display: flex;
    align-items: center;
    min-height: 43px;
    padding: 0 13px;
    border-radius: 11px;
    color: #d4dbe8;
    font: 600 15px var(--font-display);
    text-align: left;
  }
  .mobile-link:hover,
  .mobile-link:focus-visible { background: rgba(102, 130, 255, .1); color: #fff; }
  .mobile-lang-wrap { justify-content: stretch; margin: 9px 0 3px; padding-top: 12px; border-top: 1px solid rgba(147, 167, 255, .16); }
  .mobile-menu .btn-mobile-cta { width: 100%; justify-content: center; min-height: 47px; margin-top: 9px; border-radius: 999px; font-size: 13px; }
}

@media (max-width: 700px) {
  .navbar-wrapper .navbar,
  .navbar-wrapper .navbar.scrolled { border-radius: 18px; }
  .navbar-wrapper .language-switcher { display: none; }
  .mobile-menu .language-switcher { display: flex; width: 100%; }
  .mobile-menu .language-trigger { width: 100%; min-height: 44px; }
  .mobile-menu .language-menu { top: auto; bottom: calc(100% + 8px); right: 0; width: 100%; transform-origin: bottom right; }
  .mobile-menu { top: 83px; right: 14px; left: 14px; }
  .footer-ador > #footerAdorLabel { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .language-trigger,
  .language-trigger svg,
  .language-menu,
  .language-option,
  .footer-ador { transition: none; }
}
