/* Кластер переключателей: валюта + язык (+ опц. аккаунт). Общий для всех поверхностей Studio.
   Тема-агностично: цвета через rgba(128,128,128,...) + currentColor; акцент берёт --accent если задан. */
.sw-cluster { display: inline-flex; align-items: center; gap: 8px; }
.sw { position: relative; }
.sw-trigger {
  display: inline-flex; align-items: center; gap: 7px;
  height: 38px; padding: 0 12px; border-radius: 999px;
  border: 1px solid rgba(128,128,128,.28); background: rgba(128,128,128,.10);
  color: inherit; font: inherit; font-size: 13px; font-weight: 500; line-height: 1;
  cursor: pointer; transition: background .2s, border-color .2s;
}
.sw-trigger:hover { background: rgba(128,128,128,.18); }
.sw-sym { font-weight: 700; color: var(--accent, #D4A857); }
.sw-flag { width: 22px; height: 16px; border-radius: 2.5px; object-fit: cover; flex: none; box-shadow: 0 0 0 1px rgba(128,128,128,.28); display: inline-block; }
.sw-lbl { letter-spacing: .02em; }
.sw-caret { opacity: .6; transition: transform .2s; flex: none; }
.sw.is-open .sw-caret { transform: rotate(180deg); }
.sw-menu {
  position: absolute; top: calc(100% + 8px); right: 0; min-width: 176px;
  padding: 6px; border-radius: 14px; background: #16161A;
  border: 1px solid rgba(128,128,128,.22); box-shadow: 0 18px 50px rgba(0,0,0,.5);
  display: none; z-index: 300; max-height: 62vh; overflow: auto;
}
.sw.is-open .sw-menu { display: block; }
.sw-opt {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 9px 12px; border: 0; border-radius: 9px; background: transparent;
  color: #F4EFE6; font: inherit; font-size: 14px; text-align: left; cursor: pointer;
}
.sw-opt:hover { background: rgba(128,128,128,.16); }
.sw-opt.is-active { color: var(--accent, #D4A857); }
.sw-opt .sw-sym { min-width: 1.5em; text-align: center; }
.sw-account { display: inline-flex; align-items: center; gap: 8px; }
.sw-acct {
  display: inline-flex; align-items: center; gap: 8px;
  height: 38px; padding: 0 12px 0 6px; border-radius: 999px;
  border: 1px solid rgba(128,128,128,.28); background: rgba(128,128,128,.10);
  font-size: 13px; font-weight: 500; max-width: 200px;
}
.sw-acct__ava {
  width: 26px; height: 26px; flex: none; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--accent, #D4A857); color: #0E0E10; font-weight: 700; font-size: 13px;
}
.sw-acct__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 560px) { .sw-acct__name { display: none; } .sw-acct { padding: 0 4px; } }

/* Светлая поверхность (админка в light): меню на светлом фоне */
body[data-admin-theme="light"] .sw-menu { background: #FFFFFF; border-color: rgba(0,0,0,.12); box-shadow: 0 18px 50px rgba(0,0,0,.18); }
body[data-admin-theme="light"] .sw-opt { color: #1A1A1A; }

@media (max-width: 560px) {
  .sw-lbl--lang { display: none; }
  .sw-trigger { padding: 0 10px; }
}
