:root {
  --dulac-blue: #254796;
  --dulac-ink: #15233c;
  --dulac-cream: #f7f4ed;
  --dulac-gold: #d7b36a;
}

:focus-visible {
  outline: 3px solid var(--dulac-gold) !important;
  outline-offset: 3px !important;
}

/* Replaced by real, crawlable language URLs. */
.gtranslate_wrapper {
  display: none !important;
}

.site-language-switch {
  position: fixed;
  z-index: 10000;
  right: 96px;
  bottom: 20px;
  display: flex;
  gap: 2px;
  padding: 4px;
  border: 1px solid rgb(255 255 255 / 35%);
  border-radius: 999px;
  background: rgb(21 35 60 / 90%);
  box-shadow: 0 8px 24px rgb(0 0 0 / 22%);
  backdrop-filter: blur(12px);
}

/* Keep the two floating actions compact, aligned and visually separate. */
.dulac-chat {
  right: 18px !important;
  bottom: 16px !important;
}

.dulac-chat .dulac-chat__launcher {
  width: 62px !important;
  min-width: 62px !important;
  height: 62px !important;
  justify-content: center !important;
  padding: 6px !important;
  border-radius: 50% !important;
}

.dulac-chat .dulac-chat__launcher-avatar {
  width: 48px !important;
  height: 48px !important;
}

.dulac-chat .dulac-chat__launcher-text {
  display: none !important;
}

body:has(.dulac-chat--open) .site-language-switch {
  visibility: hidden;
  opacity: 0;
}

body:not(:has(.dulac-chat)) .site-language-switch {
  right: 16px;
}

/* German expands this heading considerably; keep the translation elegant. */
html[data-site-language="de"] .elementor-element-7d69464 .elementor-heading-title {
  max-width: 18ch;
  margin-inline: auto;
  font-size: clamp(36px, 4vw, 54px) !important;
  line-height: 1.08 !important;
  text-wrap: balance;
}

html[data-site-language="de"] .elementor-element-7d69464 .elementor-heading-title span {
  display: block;
}

.site-language-switch a {
  min-width: 42px;
  padding: 8px 10px;
  border-radius: 999px;
  color: #fff;
  font: 600 12px/1 system-ui, sans-serif;
  letter-spacing: .08em;
  text-align: center;
  text-decoration: none;
}

.site-language-switch a[aria-current="page"],
html[data-site-language="en"] .site-language-switch a[data-site-language="en"],
html[data-site-language="de"] .site-language-switch a[data-site-language="de"],
.site-language-switch a:hover {
  color: var(--dulac-ink);
  background: #fff;
}

.agent-fact-note {
  font-size: .9rem;
  color: #46546b;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 767px) {
  .site-language-switch {
    right: 82px;
    bottom: 14px;
    padding: 3px;
  }

  .site-language-switch a {
    min-width: 38px;
    padding: 8px;
  }

  .dulac-chat {
    right: 12px !important;
    bottom: 10px !important;
  }

  .dulac-chat .dulac-chat__launcher {
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
  }

  body:not(:has(.dulac-chat)) .site-language-switch {
    right: 10px;
  }
}
