.language-dropdown { position: relative; flex: 0 0 auto; }
.lang-pill { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 40px; padding: 0; border: 1px solid var(--border); border-radius: 999px; background: #fff; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.lang-pill:hover, .lang-pill:focus-visible { background: var(--surface); border-color: var(--primary); }
.lang-pill:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
.language-dropdown .flag { display: block; width: 24px; height: 16px; overflow: hidden; border-radius: 3px; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.lang-menu { position: absolute; top: calc(100% + 8px); right: 0; z-index: 70; display: grid; gap: 4px; min-width: 48px; margin: 0; padding: 6px; list-style: none; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(9,12,20,.94); box-shadow: 0 16px 40px rgba(0,0,0,.35); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-6px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }
.language-dropdown.is-open .lang-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.lang-menu li { margin: 0; padding: 0; }
.lang-menu a { display: grid; place-items: center; min-height: 36px; padding: 6px; border-radius: 8px; transition: background .2s ease; }
.lang-menu a:hover, .lang-menu a:focus-visible, .lang-menu a[aria-current] { background: rgba(255,255,255,.16); }
.lang-menu a:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
@media (max-width: 639px) { .lang-pill { width: 40px; } .language-dropdown .flag { width: 22px; height: 15px; } }
