/* Shared interface-language picker for the app and the public login page. */
.locale-picker { position:relative; width:100%; min-width:0; color:#193c35; }
.locale-picker button:is(.locale-picker-trigger,.locale-picker-option) {
  box-sizing:border-box; display:flex; align-items:center; justify-content:space-between;
  width:100%; min-height:44px; margin:0; padding:10px 12px; gap:10px;
  border:1px solid transparent; border-radius:10px; background:transparent;
  color:#193c35; font:inherit; font-size:15px; font-weight:500; line-height:1.4;
  text-align:left; white-space:nowrap; cursor:pointer; appearance:none; -webkit-appearance:none;
  -webkit-tap-highlight-color:transparent; touch-action:manipulation;
  transition:background-color .12s ease,border-color .12s ease;
}
.locale-picker button.locale-picker-trigger { min-height:46px; border-color:#cbd5c4; background:#f5f5ed; }
.locale-picker button.locale-picker-trigger[aria-expanded="true"] { border-color:#89a48c; background:#eaf0e4; }
.locale-picker svg { display:block; flex:0 0 auto; pointer-events:none; }
.locale-picker-chevron { width:16px; height:16px; color:#647e6b; transition:transform .15s ease; }
.locale-picker-trigger[aria-expanded="true"] .locale-picker-chevron { transform:rotate(180deg); }
.locale-picker-options { display:grid; gap:2px; padding:4px; margin-top:6px; border:1px solid #d4decf; border-radius:13px; background:#fcfaf5; box-shadow:0 5px 14px #193c350b; }
.locale-picker-options[hidden] { display:none!important; }
.locale-picker button.locale-picker-option { min-height:44px; padding:10px 9px; border-radius:8px; }
.locale-picker button.locale-picker-option[aria-selected="true"] { background:#e1eadb; }
.locale-picker-check { width:17px; height:17px; opacity:0; }
.locale-picker-option[aria-selected="true"] .locale-picker-check { opacity:1; }
.locale-picker button:is(.locale-picker-trigger,.locale-picker-option):focus-visible { outline:2px solid #789b7d; outline-offset:-3px; }
@media(hover:hover) and (pointer:fine) {
  .locale-picker button:is(.locale-picker-trigger,.locale-picker-option):hover:not(:disabled):not(:active) { border-color:#cbd5c4; background:#eaf0e4; }
  .locale-picker button.locale-picker-option[aria-selected="true"]:hover:not(:disabled):not(:active) { background:#dbe7d5; }
}
.locale-picker button:is(.locale-picker-trigger,.locale-picker-option):active:not(:disabled) { border-color:#b7cab4; background:#d7e3d1; }
@media(prefers-reduced-motion:reduce) { .locale-picker button,.locale-picker-chevron { transition:none; } }
