.lang-btn-wrapper {
  position: relative;
  flex-shrink: 0;
}

/* ── Trigger button ──────────────────────────────────── */
.lang-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 8px;
  border-radius: 8px;
  border: none;
  background: transparent;
  color: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  font-family: inherit;
  letter-spacing: 0.03em;
  cursor: pointer;
  user-select: none;
  transition: background 0.15s, transform 0.1s;
}

.lang-btn:hover  { background: rgba(16, 32, 64, 0.07); }
.lang-btn:active { transform: scale(0.93); }
.lang-btn.open   { background: rgba(16, 32, 64, 0.09); }

/* ── Dropdown ────────────────────────────────────────── */
.lang-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 150px;
  background: var(--surface, #ffffff);
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  padding: 4px;
  z-index: 9999;
  flex-direction: column;
  gap: 1px;
}

.lang-dropdown.lang-open {
  display: flex;
}

/* ── Language option ─────────────────────────────────── */
.lang-option {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 7px 10px;
  border: none;
  border-radius: 7px;
  background: transparent;
  cursor: pointer;
  text-align: left;
  color: var(--text, #0f172a);
  transition: background 0.12s;
}

.lang-option:hover   { background: var(--bg, #f1f5f9); }
.lang-option.active  { background: var(--bg, #eff6ff); color: #2563eb; }

.lang-option-short {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  min-width: 22px;
  color: var(--text-muted, #64748b);
}

.lang-option.active .lang-option-short { color: #2563eb; }

.lang-option-label {
  font-size: 0.84rem;
  font-weight: 500;
}

/* Theme overrides live in theme_controller.css */