/*
Theme Name: Finitial Child
Theme URI: https://businesswisser.de
Description: Child Theme für businesswisser.de – Basis für Elementor-Migration und individuelle Erweiterungen.
Author: EWU GmbH
Template: finitial
Version: 1.4.3
Text Domain: finitial-child
*/

/* Parent-Styles werden in functions.php eingebunden. */
/* Eigene Anpassungen hier oder über Elementor Site Settings. */

/* -------------------------------------------------------------------------
   Artikel-Sidebar: Kontakt-CTA (scrollt weg) + sticky TOC + Kurs-CTA
   + Doppelkarten-Sektion am Artikelende
   Markenfarben: #066eab (Blau) / #f49626 (Orange)
   ------------------------------------------------------------------------- */

/* Das Parent-Theme setzt #wrapper { overflow: hidden } (Off-Canvas-Schutz) –
   das macht #wrapper zum Scroll-Container und bricht position: sticky fuer
   alles darunter. "clip" schneidet genauso ab, erzeugt aber keinen
   Scroll-Container; "hidden" bleibt als Fallback fuer alte Browser. */
#wrapper {
	overflow: hidden;
	overflow: clip;
}

/* Layout: Content links, Sidebar rechts (ab 1024px). */
@media screen and (min-width: 1024px) {
	.post-content-container.bw-single-layout {
		display: flex;
		align-items: flex-start;
		gap: 48px;
	}

	.post-content-container.bw-single-layout .bw-single-main {
		flex: 1 1 auto;
		min-width: 0;
	}

	.post-content-container.bw-single-layout .bw-single-sidebar {
		flex: 0 0 300px;
		width: 300px;
		/* Sonst ist die aside nur so hoch wie ihr Inhalt und das sticky
		   TOC hat keinen Raum zum Wandern. */
		align-self: stretch;
	}
}

/* TOC + Kurs-CTA kleben gemeinsam (Header: 150px). Kontakt-CTA darüber
   scrollt bewusst weg. */
@media screen and (min-width: 1024px) {
	.bw-single-sidebar .bw-sidebar-sticky-group {
		position: sticky;
		top: 172px;
	}

	/* Ein Sticky-Element wandert nur innerhalb seines Elternkastens: Der
	   Wrapper muss die volle Höhe der gestretchten aside einnehmen, sonst
	   scrollt die Gruppe nach wenigen hundert Pixeln mit weg. */
	.bw-single-sidebar__sticky {
		height: 100%;
	}
}

/* Abstand Kontakt-CTA → sticky Gruppe. */
.bw-single-sidebar .bw-sidebar-cta {
	margin-bottom: 24px;
}

/* Abstand zwischen Elementen in der sticky Gruppe. */
.bw-sidebar-sticky-group > * + * {
	margin-top: 24px;
}

/* --- Sidebar-Kontakt-CTA (dauerhaft über dem TOC) ---------------------- */

.bw-sidebar-cta {
	padding: 22px 20px;
	border-radius: 12px;
	background: linear-gradient(150deg, #066eab 0%, #045a8d 100%);
	color: #fff;
	box-shadow: 0 8px 24px rgba(6, 110, 171, 0.25);
}

.bw-sidebar-cta__eyebrow {
	margin: 0 0 8px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: #f49626;
}

/* Parent-Theme ueberschreibt h1-h6 in .post-content mit #066eab und gleicher
   Spezifitaet wie unten, laedt aber NACH dem Child-Stylesheet und gewinnt
   dadurch. Eine spezifischere Kette (.bw-sidebar-cta .bw-sidebar-cta__title)
   haelt das Weiß in der CTA-Box. */
.bw-sidebar-cta .bw-sidebar-cta__title {
	margin: 0 0 10px;
	font-size: 1.12rem;
	line-height: 1.3;
	font-weight: 700;
	color: #fff;
}

.bw-sidebar-cta__text {
	margin: 0 0 16px;
	font-size: 0.9rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.92);
}

/* Button auf blauer Flaeche: Orange als Akzent, Pill-Form wie .btn-link. */
.bw-sidebar-cta__button.btn-link {
	display: block;
	width: 100%;
	min-width: 0;
	line-height: 44px;
	padding: 0 18px;
	border-color: #f49626;
	background: #f49626;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
}

