.locale-switcher {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  align-items: flex-start;
}

.locale-switcher-label {
  font-size: var(--font-size-xs, 0.75rem);
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
}

.locale-switcher-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm, 0.5rem);
  align-items: center;
}

.locale-switcher-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.8rem;
  border-radius: var(--radius-full, 9999px);
  background: var(--primary-surface, rgba(255, 255, 255, 0.04));
  border: 1px solid var(--border-color, rgba(255, 255, 255, 0.08));
  color: var(--text-secondary);
  text-decoration: none;
  font-size: var(--font-size-sm, 0.875rem);
  line-height: 1;
  transition: background var(--transition-fast, 150ms ease),
              color var(--transition-fast, 150ms ease),
              border-color var(--transition-fast, 150ms ease),
              transform var(--transition-fast, 150ms ease);
}
.locale-switcher-chip:hover {
  background: var(--secondary-surface, rgba(255, 255, 255, 0.06));
  border-color: var(--border-color-strong, rgba(255, 255, 255, 0.15));
  color: var(--text-primary);
  transform: translateY(-1px);
}
.locale-switcher-chip.is-current {
  background: var(--color-primary-soft, rgba(99, 102, 241, 0.18));
  border-color: transparent;
  color: var(--text-primary);
  box-shadow:
    0 0 0 1px var(--color-primary, #6366f1),
    0 6px 16px -8px var(--glow-color-strong, rgba(99, 102, 241, 0.45));
}

.locale-switcher-icon {
  font-size: 1.1rem;
  line-height: 1;
}
.locale-switcher-name {
  font-weight: 500;
}
.locale-switcher-code {
  font-size: var(--font-size-xs, 0.75rem);
  color: var(--text-tertiary);
  font-variant-numeric: tabular-nums;
}
.locale-switcher-chip.is-current .locale-switcher-code {
  color: inherit;
  opacity: 0.8;
}

/* Backward-compat for callers that still render a plain .locale-switcher a */
.locale-switcher > a,
.locale-switcher > .locale-switcher-chips > a {
  /* No-op — covered by .locale-switcher-chip above */
}
