.tb-language-floater { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 99999; font-family: inherit; }
.tb-language-toggle { display: flex; align-items: center; gap: 9px; min-height: 46px; padding: 10px 14px; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 999px; background: #1b2535; box-shadow: 0 12px 30px rgba(17, 24, 39, 0.28); color: #fff; cursor: pointer; font: inherit; font-size: 14px; font-weight: 650; line-height: 1; }
.tb-language-toggle:hover, .tb-language-toggle:focus-visible { background: #29384e; outline: none; }
.tb-language-toggle:focus-visible, .tb-language-menu a:focus-visible { box-shadow: 0 0 0 3px #fff, 0 0 0 6px #2b78c5; }
.tb-language-flag { flex: 0 0 auto; font-size: 20px; line-height: 1; }
.tb-language-chevron { width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform 150ms ease; }
.tb-language-floater.is-open .tb-language-chevron { transform: rotate(225deg) translate(-1px, -1px); }
.tb-language-menu { position: absolute; right: 0; bottom: calc(100% + 10px); width: min(260px, calc(100vw - 32px)); padding: 10px; border: 1px solid rgba(27, 37, 53, 0.1); border-radius: 16px; background: #fff; box-shadow: 0 16px 42px rgba(17, 24, 39, 0.22); color: #1b2535; }
.tb-language-menu[hidden] { display: none; }
.tb-language-menu-title { margin: 4px 8px 8px; color: #607083; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.tb-language-menu ul { margin: 0; padding: 0; list-style: none; }
.tb-language-menu li + li { margin-top: 2px; }
.tb-language-menu a { display: flex; align-items: center; gap: 10px; padding: 10px 9px; border-radius: 9px; color: #1b2535; text-decoration: none; font-size: 15px; font-weight: 600; }
.tb-language-name { flex: 1 1 auto; }
.tb-language-menu a:hover, .tb-language-menu a[aria-current="true"] { background: #edf4fb; color: #174f87; }
.tb-language-check { color: #20764b; font-size: 16px; }
@media (max-width: 480px) { .tb-language-current { max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } }
@media (prefers-reduced-motion: reduce) { .tb-language-chevron { transition: none; } }
