/* ============================================================
   IMPULSE — переключатель языка (шапка + футер)
   Заметный, но не навязчивый. Тёмная премиальная тема.
   ============================================================ */
.lang{position:relative;display:inline-block;font-family:'Inter',system-ui,sans-serif;}
.lang-btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 12px;
  background:transparent;border:1px solid var(--line,rgba(255,255,255,.16));border-radius:999px;
  color:var(--fg2,rgba(255,255,255,.7));font-size:13px;font-weight:600;letter-spacing:.04em;
  cursor:pointer;transition:border-color .3s,color .3s,background .3s;}
.lang-btn:hover{color:#fff;border-color:rgba(255,255,255,.45);}
.lang-btn svg{width:13px;height:13px;transition:transform .3s;opacity:.8;}
.lang[aria-expanded="true"] .lang-btn svg{transform:rotate(180deg);}
.lang-btn .lang-globe{width:15px;height:15px;opacity:.85;}
.lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;z-index:200;
  background:rgba(16,16,18,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid var(--line,rgba(255,255,255,.14));border-radius:14px;padding:6px;
  box-shadow:0 18px 50px -12px rgba(0,0,0,.7);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .28s var(--ease,cubic-bezier(.22,1,.36,1)),transform .28s var(--ease,cubic-bezier(.22,1,.36,1)),visibility .28s;}
.lang[aria-expanded="true"] .lang-menu{opacity:1;visibility:visible;transform:translateY(0);}
.lang-menu a{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 14px;border-radius:9px;color:var(--fg2,rgba(255,255,255,.7));
  text-decoration:none;font-size:14px;font-weight:500;transition:background .25s,color .25s;}
.lang-menu a:hover{background:rgba(255,255,255,.06);color:#fff;}
.lang-menu a .lang-native{color:var(--fg3,rgba(255,255,255,.42));font-size:12px;font-weight:400;}
.lang-menu a[aria-current="true"]{color:#fff;background:rgba(255,255,255,.05);}
.lang-menu a[aria-current="true"] .lang-native{color:var(--fg2,rgba(255,255,255,.6));}
.lang-menu a .lang-check{width:15px;height:15px;opacity:0;flex:none;}
.lang-menu a[aria-current="true"] .lang-check{opacity:1;}

/* вариант в футере — колонка */
.sf-lang{margin-top:20px;}
.sf-lang .lang-btn{background:rgba(255,255,255,.02);}

/* уведомление о fallback (страница ещё не переведена) */
.lang-fallback{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(20px);
  z-index:300;max-width:min(92vw,540px);display:flex;align-items:center;gap:14px;
  padding:14px 18px;border:1px solid var(--line,rgba(255,255,255,.16));border-radius:14px;
  background:rgba(16,16,18,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 18px 50px -12px rgba(0,0,0,.7);color:var(--fg2,rgba(255,255,255,.72));font-size:13.5px;
  opacity:0;visibility:hidden;transition:opacity .4s,transform .4s,visibility .4s;}
.lang-fallback.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.lang-fallback button{flex:none;background:none;border:none;color:var(--fg3,rgba(255,255,255,.5));
  font-size:20px;line-height:1;cursor:pointer;padding:0 2px;}
.lang-fallback button:hover{color:#fff;}

@media(max-width:768px){
  .lang-menu{right:auto;left:0;}
}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s;}
