.locale-picker { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px; border: 1px solid #ffc93c70; border-radius: 12px; background: #1b1650; color: #f1effc; }
.locale-picker > svg { width: 18px; height: 18px; flex: none; color: #ffc93c; }
.locale-picker select { appearance: auto; min-width: 0; width: 180px; min-height: 42px; border: 0; background: transparent; color: inherit; font: inherit; font-size: 14px; cursor: pointer; text-overflow: ellipsis; }
.locale-picker option { background: #14112e; color: #f1effc; }
.locale-picker select:focus-visible { outline: 2px solid #ffc93c; outline-offset: 3px; }
.locale-error { position: absolute; z-index: 10; inset-inline-end: 0; top: calc(100% + 6px); width: min(280px, 90vw); padding: 12px; border: 1px solid #ffc93c; border-radius: 10px; background: #14112e; color: #f1effc; font-size: 13px; line-height: 1.5; }
.locale-error[hidden] { display: none; }
.locale-error button { padding: 2px 8px; border: 1px solid #ffc93c; border-radius: 5px; color: #ffc93c; background: transparent; cursor: pointer; }
@media (max-width: 560px) { .locale-picker select { width: 160px; } }
