/* Shared, visitor-selected locale switch. Flags are the only visible labels. */
.hub-language-switch {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border: 1px solid rgba(100, 116, 139, .24);
  border-radius: 999px;
  background: color-mix(in srgb, #ffffff 95%, transparent);
  box-shadow: 0 2px 12px rgba(16, 24, 40, .10);
  line-height: 1;
  flex: 0 0 auto;
  white-space: nowrap;
}
.hub-language-switch a {
  min-width: 35px;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #526174;
  font-size: 23px;
  text-decoration: none;
  filter: grayscale(.6);
  opacity: .68;
  transition: background .16s ease, opacity .16s ease, filter .16s ease;
}
.hub-language-switch a[aria-current="true"] {
  background: #eef3fc;
  filter: none;
  opacity: 1;
  box-shadow: inset 0 0 0 1px rgba(70, 100, 190, .10);
}
.hub-language-switch a:hover { filter: none; opacity: 1; }
.hub-language-switch a:focus-visible {
  outline: 2px solid #3267db;
  outline-offset: 2px;
}
.hub-language-floating {
  position: fixed;
  top: 12px;
  right: max(12px, env(safe-area-inset-right));
  z-index: 1010;
}
.hub-language-auth {
  position: fixed;
  top: 15px;
  right: max(15px, env(safe-area-inset-right));
  z-index: 1010;
}
@media (max-width: 600px) {
  .hub-language-switch a { min-width: 32px; min-height: 31px; font-size: 20px; }
  .hub-language-floating,.hub-language-auth { top: 8px; right: 8px; }
}