.bw-sidebar-cta__button.btn-link:hover,
.bw-sidebar-cta__button.btn-link:focus {
	border-color: #ffffff;
	background: #ffffff;
	color: #066eab;
}

.bw-sidebar-cta__note {
	margin: 12px 0 0;
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.75);
	text-align: center;
}

/* --- Kurs-CTA unter dem TOC -------------------------------------------- */

.bw-sidebar-course-cta__button.btn-link {
	display: block;
	width: 100%;
	min-width: 0;
	line-height: 44px;
	padding: 0 14px;
	text-align: center;
	box-sizing: border-box;
	font-size: 0.92rem;
	white-space: normal;
}

/* PDF-Download unter TOC (Outline-Stil, neben optionalem Kurs-Button). */
.bw-sidebar-download-cta {
	margin-top: 12px;
}

.bw-sidebar-download-cta__button.btn-link {
	display: block;
	width: 100%;
	min-width: 0;
	line-height: 44px;
	padding: 0 14px;
	text-align: center;
	box-sizing: border-box;
	font-size: 0.92rem;
	white-space: normal;
	background: #fff;
	color: #066eab;
	border: 2px solid #066eab;
}

.bw-sidebar-download-cta__button.btn-link:hover,
.bw-sidebar-download-cta__button.btn-link:focus {
	background: #066eab;
	color: #fff;
}

/* --- App-CTA unter dem TOC --------------------------------------------- */

.bw-sidebar-app-cta {
	margin-top: 12px;
}

.bw-sidebar-app-cta__button.btn-link {
	display: block;
	width: 100%;
	min-width: 0;
	line-height: 44px;
	padding: 0 14px;
	text-align: center;
	box-sizing: border-box;
	font-size: 0.92rem;
	white-space: normal;
	background: #fff;
	color: #f49626;
	border: 2px solid #f49626;
}

.bw-sidebar-app-cta__button.btn-link:hover,
.bw-sidebar-app-cta__button.btn-link:focus {
	background: #f49626;
	color: #fff;
}

/* --- Author-Box -------------------------------------------------------- */

.bw-author-box {
	display: flex;
	gap: 18px;
	align-items: center;
	margin: 40px 0 24px;
	padding: 20px;
	border: 1px solid #d7e6f1;
	border-left: 4px solid #f49626;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(15, 44, 66, 0.06);
}

.bw-author-box__media {
	flex: 0 0 auto;
}

.bw-author-box__avatar {
	display: block;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	border: 3px solid #f7fbfe;
	box-shadow: 0 2px 8px rgba(15, 44, 66, 0.12);
}

.bw-author-box__body {
	flex: 1 1 auto;
	min-width: 0;
}

.bw-author-box__eyebrow {
	margin: 0 0 2px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: #066eab;
}

/* Kein Heading: Der Name bleibt aus der Überschriftenhierarchie und wird
   nicht von den später geladenen Parent-Regeln für .post-content h1-h6 erfasst. */
.post-content .bw-author-box .bw-author-box__name {
	margin: 0;
	font-size: 1rem;
	line-height: 1.35;
	font-weight: 700;
	color: #252525;
}

.post-content .bw-author-box .bw-author-box__name a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.post-content .bw-author-box .bw-author-box__name a:hover,
.post-content .bw-author-box .bw-author-box__name a:focus {
	color: #066eab;
	border-bottom-color: #f49626;
}

.bw-author-box__job {
	margin: 1px 0 0;
	font-size: 0.88rem;
	line-height: 1.4;
	color: #555;
}

.bw-author-box__details {
	margin-top: 9px;
	font-size: 0.9rem;
	color: #444;
}

