.language-menu { position: relative; display: inline-flex; flex-shrink: 0; }
.language-menu > button { white-space: nowrap; }
.language-menu-options { position: absolute; right: 0; top: calc(100% + 8px); z-index: 50; min-width: 140px; padding: 5px; border: 1px solid var(--line, #dce3eb); border-radius: 10px; background: var(--surface, #ffffff); color: var(--text, #24292f); box-shadow: 0 8px 24px #24292f18; }
.language-menu-options[hidden] { display: none; }
.language-menu-options button { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; padding: 10px 12px; border: 0; border-radius: 6px; background: transparent; color: inherit; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.language-menu-options button:hover, .language-menu-options button:focus-visible { outline: none; background: var(--brand-soft, #edf3fa); }
.language-menu-options button[aria-checked="true"] { color: var(--brand, #1661ab); font-weight: 600; }
.language-menu-options button[aria-checked="true"]::after { content: "✓"; }
@media print { .language-menu { display: none; } }

.settings-language { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 20px 0 24px; font-weight: 600; }
.settings-language select { width: 150px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--text); font: inherit; font-size: 14px; }
.language-menu[hidden], .settings-language[hidden] { display: none; }
:root:not([data-language-switch="allowed"]) :is(#home-lang-toggle, #lang-toggle-login, .language-menu, .settings-language) { display: none !important; }
