/* The globe stays compact; the menu has comfortable touch targets in every locale. */
.language-control { position: relative; flex: 0 0 auto; z-index: 5; }
.language-button { appearance: none; cursor: pointer; color: inherit; font: inherit; border: 1px solid transparent; border-radius: 12px; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 10px; border-color: transparent; background: transparent; }
.language-button svg { display: block; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.language-button:hover, .language-button[aria-expanded=true] { color: #a46687; background: #f7eef4; }
.language-button:focus-visible, .language-menu-item:focus-visible { outline: 2px solid #a95e89; outline-offset: 2px; }
.language-menu { position: absolute; inset-inline-end: 0; top: calc(100% + 7px); width: 216px; max-width: calc(100vw - 36px); max-height: min(540px, calc(100dvh - 90px)); overflow-y: auto; overscroll-behavior: contain; padding: 6px; border: 1px solid var(--line, #eadfe7); border-radius: 14px; background: #fff; box-shadow: 0 8px 30px #61425420; }
.language-menu-item { appearance: none; cursor: pointer; color: inherit; font: inherit; background: #fff; display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 8px; text-align: start; font-size: 14px; line-height: 1.4; }
.language-menu-item:hover, .language-menu-item:focus { outline-offset: -2px; background: #f7eef4; }
.language-menu-item[aria-checked=true] { color: #905474; background: #fcf0f7; }
.language-menu-label { min-width: 0; overflow-wrap: anywhere; }
.language-menu-check { flex-shrink: 0; visibility: hidden; }
.language-menu-item[aria-checked=true] .language-menu-check { visibility: visible; }
.language-menu-item:first-child { border-bottom: 1px solid var(--line, #eadfe7); border-radius: 8px 8px 0 0; margin-bottom: 4px; }
