.site-language-picker { position: relative; }
/* Keep the trigger neutral until interacted with; override generic themed buttons. */
body .site-language-trigger,
body.onlyfong-shell .site-language-picker button.site-language-trigger[aria-expanded][aria-controls] {
  background: transparent;
  color: #bfd1db;
  border-color: #29404a;
  box-shadow: none;
}
body .site-language-trigger > i,
body .site-language-trigger > span { color: inherit; }
body .site-language-trigger[aria-expanded="true"],
body .site-language-trigger:active,
body .site-language-trigger:focus-visible,
body.onlyfong-shell .site-language-picker button.site-language-trigger[aria-expanded="true"][aria-controls],
body.onlyfong-shell .site-language-picker button.site-language-trigger[aria-expanded][aria-controls]:active,
body.onlyfong-shell .site-language-picker button.site-language-trigger[aria-expanded][aria-controls]:focus-visible {
  background: #193542;
  color: #85deeb;
  border-color: #477180;
}
@media (hover: hover) {
  body .site-language-trigger:hover,
  body.onlyfong-shell .site-language-picker button.site-language-trigger[aria-expanded][aria-controls]:hover {
    background: #142630;
    color: #edf7fa;
    border-color: #477180;
  }
}
body .site-language-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 38px; padding: 0 10px; margin: 0; border: 1px solid #29404a; border-radius: 9px; background: transparent; color: #bfd1db; font-size: 13px; line-height: 1; cursor: pointer; }
.site-language-menu { position: absolute; right: 0; top: calc(100% + 8px); z-index: 10020; width: max-content; max-width: calc(100vw - 32px); padding: 5px; border: 1px solid #345764; border-radius: 8px; background: #0b151d; box-shadow: 0 8px 24px #0006; }
.site-language-menu[hidden] { display: none; }
body .site-language-menu button { position: relative; display: block; width: 100%; height: auto; min-height: 32px; margin: 0; padding: 6px 30px 6px 10px; border: 0; border-radius: 4px; background: transparent; color: #dfe8ec; text-align: left; white-space: nowrap; font-size: 13px; line-height: 1.5; cursor: pointer; }
body .site-language-menu button:hover { color: #edf7fa; background: #142630; }
body .site-language-menu button[aria-current="true"] { color: #85deeb; background: #193542; font-weight: 600; }
body .site-language-menu button[aria-current="true"]::after { content: '\2713'; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-size: 12px; font-weight: 700; }
.site-language-menu a { display: block; padding: 7px 10px 3px; color: #9eb0bc; font-size: 10px; }
.site-language-error { display: block; color: #f8a3aa; font-size: 12px; }
.site-language-error:empty { display: none; }
.site-language-attribution { display: block; margin: 8px auto; padding: 0 12px; color: #8196a3; font-size: 10px; line-height: 1.4; text-align: center; }
.site-language-trigger:focus-visible, .site-language-menu button:focus-visible { outline: 2px solid #82cedd; outline-offset: 2px; }
.site-language-picker.is-guest { position: fixed; right: 16px; top: 16px; z-index: 10020; }
@media(max-width:768px) { body .site-language-trigger { height: 34px; padding: 0 8px; font-size: 12px; } }
@media(max-width:768px) {
  body.entrance-page .entrance-footer { position: relative; z-index: 20; }
  body.entrance-page .site-language-picker.is-guest { position: relative; top: auto; left: auto; right: auto; bottom: auto; width: max-content; align-self: flex-end; margin: 4px 0 0 auto; transform: none; }
  body.entrance-page .site-language-picker.is-guest .site-language-menu { top: auto; bottom: calc(100% + 8px); }
}
