.lang-switcher {
  position: relative;
  margin-left: var(--space-md);
}
.lang-current {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-family: var(--alt);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-secondary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all var(--dur-fast);
  background: var(--bg-primary);
}
.lang-current:hover { border-color: var(--brand-600); color: var(--brand-600); }
.lang-current .arrow { font-size: 0.6rem; transition: transform var(--dur-fast); }
.lang-switcher:hover .arrow { transform: rotate(180deg); }
/* ── Invisible bridge to prevent hover gap ── */
.lang-switcher::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 12px;
  z-index: 99;
}
.lang-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  background: var(--bg-primary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  min-width: 160px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: all var(--dur-fast);
  z-index: 100;
}
.lang-switcher:hover .lang-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.lang-dropdown a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  font-size: 0.8rem;
  color: var(--text-secondary);
  transition: all var(--dur-fast);
  border-bottom: 1px solid var(--border-light);
}
.lang-dropdown a:last-child { border-bottom: none; }
.lang-dropdown a:hover { background: var(--bg-secondary); color: var(--brand-600); }
.lang-dropdown a.active { color: var(--brand-600); font-weight: 600; }
/* ── Remove inherited nav underline bar in dropdown ── */
.lang-dropdown a::after,
.lang-dropdown a:hover::after {
  content: none !important;
}
.lang-dropdown .flag { font-size: 1.1rem; display: none; }

/* Mobile lang in hamburger — hidden on desktop */
.mobile-lang {
  display: none;
}
.mobile-menu.open .mobile-lang {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  padding-top: var(--space-md);
  margin-top: var(--space-md);
  border-top: 1px solid var(--border-light);
}
.mobile-lang a {
  padding: 6px 12px;
  font-size: 0.75rem;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
  font-family: var(--alt);
  font-weight: 500;
  text-transform: uppercase;
}
.mobile-lang a:hover { border-color: var(--brand-600); color: var(--brand-600); }
.mobile-lang a.active { background: var(--brand-600); color: #ffffff; border-color: var(--brand-600); }

/* ── Mobile: language switcher inside the hamburger menu ──
   原规则在移动端把 .lang-switcher 整体 display:none，
   会把汉堡菜单内的 .mobile-lang .lang-switcher 一起隐藏，
   导致移动端菜单丢失语言切换入口。
   改为：仅隐藏桌面导航栏(.nav-links)的切换器；
   汉堡菜单内的切换器以扁平静态链接列表展示，无需 hover。 */
@media (max-width: 768px) {
  /* 桌面导航栏的语言切换器在移动端隐藏（由汉堡菜单内的 mobile-lang 取代） */
  .nav-links .lang-switcher { display: none; }

  /* 汉堡菜单内：恢复显示语言切换器，去掉下拉交互，改为静态语言链接列表 */
  .mobile-lang .lang-switcher {
    display: block;
    width: 100%;
    margin-left: 0;
  }
  .mobile-lang .lang-current { display: none; }
  .mobile-lang .lang-switcher::after { display: none; }
  .mobile-lang .lang-dropdown {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    width: 100%;
    min-width: 0;
    padding: 0;
    margin: 0;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    box-shadow: none;
    border: none;
    background: transparent;
  }
}