.bw-author-box__details summary {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #066eab;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}

.bw-author-box__details summary::-webkit-details-marker {
	display: none;
}

.bw-author-box__details summary::after {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 2px solid #f49626;
	border-bottom: 2px solid #f49626;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 0.2s ease;
}

.bw-author-box__details[open] summary::after {
	transform: translateY(2px) rotate(225deg);
}

.bw-author-box__details summary:focus-visible {
	outline: 2px solid #f49626;
	outline-offset: 3px;
	border-radius: 2px;
}

.bw-author-box__details-content {
	padding-top: 10px;
}

.bw-author-box__bio {
	margin: 0;
	line-height: 1.55;
	color: #444;
}

.bw-author-box__links {
	margin: 8px 0 0;
	font-size: 0.88rem;
}

.bw-author-box__links--compact {
	margin-top: 7px;
}

.bw-author-box__links a {
	color: #066eab;
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid rgba(6, 110, 171, 0.35);
}

.bw-author-box__links a:hover,
.bw-author-box__links a:focus {
	color: #045a8d;
	border-bottom-color: #f49626;
}

@media (max-width: 640px) {
	.bw-author-box {
		gap: 14px;
		padding: 16px;
		align-items: flex-start;
	}

	.bw-author-box__avatar {
		width: 64px;
		height: 64px;
	}
}

@media (max-width: 440px) {
	.bw-author-box {
		flex-direction: column;
	}
}

/* --- Inhaltsverzeichnis ------------------------------------------------- */

.bw-sidebar-toc {
	padding: 20px 18px;
	border: 1px solid #d7e6f1;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 4px 16px rgba(15, 44, 66, 0.06);
}

/* Das Parent-Theme haengt per ::after ein „[Verbergen]“/„[Zeigen]“ an den
   TOC-Titel (und toggelt die Liste per Klick). In der Sidebar unerwuenscht:
   Pseudo-Element abschalten; der Klick-Toggle wird in functions.php per
   Capture-Listener geblockt. */
.post-content .bw-sidebar-toc .simpletoc-title::after {
	content: none;
}

.bw-sidebar-toc .simpletoc-title {
	margin: 0 0 14px;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
	color: #066eab;
}

.bw-sidebar-toc .simpletoc-list {
	margin: 0;
	padding-left: 1.4em;
	font-size: 0.92rem;
	line-height: 1.5;
}

.bw-sidebar-toc .simpletoc-list li {
	margin: 0 0 8px;
	padding-left: 0.2em;
}

.bw-sidebar-toc .simpletoc-list li::marker {
	color: #f49626;
	font-weight: 700;
}

.bw-sidebar-toc .simpletoc-list ul,
.bw-sidebar-toc .simpletoc-list ol {
	margin: 8px 0 0;
	padding-left: 1.2em;
}

/* Das Parent-Theme ersetzt die Marker von ol.simpletoc-list durch eigene
   CSS-Counter (:before) – die stehen inline und lassen Umbruchzeilen unter
   der Ziffer beginnen. In der Sidebar: Counter aus, native Marker mit
   list-style-position: outside → Fortsetzungszeilen buendig mit dem Text. */
.post-content .bw-sidebar-toc ol.simpletoc-list,
.post-content .bw-sidebar-toc .simpletoc-list ol {
	list-style: decimal outside;
}

.post-content .bw-sidebar-toc .simpletoc-list li::before {
	content: none;
}

.bw-sidebar-toc .simpletoc-list a {
	color: #3f3f3f;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.2s ease;
}

.bw-sidebar-toc .simpletoc-list a:hover,
.bw-sidebar-toc .simpletoc-list a:focus {
	color: #066eab;
	border-bottom-color: #066eab;
}

/* Toggle fuer Tablet/Mobile (JS setzt/entfernt .bw-toc-closed auf dem Titel).
   Eigene Klasse statt "closed", weil das Parent-Theme "closed" selbst nutzt. */
.bw-sidebar-toc .simpletoc-title.bw-toc-closed ~ .simpletoc-list {
	display: none;
}

/* --- Einklappbare H3-Gruppen (Lesefortschritts-Modus) ---------------------
   Unterlisten sind eingeklappt; JS (functions.php) oeffnet die Gruppe des
   aktiven Abschnitts automatisch und ergaenzt einen Chevron-Toggle je
   Top-Level-Eintrag mit Kindern. .bw-toc-js wird per JS gesetzt — ohne JS
   bleibt die vollstaendige Liste sichtbar (Progressive Enhancement). */
.bw-sidebar-toc .simpletoc-list > li {
	position: relative;
}

.bw-sidebar-toc.bw-toc-js .simpletoc-list > li > ul,
.bw-sidebar-toc.bw-toc-js .simpletoc-list > li > ol {
	display: none;
}

.bw-sidebar-toc.bw-toc-js .simpletoc-list > li.bw-toc-open > ul,
.bw-sidebar-toc.bw-toc-js .simpletoc-list > li.bw-toc-open > ol {
	display: block;
}

.bw-sidebar-toc .simpletoc-list > li.bw-toc-has-children > a {
	padding-right: 26px;
}

/* Chevron-Button: absolut am rechten Rand des Eintrags, damit die
   Listennummerierung (decimal outside) unangetastet bleibt. */
.bw-toc-toggle {
	position: absolute;
	top: 0;
	right: 0;
	width: 24px;
	height: 24px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}

.bw-toc-toggle::after {
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	margin: 6px auto 0;
	border-right: 2px solid #066eab;
	border-bottom: 2px solid #066eab;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.bw-sidebar-toc li.bw-toc-open > .bw-toc-toggle::after {
	transform: rotate(225deg);
}

.bw-toc-toggle:focus-visible {
	outline: 2px solid #f49626;
	outline-offset: 2px;
	border-radius: 4px;
}

/* Mobile Reihenfolge (unter 1024px): TOC-Gruppe (Inhaltsverzeichnis +
   kompakter Kurs-Button) steht UEBER dem Artikel, der Kontakt-CTA bleibt
   darunter. aside, Sticky-Wrapper und Gruppe loesen sich per
   display: contents auf, damit die Sidebar-Teile einzeln als Flex-Items
   sortierbar werden. Das DOM bleibt unveraendert — Geschwister-Selektoren
   (.bw-sidebar-sticky-group > * + *) und das Toggle-/Spy-JS in
   functions.php funktionieren unangetastet weiter. */
@media screen and (max-width: 1023px) {
	.post-content-container.bw-single-layout {
		display: flex;
		flex-direction: column;
	}

	.bw-single-layout .bw-single-sidebar,
	.bw-single-layout .bw-single-sidebar__sticky,
	.bw-single-layout .bw-sidebar-sticky-group {
		display: contents;
	}

	.bw-single-layout .bw-sidebar-toc {
		order: 1;
	}

	/* Abstand zum Artikel: traegt der Kurs-Button, wenn einer folgt —
	   sonst die TOC-Box selbst. */
	.bw-single-layout .bw-sidebar-sticky-group > .bw-sidebar-toc:last-child {
		margin-bottom: 32px;
	}

	.bw-single-layout .bw-sidebar-course-cta {
		order: 2;
		margin-bottom: 12px;
	}

	.bw-single-layout .bw-sidebar-download-cta {
		order: 2;
		margin-top: 0;
		margin-bottom: 32px;
	}

	.bw-single-layout .bw-sidebar-app-cta {
		order: 2;
		margin-top: 0;
		margin-bottom: 12px;
	}

	/* Wenn kein Kurs, aber PDF: Abstand zum Artikel trägt der Download-Button. */
	.bw-single-layout .bw-sidebar-sticky-group > .bw-sidebar-course-cta:last-child,
	.bw-single-layout .bw-sidebar-sticky-group > .bw-sidebar-download-cta:last-child,
	.bw-single-layout .bw-sidebar-sticky-group > .bw-sidebar-app-cta:last-child {
		margin-bottom: 32px;
	}

	.bw-single-layout .bw-single-main {
		order: 3;
	}

	/* Kontakt-CTA bleibt unter dem Artikel. Das margin-top ersetzt den
	   frueheren 40px-Abstand auf der aside (bei display: contents
	   wirkungslos); das margin-bottom (Desktop-Abstand zur Sticky-Gruppe)
	   entfaellt mobil. */
	.bw-single-layout .bw-sidebar-cta {
		order: 4;
		margin: 40px 0 0;
	}

	.bw-sidebar-toc .simpletoc-title {
		position: relative;
		margin-bottom: 0;
		padding-right: 32px;
		cursor: pointer;
	}

	.bw-sidebar-toc .simpletoc-title:not(.bw-toc-closed) {
		margin-bottom: 14px;
	}

	/* Chevron-Toggle. Braucht dieselbe Spezifitaet wie die ::after-Regel oben,
	   die das Parent-„[Verbergen]“ abschaltet, und muss nach ihr stehen. */
	.post-content .bw-sidebar-toc .simpletoc-title::after {
		content: "";
		position: absolute;
		right: 4px;
		top: 50%;
		width: 10px;
		height: 10px;
		margin-top: -8px;
		border-right: 2px solid #066eab;
		border-bottom: 2px solid #066eab;
		transform: rotate(45deg);
		transition: transform 0.2s ease;
	}

	.post-content .bw-sidebar-toc .simpletoc-title:not(.bw-toc-closed)::after {
		transform: rotate(225deg);
		margin-top: -3px;
	}
}

/* --- Beratungs-Doppelkarten am Artikelende ----------------------------- */

.bw-beratung {
	margin: 48px 0 32px;
	padding-top: 8px;
	scroll-margin-top: 172px;
}

.bw-beratung__intro {
	margin: 0 0 24px;
}

.bw-beratung .bw-beratung__title {
	margin: 0 0 8px;
	font-size: 1.55rem;
	line-height: 1.25;
	font-weight: 700;
	color: #066eab;
}

.bw-beratung__lead {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.55;
	color: #3f3f3f;
	max-width: 42em;
}

.bw-beratung__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

@media screen and (min-width: 720px) {
	.bw-beratung__grid {
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}
}

.bw-beratung-card {
	display: flex;
	flex-direction: column;
	padding: 28px 26px;
	border-radius: 12px;
	background: linear-gradient(150deg, #066eab 0%, #045a8d 100%);
	color: #fff;
	box-shadow: 0 8px 24px rgba(6, 110, 171, 0.22);
}

.bw-beratung-card__eyebrow {
	margin: 0 0 10px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #f49626;
}

.bw-beratung-card .bw-beratung-card__title {
	margin: 0 0 12px;
	font-size: 1.28rem;
	line-height: 1.3;
	font-weight: 700;
	color: #fff;
}

.bw-beratung-card__text {
	margin: 0 0 22px;
	font-size: 0.95rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92);
	flex: 1 1 auto;
}

.bw-beratung-card__button.btn-link {
	display: block;
	width: 100%;
	min-width: 0;
	line-height: 46px;
	padding: 0 20px;
	border-color: #f49626;
	background: #f49626;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
}

.bw-beratung-card__button.btn-link:hover,
.bw-beratung-card__button.btn-link:focus {
	border-color: #ffffff;
	background: #ffffff;
	color: #066eab;
}

.bw-beratung-card__note {
	margin: 12px 0 0;
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.75);
	text-align: center;
}

