.lang-switch{position:relative;z-index:320;flex:0 0 auto;margin-left:.35rem;align-self:center}
.lang-switch-btn{
  display:inline-flex;align-items:center;gap:.42rem;
  padding:.42rem .72rem;border-radius:999px;cursor:pointer;
  border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));
  background:color-mix(in srgb,var(--surface) 85%,var(--accent));
  color:var(--text);font-size:.78rem;font-weight:800;letter-spacing:.02em;
  text-transform:none!important;
}
.lang-switch-btn:hover,.lang-switch.is-open .lang-switch-btn{border-color:var(--accent)}
.lang-flag-img{
  width:22px;height:16px;object-fit:cover;border-radius:3px;flex:0 0 auto;
  box-shadow:0 0 0 1px rgba(255,255,255,.22);display:block;
}
.lang-switch-btn .lang-code,.lang-option .lang-code{
  font-size:.68rem;font-weight:900;letter-spacing:.06em;opacity:.75;min-width:1.5rem;
}
.lang-switch-btn .lang-name{white-space:nowrap}
.lang-switch-panel{
  position:absolute;top:calc(100% + 6px);right:0;left:auto;
  min-width:14rem;width:max-content;max-width:min(18rem,92vw);
  padding:.45rem;border-radius:14px;
  background:color-mix(in srgb,var(--surface) 96%,#000);
  border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));
  display:none;max-height:min(70vh,22rem);overflow:auto;z-index:400;
}
.lang-switch.is-open .lang-switch-panel{display:grid;gap:.2rem}
.lang-option{
  display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;
  padding:.55rem .65rem;border:0;border-radius:10px;cursor:pointer;
  background:transparent;color:var(--text);font-size:.86rem;font-weight:650;white-space:nowrap;
}
.lang-option:hover,.lang-option.is-active{background:color-mix(in srgb,var(--accent) 18%,transparent)}
@media (max-width:1099px){
  .lang-switch-btn .lang-name{display:none}
}
