/* Modul „Text": Lesetext für Impressum, Datenschutz und Ähnliches.
   Kein Prototyp im Handoff — Typografie aus den Tokens der übrigen Module. */

.modul--text {
	padding-block: var(--sektion-y-klein) var(--sektion-y);
}

/* Direkt unter dem Seitenkopf (Impressum, Datenschutz) bringt der Kopf
   schon Luft mit; der volle Abschnittsabstand risse H1 und Text auseinander. */
.fk-seitenkopf + .modul--text { padding-top: var(--kopf-abstand); }

/* Schmal heißt hier: kurze Zeilen, nicht eingerückt. Die Spalte bleibt an der
   linken Kante des Rasters stehen, auf der auch die H1 des Seitenkopfs steht;
   zentriert sähe der Text neben ihr verrutscht aus. */
.modul--text .container--schmal { max-width: calc(var(--container) + var(--pad-x) * 2); }
.modul--text .container--schmal > * { max-width: var(--container-schmal); }

.modul-text__kopf { margin-bottom: 28px; }
.modul-text__kopf .fk-h2 { margin: 0; }

.modul-text__inhalt {
	font-size: var(--fs-text);
	line-height: var(--lh-text);
	color: var(--text-78);
	overflow-wrap: break-word;
}

.modul-text__inhalt > * { margin: var(--abstand-absatz) 0 0; }
.modul-text__inhalt > :first-child { margin-top: 0; }

.modul-text__inhalt h2,
.modul-text__inhalt h3,
.modul-text__inhalt h4 {
	color: var(--ink);
	text-wrap: balance;
}

.modul-text__inhalt h2 {
	margin-top: 56px;
	font-size: var(--fs-h3-gross);
	font-weight: var(--fw-h3);
	line-height: var(--lh-h2);
	letter-spacing: 0;
}

.modul-text__inhalt h3 {
	margin-top: 34px;
	font-size: var(--fs-h3);
	font-weight: var(--fw-h3);
	line-height: var(--lh-h2);
}

.modul-text__inhalt h4 {
	margin-top: 28px;
	font-size: var(--fs-text);
	font-weight: var(--fw-h3);
}

.modul-text__inhalt h2 + *,
.modul-text__inhalt h3 + *,
.modul-text__inhalt h4 + * { margin-top: 12px; }

.modul-text__inhalt ul,
.modul-text__inhalt ol { padding-left: 1.3em; }

.modul-text__inhalt ul { list-style: disc; }
.modul-text__inhalt ol { list-style: decimal; }

.modul-text__inhalt li + li { margin-top: 6px; }
.modul-text__inhalt li::marker { color: var(--gold); }

.modul-text__inhalt a {
	color: var(--ink);
	text-decoration: none;
	border-bottom: 1px solid var(--gold);
	transition: color var(--dur-schnell) var(--ease-aus);
}

.modul-text__inhalt a:hover { color: var(--gold); }

.modul-text__inhalt strong { font-weight: var(--fw-h3); color: var(--ink); }

.modul-text__inhalt hr {
	height: 0;
	margin-block: 40px;
	border: 0;
	border-top: 1px solid var(--linie-12);
}

/* Tabellen (Cookie-Übersicht im Datenschutz) dürfen auf dem Handy seitlich
   scrollen, statt das Layout zu sprengen. */
.modul-text__inhalt table {
	display: block;
	width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
	font-size: var(--fs-klein);
}

.modul-text__inhalt th,
.modul-text__inhalt td {
	padding: 10px 14px 10px 0;
	border-bottom: 1px solid var(--linie-12);
	text-align: left;
	vertical-align: top;
}

.modul-text__inhalt th {
	font-size: var(--fs-label-klein);
	font-weight: var(--fw-label);
	letter-spacing: var(--ls-label-klein);
	text-transform: uppercase;
	color: var(--text-55);
}
