/* Private German preview: allow translated legal links to wrap on narrow screens. */
.policy-summary .policy-request { width: 100%; white-space: normal; text-align: center; }
#privacy-request { scroll-margin-top: 6rem; }
html:is([lang="de-DE"], [lang="fr-FR"]) .site-footer__bottom > div {
	flex-wrap: wrap;
	min-width: 0;
}
html:is([lang="de-DE"], [lang="fr-FR"]) .site-footer__bottom a {
	min-width: 0;
	overflow-wrap: anywhere;
	white-space: normal;
}
/* German compound words must not force the existing two-column cards wider. */
html:is([lang="de-DE"], [lang="fr-FR"]) .capability-matrix article {
	grid-template-columns: 2.2rem minmax(0, 1fr);
	min-width: 0;
	overflow-wrap: anywhere;
}
html:is([lang="de-DE"], [lang="fr-FR"]) .capability-matrix article > div { min-width: 0; }
/* Homepage grid items must shrink around German compound words, without clipping. */
html:is([lang="de-DE"], [lang="fr-FR"]) .project-snapshot { min-width: 0; overflow-wrap: anywhere; }
html:is([lang="de-DE"], [lang="fr-FR"]) .home-hero h1 span { white-space: normal; overflow-wrap: anywhere; }
@media (min-width: 80rem) {
	html:is([lang="de-DE"], [lang="fr-FR"]) .site-header .brand { flex-shrink: 0; }
	html:is([lang="de-DE"], [lang="fr-FR"]) .site-header .brand__descriptor { white-space: nowrap; }
	html:is([lang="de-DE"], [lang="fr-FR"]) .site-nav { flex-wrap: nowrap; gap: 0.8rem; }
	html:is([lang="de-DE"], [lang="fr-FR"]) .site-nav__list { gap: 0.8rem; }
	html:is([lang="de-DE"], [lang="fr-FR"]) .site-nav__list a { font-size: var(--type-navigation-size); white-space: nowrap; }
	html:is([lang="de-DE"], [lang="fr-FR"]) .header-assessment-cta { white-space: nowrap; }
}

.locale-switcher { margin-block-start: 1rem; color: var(--color-paper); font-size: 0.875rem; }
.locale-switcher__notice { margin: 0 0 0.35rem; font-size: 0.75rem; }
.locale-switcher__list { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; margin: 0; padding: 0; list-style: none; }
.locale-switcher__list li { display: flex; align-items: center; gap: 0.25rem; flex-wrap: wrap; }
.locale-switcher__list a { display: inline-flex; align-items: center; min-height: 2.75rem; color: inherit; text-underline-offset: 0.25em; }
.locale-switcher__list svg { display: inline-block; vertical-align: middle; }
.locale-switcher__list a { gap: 0.35rem; }
.locale-switcher__list a[aria-current="page"] { color: var(--color-accent-bright); font-weight: 700; }
/* Footer links follow its own surface token, including a configured light footer. */
.locale-switcher--footer .locale-switcher__list a[aria-current="page"] { color: var(--footer-link); }
.locale-switcher__list a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; border-radius: 2px; }
.locale-switcher__draft { font-size: 0.75rem; }
.locale-switcher__unavailable { display: block; padding: 0.5rem; color: var(--color-mist); }
.locale-switcher__unavailable small { display: block; font-size: 0.75rem; }
.locale-switcher__toggle { display: none; }
.locale-switcher.is-enhanced { position: relative; }
.locale-switcher.is-enhanced .locale-switcher__toggle {
	display: inline-flex; align-items: center; gap: 0.4rem; min-height: 2.75rem;
	padding: 0.4rem 0.65rem; border: 1px solid rgb(255 255 255 / 0.2);
	border-radius: var(--radius-small); color: inherit; background: transparent;
	font: inherit; cursor: pointer;
}
.locale-switcher.is-enhanced .locale-switcher__toggle:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.locale-switcher.is-enhanced .locale-switcher__list {
	position: absolute; inset-block-start: calc(100% + 0.35rem); inset-inline-end: 0;
	z-index: 4; display: grid; min-inline-size: 12rem; max-inline-size: calc(100vw - 2rem);
	padding: 0.4rem; border: 1px solid rgb(255 255 255 / 0.2); border-radius: var(--radius-small);
	background: var(--color-ink); box-shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 0.2);
}
.locale-switcher.is-enhanced .locale-switcher__list li { flex-wrap: nowrap; }
.locale-switcher.is-enhanced .locale-switcher__list a { padding-inline: 0.5rem; flex: 1; }
.locale-switcher.is-enhanced .locale-switcher__list[hidden] { display: none; }
.locale-switcher--header .locale-switcher__notice { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 79.99rem) {
	/* Without JS the static translated menu needs its own row beside the brand. */
	html:not(.js):is([lang="de-DE"], [lang="fr-FR"]) .site-header__inner { flex-wrap: wrap; }
	html:not(.js):is([lang="de-DE"], [lang="fr-FR"]) .site-nav { flex-basis: 100%; min-width: 0; }
	.js .site-nav { inset-block-start: var(--devfluxr-locale-nav-top, 5rem); max-height: calc(100dvh - var(--devfluxr-locale-nav-top, 5rem) - 1rem); }
	.js .site-nav-backdrop { inset-block-start: var(--devfluxr-locale-nav-top, 5rem); }
}
@media (min-width: 80rem) {
	.site-nav { flex-wrap: wrap; justify-content: flex-end; gap: 0.25rem 1.1rem; }
	.locale-switcher--header { flex-shrink: 0; margin-block-start: 0; }
}
