/* Organigramm „Vorstand & Präsidium“ (inc/tsv-organigramm.php, Page 119) */

.tsv-org {
	--org-blau: #2E4F8F;
	--org-rahmen: #1F2F52;     /* dunkles Navy wie in der Vorlage 15.10. */
	--org-flaeche: #F3F6FA;
	--org-gelb: #FFD81F;
	--org-linie: 2px;
	--org-kachel: 140px;
	--org-bild: 110px;
	--org-spalt: 10px;
}
.e-con.tsv-org {
	gap: 0;
	padding: 0;
	/* Seitenlinien nah an den Inhalt wie in der Vorlage: 5er-Reihe + je ~44 px Rand (Wunsch Markus 15.10.) */
	width: 100%;
	max-width: calc(5 * var(--org-kachel) + 4 * var(--org-spalt) + 88px + 2 * var(--org-linie));
	align-self: center;
	margin: 0 auto;
}

/* Kästen: gleich breit, untereinander, stoßen aneinander (gemeinsame Linie) – Vorlage 15.10.2026 */
.e-con.tsv-org-ebene {
	position: relative;
	gap: 6px;
	padding: 26px 24px 32px;
	background: var(--org-flaeche);
	border: var(--org-linie) solid var(--org-rahmen);
	border-radius: 0;
}
.e-con.tsv-org-ebene + .e-con.tsv-org-ebene {
	margin-top: calc(-1 * var(--org-linie));
}

/* Überschrift + Unterzeile im Kasten */
.tsv-org-ebene .elementor-heading-title {
	margin: 0;
	color: var(--org-blau);
	font-family: Roboto, sans-serif;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-align: center;
}
.tsv-org-unterzeile p {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.4;
	color: #555;
	text-align: center;
}

/* Reihen und Kacheln */
.e-con.tsv-org-reihe {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 18px var(--org-spalt);
	padding: 8px 0 0;
}
.e-con.tsv-org-reihe--5 {
	max-width: calc(5 * var(--org-kachel) + 4 * var(--org-spalt));
	align-self: center;
}
.e-con.tsv-org-reihe + .e-con.tsv-org-reihe {
	padding-top: 18px;          /* gleicher Abstand wie zwischen umbrochenen Kacheln */
}

.e-con.tsv-org-person {
	width: var(--org-kachel);
	flex: 0 0 auto;
	gap: 8px;
	padding: 0;
	align-items: center;
}
.tsv-org-person .elementor-widget-image,
.tsv-org-person .elementor-widget-icon {
	width: auto;
}
.tsv-org-person img {
	display: block;
	width: var(--org-bild);
	height: var(--org-bild);
	max-width: none;
	object-fit: cover;
	border-radius: 50%;
	border: 4px solid var(--org-gelb);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	box-sizing: border-box;
}
.tsv-org-person .elementor-icon-wrapper {
	line-height: 0;
}
.tsv-org-person .elementor-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--org-bild);
	height: var(--org-bild);
	border-radius: 50%;
	border: 4px solid var(--org-gelb);
	background: var(--org-blau);
	color: #fff;
	font-size: calc(var(--org-bild) * 0.38);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	box-sizing: border-box;
}
.tsv-org-person .elementor-icon i,
.tsv-org-person .elementor-icon svg {
	color: #fff;
	fill: #fff;
}
.tsv-org-person .elementor-widget-text-editor p {
	margin: 0;
	font-size: 13px;
	line-height: 1.35;
	color: #000;
	text-align: center;
	hyphens: manual;
}
.tsv-org-person .elementor-widget-text-editor strong {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--org-blau);
}

/* Handy: 3 Kacheln pro Reihe, kleinere Bilder */
@media (max-width: 767px) {
	.tsv-org {
		--org-spalt: 10px;
		--org-bild: 84px;
	}
	.e-con.tsv-org-ebene {
		padding: 18px 12px 22px;
	}
	.tsv-org-ebene .elementor-heading-title {
		font-size: 19px;
	}
	.e-con.tsv-org-person {
		width: calc((100% - 2 * var(--org-spalt)) / 3);
	}
	.e-con.tsv-org-reihe--5 {
		max-width: none;
	}
	.tsv-org-person .elementor-widget-text-editor p {
		font-size: 12px;
	}
	.tsv-org-person .elementor-widget-text-editor strong {
		font-size: 13px;
	}
}