/* Ankersprünge aus dem TOC dürfen nicht unter den fixierten Header rutschen. */
.post-content h2,
.post-content h3,
.post-content h4 {
	scroll-margin-top: 172px;
}

/* -------------------------------------------------------------------------
   Tabellen-Design (Core Table + Block-Stil "Vergleich")
   Ruhiges Redaktions-Layout in Markenfarben: dunkelblaue Kopfzeile,
   dezente Zebra-Zeilen, Rahmen und Scroll-Kontur auf der figure.
   Das Parent-Theme setzt globale Element-Styles (th/td-Borders, padding)
   und lädt NACH diesem Stylesheet — daher durchgehend die
   .post-content-Kette mit hoeherer Spezifitaet.
   ------------------------------------------------------------------------- */

/* Rahmen/Schatten und das mobile Scroll-Verhalten sitzen auf der figure,
   nicht auf der Tabelle: Die Kontur bleibt stehen, die Tabelle scrollt
   innerhalb. overflow (statt sichtbarem Inhalt) laesst gleichzeitig den
   border-radius auf den Kopfzeilen-Ecken greifen. */
.post-content .wp-block-table {
	margin: 32px 0;
	border: 1px solid #d7e6f1;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 4px 16px rgba(15, 44, 66, 0.06);
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

.post-content .wp-block-table table {
	width: 100%;
	margin: 0;
	border: none;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 0.95rem;
	line-height: 1.55;
}

/* Kein text-align hier: Die Core-Ausrichtungsklassen je Zelle
   (.has-text-align-center/-right) sollen weiter greifen. */
.post-content .wp-block-table th,
.post-content .wp-block-table td {
	padding: 13px 16px;
	border: none;
	vertical-align: top;
}

/* Kopfzeile: einfaerbige dunkelblaue Flaeche (#045a8d, das dunkle Ende des
   CTA-Verlaufs) mit weisser Schrift — deutlich, aber ohne Verlauf oder
   Orange nicht plakativ. Duenne helle Trenner gliedern die Spalten. */
.post-content .wp-block-table thead th {
	background: #045a8d;
	color: #ffffff;
	font-weight: 700;
	font-size: 0.9rem;
	line-height: 1.4;
	padding: 14px 16px;
}

.post-content .wp-block-table thead th + th {
	border-left: 1px solid rgba(255, 255, 255, 0.15);
}

/* Ruhige Zeilenstruktur: nur horizontale Trennlinien, sehr helles Zebra. */
.post-content .wp-block-table tbody td {
	border-top: 1px solid #e3eef6;
	color: #3f3f3f;
}

.post-content .wp-block-table tbody tr:first-child td {
	border-top: none;
}

.post-content .wp-block-table tbody tr:nth-child(even) td {
	background: #f4f9fc;
}

/* Optionale Fusszeile des Blocks: als Abschluss erkennbar, nicht als
   zweite Kopfzeile. */
.post-content .wp-block-table tfoot td {
	border-top: 2px solid #d7e6f1;
	background: #eef6fb;
	font-weight: 600;
	color: #045a8d;
}

.post-content .wp-block-table figcaption {
	padding: 10px 16px;
	border-top: 1px solid #e3eef6;
	background: #f9fbfd;
	font-size: 0.85rem;
	line-height: 1.45;
	color: #5a6b7a;
}

/* Block-Stil "Vergleich" (is-style-bw-compare): Die erste Spalte traegt die
   Vergleichsobjekte und wird typografisch betont — ohne Flaeche, damit die
   Kopfzeile die dominante Hierarchiestufe bleibt. */
.post-content .wp-block-table.is-style-bw-compare tbody td:first-child {
	font-weight: 700;
	color: #045a8d;
}

/* Mobile: statt gequetschter Spalten scrollt die Tabelle horizontal in
   ihrer konturierten Box; der Inhalt bleibt vollstaendig lesbar. */
@media screen and (max-width: 782px) {
	.post-content .wp-block-table {
		margin: 24px 0;
	}

	.post-content .wp-block-table table {
		min-width: 600px;
	}

	.post-content .wp-block-table th,
	.post-content .wp-block-table td {
		padding: 11px 14px;
	}
}

/* -------------------------------------------------------------------------
   Versteckte H1 auf der Startseite (Ausgabe via wp_body_open, functions.php)
   ------------------------------------------------------------------------- */

/* Standard-"visually hidden"-Muster: bleibt im DOM und damit fuer
   Screenreader und Suchmaschinen lesbar — bewusst nicht display:none oder
   visibility:hidden, beides wuerde die H1 fuer genau die Zielgruppen
   entfernen, fuer die sie eingefuegt wird. */
.bw-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* -------------------------------------------------------------------------
   Startseiten-Hero: Zustand vor dem Lauf von initTimeline()
   ------------------------------------------------------------------------- */

/* Der Farbverlauf hat im Parent-CSS keine Breite — die setzt erst
   initTimeline() als Inline-Style. Bis dahin blieb die rechte Haelfte weiss
   (.home-container hat background: #fff). Die 100% greifen nur solange, bis
   der Inline-Wert gewinnt. */
.home-timelines .timelines-bg {
	width: 100%;
}

/* Auch Item-Breite und translateX kommen erst aus dem Inline-Style. Ohne
   diese Werte floaten die Kacheln in eine falsche Position und springen dann
   sichtbar um, deshalb werden sie bis zum ersten Inline-width zurueckgehalten
   — der Verlauf oben steht in dieser Zeit schon. */
.home-timelines .timelines-container:not([style*="width"]) {
	visibility: hidden;
}

/* -------------------------------------------------------------------------
   Start-Button im Header: Punkt mittig unter der Beschriftung
   ------------------------------------------------------------------------- */

/* Das Parent-Theme rechnet den Abstand aus der Aussenbreite des Kreises
   (85px: left 37.5px, 60px: left 25px), positioniert wird aber ab der
   Innenkante hinter dem 2px-Rahmen — der Punkt sass dadurch in beiden
   Groessen 2px zu weit rechts. Prozentuale Zentrierung ist unabhaengig von
   Kreisgroesse und Rahmenbreite. */
.header__categories .category-nav__start::before {
	left: 50%;
	transform: translateX(-50%);
}
