/*
 * DocJob24 Fördermittel-Navigator
 *
 * Gestaltung nach dem DocJob24-Designsystem (Tokens --dj24-* aus ui-global.css, Muster der Berufsseiten).
 * Alle Regeln sind auf .djfm begrenzt; die Rücksetzungen schützen vor Theme- und Elementor-Stilen.
 * Größen in px, Breakpoints: 560, 768, 1024, 1100, 1280.
 */

/* ---------- Tokens ---------- */

.djfm {
	--djfm-navy: var(--dj24-navy, #162136);
	--djfm-text: var(--dj24-text, #1b2537);
	--djfm-mute: var(--dj24-text-muted, #5a6478);
	--djfm-line: var(--dj24-line, #d5dde5);
	--djfm-line2: var(--dj24-line-strong, #a9b4c5);
	--djfm-hair: var(--dj24-hair, #e3e8ec);
	--djfm-g: var(--dj24-green, #14a077);
	--djfm-gd: var(--dj24-green-dark, #1f4b3f);
	--djfm-gt: var(--dj24-green-text, #0e7355);
	--djfm-mint: var(--dj24-mint, #8fe0c6);
	--djfm-sand: var(--dj24-sand, #f7f4ee);
	--djfm-gl: var(--dj24-green-light, #eef4f1);
	--djfm-soft: var(--dj24-surface-soft, #f7f9f8);
	--djfm-cta: var(--dj24-cta, #1f4b3f);
	--djfm-cta-h: var(--dj24-cta-hover, #183b32);
	--djfm-cta-a: var(--dj24-cta-active, #12302a);
	--djfm-font: var(--dj24-font, "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
	--djfm-accent: var(--dj24-font-accent, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif);
	--djfm-r-btn: var(--dj24-btn-radius, 4px);
	--djfm-r-field: var(--dj24-field-radius, 8px);
	--djfm-r-card: 10px;
	--djfm-feld: #7d8a9e;
	--djfm-ink2: #c9d2df;
	--djfm-warn: #855300;
	--djfm-warn-bg: #fdf4e3;
	--djfm-warn-line: #f0d9ad;
	--djfm-blau: #234a7d;
	--djfm-blau-bg: #ebf1f8;
	--djfm-pad: clamp(20px, 4vw, 64px);
	--djfm-sec: clamp(56px, 6.5vw, 104px);
	--djfm-gapx: clamp(28px, 4vw, 72px);
	--djfm-cw: 1320px;
	--djfm-hdr: 88px;
	--djfm-slant: -9.23deg;
	--djfm-schatten: 0 1px 2px rgba(22, 33, 54, 0.06), 0 10px 30px rgba(22, 33, 54, 0.08);
	--djfm-schatten-hoch: 0 2px 4px rgba(22, 33, 54, 0.08), 0 18px 44px rgba(22, 33, 54, 0.16);
	--djfm-pfeil: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12h15M13.5 6l6 6-6 6'/%3E%3C/svg%3E");
	--djfm-extern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E");
	--djfm-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	--djfm-haken: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
	--djfm-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5h.01'/%3E%3C/svg%3E");
	--djfm-warnung: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l9.5 16.5h-19z'/%3E%3Cpath d='M12 10v4.5M12 17.5h.01'/%3E%3C/svg%3E");
	--djfm-uhr: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.2 2'/%3E%3C/svg%3E");
	--djfm-zurueck: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19.5 12h-15M10.5 6l-6 6 6 6'/%3E%3C/svg%3E");
	--djfm-neu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12a8 8 0 1 0 2.4-5.7L4 8.5'/%3E%3Cpath d='M4 4v4.5h4.5'/%3E%3C/svg%3E");
	--djfm-drucker: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9V3.5h10V9M7 17.5H4.5v-7a1.5 1.5 0 0 1 1.5-1.5h12a1.5 1.5 0 0 1 1.5 1.5v7H17'/%3E%3Cpath d='M7 14h10v6.5H7z'/%3E%3C/svg%3E");
	--djfm-stift: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9a2.8 2.8 0 0 0-4-4L4 16z'/%3E%3C/svg%3E");

	display: block;
	position: relative;
	width: 100%;
	margin: 0;
	background: #fff;
	color: var(--djfm-text);
	font-family: var(--djfm-font);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0;
	text-align: left;
	overflow-wrap: break-word;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* ---------- Rücksetzungen gegen Theme-Stile ---------- */

.djfm *,
.djfm *::before,
.djfm *::after {
	box-sizing: border-box;
}

.djfm h1,
.djfm h2,
.djfm h3,
.djfm h4,
.djfm h5,
.djfm h6,
.djfm p,
.djfm ul,
.djfm ol,
.djfm li,
.djfm dl,
.djfm dt,
.djfm dd,
.djfm figure,
.djfm fieldset,
.djfm legend,
.djfm table,
.djfm details,
.djfm summary {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
	font-family: inherit;
	letter-spacing: inherit;
	text-transform: none;
	background: none;
}

.djfm ul,
.djfm ol {
	list-style: none;
}

.djfm li::marker {
	content: none;
}

.djfm img {
	display: block;
	max-width: 100%;
	height: auto;
	border: 0;
}

.djfm a {
	color: var(--djfm-gt);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 0.2s, text-decoration-color 0.2s;
}

.djfm a:hover {
	color: var(--djfm-gd);
	text-decoration-thickness: 2px;
}

.djfm button,
.djfm select,
.djfm input {
	margin: 0;
	font: inherit;
	color: inherit;
	letter-spacing: inherit;
	text-transform: none;
	box-shadow: none;
}

.djfm button {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	min-height: 0;
	line-height: inherit;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.djfm table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

.djfm th,
.djfm td {
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
	vertical-align: top;
	font-weight: inherit;
}

.djfm summary {
	list-style: none;
	cursor: pointer;
}

.djfm summary::-webkit-details-marker {
	display: none;
}

.djfm strong {
	font-weight: 700;
}

.djfm :focus {
	outline: none;
}

.djfm :focus-visible {
	outline: 3px solid var(--djfm-gt) !important;
	outline-offset: 2px !important;
	box-shadow: none;
}

.djfm .djfm-sec--navy :focus-visible {
	outline-color: var(--djfm-mint) !important;
}

/* Programmatisch fokussierte Überschriften (Fragen, Ergebnis) brauchen keinen Rahmen. */
.djfm [tabindex="-1"]:focus,
.djfm [tabindex="-1"]:focus-visible {
	outline: none !important;
}

.djfm [id] {
	scroll-margin-top: calc(var(--djfm-hdr) + 16px);
}

.djfm [hidden] {
	display: none !important;
}

.djfm .djfm-vh {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.djfm:not(.djfm--js) .djfm-nur-js,
.djfm.djfm--js .djfm-nur-ohne-js {
	display: none !important;
}

/* Lange Wörter (Gesetzesnamen, Adressen) dürfen auf schmalen Bildschirmen umbrechen. */
.djfm .djfm-felder,
.djfm .djfm-quellen,
.djfm .djfm-kontakte,
.djfm .djfm-karte,
.djfm .djfm-lprog,
.djfm .djfm-land__seite,
.djfm .djfm-tabelle,
.djfm .djfm-faq__antwort,
.djfm .djfm-eintrag,
.djfm .djfm-notiz,
.djfm .djfm-ag__fuss,
.djfm .djfm-weiter__link {
	overflow-wrap: anywhere;
}

.djfm .djfm-text,
.djfm .djfm-text-klein,
.djfm .djfm-felder dd,
.djfm .djfm-karte__kurz,
.djfm .djfm-eintrag__kurz,
.djfm .djfm-faq__antwort,
.djfm .djfm-opt__text,
.djfm .djfm-tabelle th,
.djfm .djfm-tabelle td {
	-webkit-hyphens: auto;
	hyphens: auto;
}

/* Schmale Bildschirme: lange Wörter in Überschriften und Optionen trennen statt hart umbrechen. */
@media (max-width: 479px) {
	.djfm .djfm-h1,
	.djfm .djfm-h2,
	.djfm .djfm-h3,
	.djfm .djfm-h4,
	.djfm .djfm-frage__titel,
	.djfm .djfm-opt__titel,
	.djfm .djfm-karte__titel,
	.djfm .djfm-ergebnis__titel,
	.djfm .djfm-gruppe__titel,
	.djfm .djfm-eintrag__name,
	.djfm .djfm-faq__h {
		-webkit-hyphens: auto;
		hyphens: auto;
	}
}

/* ---------- Layout ---------- */

.djfm .djfm-w {
	width: 100%;
	max-width: calc(var(--djfm-cw) + 2 * var(--djfm-pad));
	margin: 0 auto;
	padding: 0 var(--djfm-pad);
}

.djfm .djfm-w--schmal {
	max-width: calc(920px + 2 * var(--djfm-pad));
}

.djfm .djfm-sec {
	position: relative;
	padding: var(--djfm-sec) 0;
}

.djfm .djfm-sec--sand {
	background: var(--djfm-sand);
}

.djfm .djfm-sec--navigator {
	background: var(--djfm-gl);
}

.djfm .djfm-sec--hell {
	background: var(--djfm-soft);
	border-top: 1px solid var(--djfm-hair);
	border-bottom: 1px solid var(--djfm-hair);
}

.djfm .djfm-sec--navy {
	background: var(--djfm-navy);
	color: var(--djfm-ink2);
}

.djfm .djfm-sec--kompakt {
	padding: clamp(40px, 4.5vw, 64px) 0;
}

.djfm .djfm-sec--rand {
	padding: clamp(40px, 4.5vw, 64px) 0 clamp(56px, 6vw, 88px);
	border-top: 1px solid var(--djfm-hair);
}

/* ---------- Typografie ---------- */

.djfm .djfm-kopf {
	display: grid;
	gap: 16px;
	max-width: 860px;
	margin-bottom: clamp(28px, 3.2vw, 44px);
}

.djfm .djfm-kopf--split {
	max-width: none;
}

@media (min-width: 1100px) {
	.djfm .djfm-kopf--split {
		grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
		column-gap: var(--djfm-gapx);
		align-items: end;
	}

	.djfm .djfm-kopf--split .djfm-kicker {
		grid-column: 1 / -1;
	}
}

.djfm .djfm-kicker {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 4px;
	color: var(--djfm-gt);
	font: 600 13px/1.3 var(--djfm-font);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.djfm .djfm-kicker::before {
	content: "";
	flex: 0 0 auto;
	width: 10px;
	height: 18px;
	background: currentColor;
	clip-path: polygon(39% 0, 100% 0, 61% 100%, 0 100%);
}

.djfm .djfm-h1 {
	color: var(--djfm-navy);
	font: 700 clamp(34px, 2.1vw + 17px, 56px)/1.05 var(--djfm-font);
	letter-spacing: -0.032em;
	text-wrap: balance;
}

.djfm .djfm-h2 {
	color: var(--djfm-navy);
	font: 700 clamp(28px, 1.5vw + 17px, 46px)/1.08 var(--djfm-font);
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.djfm .djfm-h1 em,
.djfm .djfm-h2 em {
	color: var(--djfm-gt);
	font-family: var(--djfm-accent);
	font-style: italic;
	font-weight: 500;
	letter-spacing: -0.01em;
}

.djfm .djfm-h1 em {
	display: block;
	margin-top: 0.06em;
}

.djfm .djfm-h3 {
	color: var(--djfm-navy);
	font: 700 clamp(19px, 0.35vw + 16px, 22px)/1.28 var(--djfm-font);
	letter-spacing: -0.015em;
}

.djfm .djfm-h4 {
	color: var(--djfm-navy);
	font: 700 17px/1.35 var(--djfm-font);
	letter-spacing: -0.01em;
}

.djfm .djfm-lead {
	max-width: 62ch;
	color: var(--djfm-mute);
	font-size: clamp(16.5px, 15px + 0.3vw, 18px);
	line-height: 1.6;
	text-wrap: pretty;
}

.djfm .djfm-lead--gross {
	max-width: 56ch;
	color: #3d4759;
	font-size: clamp(17px, 15.6px + 0.4vw, 19.5px);
}

.djfm .djfm-text {
	color: var(--djfm-text);
	font-size: 17px;
	line-height: 1.62;
	text-wrap: pretty;
}

.djfm .djfm-text-klein {
	color: var(--djfm-mute);
	font-size: 15px;
	line-height: 1.55;
}

.djfm .djfm-sec--navy .djfm-kicker {
	color: var(--djfm-mint);
}

.djfm .djfm-sec--navy .djfm-h2,
.djfm .djfm-sec--navy .djfm-h3,
.djfm .djfm-sec--navy .djfm-h4 {
	color: #fff;
}

.djfm .djfm-sec--navy .djfm-h2 em {
	color: var(--djfm-mint);
}

.djfm .djfm-sec--navy .djfm-lead,
.djfm .djfm-sec--navy .djfm-text,
.djfm .djfm-sec--navy .djfm-text-klein {
	color: var(--djfm-ink2);
}

.djfm .djfm-sec--navy a:not(.djfm-btn) {
	color: var(--djfm-mint);
}

.djfm .djfm-sec--navy a:not(.djfm-btn):hover {
	color: #fff;
}

/* ---------- Schaltflächen und Links ---------- */

.djfm .djfm-aktionen {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 28px;
}

.djfm .djfm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	max-width: 100%;
	padding: 0 28px;
	border: 1px solid var(--djfm-cta);
	border-radius: var(--djfm-r-btn);
	background: var(--djfm-cta);
	color: #fff;
	font: 700 16px/1.2 var(--djfm-font);
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s, transform 0.2s;
}

.djfm .djfm-btn:hover {
	border-color: var(--djfm-cta-h);
	background: var(--djfm-cta-h);
	color: #fff;
	text-decoration: none;
}

.djfm .djfm-btn:active {
	border-color: var(--djfm-cta-a);
	background: var(--djfm-cta-a);
}

.djfm .djfm-btn--gross {
	min-height: 56px;
	padding: 0 32px;
	font-size: 17px;
}

.djfm .djfm-btn--klein {
	min-height: 44px;
	padding: 0 18px;
	font-size: 15px;
}

.djfm .djfm-btn--sek {
	border-color: var(--djfm-line2);
	background: #fff;
	color: var(--djfm-navy);
}

.djfm .djfm-btn--sek:hover {
	border-color: var(--djfm-navy);
	background: #fff;
	color: var(--djfm-navy);
}

.djfm .djfm-btn--hell {
	border-color: var(--djfm-mint);
	background: var(--djfm-mint);
	color: var(--djfm-navy);
}

.djfm .djfm-btn--hell:hover {
	border-color: #fff;
	background: #fff;
	color: var(--djfm-navy);
}

.djfm .djfm-btn--rahmen {
	border-color: rgba(255, 255, 255, 0.45);
	background: transparent;
	color: #fff;
}

.djfm .djfm-btn--rahmen:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.djfm .djfm-btn span[aria-hidden="true"],
.djfm .djfm-pfeillink span[aria-hidden="true"] {
	display: inline-block;
	transition: transform 0.2s;
}

.djfm .djfm-btn:hover span[aria-hidden="true"],
.djfm .djfm-pfeillink:hover span[aria-hidden="true"] {
	transform: translateX(3px);
}

.djfm .djfm-pfeillink {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--djfm-gt);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: rgba(14, 115, 85, 0.4);
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.djfm .djfm-pfeillink:hover {
	color: var(--djfm-gd);
	text-decoration-color: currentColor;
}

.djfm .djfm-pfeillink--klein {
	font-size: 15px;
}

.djfm a[target="_blank"].djfm-pfeillink::after,
.djfm a[target="_blank"].djfm-btn::after {
	content: "";
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: var(--djfm-extern) center / contain no-repeat;
	mask: var(--djfm-extern) center / contain no-repeat;
}

/* ---------- Einstieg ---------- */

.djfm .djfm-einstieg {
	position: relative;
	z-index: 1;
	background: var(--djfm-sand);
	overflow-x: clip;
}

.djfm .djfm-einstieg__raster {
	display: grid;
	gap: 28px;
	padding-top: clamp(22px, 3.4vw, 44px);
	padding-bottom: clamp(28px, 3.6vw, 48px);
}

.djfm .djfm-einstieg__text {
	position: relative;
	z-index: 2;
	max-width: 680px;
}

.djfm .djfm-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
	color: var(--djfm-mute);
	font-size: 14px;
	line-height: 1.4;
}

.djfm .djfm-crumbs li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.djfm .djfm-crumbs li + li::before {
	content: "";
	width: 7px;
	height: 12px;
	background: var(--djfm-line2);
	clip-path: polygon(39% 0, 100% 0, 61% 100%, 0 100%);
}

.djfm .djfm-crumbs a {
	color: var(--djfm-mute);
	text-decoration-color: rgba(90, 100, 120, 0.4);
}

.djfm .djfm-crumbs a:hover {
	color: var(--djfm-navy);
}

.djfm .djfm-tag {
	margin: 26px 0 18px;
}

.djfm .djfm-tag span {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--djfm-gt);
	font: 600 13px/1.3 var(--djfm-font);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.djfm .djfm-tag span::before {
	content: "";
	flex: 0 0 auto;
	width: 10px;
	height: 18px;
	background: currentColor;
	clip-path: polygon(39% 0, 100% 0, 61% 100%, 0 100%);
}

.djfm .djfm-einstieg .djfm-lead {
	margin-top: 22px;
}

.djfm .djfm-einstieg .djfm-aktionen {
	margin-top: 30px;
}

.djfm .djfm-fakten {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	margin-top: 28px;
	color: var(--djfm-mute);
	font-size: 14.5px;
	line-height: 1.45;
}

.djfm .djfm-fakten li {
	position: relative;
	padding-left: 24px;
}

.djfm .djfm-fakten li::before {
	content: "";
	position: absolute;
	top: 0.12em;
	left: 0;
	width: 16px;
	height: 16px;
	background: var(--djfm-g);
	-webkit-mask: var(--djfm-haken) center / contain no-repeat;
	mask: var(--djfm-haken) center / contain no-repeat;
}

.djfm .djfm-fakten strong {
	color: var(--djfm-text);
	font-weight: 600;
}

.djfm .djfm-einstieg__bild {
	position: relative;
	margin: 0 calc(-1 * var(--djfm-pad));
	min-height: 220px;
	height: clamp(220px, 52vw, 380px);
	background: var(--djfm-gl);
}

.djfm .djfm-einstieg__bild--ohne {
	background:
		radial-gradient(circle at 70% 30%, rgba(143, 224, 198, 0.55), transparent 55%),
		linear-gradient(135deg, var(--djfm-gl), #dfeee8);
}

.djfm .djfm-foto {
	margin: 0;
	overflow: hidden;
}

.djfm .djfm-foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.djfm .djfm-foto--hero {
	position: absolute;
	inset: 0;
}

.djfm .djfm-foto--hero img {
	object-position: 70% 40%;
}

.djfm .djfm-foto--wege img {
	object-position: 42% 50%;
}

.djfm .djfm-foto--ag img {
	object-position: 50% 6%;
}

.djfm .djfm-vorschau {
	position: absolute;
	z-index: 2;
	display: none;
	padding: 18px 20px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: var(--djfm-schatten-hoch);
	color: var(--djfm-text);
	font-size: 14px;
	line-height: 1.4;
}

.djfm .djfm-vorschau p {
	margin: 0;
}

.djfm .djfm-vorschau:not(.djfm-vorschau--schritt) {
	left: var(--djfm-pad);
	bottom: 20px;
	width: min(300px, calc(100% - 2 * var(--djfm-pad)));
}

.djfm .djfm-vorschau__status {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--djfm-gt);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.djfm .djfm-vorschau__punkt {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--djfm-g);
	box-shadow: 0 0 0 4px rgba(20, 160, 119, 0.18);
}

.djfm .djfm-vorschau__titel {
	margin-top: 10px !important;
	color: var(--djfm-navy);
	font-size: 16px;
	font-weight: 700;
}

.djfm .djfm-vorschau__wert {
	margin-top: 8px !important;
	color: var(--djfm-gt);
	font-family: var(--djfm-accent);
	font-size: 26px;
	font-style: italic;
	font-weight: 500;
	line-height: 1.1;
}

.djfm .djfm-vorschau__text {
	color: var(--djfm-mute);
}

.djfm .djfm-vorschau__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin-top: 12px !important;
	padding-top: 10px;
	border-top: 1px solid var(--djfm-hair);
	color: var(--djfm-mute);
	font-size: 12.5px;
}

.djfm .djfm-vorschau--schritt {
	top: 22px;
	right: var(--djfm-pad);
	align-items: center;
	gap: 12px;
	max-width: 290px;
	padding: 12px 16px;
	font-weight: 600;
}

.djfm .djfm-vorschau__nr {
	flex: 0 0 auto;
	padding: 4px 9px;
	border-radius: 999px;
	background: var(--djfm-navy);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

@media (min-width: 640px) {
	.djfm .djfm-vorschau:not(.djfm-vorschau--schritt) {
		display: block;
	}
}

@media (min-width: 1100px) {
	.djfm .djfm-einstieg__haupt {
		position: relative;
	}

	.djfm .djfm-einstieg__raster {
		min-height: clamp(540px, calc(100svh - 230px), 620px);
		align-content: center;
		padding-top: clamp(28px, 3.4vw, 48px);
		padding-bottom: clamp(40px, 4vw, 64px);
	}

	.djfm .djfm-einstieg__text {
		width: 54%;
		max-width: 640px;
	}

	.djfm .djfm-einstieg__bild {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 57%;
		height: auto;
		margin: 0;
		clip-path: polygon(96px 0, 100% 0, 100% 100%, 0 100%);
	}

	.djfm .djfm-vorschau:not(.djfm-vorschau--schritt) {
		left: 118px;
		bottom: 40px;
	}

	.djfm .djfm-vorschau--schritt {
		display: flex;
		top: 40px;
		right: 40px;
	}
}

@media (min-width: 1500px) {
	.djfm .djfm-einstieg__bild {
		left: 55%;
	}
}

/* Sprungnavigation */

.djfm .djfm-sprung {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-top: 16px;
	padding-bottom: 16px;
	border-top: 1px solid rgba(22, 33, 54, 0.08);
}

.djfm .djfm-sprung__titel {
	flex: 0 0 auto;
	color: var(--djfm-mute);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.djfm .djfm-sprung ul {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
	padding: 4px 2px;
}

.djfm .djfm-sprung li {
	flex: 0 0 auto;
}

.djfm .djfm-sprung a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid var(--djfm-line);
	border-radius: 999px;
	background: #fff;
	color: var(--djfm-navy);
	font-size: 14.5px;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
}

.djfm .djfm-sprung a:hover {
	border-color: var(--djfm-gt);
	color: var(--djfm-gt);
}

@media (max-width: 767px) {
	.djfm .djfm-sprung__titel {
		display: none;
	}

	.djfm .djfm-sprung {
		padding-right: 0;
	}
}

@media (min-width: 1100px) {
	.djfm .djfm-sprung {
		position: relative;
		z-index: 2;
		background: var(--djfm-sand);
	}
}

/* ---------- Navigator ---------- */

.djfm .djfm-sec--navigator .djfm-kopf {
	margin-bottom: clamp(24px, 2.6vw, 36px);
}

.djfm .djfm-app {
	position: relative;
	padding: clamp(22px, 3.2vw, 44px);
	border: 1px solid var(--djfm-hair);
	border-radius: 14px;
	background: #fff;
	box-shadow: var(--djfm-schatten);
}

.djfm .djfm-app__kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 24px;
	margin-bottom: 18px;
}

.djfm .djfm-schritt {
	color: var(--djfm-gt);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.djfm .djfm-fortschritt {
	position: relative;
	flex: 1 1 180px;
	max-width: 320px;
	height: 6px;
	border-radius: 999px;
	background: var(--djfm-hair);
	overflow: hidden;
}

.djfm .djfm-fortschritt span {
	position: absolute;
	inset: 0 auto 0 0;
	border-radius: inherit;
	background: var(--djfm-g);
	transition: width 0.3s ease;
}

.djfm .djfm-frage__titel {
	color: var(--djfm-navy);
	font: 700 clamp(21px, 0.8vw + 16px, 28px)/1.22 var(--djfm-font);
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.djfm .djfm-frage__titel:focus {
	outline: none;
}

.djfm .djfm-frage__hilfe {
	max-width: 70ch;
	margin-top: 8px;
	color: var(--djfm-mute);
	font-size: 15.5px;
	line-height: 1.55;
}

.djfm .djfm-optionen {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	margin-top: 24px;
}

@media (min-width: 640px) {
	.djfm .djfm-optionen {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.djfm .djfm-optionen--situation,
	.djfm .djfm-optionen--drei {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.djfm .djfm-optionen > li {
	display: flex;
	min-width: 0;
}

.djfm .djfm-opt {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	width: 100%;
	min-height: 76px;
	padding: 16px 52px 16px 20px;
	border: 1px solid var(--djfm-line);
	border-radius: var(--djfm-r-field);
	background: #fff;
	color: var(--djfm-text);
	text-align: left;
	text-decoration: none;
	transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s;
}

.djfm .djfm-opt::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 18px;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	background: var(--djfm-line2);
	-webkit-mask: var(--djfm-pfeil) center / contain no-repeat;
	mask: var(--djfm-pfeil) center / contain no-repeat;
	transition: transform 0.15s, background-color 0.15s;
}

.djfm .djfm-opt:hover {
	border-color: var(--djfm-gt);
	background: #fbfdfc;
	box-shadow: 0 0 0 1px var(--djfm-gt);
	color: var(--djfm-text);
	text-decoration: none;
}

.djfm .djfm-opt:hover::after {
	background: var(--djfm-gt);
	transform: translateX(3px);
}

.djfm .djfm-opt[aria-pressed="true"] {
	border-color: var(--djfm-gt);
	background: var(--djfm-gl);
	box-shadow: 0 0 0 1px var(--djfm-gt);
}

.djfm .djfm-opt[aria-pressed="true"]::after {
	background: var(--djfm-gt);
	-webkit-mask-image: var(--djfm-haken);
	mask-image: var(--djfm-haken);
}

.djfm .djfm-opt__titel {
	color: var(--djfm-navy);
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.3;
}

.djfm .djfm-opt__text {
	color: var(--djfm-mute);
	font-size: 14.5px;
	line-height: 1.4;
}

.djfm .djfm-optionen--land {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

@media (min-width: 768px) {
	.djfm .djfm-optionen--land {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.djfm .djfm-optionen--land {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.djfm .djfm-optionen--land .djfm-opt {
	min-height: 52px;
	padding: 10px 36px 10px 14px;
}

.djfm .djfm-optionen--land .djfm-opt::after {
	right: 12px;
	width: 15px;
	height: 15px;
	margin-top: -7.5px;
}

.djfm .djfm-optionen--land .djfm-opt__titel {
	font-size: 15px;
	font-weight: 600;
}

.djfm .djfm-optionen .djfm-opt-weit {
	grid-column: 1 / -1;
}

.djfm .djfm-opt--neutral {
	border-style: dashed;
	background: var(--djfm-soft);
}

@media (max-width: 399px) {
	.djfm .djfm-app {
		padding: 18px 14px;
	}

	.djfm .djfm-opt {
		padding: 14px 38px 14px 14px;
	}

	.djfm .djfm-opt::after {
		right: 12px;
	}
}

.djfm .djfm-app__fuss {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--djfm-hair);
}

.djfm .djfm-app__fuss-hinweis {
	color: var(--djfm-mute);
	font-size: 14px;
}

.djfm .djfm-knoepfe {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
}

.djfm .djfm-knopf {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 4px;
	color: var(--djfm-navy);
	font-size: 15px;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(22, 33, 54, 0.3);
	text-underline-offset: 4px;
}

.djfm .djfm-knopf:hover {
	color: var(--djfm-gt);
	text-decoration-color: currentColor;
}

.djfm .djfm-knopf::before {
	content: "";
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	background: currentColor;
	-webkit-mask: var(--djfm-pfeil) center / contain no-repeat;
	mask: var(--djfm-pfeil) center / contain no-repeat;
}

.djfm .djfm-knopf--zurueck::before {
	-webkit-mask-image: var(--djfm-zurueck);
	mask-image: var(--djfm-zurueck);
}

.djfm .djfm-knopf--neu::before {
	-webkit-mask-image: var(--djfm-neu);
	mask-image: var(--djfm-neu);
}

.djfm .djfm-knopf--drucken::before {
	-webkit-mask-image: var(--djfm-drucker);
	mask-image: var(--djfm-drucker);
}

.djfm .djfm-knopf--aendern::before {
	-webkit-mask-image: var(--djfm-stift);
	mask-image: var(--djfm-stift);
}

.djfm .djfm-app--fertig {
	padding-top: clamp(18px, 2.4vw, 28px);
	padding-bottom: clamp(18px, 2.4vw, 28px);
}

/* ---------- Ergebnis ---------- */

.djfm .djfm-ergebnis {
	margin-top: clamp(24px, 3vw, 40px);
}

.djfm .djfm-ergebnis__kopf {
	display: grid;
	gap: 18px;
}

@media (min-width: 900px) {
	.djfm .djfm-ergebnis__kopf {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
	}
}

.djfm .djfm-ergebnis__titel {
	margin-top: 10px;
	color: var(--djfm-navy);
	font: 700 clamp(24px, 1vw + 18px, 34px)/1.15 var(--djfm-font);
	letter-spacing: -0.025em;
	text-wrap: balance;
}

.djfm .djfm-ergebnis__titel:focus {
	outline: none;
}

.djfm .djfm-ergebnis__intro {
	max-width: 68ch;
	margin-top: 10px;
	color: var(--djfm-mute);
	font-size: 15.5px;
	line-height: 1.55;
}

.djfm .djfm-angaben {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 20px;
}

.djfm .djfm-angaben > div {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	max-width: 100%;
	min-height: 40px;
	padding: 4px 6px 4px 14px;
	border: 1px solid var(--djfm-line);
	border-radius: 999px;
	background: #fff;
	font-size: 14.5px;
	line-height: 1.3;
}

.djfm .djfm-angaben dt {
	flex: 0 0 auto;
	color: var(--djfm-mute);
	font-weight: 500;
	white-space: nowrap;
}

.djfm .djfm-angaben dt::after {
	content: ":";
}

.djfm .djfm-angaben dd {
	display: inline-flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: space-between;
	gap: 2px;
	min-width: 0;
	color: var(--djfm-navy);
	font-weight: 600;
}

@media (max-width: 559px) {
	.djfm .djfm-angaben > div {
		display: flex;
		width: 100%;
		border-radius: 12px;
	}
}

.djfm .djfm-aendern {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	color: var(--djfm-gt);
}

.djfm .djfm-aendern::before {
	content: "";
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: var(--djfm-stift) center / contain no-repeat;
	mask: var(--djfm-stift) center / contain no-repeat;
}

.djfm .djfm-aendern:hover {
	background: var(--djfm-gl);
	color: var(--djfm-gd);
}

.djfm .djfm-uebersicht {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	margin-top: 22px;
}

@media (min-width: 640px) {
	.djfm .djfm-uebersicht {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.djfm .djfm-uebersicht a {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 64px;
	padding: 12px 16px;
	border: 1px solid var(--djfm-hair);
	border-radius: var(--djfm-r-card);
	background: #fff;
	color: var(--djfm-navy);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.djfm .djfm-uebersicht a:hover {
	border-color: var(--djfm-gt);
	color: var(--djfm-gt);
}

.djfm .djfm-uebersicht strong {
	flex: 0 0 auto;
	min-width: 1.6em;
	color: var(--djfm-gt);
	font-family: var(--djfm-accent);
	font-size: 30px;
	font-style: italic;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}

.djfm .djfm-gruppe {
	margin-top: clamp(32px, 3.6vw, 48px);
}

.djfm .djfm-gruppe__kopf {
	display: grid;
	gap: 6px;
	margin-bottom: 16px;
}

.djfm .djfm-gruppe__titel {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--djfm-navy);
	font: 700 clamp(20px, 0.5vw + 17px, 24px)/1.25 var(--djfm-font);
	letter-spacing: -0.02em;
}

.djfm .djfm-gruppe__titel:focus {
	outline: none;
}

.djfm .djfm-gruppe__titel::before {
	content: "";
	flex: 0 0 auto;
	width: 10px;
	height: 20px;
	background: var(--djfm-g);
	clip-path: polygon(39% 0, 100% 0, 61% 100%, 0 100%);
}

.djfm .djfm-gruppe--anlaufstellen .djfm-gruppe__titel::before {
	background: var(--djfm-blau);
}

.djfm .djfm-gruppe--klaeren .djfm-gruppe__titel::before {
	background: #c98a1c;
}

.djfm .djfm-gruppe__anzahl {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--djfm-navy);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0;
}

.djfm .djfm-gruppe__text {
	max-width: 70ch;
	color: var(--djfm-mute);
	font-size: 15.5px;
	line-height: 1.55;
}

.djfm .djfm-karten {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}

@media (min-width: 1024px) {
	.djfm .djfm-karten--kompakt {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.djfm .djfm-karte {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
	padding: clamp(20px, 2.4vw, 30px);
	border: 1px solid var(--djfm-hair);
	border-left: 4px solid var(--djfm-g);
	border-radius: var(--djfm-r-card);
	background: #fff;
	box-shadow: 0 1px 2px rgba(22, 33, 54, 0.05);
}

.djfm .djfm-karte--anlaufstelle {
	border-left-color: var(--djfm-blau);
}

.djfm .djfm-karte--hinweis {
	border-left-color: #c98a1c;
}

.djfm .djfm-marken {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.djfm .djfm-marke,
.djfm .djfm-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 26px;
	padding: 3px 10px;
	border-radius: 6px;
	background: var(--djfm-gl);
	color: var(--djfm-gd);
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.01em;
}

.djfm .djfm-marke--ebene {
	background: var(--djfm-navy);
	color: #fff;
}

.djfm .djfm-marke--warn,
.djfm .djfm-badge--hinweis {
	background: var(--djfm-warn-bg);
	color: var(--djfm-warn);
}

.djfm .djfm-marke--warn::before {
	content: "";
	width: 13px;
	height: 13px;
	background: currentColor;
	-webkit-mask: var(--djfm-warnung) center / contain no-repeat;
	mask: var(--djfm-warnung) center / contain no-repeat;
}

.djfm .djfm-marke--frist {
	background: #fbe9e9;
	color: #8f1f24;
}

.djfm .djfm-marke--frist::before {
	content: "";
	width: 13px;
	height: 13px;
	background: currentColor;
	-webkit-mask: var(--djfm-uhr) center / contain no-repeat;
	mask: var(--djfm-uhr) center / contain no-repeat;
}

.djfm .djfm-badge--anlaufstelle {
	background: var(--djfm-blau-bg);
	color: var(--djfm-blau);
}

.djfm .djfm-karte__titel {
	margin-top: 12px;
	color: var(--djfm-navy);
	font: 700 clamp(19px, 0.5vw + 16px, 23px)/1.25 var(--djfm-font);
	letter-spacing: -0.02em;
}

.djfm .djfm-karte__wert {
	margin-top: 6px;
	color: var(--djfm-gt);
	font-family: var(--djfm-accent);
	font-size: clamp(20px, 0.6vw + 17px, 25px);
	font-style: italic;
	font-weight: 500;
	line-height: 1.2;
}

.djfm .djfm-karte__kurz {
	max-width: 75ch;
	margin-top: 10px;
	color: var(--djfm-text);
	font-size: 16px;
	line-height: 1.6;
}

.djfm .djfm-warum {
	padding: 14px 16px;
	border-radius: 8px;
	background: var(--djfm-gl);
	font-size: 15px;
	line-height: 1.55;
}

.djfm .djfm-warum__titel {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
	color: var(--djfm-gd);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.djfm .djfm-warum__titel::before {
	content: "";
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: var(--djfm-info) center / contain no-repeat;
	mask: var(--djfm-info) center / contain no-repeat;
}

.djfm .djfm-warum p + p {
	margin-top: 6px;
}

.djfm .djfm-fakten-raster {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px 28px;
}

@media (min-width: 768px) {
	.djfm .djfm-fakten-raster {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.djfm .djfm-fakten-raster > div {
	min-width: 0;
	padding-top: 12px;
	border-top: 1px solid var(--djfm-hair);
}

.djfm .djfm-fakten-raster dt {
	margin-bottom: 6px;
	color: var(--djfm-mute);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.djfm .djfm-fakten-raster dd {
	font-size: 15.5px;
	line-height: 1.55;
}

.djfm .djfm-fakten-raster dd p + p,
.djfm .djfm-fakten-raster dd p + ul,
.djfm .djfm-fakten-raster dd ul + p {
	margin-top: 6px;
}

.djfm .djfm-liste {
	display: grid;
	gap: 6px;
}

.djfm .djfm-liste li {
	position: relative;
	padding-left: 18px;
}

.djfm .djfm-liste li::before {
	content: "";
	position: absolute;
	top: 0.62em;
	left: 2px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--djfm-g);
}

.djfm .djfm-vorbeginn {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 8px;
	color: #8f1f24;
	font-weight: 600;
}

.djfm .djfm-vorbeginn::before {
	content: "";
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin-top: 3px;
	background: currentColor;
	-webkit-mask: var(--djfm-uhr) center / contain no-repeat;
	mask: var(--djfm-uhr) center / contain no-repeat;
}

.djfm .djfm-naechster {
	display: grid;
	gap: 4px;
	padding: 14px 16px;
	border: 1px solid #cfe5dc;
	border-radius: 8px;
	background: #f6fbf9;
	font-size: 15.5px;
	line-height: 1.55;
}

.djfm .djfm-naechster__titel {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--djfm-gt);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.djfm .djfm-naechster__titel::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--djfm-pfeil) center / contain no-repeat;
	mask: var(--djfm-pfeil) center / contain no-repeat;
}

.djfm .djfm-karte__fuss,
.djfm .djfm-eintrag__fuss,
.djfm .djfm-lprog__fuss {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
}

.djfm .djfm-pruefung {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--djfm-mute);
	font-size: 13.5px;
	line-height: 1.4;
}

.djfm .djfm-pruefung::before {
	content: "";
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	background: var(--djfm-g);
	-webkit-mask: var(--djfm-haken) center / contain no-repeat;
	mask: var(--djfm-haken) center / contain no-repeat;
}

.djfm .djfm-pruefung--faellig {
	color: var(--djfm-warn);
	font-weight: 600;
}

.djfm .djfm-pruefung--faellig::before {
	background: currentColor;
	-webkit-mask-image: var(--djfm-warnung);
	mask-image: var(--djfm-warnung);
}

/* Aufklappbereiche (Details, Quellen) */

.djfm .djfm-mehr {
	border-top: 1px solid var(--djfm-hair);
}

.djfm .djfm-mehr > summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding-top: 10px;
	color: var(--djfm-navy);
	font-size: 15px;
	font-weight: 700;
}

.djfm .djfm-mehr > summary::after {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--djfm-chevron) center / contain no-repeat;
	mask: var(--djfm-chevron) center / contain no-repeat;
	transition: transform 0.2s;
}

.djfm .djfm-mehr[open] > summary::after {
	transform: rotate(180deg);
}

.djfm .djfm-mehr > summary:hover {
	color: var(--djfm-gt);
}

.djfm .djfm-mehr > .djfm-felder {
	margin-top: 12px;
}

.djfm .djfm-felder {
	display: grid;
	gap: 0;
	font-size: 15.5px;
	line-height: 1.55;
}

.djfm .djfm-felder__zeile {
	display: grid;
	gap: 4px 24px;
	padding: 12px 0;
	border-top: 1px solid var(--djfm-hair);
}

.djfm .djfm-felder__zeile:first-child {
	border-top: 0;
}

@media (min-width: 768px) {
	.djfm .djfm-felder__zeile {
		grid-template-columns: minmax(150px, 1fr) minmax(0, 3.2fr);
	}
}

.djfm .djfm-felder dt {
	color: var(--djfm-navy);
	font-size: 14.5px;
	font-weight: 700;
}

.djfm .djfm-felder dd > * + * {
	margin-top: 8px;
}

.djfm .djfm-kontakte {
	display: grid;
	gap: 4px;
	margin-top: 6px;
}

.djfm .djfm-kontakte__label {
	color: var(--djfm-mute);
}

.djfm .djfm-kontakte a {
	font-weight: 600;
	white-space: nowrap;
}

.djfm .djfm-kontakte__zusatz {
	color: var(--djfm-mute);
	font-size: 0.92em;
}

.djfm .djfm-quellen {
	display: grid;
	gap: 8px;
}

.djfm .djfm-quellen li {
	display: grid;
	gap: 2px;
}

.djfm .djfm-quellen__herkunft {
	color: var(--djfm-mute);
	font-size: 13.5px;
}

/* Klären-Liste und Hinweise im Ergebnis */

.djfm .djfm-checkliste {
	display: grid;
	gap: 0;
	padding: 6px clamp(16px, 2vw, 24px);
	border: 1px solid var(--djfm-warn-line);
	border-radius: var(--djfm-r-card);
	background: #fffaf0;
}

.djfm .djfm-checkliste li {
	position: relative;
	display: grid;
	gap: 2px;
	padding: 12px 0 12px 34px;
	border-top: 1px solid rgba(201, 138, 28, 0.22);
	font-size: 15.5px;
	line-height: 1.5;
}

.djfm .djfm-checkliste li:first-child {
	border-top: 0;
}

.djfm .djfm-checkliste li::before {
	content: "";
	position: absolute;
	top: 14px;
	left: 0;
	width: 20px;
	height: 20px;
	background: #b07612;
	-webkit-mask: var(--djfm-info) center / contain no-repeat;
	mask: var(--djfm-info) center / contain no-repeat;
}

.djfm .djfm-checkliste__quelle {
	color: var(--djfm-mute);
	font-size: 13.5px;
}

.djfm .djfm-gruppe > .djfm-text-klein {
	margin-top: 16px;
}

.djfm .djfm-karte > .djfm-liste,
.djfm .djfm-karte > .djfm-kontakte,
.djfm .djfm-karte > p:not([class]) {
	font-size: 15.5px;
	line-height: 1.55;
}

.djfm .djfm-traeger {
	color: var(--djfm-mute);
	font-size: 15px;
}

.djfm .djfm-gruppe__unter {
	margin: 24px 0 12px;
	color: var(--djfm-navy);
	font-size: 16px;
	font-weight: 700;
}

.djfm .djfm-info-raster {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	margin-top: 16px;
}

@media (min-width: 768px) {
	.djfm .djfm-info-raster {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.djfm .djfm-infobox {
	display: grid;
	align-content: start;
	gap: 8px;
	padding: 18px 20px;
	border: 1px solid var(--djfm-hair);
	border-radius: var(--djfm-r-card);
	background: #fff;
	font-size: 15.5px;
	line-height: 1.55;
}

.djfm .djfm-infobox__titel {
	color: var(--djfm-navy);
	font-size: 16px;
	font-weight: 700;
}

.djfm .djfm-infobox__wert {
	color: var(--djfm-gt);
	font-family: var(--djfm-accent);
	font-size: 21px;
	font-style: italic;
	font-weight: 500;
	line-height: 1.25;
}

.djfm .djfm-leer {
	display: grid;
	gap: 10px;
	padding: clamp(18px, 2.4vw, 26px);
	border: 1px dashed var(--djfm-line2);
	border-radius: var(--djfm-r-card);
	background: #fff;
	font-size: 15.5px;
	line-height: 1.55;
}

.djfm .djfm-leer__titel {
	color: var(--djfm-navy);
	font-size: 17px;
	font-weight: 700;
}

.djfm .djfm-ergebnis__weiter {
	display: grid;
	gap: 14px;
	margin-top: clamp(32px, 3.6vw, 48px);
	padding: clamp(20px, 2.6vw, 30px);
	border-radius: 12px;
	background: var(--djfm-navy);
	color: var(--djfm-ink2);
}

.djfm .djfm-ergebnis__weiter .djfm-gruppe__titel {
	color: #fff;
}

.djfm .djfm-ergebnis__weiter .djfm-gruppe__titel::before {
	background: var(--djfm-mint);
}

.djfm .djfm-linkliste {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.djfm .djfm-linkliste a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 8px 16px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.djfm .djfm-linkliste a::after {
	content: "";
	width: 15px;
	height: 15px;
	background: var(--djfm-mint);
	-webkit-mask: var(--djfm-pfeil) center / contain no-repeat;
	mask: var(--djfm-pfeil) center / contain no-repeat;
}

.djfm .djfm-linkliste a:hover {
	border-color: var(--djfm-mint);
	color: #fff;
}

.djfm .djfm-ergebnis__weiter :focus-visible {
	outline-color: var(--djfm-mint) !important;
}

.djfm .djfm-ergebnis__hinweis {
	max-width: 80ch;
	margin-top: 24px;
	color: var(--djfm-mute);
	font-size: 14px;
	line-height: 1.55;
}

/* ---------- Nach Situation ---------- */

.djfm .djfm-wege {
	display: grid;
	gap: clamp(28px, 4vw, 56px);
}

.djfm .djfm-foto--wege {
	aspect-ratio: 16 / 9;
	border-radius: 12px;
	background: var(--djfm-gl);
}

@media (min-width: 1024px) {
	.djfm .djfm-wege {
		grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
		align-items: start;
	}

	.djfm .djfm-wege--ohne-bild {
		grid-template-columns: minmax(0, 1fr);
	}

	.djfm .djfm-foto--wege {
		position: sticky;
		top: calc(var(--djfm-hdr) + 24px);
		aspect-ratio: 1 / 1;
	}
}

.djfm .djfm-wege__liste {
	display: grid;
	gap: 14px;
}

@media (min-width: 768px) {
	.djfm .djfm-wege__liste {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.djfm .djfm-weg {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 16px;
	padding: clamp(18px, 2vw, 24px);
	border: 1px solid rgba(22, 33, 54, 0.07);
	border-radius: var(--djfm-r-card);
	background: #fff;
}

.djfm .djfm-weg__nr {
	color: var(--djfm-gt);
	font-family: var(--djfm-accent);
	font-size: 30px;
	font-style: italic;
	font-weight: 500;
	line-height: 1;
}

.djfm .djfm-weg__inhalt {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.djfm .djfm-weg .djfm-text {
	font-size: 15.5px;
	line-height: 1.58;
}

.djfm .djfm-weg .djfm-pfeillink {
	margin-top: auto;
	padding-top: 4px;
}

.djfm .djfm-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.djfm .djfm-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--djfm-gl);
	color: var(--djfm-gd);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.djfm .djfm-chips a:hover {
	background: #dcebe5;
	color: var(--djfm-cta-a);
}

.djfm .djfm-weg-orientierung {
	max-width: 80ch;
	margin-top: 24px;
	color: var(--djfm-mute);
	font-size: 15.5px;
}

/* ---------- Antrag und Fristen ---------- */

.djfm .djfm-schritte {
	display: grid;
	gap: 14px;
}

@media (min-width: 640px) {
	.djfm .djfm-schritte {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.djfm .djfm-schritte {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.djfm .djfm-schritte__eintrag {
	display: grid;
	align-content: start;
	gap: 8px;
	padding: 22px 22px 24px;
	border: 1px solid var(--djfm-hair);
	border-radius: var(--djfm-r-card);
	background: #fff;
}

.djfm .djfm-schritte__eintrag:nth-child(4) {
	border-color: #e7c4c5;
	background: #fffafa;
	box-shadow: inset 4px 0 0 #b3363c;
}

.djfm .djfm-schritte__nr {
	color: var(--djfm-gt);
	font-family: var(--djfm-accent);
	font-size: 28px;
	font-style: italic;
	font-weight: 500;
	line-height: 1;
}

.djfm .djfm-schritte__eintrag .djfm-text-klein {
	color: var(--djfm-text);
}

.djfm .djfm-fristen {
	display: grid;
	gap: 18px;
	margin-top: clamp(40px, 4.5vw, 64px);
}

.djfm .djfm-tabelle-rahmen {
	overflow-x: auto;
	border: 1px solid var(--djfm-hair);
	border-radius: var(--djfm-r-card);
	background: #fff;
}

.djfm .djfm-tabelle {
	font-size: 15px;
	line-height: 1.5;
}

.djfm .djfm-tabelle th,
.djfm .djfm-tabelle td {
	padding: 14px 18px;
	border-top: 1px solid var(--djfm-hair);
}

.djfm .djfm-tabelle thead th {
	border-top: 0;
	background: var(--djfm-soft);
	color: var(--djfm-mute);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.djfm .djfm-tabelle tbody th {
	color: var(--djfm-navy);
	font-weight: 600;
}

.djfm .djfm-tabelle--fristen tbody th {
	width: 34%;
}

.djfm .djfm-tabelle--fristen td[data-label="Gilt für"] {
	width: 18%;
	color: var(--djfm-mute);
}

.djfm .djfm-tabelle__gruppe th {
	padding: 10px 18px;
	background: var(--djfm-gl);
	color: var(--djfm-gd) !important;
	font-size: 13px;
	font-weight: 700 !important;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

@media (max-width: 767px) {
	.djfm .djfm-tabelle--fristen thead,
	.djfm .djfm-tabelle--stufen thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.djfm .djfm-tabelle--fristen tr,
	.djfm .djfm-tabelle--stufen tr {
		display: grid;
		gap: 4px;
		padding: 14px 16px;
		border-top: 1px solid var(--djfm-hair);
	}

	.djfm .djfm-tabelle--fristen tbody tr:first-child,
	.djfm .djfm-tabelle--stufen tbody tr:first-child {
		border-top: 0;
	}

	.djfm .djfm-tabelle--fristen th,
	.djfm .djfm-tabelle--fristen td,
	.djfm .djfm-tabelle--stufen th,
	.djfm .djfm-tabelle--stufen td {
		display: block;
		width: auto !important;
		padding: 0;
		border: 0;
	}

	.djfm .djfm-tabelle--fristen td::before,
	.djfm .djfm-tabelle--stufen td::before {
		content: attr(data-label) ": ";
		color: var(--djfm-mute);
		font-weight: 600;
	}

	.djfm .djfm-tabelle--fristen .djfm-tabelle__gruppe {
		padding: 10px 16px;
		background: var(--djfm-gl);
	}

	.djfm .djfm-tabelle--fristen .djfm-tabelle__gruppe th {
		padding: 0;
	}
}

.djfm .djfm-tabelle--stufen {
	font-size: 14.5px;
	border: 1px solid var(--djfm-hair);
	border-radius: 8px;
}

.djfm .djfm-tabelle--stufen th,
.djfm .djfm-tabelle--stufen td {
	padding: 10px 12px;
}

/* ---------- Für Arbeitgeber ---------- */

.djfm .djfm-ag {
	display: grid;
	gap: clamp(32px, 4vw, 64px);
}

@media (min-width: 1024px) {
	.djfm .djfm-ag {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		align-items: start;
	}
}

.djfm .djfm-ag__text .djfm-kopf {
	margin-bottom: 28px;
}

.djfm .djfm-rechner {
	padding: clamp(20px, 2.6vw, 30px);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.05);
}

.djfm .djfm-rechner > * + * {
	margin-top: 16px;
}

.djfm .djfm-segment {
	display: block;
	margin-top: 18px;
}

.djfm .djfm-segment__legende {
	display: block;
	margin-bottom: 10px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.djfm .djfm-segment__wahl {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 6px;
	padding: 6px;
	border-radius: 10px;
	background: rgba(0, 0, 0, 0.22);
}

@media (min-width: 560px) {
	.djfm .djfm-segment__wahl {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.djfm .djfm-segment__eingabe {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

.djfm .djfm-segment__label {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 8px 12px;
	border-radius: 7px;
	color: var(--djfm-ink2);
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s;
}

.djfm .djfm-segment__label:hover {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.djfm .djfm-segment__eingabe:checked + .djfm-segment__label {
	background: var(--djfm-mint);
	color: var(--djfm-navy);
}

.djfm .djfm-segment__eingabe:focus-visible + .djfm-segment__label {
	outline: 3px solid #fff;
	outline-offset: 2px;
}

.djfm .djfm-rechner__wert {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 14px;
}

.djfm .djfm-rechner__wert > div {
	padding: 16px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.06);
}

.djfm .djfm-rechner__wert dt {
	color: var(--djfm-ink2);
	font-size: 13.5px;
	line-height: 1.4;
}

.djfm .djfm-rechner__wert dd {
	margin-top: 6px;
	color: var(--djfm-mint);
	font-family: var(--djfm-accent);
	font-size: clamp(22px, 1vw + 16px, 30px);
	font-style: italic;
	font-weight: 500;
	line-height: 1.15;
}

.djfm .djfm-rechner__wert .djfm-rechner__groesse {
	grid-column: 1 / -1;
	padding: 0;
	background: none;
}

.djfm .djfm-rechner__wert .djfm-rechner__groesse dd {
	color: #fff;
	font-family: var(--djfm-font);
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
}

@supports selector(:has(*)) {
	.djfm .djfm-rechner__wert {
		display: none;
	}

	.djfm .djfm-segment:has(.djfm-segment__eingabe--1:checked) .djfm-rechner__wert--1,
	.djfm .djfm-segment:has(.djfm-segment__eingabe--2:checked) .djfm-rechner__wert--2,
	.djfm .djfm-segment:has(.djfm-segment__eingabe--3:checked) .djfm-rechner__wert--3 {
		display: grid;
	}

	.djfm .djfm-rechner__wert .djfm-rechner__groesse {
		display: none;
	}
}

.djfm .djfm-rechner--js .djfm-rechner__wert:not([hidden]) {
	display: grid;
}

.djfm .djfm-rechner--js .djfm-rechner__groesse {
	display: none;
}

.djfm .djfm-sec--navy .djfm-rechner .djfm-text-klein {
	color: var(--djfm-ink2);
}

.djfm .djfm-foto--ag {
	aspect-ratio: 4 / 3;
	margin-bottom: 22px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.06);
}

.djfm .djfm-ag__liste {
	display: grid;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.djfm .djfm-ag__liste a {
	position: relative;
	display: grid;
	gap: 2px;
	padding: 14px 36px 14px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	color: #fff;
	text-decoration: none;
}

.djfm .djfm-ag__liste a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 4px;
	width: 17px;
	height: 17px;
	margin-top: -8.5px;
	background: var(--djfm-mint);
	-webkit-mask: var(--djfm-pfeil) center / contain no-repeat;
	mask: var(--djfm-pfeil) center / contain no-repeat;
	transition: transform 0.2s;
}

.djfm .djfm-ag__liste a:hover {
	color: #fff;
}

.djfm .djfm-ag__liste a:hover::after {
	transform: translateX(3px);
}

.djfm .djfm-ag__name {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.djfm .djfm-ag__wert {
	color: var(--djfm-mint);
	font-size: 14.5px;
	line-height: 1.4;
}

.djfm .djfm-ag__fuss {
	display: grid;
	gap: 14px;
	margin-top: clamp(32px, 4vw, 48px);
	padding-top: 28px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.djfm .djfm-ag__kontakt {
	color: var(--djfm-ink2);
	font-size: 15px;
}

.djfm .djfm-ag__kontakt a {
	font-weight: 600;
}

.djfm .djfm-ag__kontakt a[href^="tel:"] {
	white-space: nowrap;
}

/* ---------- Bundesländer ---------- */

.djfm .djfm-landwahl {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin-bottom: 20px;
}

.djfm .djfm-label {
	color: var(--djfm-navy);
	font-size: 15px;
	font-weight: 700;
}

.djfm .djfm-auswahl {
	width: 100%;
	max-width: 340px;
	min-height: 48px;
	padding: 0 44px 0 14px;
	border: 1px solid var(--djfm-feld);
	border-radius: var(--djfm-r-field);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b2537' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px 16px;
	color: var(--djfm-text);
	font-size: 16px;
	line-height: 1.3;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.djfm .djfm-auswahl:hover {
	border-color: var(--djfm-navy);
}

.djfm .djfm-laender {
	display: grid;
	gap: 10px;
}

.djfm .djfm-land {
	border: 1px solid var(--djfm-hair);
	border-radius: var(--djfm-r-card);
	background: #fff;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.djfm .djfm-land[open] {
	border-color: var(--djfm-line);
	box-shadow: var(--djfm-schatten);
}

.djfm .djfm-land__titel,
.djfm .djfm-eintrag__kopf,
.djfm .djfm-faq__frage {
	position: relative;
}

.djfm .djfm-land__titel::after,
.djfm .djfm-eintrag__kopf::after,
.djfm .djfm-faq__frage::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	background: var(--djfm-navy);
	-webkit-mask: var(--djfm-chevron) center / contain no-repeat;
	mask: var(--djfm-chevron) center / contain no-repeat;
	transition: transform 0.2s;
}

.djfm .djfm-land[open] > .djfm-land__titel::after,
.djfm .djfm-eintrag[open] > .djfm-eintrag__kopf::after,
.djfm .djfm-faq__eintrag[open] > .djfm-faq__frage::after {
	transform: rotate(180deg);
}

.djfm .djfm-land__titel {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 16px;
	min-height: 60px;
	padding: 14px 56px 14px 20px;
	color: var(--djfm-navy);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.djfm .djfm-land__titel:hover {
	color: var(--djfm-gt);
}

.djfm .djfm-land__anzahl {
	color: var(--djfm-mute);
	font-size: 14px;
	font-weight: 500;
}

@media (min-width: 640px) {
	.djfm .djfm-land__anzahl {
		margin-left: auto;
	}
}

.djfm .djfm-land__inhalt {
	display: grid;
	gap: 24px;
	padding: 4px 20px 24px;
}

@media (min-width: 1024px) {
	.djfm .djfm-land__inhalt {
		grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
		gap: 40px;
		padding: 8px 28px 28px;
	}
}

.djfm .djfm-land__haupt {
	display: grid;
	align-content: start;
	gap: 14px;
}

.djfm .djfm-lprogramme {
	display: grid;
	gap: 12px;
}

.djfm .djfm-lprog {
	display: grid;
	gap: 8px;
	padding: 18px;
	border: 1px solid var(--djfm-hair);
	border-left: 4px solid var(--djfm-g);
	border-radius: 8px;
	background: #fff;
}

.djfm .djfm-lprog__kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
}

.djfm .djfm-lprog__wert {
	color: var(--djfm-gt);
	font-family: var(--djfm-accent);
	font-size: 19px;
	font-style: italic;
	font-weight: 500;
	line-height: 1.25;
}

.djfm .djfm-lprog .djfm-text-klein {
	color: var(--djfm-text);
}

.djfm .djfm-lprog .djfm-mehr > summary {
	min-height: 40px;
	padding-top: 6px;
	font-size: 14.5px;
}

.djfm .djfm-land__seite {
	display: grid;
	align-content: start;
	gap: 18px;
	padding: 18px;
	border-radius: 10px;
	background: var(--djfm-soft);
}

.djfm .djfm-land__block {
	display: grid;
	gap: 6px;
}

.djfm .djfm-land__gross {
	color: var(--djfm-gt);
	font-family: var(--djfm-accent);
	font-size: 19px;
	font-style: italic;
	font-weight: 500;
	line-height: 1.3;
}

.djfm .djfm-land__beratung {
	display: grid;
	gap: 14px;
}

.djfm .djfm-land__beratung li {
	display: grid;
	gap: 2px;
	font-size: 15px;
}

.djfm .djfm-land__beratung li > a {
	font-weight: 600;
}

.djfm .djfm-laender__hinweis {
	max-width: 80ch;
	margin-top: 18px;
}

.djfm .djfm-notiz {
	display: grid;
	gap: 8px;
	padding: 16px 18px;
	border: 1px solid #d3e0ef;
	border-radius: 10px;
	background: var(--djfm-blau-bg);
	font-size: 15.5px;
	line-height: 1.55;
}

.djfm .djfm-notiz--warnung {
	border-color: var(--djfm-warn-line);
	background: var(--djfm-warn-bg);
}

.djfm .djfm-notiz .djfm-text-klein {
	color: var(--djfm-text);
}

/* ---------- Alle Programme ---------- */

.djfm .djfm-katalog + .djfm-katalog {
	margin-top: clamp(32px, 4vw, 48px);
}

.djfm .djfm-katalog__titel {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	color: var(--djfm-navy);
	font: 700 clamp(19px, 0.35vw + 16px, 22px)/1.3 var(--djfm-font);
	letter-spacing: -0.015em;
}

.djfm .djfm-katalog__anzahl {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--djfm-gl);
	color: var(--djfm-gd);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0;
}

.djfm .djfm-eintrag {
	border: 1px solid var(--djfm-hair);
	border-radius: var(--djfm-r-card);
	background: #fff;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.djfm .djfm-eintrag + .djfm-eintrag {
	margin-top: 8px;
}

.djfm .djfm-eintrag[open] {
	border-color: var(--djfm-line);
	box-shadow: var(--djfm-schatten);
}

.djfm .djfm-eintrag__kopf {
	display: grid;
	gap: 8px;
	min-height: 60px;
	padding: 16px 56px 16px 20px;
}

@media (min-width: 768px) {
	.djfm .djfm-eintrag__kopf {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 16px;
	}
}

.djfm .djfm-eintrag__name {
	color: var(--djfm-navy);
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.35;
}

.djfm .djfm-eintrag__kopf:hover .djfm-eintrag__name {
	color: var(--djfm-gt);
}

.djfm .djfm-eintrag__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
}

@media (min-width: 768px) {
	.djfm .djfm-eintrag__meta {
		justify-content: flex-end;
		max-width: 420px;
	}
}

.djfm .djfm-eintrag__wert {
	color: var(--djfm-gt);
	font-size: 14.5px;
	font-weight: 600;
}

.djfm .djfm-eintrag__inhalt {
	display: grid;
	gap: 14px;
	padding: 0 20px 22px;
}

@media (min-width: 768px) {
	.djfm .djfm-eintrag__inhalt {
		padding: 0 28px 26px;
	}
}

.djfm .djfm-eintrag__kurz {
	max-width: 75ch;
	font-size: 16px;
	line-height: 1.6;
}

/* ---------- Häufige Fragen ---------- */

.djfm .djfm-faq {
	display: grid;
	gap: 10px;
}

.djfm .djfm-faq__eintrag {
	border: 1px solid rgba(22, 33, 54, 0.08);
	border-radius: var(--djfm-r-card);
	background: #fff;
}

.djfm .djfm-faq__frage {
	padding: 18px 56px 18px 22px;
}

.djfm .djfm-faq__h {
	color: var(--djfm-navy);
	font: 700 17px/1.4 var(--djfm-font);
	letter-spacing: -0.01em;
}

.djfm .djfm-faq__frage:hover .djfm-faq__h {
	color: var(--djfm-gt);
}

.djfm .djfm-faq__antwort {
	max-width: 75ch;
	padding: 0 22px 20px;
	color: var(--djfm-text);
	font-size: 16px;
	line-height: 1.65;
}

/* ---------- Weiter auf DocJob24 ---------- */

.djfm .djfm-weiter {
	display: grid;
	gap: 20px;
}

@media (min-width: 1100px) {
	.djfm .djfm-weiter {
		grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
		align-items: center;
		gap: 40px;
	}
}

.djfm .djfm-weiter__kopf {
	display: grid;
	gap: 6px;
}

.djfm .djfm-weiter__liste {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 10px;
}

.djfm .djfm-weiter__liste > li {
	display: flex;
}

.djfm .djfm-weiter__link {
	display: grid;
	align-content: start;
	gap: 4px;
	width: 100%;
	padding: 16px 18px;
	border: 1px solid var(--djfm-hair);
	border-radius: var(--djfm-r-card);
	background: #fff;
	color: var(--djfm-text);
	text-decoration: none;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.djfm .djfm-weiter__link:hover {
	border-color: var(--djfm-gt);
	box-shadow: 0 0 0 1px var(--djfm-gt);
	color: var(--djfm-text);
}

.djfm .djfm-weiter__titel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	color: var(--djfm-navy);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.djfm .djfm-weiter__titel::after {
	content: "";
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	background: var(--djfm-gt);
	-webkit-mask: var(--djfm-pfeil) center / contain no-repeat;
	mask: var(--djfm-pfeil) center / contain no-repeat;
	transition: transform 0.2s;
}

.djfm .djfm-weiter__link:hover .djfm-weiter__titel::after {
	transform: translateX(3px);
}

.djfm .djfm-weiter__text {
	color: var(--djfm-mute);
	font-size: 14px;
	line-height: 1.45;
}

/* ---------- Methodik und Hinweis ---------- */

.djfm .djfm-methodik {
	display: grid;
	gap: 28px;
}

@media (min-width: 1024px) {
	.djfm .djfm-methodik {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		align-items: start;
		gap: 56px;
	}
}

.djfm .djfm-methodik > div:first-child {
	display: grid;
	gap: 12px;
}

/* ---------- Rendering großer Bereiche erst bei Bedarf ---------- */

.djfm #bundeslaender,
.djfm #programme,
.djfm #fragen {
	content-visibility: auto;
	contain-intrinsic-size: auto 1400px;
}

@media print {
	.djfm #bundeslaender,
	.djfm #programme,
	.djfm #fragen {
		content-visibility: visible;
	}
}

/* ---------- Bewegung, Kontrastmodus, Druck ---------- */

@keyframes djfm-ein {
	from {
		opacity: 0;
		transform: translateY(8px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.djfm .djfm-einblenden {
	animation: djfm-ein 0.32s ease-out both;
}

@media (prefers-reduced-motion: reduce) {
	.djfm *,
	.djfm *::before,
	.djfm *::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
}

@media (forced-colors: active) {
	.djfm .djfm-opt[aria-pressed="true"],
	.djfm .djfm-segment__eingabe:checked + .djfm-segment__label {
		outline: 3px solid Highlight;
		outline-offset: -3px;
	}

	.djfm .djfm-kicker::before,
	.djfm .djfm-tag span::before {
		background: CanvasText;
	}
}

@media print {
	.djfm {
		color: #000;
		font-size: 11pt;
		line-height: 1.45;
	}

	.djfm .djfm-einstieg__bild,
	.djfm .djfm-sprung,
	.djfm .djfm-app,
	.djfm .djfm-aktionen,
	.djfm .djfm-knoepfe,
	.djfm .djfm-landwahl,
	.djfm .djfm-sec--kompakt,
	.djfm .djfm-foto,
	.djfm .djfm-chips,
	.djfm .djfm-aendern,
	.djfm .djfm-uebersicht,
	.djfm .djfm-ergebnis__weiter,
	.djfm .djfm-weg .djfm-pfeillink {
		display: none !important;
	}

	.djfm .djfm-sec,
	.djfm .djfm-einstieg {
		padding: 14pt 0 !important;
		background: none !important;
		box-shadow: none !important;
	}

	.djfm .djfm-sec--navy,
	.djfm .djfm-sec--navy .djfm-h2,
	.djfm .djfm-sec--navy .djfm-h3,
	.djfm .djfm-sec--navy .djfm-text,
	.djfm .djfm-sec--navy .djfm-lead,
	.djfm .djfm-sec--navy a,
	.djfm .djfm-ag__liste a,
	.djfm .djfm-rechner__wert dd,
	.djfm .djfm-rechner__wert dt {
		color: #000 !important;
	}

	.djfm .djfm-karte,
	.djfm .djfm-lprog,
	.djfm .djfm-schritte__eintrag,
	.djfm .djfm-infobox,
	.djfm .djfm-warum,
	.djfm .djfm-naechster {
		break-inside: avoid;
		box-shadow: none !important;
	}

	.djfm .djfm-ergebnis a[target="_blank"]::after {
		content: " (" attr(href) ")";
		width: auto;
		height: auto;
		background: none;
		-webkit-mask: none;
		mask: none;
		font-size: 9pt;
		font-weight: 400;
		word-break: break-all;
	}

	.djfm-druck-ergebnis .djfm > section:not(#navigator),
	.djfm-druck-ergebnis #navigator > .djfm-w > .djfm-kopf,
	.djfm-druck-ergebnis .elementor-location-header,
	.djfm-druck-ergebnis .elementor-location-footer,
	.djfm-druck-ergebnis #wpadminbar {
		display: none !important;
	}

	.djfm-druck-ergebnis #navigator {
		padding-top: 0 !important;
	}
}
