.lang-switch { position: relative; margin-left: 12px; }
.lang-btn {
  display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 10px 0 12px; border-radius: 999px; cursor: pointer;
  border: 1.5px solid var(--line, #e1e9f5); background: #fff; color: var(--ink, #0b1220);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.lang-btn:hover, .lang-btn[aria-expanded="true"] { border-color: var(--brand-blue, #0792f5); box-shadow: 0 0 0 4px rgba(7, 146, 245, 0.12); }
.lang-btn:focus-visible, .lang-menu a:focus-visible { outline: 3px solid var(--brand-cyan, #29cbfe); outline-offset: 2px; }
.lang-btn .flag { width: 26px; height: 18px; border-radius: 4px; object-fit: cover; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12); display: block; }
.lang-btn .chev { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.25s; }
.lang-btn[aria-expanded="true"] .chev { transform: rotate(180deg); }
.lang-menu {
  position: absolute; right: 0; top: calc(100% + 8px); min-width: 180px; margin: 0; padding: 6px; list-style: none; z-index: 70;
  background: #fff; border: 1px solid var(--line, #e1e9f5); border-radius: 16px; box-shadow: 0 16px 40px rgba(21, 1, 66, 0.16);
  opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}
.lang-menu.open { opacity: 1; visibility: visible; transform: none; }
.lang-menu a {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; font-weight: 600; font-size: 0.95rem;
  color: var(--ink, #0b1220); text-decoration: none; transition: background 0.15s;
}
.lang-menu a:hover { background: rgba(7, 146, 245, 0.08); }
.lang-menu a[aria-current="true"] { background: rgba(7, 146, 245, 0.12); color: var(--brand-blue, #0792f5); }
.lang-menu .flag { width: 26px; height: 18px; border-radius: 4px; object-fit: cover; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12); }
.lang-menu .tick { margin-left: auto; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 800px) { .lang-switch { margin-left: auto; margin-right: 4px; } }
@media (prefers-reduced-motion: reduce) { .lang-menu, .lang-btn .chev { transition: none; } }
