/* Switcher de drapeaux i18n (aligné Stages) */
.locale-flags {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  flex-wrap: wrap;
}

.locale-flags__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0.2rem 0.35rem;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  line-height: 1;
  opacity: 0.72;
  text-decoration: none;
  transition: opacity 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

.locale-flags__btn:hover,
.locale-flags__btn:focus-visible {
  opacity: 1;
  outline: none;
  border-color: color-mix(in srgb, currentColor 28%, transparent);
}

.locale-flags__btn.is-active {
  opacity: 1;
  border-color: color-mix(in srgb, currentColor 40%, transparent);
  background: color-mix(in srgb, currentColor 8%, transparent);
}

.locale-flags__btn svg {
  display: block;
  border-radius: 2px;
  box-shadow: 0 0 0 1px color-mix(in srgb, currentColor 18%, transparent);
}

.locale-flags__code {
  font-size: 0.65rem;
  font-weight: 650;
  letter-spacing: 0.02em;
}

.locale-flags--sm .locale-flags__code {
  display: none;
}

.locale-flags--md .locale-flags__btn {
  padding: 0.3rem 0.45rem;
}

.site-footer .locale-flags,
.locale-flags--footer {
  margin-top: 0.75rem;
}

.site-header__end > .locale-flags {
  margin-right: 0.15rem;
}

.site-header__flags--mobile {
  display: none;
}

@media (max-width: 900px) {
  .site-header__flags--desktop {
    display: none;
  }

  .site-header.nav-open .site-header__flags--mobile {
    display: inline-flex;
    width: 100%;
    padding: 0.5rem 0.75rem 0.75rem;
    border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent);
    order: 99;
  }

  .site-header.nav-open .site-header__flags--mobile .locale-flags__code {
    display: inline;
  }
}
