:root {
  --celebrax-i18n-blue: #075ee8;
  --celebrax-i18n-deep: #063f93;
  --celebrax-i18n-ink: #17243a;
  --celebrax-i18n-muted: #65758b;
  --celebrax-i18n-border: #d8e3f0;
  --celebrax-i18n-surface: rgba(255, 255, 255, .98);
}

/*
 * Compatibility guard for an older cached script. The current implementation
 * does not create this bar, but keeping it fixed prevents a mixed cache from
 * turning it into a full-width flex/grid item while the new assets propagate.
 */
.celebrax-language-bar {
  position: fixed !important;
  inset: 50% max(10px, env(safe-area-inset-right)) auto auto !important;
  z-index: 2147483646 !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
  transform: translateY(-50%) !important;
}

.celebrax-language-bar-inner {
  display: contents !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
}

.celebrax-language-switcher {
  position: relative !important;
  inset: auto !important;
  z-index: 1100 !important;
  display: block !important;
  flex: 0 0 auto !important;
  align-self: center !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  color: var(--celebrax-i18n-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.25;
  pointer-events: auto !important;
  isolation: isolate;
  transform: none !important;
}

.celebrax-language-switcher[data-placement="admin-login-card"],
.celebrax-language-switcher[data-placement="platform-login-card"] {
  margin: 0 0 12px auto !important;
}

.celebrax-language-switcher[data-placement="invitation-header"],
.celebrax-language-switcher[data-placement="legal-header"] {
  margin-inline-start: auto !important;
}

.celebrax-language-switcher[data-placement="viewport-fallback"] {
  position: fixed !important;
  inset: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) auto auto !important;
  z-index: 2147483646 !important;
}

.celebrax-language-switcher:focus-within {
  border-radius: 999px;
  outline: 3px solid rgba(7, 94, 232, .18);
  outline-offset: 3px;
}

html[data-theme="dark"] .celebrax-language-switcher,
body.admin-dark-mode .celebrax-language-switcher,
body.platform-dark-mode .celebrax-language-switcher,
body.provider-dark-mode .celebrax-language-switcher {
  --celebrax-i18n-ink: #eef5ff;
  --celebrax-i18n-muted: #a8b8ca;
  --celebrax-i18n-border: #344960;
  --celebrax-i18n-surface: rgba(19, 32, 49, .98);
}

@media (max-width: 520px) {
  .celebrax-language-bar,
  .celebrax-language-switcher[data-placement="viewport-fallback"] {
    inset-inline-end: max(6px, env(safe-area-inset-right)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .celebrax-language-switcher { scroll-behavior: auto; }
}

@media print {
  .celebrax-language-switcher,
  .celebrax-language-bar {
    display: none !important;
  }
}
