.language-switcher {
  position: fixed;
  z-index: 60;
  right: 24px;
  bottom: 26px;
  font-family: Arial, Helvetica, sans-serif;
}
.language-switcher[hidden], .language-menu[hidden] { display: none; }
.language-switcher .language-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 76px;
  height: 52px;
  padding: 0 15px;
  border: 1px solid #dce2f6;
  border-radius: 28px;
  background: #fff;
  color: #163bff;
  box-shadow: 0 4px 24px #09204b24;
  cursor: pointer;
  transition: box-shadow .2s, transform .2s;
}
.language-switcher .language-toggle:hover,
.language-switcher .language-toggle[aria-expanded="true"] {
  background: #fff;
  border-color: #dce2f6;
  box-shadow: 0 6px 28px #09204b36;
  transform: translateY(-2px);
}
.language-toggle > span { font: 600 10px/1 Arial, Helvetica, sans-serif; letter-spacing: .5px; }
.language-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  width: 200px;
  padding: 12px;
  border-radius: 17px;
  background: #fff;
  color: #202226;
  border: 1px solid #e5e8f1;
  box-shadow: 0 10px 45px #09204b26;
}
.language-menu .language-menu-title { font: 400 10px/1.5 Arial, Helvetica, sans-serif; letter-spacing: .5px; color: #7a808c; margin: 4px 10px 10px; }
.language-switcher .language-menu button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #202226;
  font: 400 13px/1.2 Arial, Helvetica, sans-serif;
  text-align: left;
  cursor: pointer;
}
.language-switcher .language-menu button:hover { background: #f5f6f9; }
.language-switcher .language-menu button[aria-checked="true"] { background: #eef1ff; color: #163bff; }
.language-check { visibility: hidden; }
.language-menu button[aria-checked="true"] .language-check { visibility: visible; }
.language-switcher button:focus-visible { outline: 3px solid #ffb24a; outline-offset: 4px; }
@media (max-width: 760px) {
  .language-switcher { right: 16px; bottom: max(18px, env(safe-area-inset-bottom)); }
  .language-switcher .language-toggle { height: 46px; min-width: 68px; padding: 0 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .language-switcher .language-toggle { transition: none; }
}
