/* Always available, independent of animation and fullscreen navigation. */
.language-switch { position: fixed; right: 24px; bottom: 26px; z-index: 95; display: flex; gap: 2px; padding: 4px; border: 1px solid #656872; border-radius: 6px; background: #101219; color: #fff; font: 12px/1.2 system-ui, sans-serif; }
.language-switch a { display: grid; place-items: center; min-width: 44px; min-height: 36px; color: #fff; text-decoration: none; border-radius: 3px; }
.language-switch a[aria-current="true"] { background: #fff; color: #101219; font-weight: 700; }
.language-switch .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.language-switch a:focus-visible, .language-suggestion a:focus-visible, .language-suggestion button:focus-visible { outline: 3px solid #ffb29d; outline-offset: 3px; }
.language-suggestion[hidden] { display: none; }
.language-suggestion { position: fixed; z-index: 96; right: 24px; bottom: 86px; max-width: calc(100vw - 48px); width: 350px; padding: 18px; border: 1px solid #656872; border-radius: 8px; background: #101219; color: #fff; box-shadow: 0 10px 40px #0004; font: 14px/1.5 system-ui, sans-serif; }
.language-suggestion p { margin: 0 0 10px; color: #fff; }
.language-suggestion div { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.language-suggestion a, .language-suggestion button { padding: 10px 12px; min-height: 44px; border: 1px solid #aaa; border-radius: 4px; background: transparent; color: #fff; font: inherit; text-decoration: none; cursor: pointer; }
.language-suggestion a { background: #fff; color: #101219; font-weight: 650; }
@media (max-width: 600px) { .language-switch { right: 12px; bottom: 14px; } .language-suggestion { right: 12px; bottom: 76px; max-width: calc(100vw - 24px); } }
