/* ==========================================================================
   Dorfgemeinschaft Dreisel – Gestaltung
   Farben und Schriften kommen aus theme.json (var(--wp--preset--…)).
   ========================================================================== */

:root {
	--dr-gruen: var(--wp--preset--color--gruen, #3F6F2E);
	--dr-blau: var(--wp--preset--color--blau, #1C6A9C);
	--dr-gelb: var(--wp--preset--color--gelb, #F2C230);
	--dr-lehm: var(--wp--preset--color--lehm, #F1ECDF);
	--dr-erde: var(--wp--preset--color--contrast, #3D2A1E);
	--dr-grau: var(--wp--preset--color--grau, #5C554B);
	--dr-linie: var(--wp--preset--color--linie, #E6E0D2);
	--dr-weiss: #FFFFFF;
	--dr-hellgruen: #E5EEDD;
	--dr-hellblau: #DDEBF2;
	--dr-radius: 20px;
	--dr-breite: 1200px;
	--dr-rand: clamp(16px, 4vw, 32px);
	--dr-ueberschrift: var(--wp--preset--font-family--nunito, Nunito, sans-serif);
}

body { -webkit-font-smoothing: antialiased; }

/* Allgemeine Abschnitte ---------------------------------------------------- */
.dreisel-abschnitt {
	padding: clamp(40px, 6vw, 64px) var(--dr-rand);
}
.dreisel-abschnitt > * { max-width: var(--dr-breite); margin-left: auto !important; margin-right: auto !important; }
.dreisel-band-lehm { background: var(--dr-lehm); }
.dreisel-band-weiss { background: var(--dr-weiss); border-top: 1px solid var(--dr-linie); border-bottom: 1px solid var(--dr-linie); }
.dreisel-oberzeile {
	margin: 0;
	font-size: 15px !important;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--dr-gruen);
}
.dreisel-leise { color: var(--dr-grau); font-size: 16px; }
.dreisel-kachel {
	background: var(--dr-weiss);
	border: 1px solid var(--dr-linie);
	border-radius: var(--dr-radius);
	padding: 22px 26px !important;
}
.dreisel-kachel > * { margin-top: 0; margin-bottom: 8px; }
.dreisel-hinweis {
	background: #FFF6D9;
	border: 1px dashed #C9A21D;
	border-radius: 12px;
	padding: 12px 16px;
	font-size: 16px;
}

/* Knöpfe ------------------------------------------------------------------ */
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid currentColor;
	background: transparent;
	color: var(--dr-blau);
}
.dreisel-knopf-hell .wp-block-button__link { background: var(--dr-weiss); color: var(--dr-erde); }
.dreisel-knopf-gelb .wp-block-button__link { background: var(--dr-gelb); color: var(--dr-erde); }
.dreisel-knopf-hell .wp-block-button__link:hover,
.dreisel-knopf-gelb .wp-block-button__link:hover { filter: brightness(0.95); color: var(--dr-erde); }

/* Kopfzeile --------------------------------------------------------------- */
.dreisel-kopf {
	background: var(--dr-weiss);
	border-bottom: 1px solid var(--dr-linie);
	padding: 12px var(--dr-rand);
}
.dreisel-kopf-innen {
	max-width: var(--dr-breite);
	margin: 0 auto !important;
	gap: 16px;
}
.dreisel-marke { gap: 14px; }
.dreisel-marke .wp-block-image { margin: 0; }
.dreisel-marke img { width: 64px; height: 64px; display: block; }
.dreisel-marke-text { gap: 0 !important; line-height: 1.1; }
.dreisel-marke-text p { margin: 0; }
.dreisel-marke-ober {
	font-size: 13px !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--dr-grau);
}
.dreisel-marke-name {
	font-family: var(--dr-ueberschrift);
	font-weight: 800;
	font-size: 28px !important;
}
.dreisel-marke-name a { color: var(--dr-gruen); text-decoration: none; }
.dreisel-kopf-rechts { gap: 8px; }
.dreisel-menue a { text-decoration: none; padding: 8px 10px; border-bottom: 3px solid transparent; }
.dreisel-menue .current-menu-item > a,
.dreisel-menue a[aria-current="page"] { color: var(--dr-gruen); border-bottom-color: var(--dr-gruen); }
@media (max-width: 600px) {
	.dreisel-marke img { width: 48px; height: 48px; }
	.dreisel-marke-name { font-size: 22px !important; }
	.dreisel-knopf-mitglied { display: none; }
}

/* Fußzeile ---------------------------------------------------------------- */
.dreisel-fuss {
	background: var(--dr-erde);
	color: #EDE7DA;
	padding: 48px var(--dr-rand) 32px;
}
.dreisel-fuss > * { max-width: var(--dr-breite); margin-left: auto !important; margin-right: auto !important; }
.dreisel-fuss a { color: #EDE7DA; }
.dreisel-fuss a:hover { color: var(--dr-weiss); }
.dreisel-fuss-name { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 22px !important; color: var(--dr-weiss); margin: 0; }
.dreisel-fuss p { margin: 4px 0; }
.dreisel-fuss-klein { font-size: 15px !important; color: #C9BFAE; margin-top: 24px !important; }

/* Bilder-Slider (Startseite) ------------------------------------------------ */
.dreisel-slider {
	position: relative;
	height: clamp(280px, 40vw, 460px);
	overflow: hidden;
	background: var(--dr-erde);
	margin: 0 !important;
}
.dreisel-slides { position: absolute; inset: 0; margin: 0 !important; }
.dreisel-slides .wp-block-image {
	position: absolute;
	inset: 0;
	margin: 0 !important;
	opacity: 0;
	transition: opacity 0.9s ease;
}
.dreisel-slides .wp-block-image:first-child,
.dreisel-slides .wp-block-image.is-aktiv { opacity: 1; }
.dreisel-slider.ist-bereit .dreisel-slides .wp-block-image:first-child:not(.is-aktiv) { opacity: 0; }
.dreisel-slides img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dreisel-slider-inhalt {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 0 var(--dr-rand) clamp(16px, 3vw, 40px);
	margin: 0 !important;
}
.dreisel-slider-reihe {
	max-width: var(--dr-breite);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
}
.dreisel-uebertext {
	max-width: 600px;
	background: rgba(61, 42, 30, 0.74);
	color: var(--dr-weiss);
	border-radius: var(--dr-radius);
	padding: clamp(14px, 2.5vw, 24px) clamp(18px, 3vw, 32px) !important;
	margin: 0 !important;
}
.dreisel-uebertext h1,
.dreisel-uebertext h2 { color: var(--dr-weiss); margin: 0 0 6px; }
.dreisel-uebertext p { color: #F4EBDA; margin: 0; font-size: clamp(16px, 1.6vw, 20px); }
.dreisel-slider-steuerung {
	display: flex;
	align-items: center;
	gap: 4px;
	background: rgba(61, 42, 30, 0.74);
	border-radius: 999px;
	padding: 4px 8px;
}
.dreisel-slider-steuerung button {
	width: 44px; height: 44px;
	border: 0; border-radius: 999px;
	background: transparent; color: var(--dr-weiss);
	cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.dreisel-slider-steuerung button.dreisel-punkt { width: 28px; }
.dreisel-slider-steuerung .dreisel-punkt span {
	width: 11px; height: 11px; border-radius: 999px;
	border: 2px solid var(--dr-weiss); display: block;
}
.dreisel-slider-steuerung .dreisel-punkt[aria-current="true"] span { background: var(--dr-weiss); }
.dreisel-slider-steuerung button:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 1px; }

/* Seitenkopf mit Bild (Unterseiten) --------------------------------------- */
.dreisel-seitenkopf {
	position: relative;
	height: clamp(220px, 30vw, 360px);
	overflow: hidden;
	background: var(--dr-erde);
	margin: 0 !important;
}
.dreisel-seitenkopf > .wp-block-image { position: absolute; inset: 0; margin: 0 !important; }
.dreisel-seitenkopf > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dreisel-seitenkopf .dreisel-uebertext {
	position: absolute;
	left: max(var(--dr-rand), calc((100% - var(--dr-breite)) / 2));
	bottom: clamp(16px, 3vw, 36px);
	right: var(--dr-rand);
	width: fit-content;
}

/* Zweigeteilter Kopf (Dorfchronik) */
.dreisel-kopf-geteilt { background: var(--dr-erde); gap: 0 !important; margin: 0 !important; }
.dreisel-kopf-geteilt > .wp-block-column { margin: 0 !important; }
.dreisel-kopf-geteilt .dreisel-kopf-text {
	color: var(--dr-weiss);
	padding: clamp(32px, 5vw, 56px) !important;
	align-self: center;
	max-width: 560px;
	margin-left: auto !important;
}
.dreisel-kopf-geteilt h1 { color: var(--dr-weiss); font-size: clamp(2.6rem, 5vw, 3.75rem); margin: 0 0 12px; }
.dreisel-kopf-geteilt p { color: #F4EBDA; font-size: 21px; }
.dreisel-kopf-geteilt .dreisel-oberzeile { color: var(--dr-gelb); }
.dreisel-kopf-geteilt .wp-block-image { margin: 0; height: 100%; min-height: 360px; }
.dreisel-kopf-geteilt .wp-block-image img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; object-position: center 22%; display: block; }

/* Sprungleiste */
.dreisel-sprungleiste {
	background: var(--dr-weiss);
	border-bottom: 1px solid var(--dr-linie);
	padding: 12px var(--dr-rand);
	margin: 0 !important;
	position: sticky;
	top: 0;
	z-index: 10;
}
.dreisel-sprungleiste ul {
	max-width: var(--dr-breite);
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: flex;
	gap: 8px;
	overflow-x: auto;
	white-space: nowrap;
}
.dreisel-sprungleiste a {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 999px;
	background: var(--dr-lehm);
	color: var(--dr-erde);
	text-decoration: none;
	font-weight: 700;
	font-size: 16px;
}
.dreisel-sprungleiste a:hover { background: #E3D9C6; }
[id] { scroll-margin-top: 80px; }

/* Beitrags-Karten (Aktuelles) -------------------------------------------- */
.dreisel-karten .wp-block-post-template { gap: 24px; }
.dreisel-karte {
	background: var(--dr-weiss);
	border: 1px solid var(--dr-linie);
	border-radius: var(--dr-radius);
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
}
.dreisel-karte > * { margin: 0 !important; }
.dreisel-karte .wp-block-post-featured-image { margin: 0; }
.dreisel-karte .wp-block-post-featured-image img { height: 200px; width: 100%; object-fit: cover; }
.dreisel-datumskachel {
	height: 200px;
	background: var(--dr-lehm);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.dreisel-datumskachel .dk-tag { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 56px; line-height: 1; }
.dreisel-datumskachel .dk-monat { font-weight: 700; font-size: 18px; }
.dreisel-karte:has(.wp-block-post-featured-image) .dreisel-datumskachel { display: none; }
.dreisel-karte-text { padding: 20px 24px 24px !important; }
.dreisel-karte-text > * { margin-top: 0; margin-bottom: 8px; }
.dreisel-meta { gap: 0 !important; font-size: 15px; color: var(--dr-grau); }
.dreisel-meta .wp-block-post-author-name::before { content: " · "; white-space: pre; }
.dreisel-karte .wp-block-post-title { font-size: 24px; }
.dreisel-karte .wp-block-post-excerpt__more-link { display: none; }
.dreisel-kopfzeile-zeile { justify-content: space-between; align-items: baseline !important; }

/* Termine (Kurzcode) -------------------------------------------------------- */
.dreisel-termine { display: flex; flex-direction: column; gap: 20px; }
.dreisel-termin-gross {
	background: var(--dr-gruen);
	color: var(--dr-weiss);
	border-radius: 24px;
	padding: clamp(22px, 3vw, 32px) clamp(22px, 3.5vw, 40px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px 32px;
}
.dreisel-datum {
	background: var(--dr-weiss);
	color: var(--dr-erde);
	border-radius: 16px;
	width: 104px;
	padding: 12px 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
}
.dreisel-datum .dd-wtag { font-size: 15px; font-weight: 700; text-transform: uppercase; color: var(--dr-gruen); }
.dreisel-datum .dd-tag { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 44px; line-height: 1; }
.dreisel-datum .dd-monat { font-size: 15px; font-weight: 600; }
.dreisel-termin-text { flex: 1 1 380px; }
.dreisel-termin-text .dreisel-oberzeile { color: var(--dr-gelb); }
.dreisel-termin-text h3 { color: var(--dr-weiss); margin: 4px 0 6px; font-size: clamp(1.5rem, 2.5vw, 2rem); }
.dreisel-termin-text p { margin: 0; }
.dreisel-termin-knopf {
	background: var(--dr-weiss);
	color: var(--dr-erde) !important;
	padding: 14px 24px;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
}
.dreisel-termine-liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.dreisel-termin-klein {
	background: var(--dr-weiss);
	border: 1px solid var(--dr-linie);
	border-radius: 18px;
	padding: 16px 20px;
	display: flex;
	align-items: center;
	gap: 16px;
	color: var(--dr-erde) !important;
	text-decoration: none;
}
.dreisel-datum-klein {
	background: var(--dr-lehm);
	border-radius: 12px;
	width: 60px;
	padding: 6px 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
}
.dreisel-datum-klein .dd-tag { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 22px; line-height: 1.1; }
.dreisel-datum-klein .dd-monat { font-size: 13px; font-weight: 700; }
.dreisel-termin-titel { display: flex; flex-direction: column; }
.dreisel-termin-titel strong { font-size: 19px; }
.dreisel-termin-titel span { font-size: 15px; color: var(--dr-grau); }

/* Bild-Kacheln „Dreisel entdecken" ----------------------------------------- */
.dreisel-entdecken-karte {
	background: var(--dr-weiss);
	border-radius: var(--dr-radius);
	overflow: hidden;
}
.dreisel-entdecken-karte > * { margin: 0 !important; }
.dreisel-entdecken-karte .wp-block-image img { height: 200px; width: 100%; object-fit: cover; display: block; }
.dreisel-entdecken-karte .dreisel-entdecken-text { padding: 20px 24px 24px !important; }
.dreisel-entdecken-karte h3 { margin: 0 0 6px; }
.dreisel-entdecken-karte h3 a { color: var(--dr-erde); text-decoration: none; }

/* Blaues Band „Mitmachen" ---------------------------------------------------- */
.dreisel-band-blau {
	background: var(--dr-blau);
	color: var(--dr-weiss);
	border-radius: 24px;
	padding: clamp(28px, 4vw, 44px) clamp(24px, 4vw, 48px) !important;
	gap: 24px;
}
.dreisel-band-blau h2 { color: var(--dr-weiss); margin: 0 0 8px; }
.dreisel-band-blau p { margin: 0; }

/* Zahlen, Schildchen, Personen ------------------------------------------- */
.dreisel-zahlen { gap: 16px !important; }
.dreisel-zahl {
	background: var(--dr-weiss);
	border: 1px solid var(--dr-linie);
	border-radius: 16px;
	padding: 16px 20px !important;
}
.dreisel-zahl p { margin: 0; }
.dreisel-zahl .dreisel-zahl-titel { font-size: 14px !important; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--dr-grau); }
.dreisel-zahl .dreisel-zahl-wert { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 28px !important; line-height: 1.25; color: var(--dr-gruen); }

ul.dreisel-schildchen { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
ul.dreisel-schildchen li { padding: 6px 14px; border-radius: 999px; background: var(--dr-hellgruen); font-weight: 600; font-size: 16px; }
ul.dreisel-schildchen.ist-blau li { background: var(--dr-hellblau); }
ul.dreisel-schildchen a { color: var(--dr-erde); text-decoration: none; }

.dreisel-person {
	background: var(--dr-weiss);
	border: 1px solid var(--dr-linie);
	border-radius: var(--dr-radius);
	padding: 24px !important;
	text-align: center;
}
.dreisel-person p { margin: 0; }
.dreisel-initialen {
	width: 96px; height: 96px; border-radius: 999px;
	margin: 0 auto 10px !important;
	background: var(--dr-hellgruen);
	color: var(--dr-gruen);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 32px !important;
}
.dreisel-person .wp-block-image { margin: 0 auto 10px; }
.dreisel-person .wp-block-image img { width: 96px; height: 96px; border-radius: 999px; object-fit: cover; }
.dreisel-person-name { font-weight: 700; font-size: 20px !important; }
.dreisel-person-amt { color: var(--dr-grau); }

/* Klick-zum-Laden (Karten, Komoot) ----------------------------------------- */
.dreisel-einbettung {
	min-height: 300px;
	border-radius: var(--dr-radius);
	background: #DCE8D3;
	color: #2F4A24;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	text-align: center;
	padding: 28px;
	box-sizing: border-box;
	overflow: hidden;
}
.dreisel-einbettung p { margin: 0; max-width: 420px; font-size: 16px; }
.dreisel-einbettung button {
	padding: 12px 22px;
	border-radius: 999px;
	border: 0;
	background: var(--dr-gruen);
	color: var(--dr-weiss);
	font-weight: 700;
	font-size: 16px;
	cursor: pointer;
}
.dreisel-einbettung.ist-geladen { padding: 0; background: none; }
.dreisel-einbettung iframe { width: 100%; height: 440px; border: 0; display: block; }

/* Dorfchronik: Einleitung, Zitat, Buch ------------------------------------- */
.dreisel-zitat {
	background: var(--dr-lehm);
	border-radius: var(--dr-radius);
	padding: 22px 26px !important;
	border: 0 !important;
	margin: 8px 0 0 !important;
}
.dreisel-zitat p { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 28px; line-height: 1.2; margin: 0; }
.dreisel-zitat cite { font-size: 16px; color: var(--dr-grau); font-style: normal; }
.dreisel-buchcover img {
	border-radius: 6px;
	box-shadow: 0 12px 30px rgba(61, 42, 30, 0.25);
	transform: rotate(-2deg);
}
.dreisel-buchcover figcaption { font-size: 14px; color: var(--dr-grau); text-align: center; margin-top: 14px; }

/* Dorfchronik: Zeitstrahl -------------------------------------------------- */
.dz-leiste { position: relative; padding: 8px 0; margin-bottom: 24px; }
.dz-leiste::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 4px; border-radius: 4px; background: var(--dr-linie); }
.dz-leiste-knoepfe { position: relative; display: flex; justify-content: space-between; gap: 6px; overflow-x: auto; padding: 2px; }
.dz-leiste button {
	min-width: 64px; height: 48px; padding: 0 10px;
	border-radius: 999px;
	border: 2px solid var(--dr-linie);
	background: var(--dr-weiss);
	color: var(--dr-erde);
	font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 17px;
	cursor: pointer;
	flex: 0 0 auto;
}
.dz-leiste button[aria-pressed="true"] { background: var(--dr-gruen); border-color: var(--dr-gruen); color: var(--dr-weiss); }
.dz-ereignis {
	background: #FBFAF6;
	border: 1px solid var(--dr-linie);
	border-radius: 24px;
	overflow: hidden;
	gap: 0 !important;
	margin-bottom: 16px !important;
}
.dreisel-zeitstrahl.ist-bereit .dz-ereignis { display: none !important; margin-bottom: 0 !important; }
.dreisel-zeitstrahl.ist-bereit .dz-ereignis.is-aktiv { display: flex !important; }
.dz-ereignis > .wp-block-column { margin: 0 !important; }
.dz-ereignis .wp-block-image { margin: 0; height: 100%; }
.dz-ereignis .wp-block-image img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; display: block; }
.dz-ereignis .dz-text { padding: 32px 36px !important; align-self: center; }
.dz-ereignis .dz-text > * { margin-top: 0; margin-bottom: 10px; }
.dz-jahr { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 44px !important; line-height: 1; color: var(--dr-gruen); }
.dz-thema { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--dr-lehm); font-size: 14px !important; font-weight: 700; }
.dz-pfeile { display: flex; gap: 8px; justify-content: flex-end; margin-top: 12px; }
.dz-pfeile button {
	width: 48px; height: 48px; border-radius: 999px;
	border: 2px solid var(--dr-linie); background: var(--dr-weiss); color: var(--dr-erde);
	cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.dz-pfeile button.dz-weiter { background: var(--dr-gruen); border-color: var(--dr-gruen); color: var(--dr-weiss); }

/* Dorfchronik: Einwohner-Balken */
.dreisel-einwohner { align-items: flex-end !important; gap: 24px !important; min-height: 220px; }
.dreisel-einwohner .dreisel-balken { flex: 1 1 0; text-align: center; display: flex; flex-direction: column; justify-content: flex-end; }
.dreisel-einwohner .dreisel-balken p { margin: 4px 0; }
.dreisel-einwohner .dreisel-balken-wert { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 22px !important; }
.dreisel-einwohner .dreisel-balken-saeule { background: #C9D9BC; border-radius: 10px 10px 0 0; max-width: 110px; width: 100%; margin: 0 auto !important; }
.dreisel-einwohner .dreisel-balken:last-child .dreisel-balken-saeule { background: var(--dr-gruen); }
.dreisel-einwohner .dreisel-balken-jahr { font-weight: 700; font-size: 16px !important; color: var(--dr-grau); }

/* Dorfchronik: Kapitel mit Filter */
.dk-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.dk-filter button {
	padding: 10px 18px; border-radius: 999px;
	border: 2px solid var(--dr-weiss); background: var(--dr-weiss); color: var(--dr-erde);
	font-weight: 700; font-size: 16px; cursor: pointer;
}
.dk-filter button[aria-pressed="true"] { background: var(--dr-erde); border-color: var(--dr-erde); color: var(--dr-weiss); }
.dreisel-kapitel { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.dreisel-kapitel > * { margin: 0 !important; }
.dk-karte { background: var(--dr-weiss); border-radius: var(--dr-radius); overflow: hidden; }
.dk-karte > * { margin: 0 !important; }
.dk-karte .wp-block-image img { height: 130px; width: 100%; object-fit: cover; display: block; }
.dk-karte .dk-nummer {
	height: 130px; display: flex; align-items: center; justify-content: center;
	font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 48px !important;
	color: rgba(61, 42, 30, 0.35);
	background: var(--dk-farbe, var(--dr-lehm));
}
.dk-karte .dk-inhalt { padding: 18px 22px 22px !important; }
.dk-karte .dk-inhalt > * { margin-top: 0; margin-bottom: 6px; }
.dk-karte .dk-thema { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 13px !important; font-weight: 700; background: var(--dk-farbe, var(--dr-lehm)); }
.dk-karte h3 { font-size: 21px; }
.dk-karte h3 a { color: var(--dr-erde); text-decoration: none; }
.dk-karte p:last-child { font-size: 16px; color: #4A443B; }
.thema-natur { --dk-farbe: #DDEBF2; }
.thema-arbeit { --dk-farbe: #EADFCB; }
.thema-kirche { --dk-farbe: #F3DDD3; }
.thema-menschen { --dk-farbe: #E5EEDD; }
.dk-karte[hidden] { display: none !important; }

/* Dorfchronik: Wussten Sie schon? */
.dreisel-kurioses {
	background: var(--dr-blau);
	color: var(--dr-weiss);
	border-radius: 24px;
	padding: clamp(24px, 4vw, 36px) clamp(24px, 4vw, 44px) !important;
}
.dreisel-kurioses h3 { color: var(--dr-weiss); }
.dreisel-kurioses .dk-fakt > * { margin-top: 0; margin-bottom: 10px; }
.dreisel-kurioses .dk-fakt .dreisel-oberzeile { color: var(--dr-gelb); }
.dreisel-kurioses .dk-fakt p { color: #E8F1F7; }
.dreisel-kurioses .dk-fakt .dk-quelle { font-size: 15px; color: #BFD8E8; }
.dreisel-kurioses.ist-bereit .dk-fakt { display: none; }
.dreisel-kurioses.ist-bereit .dk-fakt.is-aktiv { display: block; }
.dreisel-kurioses .dk-fakt + .dk-fakt { border-top: 1px solid rgba(255,255,255,0.25); padding-top: 16px; }
.dreisel-kurioses.ist-bereit .dk-fakt + .dk-fakt { border-top: 0; padding-top: 0; }
.dk-steuerung { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; }
.dk-zaehler {
	width: 72px; height: 72px; border-radius: 999px;
	background: var(--dr-gelb); color: var(--dr-erde);
	display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1;
	font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 26px;
}
.dk-zaehler small { font-family: inherit; font-size: 12px; font-weight: 700; }
.dk-steuerung button {
	padding: 14px 24px; border-radius: 999px; border: 0;
	background: var(--dr-weiss); color: var(--dr-erde);
	font-weight: 700; font-size: 17px; cursor: pointer;
}

/* Dorfchronik: Dank */
.dreisel-gedenken {
	background: var(--dr-weiss);
	border-radius: 24px;
	padding: clamp(24px, 4vw, 40px) clamp(24px, 4vw, 44px) !important;
	border-left: 6px solid var(--dr-gruen);
}
.dreisel-gedenken h2 { margin-top: 0; }
.dreisel-dank-liste { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.dreisel-dank-liste > * { margin: 0 !important; }
.dreisel-dank-karte { background: var(--dr-weiss); border-radius: 16px; padding: 18px 20px !important; }
.dreisel-dank-karte p { margin: 0; }
.dreisel-dank-karte p:first-child { font-weight: 700; font-size: 18px; }
.dreisel-dank-karte p:last-child { font-size: 16px; color: #4A443B; }

/* Galerie ------------------------------------------------------------------- */
.dreisel-galerie-jahr { border-top: 1px solid var(--dr-linie); padding-top: 18px; margin-top: 18px; }
.dreisel-galerie-jahr h2 { font-size: 28px; margin: 0 0 10px; }
.dreisel-galerie-jahr ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.dreisel-galerie-jahr li a {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 999px;
	background: var(--dr-weiss);
	border: 1px solid var(--dr-linie);
	color: var(--dr-erde);
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
}
.dreisel-galerie-jahr li a:hover { border-color: var(--dr-gruen); color: var(--dr-gruen); }

/* Beitragsseite ------------------------------------------------------------ */
.dreisel-zurueck .wp-block-button__link {
	background: var(--dr-lehm);
	color: var(--dr-erde);
	padding: 8px 16px;
	font-size: 15px;
}
.dreisel-zurueck .wp-block-button__link:hover { background: #E3D9C6; color: var(--dr-erde); }
.dreisel-beitrag-kopf .wp-block-post-terms { font-size: 15px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.dreisel-beitrag-kopf .wp-block-post-terms a { color: var(--dr-gruen); text-decoration: none; }
.dreisel-beitrag-bild img { border-radius: 24px; }

/* Bewegung reduzieren -------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.dreisel-slides .wp-block-image { transition: none; }
}

/* Vollbreite-Vorlagen: Abschnitte ohne Zwischenabstand */
.dreisel-voll { margin-top: 0 !important; }
.dreisel-voll > *,
.dreisel-voll > .wp-block-post-content > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
header.wp-block-template-part, footer.wp-block-template-part { margin: 0 !important; }

/* Grünes Hinweis-Band */
.dreisel-band-gruen {
	background: var(--dr-gruen);
	color: var(--dr-weiss);
	border-radius: 24px;
	padding: 26px 30px !important;
}
.dreisel-band-gruen h2 { color: var(--dr-weiss); margin: 0 0 8px; font-size: 26px; }
.dreisel-band-gruen p { margin: 0 0 12px; }

.dreisel-band-blau > .wp-block-group { flex: 1 1 480px; }
.dreisel-band-blau > .wp-block-buttons { flex: 0 0 auto; }

/* Handy-Ansicht ------------------------------------------------------------ */
@media (max-width: 782px) {
	.dreisel-voll .wp-block-group.is-layout-grid { grid-template-columns: minmax(0, 1fr) !important; }
	.dreisel-voll .wp-block-group.is-layout-grid.dreisel-zahlen,
	.dreisel-voll .wp-block-group.is-layout-grid.dreisel-personen { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.dreisel-zahl .dreisel-zahl-titel { font-size: 12px !important; letter-spacing: 0.03em; }
	.dreisel-zahl .dreisel-zahl-wert { font-size: 20px !important; }
	.dreisel-person { padding: 16px 10px !important; }
	.dreisel-initialen { width: 64px; height: 64px; font-size: 22px !important; }
	.dreisel-person-name { font-size: 17px !important; }
	.dreisel-person-amt { font-size: 15px; }
	.dreisel-kopf-geteilt .dreisel-kopf-text { max-width: none; }
	.dreisel-kopf-geteilt .wp-block-image, .dreisel-kopf-geteilt .wp-block-image img { min-height: 260px; }
	.dreisel-einwohner { gap: 10px !important; }
	.dreisel-einwohner .dreisel-balken-wert { font-size: 17px !important; }
	.dz-ereignis .dz-text { padding: 22px !important; }
	.dz-ereignis .wp-block-image img { min-height: 200px; }
	ul.dreisel-schildchen li { font-size: 15px; }
}
@media (max-width: 600px) {
	.wp-block-buttons.dreisel-knopf-mitglied { display: none !important; }
	.dreisel-kopf-innen { flex-wrap: nowrap !important; }
}
html, body { overflow-x: clip; }
.dreisel-entdecken-karte .wp-block-image,
.dk-karte .wp-block-image { width: 100%; }
.dreisel-entdecken-karte .wp-block-image img,
.dk-karte .wp-block-image img { max-width: none; }

/* Korrektur: Bilder in „Dreisel entdecken“ füllen die ganze Kartenbreite */
.dreisel-entdecken-karte .wp-block-image,
.dreisel-entdecken-karte .wp-block-image a { display: block; width: 100%; margin: 0; }
.dreisel-entdecken-karte .wp-block-image img { width: 100% !important; max-width: none; height: 200px; object-fit: cover; display: block; }

/* Facebook */
.dreisel-fuss-social { margin: 0 !important; gap: 8px; }
.dreisel-fuss-social .wp-social-link { color: #EDE7DA !important; }
.dreisel-fuss-social .wp-block-social-link-anchor { padding: 0 !important; gap: 8px; }
.dreisel-fuss-social .wp-block-social-link-label { font-size: inherit; }
.dreisel-facebook-hinweis { margin-top: 24px !important; }
.dreisel-facebook-hinweis a { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border-radius: 999px; background: #E8EEF6; color: #1C4E7A; text-decoration: none; font-weight: 700; font-size: 16px; }
.dreisel-facebook-hinweis a::before { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.41c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.236 2.686.236v2.971H15.83c-1.491 0-1.956.93-1.956 1.874v2.25h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.41c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.236 2.686.236v2.971H15.83c-1.491 0-1.956.93-1.956 1.874v2.25h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z'/%3E%3C/svg%3E") center / contain no-repeat; }
.dreisel-facebook-hinweis a:hover { background: #D7E3F0; }
.dreisel-fuss-social .wp-block-social-link-label { font-weight: 600; font-size: 17px; }

/* Archivseiten & Autorenseite */
.dreisel-archiv-titel { margin-bottom: 8px !important; }
.dreisel-archiv-text { max-width: 720px; color: var(--dr-grau, #5C554B); }
.dreisel-autor-bio { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; background: #F1ECDF; border-radius: 20px; padding: 24px 28px; margin: 16px 0 32px; max-width: 900px; }
.dreisel-autor-foto { width: 140px; height: 140px; object-fit: cover; border-radius: 999px; flex: 0 0 auto; }
.dreisel-autor-text { flex: 1 1 320px; min-width: 0; font-size: 19px; line-height: 1.7; }
.dreisel-autor-text p { margin: 0 0 12px; }
.dreisel-autor-text p:last-child { margin-bottom: 0; font-style: italic; }
.dreisel-autor-bio { margin-left: 0 !important; margin-right: auto !important; }
@media (max-width: 600px) { .dreisel-autor-bio { padding: 18px 18px; } .dreisel-autor-text { font-size: 17px; } }

/* ==========================================================================
   Dorfchronik – Kapitelseiten und Bausteine
   ========================================================================== */
.dreisel-chronikseite { --dr-papier: #F6EEDC; --dr-serif: var(--wp--preset--font-family--serif, Georgia, serif); padding-bottom: 24px; }
.dreisel-chronikseite .entry-content, .dreisel-chronikseite .wp-block-post-content { padding-left: var(--dr-rand); padding-right: var(--dr-rand); }
.dreisel-chronikseite .wp-block-post-content > p,
.dreisel-chronikseite .wp-block-post-content li { font-size: 19px; line-height: 1.75; }
.dreisel-chronikseite .wp-block-post-content > * + * { margin-block-start: 1.2em; }
.dreisel-chronikseite h2.wp-block-heading { font-size: clamp(28px, 3.4vw, 36px); margin-block-start: 1.8em !important; text-wrap: balance; scroll-margin-top: 24px; }
.dreisel-chronikseite mark { background: rgba(242, 194, 48, .45); color: inherit; padding: 0 3px; border-radius: 3px; }
.dreisel-chronikseite .has-drop-cap:not(:focus)::first-letter { font-family: var(--dr-ueberschrift); font-weight: 800; color: var(--dr-gruen); font-size: 4.6em; line-height: .8; margin: .08em .1em 0 0; }

/* Kapitelkopf (Titelbild) */
.dreisel-kapitelkopf.wp-block-cover { margin-top: 0 !important; margin-bottom: 40px !important; min-height: 460px; padding: 0 var(--dr-rand) 40px; align-items: flex-end; }
.dreisel-kapitelkopf .wp-block-cover__image-background { filter: sepia(.35) contrast(1.05); }
.dreisel-kapitelkopf .wp-block-cover__background { background: linear-gradient(180deg, rgba(42,30,22,0) 30%, rgba(42,30,22,.85) 100%) !important; opacity: 1 !important; }
.dreisel-kapitelkopf .wp-block-cover__inner-container { max-width: var(--dr-breite); width: 100%; margin: 0 auto; color: #FFFFFF; }
.dreisel-kapitelkopf .dk-zurueck-link a { color: #F4EBDA; font-weight: 700; text-decoration: none; font-size: 16px; }
.dreisel-kapitelkopf .dk-kapitelnr { color: var(--dr-gelb); font-size: 15px !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin: 8px 0 4px; }
.dreisel-kapitelkopf h1 { color: #FFFFFF; font-size: clamp(36px, 5.5vw, 64px); line-height: 1.05; margin: 0; text-wrap: balance; }
.dreisel-kapitelkopf .dk-bildnachweis { display: inline-block; margin-top: 14px; background: rgba(42,30,22,.6); color: #F4EBDA; font-size: 15px !important; padding: 4px 12px; border-radius: 12px; }

/* Inhaltsverzeichnis (wird per JS aus den Zwischenüberschriften gebaut) */
.dreisel-inhalt { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.dreisel-inhalt .di-titel { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--dr-grau); margin-right: 6px; }
.dreisel-inhalt a { padding: 6px 14px; border-radius: 999px; background: var(--dr-lehm); color: var(--dr-erde); text-decoration: none; font-weight: 600; font-size: 15px; }
.dreisel-inhalt a:hover { background: var(--dr-hellgruen); }
.dreisel-inhalt:empty { display: none; }

/* Fotoabzug */
.wp-block-image.is-style-abzug img, .wp-block-image.is-style-zeitung img, .wp-block-image.is-style-dokument img { display: block; height: auto; }
.wp-block-image.is-style-abzug { background: #FFFFFF; padding: 10px 10px 12px; border-radius: 4px; box-shadow: 0 2px 0 var(--dr-linie), 0 10px 24px rgba(61,42,30,.14); }
.wp-block-image.is-style-abzug img { filter: sepia(.15); }
.wp-block-image.is-style-zeitung { background: #F3EAD3; padding: 12px; box-shadow: 0 10px 24px rgba(61,42,30,.16); }
.wp-block-image.is-style-dokument { background: var(--dr-papier, #F6EEDC); border: 1px solid #E0D6C3; padding: 16px; box-shadow: 0 12px 28px rgba(61,42,30,.16); }
.wp-block-image.is-style-dokument img { mix-blend-mode: multiply; }
.wp-block-image.is-style-abzug figcaption, .wp-block-image.is-style-zeitung figcaption, .wp-block-image.is-style-dokument figcaption { font-size: 15px; color: var(--dr-grau); margin: 10px 2px 0; line-height: 1.45; text-align: left; }
.dreisel-schief-l { transform: rotate(-1.6deg); }
.dreisel-schief-r { transform: rotate(1.6deg); }
.dreisel-chronikseite .wp-block-image.alignleft { margin: .3em 2em 1em 0 !important; max-width: min(46%, 360px); }
.dreisel-chronikseite .wp-block-image.alignright { margin: .3em 0 1em 2em !important; max-width: min(46%, 360px); }
.dreisel-chronikseite .wp-block-image.aligncenter { max-width: 640px; margin-left: auto !important; margin-right: auto !important; }
.dreisel-chronikseite .wp-block-image.alignwide img { width: 100%; max-height: 620px; object-fit: cover; }
@media (max-width: 600px) {
	.dreisel-chronikseite .wp-block-image.alignleft, .dreisel-chronikseite .wp-block-image.alignright { float: none; max-width: 100%; margin: 1em 0 !important; }
	.dreisel-schief-l, .dreisel-schief-r { transform: none; }
}

/* Zeitzeugen-Erinnerung */
.wp-block-quote.is-style-zeitzeuge { position: relative; background: #FFFFFF; border: 1px solid var(--dr-linie); border-left: 0; border-radius: 26px; padding: 52px clamp(22px, 4vw, 44px) 32px; font-family: var(--dr-serif); font-size: 20px; line-height: 1.65; }
.wp-block-quote.is-style-zeitzeuge::before { content: "„"; position: absolute; top: -18px; left: 26px; font: 130px/1 var(--dr-serif); color: var(--dr-gruen); }
.wp-block-quote.is-style-zeitzeuge p { font-size: 20px !important; }
.wp-block-quote.is-style-zeitzeuge cite { display: block; margin-top: 14px; font-family: var(--wp--preset--font-family--source-sans, sans-serif); font-style: normal; font-weight: 700; font-size: 16px; color: var(--dr-grau); }

/* Sprechblasen */
p.is-style-sprechblase, p.is-style-pointe { background: #FFFFFF; border: 2px solid var(--dr-linie); border-radius: 22px 22px 22px 6px; padding: 12px 20px; max-width: 540px; font-size: 19px; }
p.is-style-pointe { margin-left: auto !important; background: var(--dr-gruen); border-color: var(--dr-gruen); color: #FFFFFF; font-weight: 700; border-radius: 22px 22px 6px 22px; }
p.is-style-zitatzeile { font-family: var(--dr-serif); font-style: italic; font-size: 20px !important; border-left: 3px solid var(--dr-gelb); padding-left: 18px; }
p.is-style-schlusssatz { font-family: var(--dr-serif); font-style: italic; font-size: clamp(26px, 3vw, 34px) !important; line-height: 1.3 !important; color: var(--dr-gruen); }

/* Gruppen-Bausteine */
.wp-block-group.is-style-dialog { background: #FFFFFF; border: 1px solid var(--dr-linie); border-radius: 26px; padding: clamp(20px, 3vw, 36px); display: flex; flex-direction: column; gap: 14px; }
.wp-block-group.is-style-dialog > * { margin: 0 !important; }
.wp-block-group.is-style-dunkel { background: var(--dr-erde); color: #F4EBDA; border-radius: 26px; padding: clamp(22px, 3.5vw, 40px); }
.wp-block-group.is-style-dunkel h2, .wp-block-group.is-style-dunkel h3 { color: #FFFFFF; margin-top: 0 !important; }
.wp-block-group.is-style-dunkel p.is-style-zitatzeile { color: #FFFFFF; }
.wp-block-group.is-style-dunkel figcaption { color: #C9BFAE !important; }
.wp-block-group.is-style-steckbrief { background: var(--dr-lehm); border-radius: 22px; padding: 22px 26px; }
.wp-block-group.is-style-steckbrief > * { margin-block: 6px !important; }
.wp-block-group.is-style-notiz { background: var(--dr-gelb); color: var(--dr-erde); border-radius: 20px; padding: 20px 24px; transform: rotate(-.8deg); }
.wp-block-group.is-style-notiz p { font-size: 17px !important; line-height: 1.55 !important; }
.wp-block-group.is-style-lehm { background: var(--dr-lehm); border-radius: 24px; padding: clamp(20px, 3vw, 36px); }
.wp-block-group.is-style-dokument { background: var(--dr-papier, #F6EEDC); background-image: repeating-linear-gradient(0deg, rgba(61,42,30,.045) 0 1px, transparent 1px 34px); border: 1px solid #E0D2B6; border-radius: 4px; padding: clamp(24px, 5vw, 56px); box-shadow: 0 16px 36px rgba(61,42,30,.18); font-family: var(--dr-serif); color: #3A2A1E; }
.wp-block-group.is-style-dokument h2, .wp-block-group.is-style-dokument h3 { font-family: var(--dr-serif); font-weight: 600; border-bottom: 2px solid #3A2A1E; padding-bottom: 10px; margin-top: 0 !important; }
.wp-block-group.is-style-dokument p { font-size: 19px !important; }
.wp-block-group.is-style-dokument .dk-unterschriften { display: flex; flex-wrap: wrap; justify-content: space-around; gap: 20px; text-align: center; }
.wp-block-group.is-style-dokument .dk-unterschriften p { margin: 0; }

/* Damals & heute */
.wp-block-group.is-style-damals-heute { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.wp-block-group.is-style-damals-heute.ist-umschalter { display: block; }
.wp-block-group.is-style-damals-heute.ist-umschalter > .wp-block-image:not(.is-aktiv) { display: none; }
.dreisel-umschalter { display: inline-flex; background: var(--dr-lehm); border-radius: 999px; padding: 4px; margin-bottom: 12px; }
.dreisel-umschalter button { border: 0; cursor: pointer; padding: 8px 20px; border-radius: 999px; font: inherit; font-weight: 700; background: transparent; color: var(--dr-erde); }
.dreisel-umschalter button[aria-pressed="true"] { background: var(--dr-gruen); color: #FFFFFF; }
.dreisel-umschalter button:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }

/* Platt & Hochdeutsch */
.wp-block-columns.is-style-platt { gap: 24px; background: var(--dr-erde); border-radius: 26px; padding: clamp(18px, 3vw, 32px); }
.wp-block-columns.is-style-platt > .wp-block-column { background: #FFFFFF; border-radius: 18px; padding: 24px 28px; }
.wp-block-columns.is-style-platt > .wp-block-column:first-child { background: var(--dr-papier, #F6EEDC); font-family: var(--dr-serif); font-style: italic; }
.wp-block-columns.is-style-platt h3 { font-size: 22px; margin: 0 0 10px; font-style: normal; font-family: var(--dr-ueberschrift); }
.wp-block-columns.is-style-platt p { font-size: 18px !important; line-height: 1.7 !important; }
.dreisel-platt-umschalter { display: flex; justify-content: flex-end; margin-bottom: -8px; }
.wp-block-columns.is-style-platt.zeige-platt > .wp-block-column:last-child,
.wp-block-columns.is-style-platt.zeige-hoch > .wp-block-column:first-child { display: none; }

/* Zahlen als Balken */
ul.is-style-balken, ol.is-style-balken { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.is-style-balken li { position: relative; background: var(--dr-lehm); border-radius: 10px; padding: 8px 14px; font-weight: 700; z-index: 0; overflow: hidden; }
.is-style-balken li .db-balken { position: absolute; inset: 0 auto 0 0; background: var(--dr-gruen); border-radius: 10px; z-index: -1; opacity: .9; }
.is-style-balken.ist-diagramm li { color: #FFFFFF; text-shadow: 0 1px 1px rgba(0,0,0,.25); }

/* Fotoalbum */
.wp-block-gallery.is-style-album { background: var(--dr-erde); border-radius: 26px; padding: clamp(18px, 3vw, 32px); gap: 22px !important; }
.wp-block-gallery.is-style-album .wp-block-image { background: #FFFFFF; padding: 8px 8px 10px; box-shadow: 0 10px 24px rgba(0,0,0,.3); }
.wp-block-gallery.is-style-album .wp-block-image:nth-child(odd) { transform: rotate(-1.4deg); }
.wp-block-gallery.is-style-album .wp-block-image:nth-child(even) { transform: rotate(1.4deg); }
.wp-block-gallery.is-style-album figcaption { position: static !important; background: none !important; color: var(--dr-grau) !important; font-size: 14px; padding: 8px 2px 0 !important; text-align: left !important; max-height: none !important; }

/* Kapitel-Navigation */
.dreisel-kapitelnavi { max-width: var(--dr-breite); margin: 56px auto 0; padding: 0 var(--dr-rand); display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.dreisel-kapitelnavi a { text-decoration: none; border-radius: 22px; padding: 24px 28px; display: flex; flex-direction: column; gap: 4px; }
.dreisel-kapitelnavi .dk-zurueck { background: var(--dr-lehm); color: var(--dr-erde); }
.dreisel-kapitelnavi .dk-weiter { background: var(--dr-gruen); color: #FFFFFF; text-align: right; }
.dreisel-kapitelnavi span { font-size: 14px; font-weight: 700; opacity: .85; }
.dreisel-kapitelnavi .dk-weiter span { color: var(--dr-gelb); opacity: 1; }
.dreisel-kapitelnavi strong { font-family: var(--dr-ueberschrift); font-size: 22px; }
.dreisel-chronikseite .wp-block-post-content::after { content: ""; display: table; clear: both; }
.dreisel-zahlen { gap: 20px !important; }
.dreisel-zahlen > .wp-block-column { background: var(--dr-gruen); color: #FFFFFF; border-radius: 22px; padding: 24px 26px; }
.dreisel-zahlen > .wp-block-column:nth-child(2) { background: var(--dr-blau); }
.dreisel-zahlen > .wp-block-column:nth-child(3) { background: var(--dr-erde); }
.dreisel-zahlen p.dk-zahl { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: clamp(36px, 4vw, 48px) !important; line-height: 1 !important; margin: 0 0 10px; }
.dreisel-zahlen p.is-style-zitatzeile { border-left-color: rgba(255,255,255,.5); font-size: 17px !important; line-height: 1.5 !important; margin: 0; }
/* Korrekturen Kapitelseite */
.dreisel-chronikseite .wp-block-post-content { --dk-innen: 780px; --dk-seite: max(0px, calc((100% - var(--dk-innen)) / 2)); }
.dreisel-chronikseite .wp-block-post-content > .alignright { margin-right: var(--dk-seite) !important; }
.dreisel-chronikseite .wp-block-post-content > .alignleft { margin-left: var(--dk-seite) !important; }
.dreisel-chronikseite .wp-block-post-content > p + p { margin-top: 1.1em !important; }
.dreisel-chronikseite .wp-block-image img { width: 100%; }
.dreisel-chronikseite .wp-block-image.alignleft, .dreisel-chronikseite .wp-block-image.alignright { width: min(46%, 340px); }
.dreisel-kapitelkopf .wp-block-cover__inner-container { margin: 0 auto !important; width: 100% !important; max-width: var(--dr-breite) !important; }
.dreisel-chronikseite .wp-block-post-content > .dreisel-umschalter,
.dreisel-chronikseite .wp-block-post-content > .dreisel-platt-umschalter { max-width: var(--dk-innen); margin-left: auto; margin-right: auto; }
.dreisel-chronikseite .wp-block-post-content > .dreisel-umschalter { display: flex; width: fit-content; margin-left: var(--dk-seite); }
.wp-block-group.is-style-damals-heute .wp-block-image { margin: 0; }
.wp-block-group.is-style-dunkel .wp-block-image.alignleft { margin: .3em 1.6em .8em 0 !important; }
.wp-block-group.is-style-notiz .wp-block-image.alignleft { width: 90px; margin: 0 1em .5em 0 !important; padding: 0; background: none; box-shadow: none; transform: none; }
.wp-block-gallery.is-style-album .wp-block-image img { height: 340px !important; object-fit: cover; }
@media (max-width: 600px) { .dreisel-chronikseite .wp-block-post-content > .alignright, .dreisel-chronikseite .wp-block-post-content > .alignleft { margin-left: 0 !important; margin-right: 0 !important; width: 100%; } .wp-block-gallery.is-style-album .wp-block-image img { height: auto !important; } }
.dreisel-spalten { gap: 32px !important; align-items: center; }
.dreisel-spalten .wp-block-image { margin: 0; }
.wp-block-group.dreisel-album { padding: clamp(24px, 4vw, 48px); }
.wp-block-group.dreisel-album h2.wp-block-heading { margin-top: 0 !important; }
.wp-block-image.is-style-dokument { max-width: 560px; margin-left: auto !important; margin-right: auto !important; }
.is-style-balken li .db-balken { background: #CFE3C1; opacity: 1; }
.is-style-balken.ist-diagramm li { color: var(--dr-erde); text-shadow: none; }
.wp-block-group.is-style-dunkel .wp-block-image.is-style-abzug figcaption,
.wp-block-group.is-style-dunkel .wp-block-image.is-style-zeitung figcaption { color: var(--dr-grau) !important; }
.dreisel-kapitelkopf .wp-block-cover__inner-container > p { line-height: 1.3; }
.dreisel-kapitelkopf .dk-zurueck-link { margin: 0 0 10px !important; }
.dreisel-kapitelkopf .dk-kapitelnr { margin: 0 0 6px !important; }
.wp-block-quote.is-style-zeitzeuge::before { top: -52px; font-size: 120px; }
.dreisel-zahlen p.dk-zahl { font-size: clamp(28px, 2.6vw, 38px) !important; hyphens: manual; overflow-wrap: normal; word-break: normal; }

/* Vereine: Reiter */
.dreisel-reiter-leiste { display: flex; gap: 8px; overflow-x: auto; padding: 4px 2px 12px; scrollbar-width: thin; }
.dreisel-reiter-leiste button { flex: 0 0 auto; border: 2px solid var(--dr-linie); background: #FFFFFF; color: var(--dr-erde); font: inherit; font-weight: 700; font-size: 16px; padding: 10px 18px; border-radius: 999px; cursor: pointer; }
.dreisel-reiter-leiste button[aria-selected="true"] { background: var(--dr-gruen); border-color: var(--dr-gruen); color: #FFFFFF; }
.dreisel-reiter-leiste button:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }
.dreisel-reiter.ist-reiter > .dreisel-reiter-panel:not(.is-aktiv) { display: none; }
.dreisel-reiter-panel { border-top: 1px solid var(--dr-linie); padding-top: 8px; }
.dreisel-reiter.ist-reiter > .dreisel-reiter-panel { border-top: 0; }
.dreisel-reiter-panel > h2.wp-block-heading:first-child { margin-top: .6em !important; }
.dreisel-reiter-panel > * + * { margin-block-start: 1.2em; }
.dreisel-reiter-panel > p { font-size: 19px; line-height: 1.75; }
.dreisel-reiter-panel::after { content: ""; display: table; clear: both; }
.dreisel-kapitelkopf.wp-block-cover { padding-left: 0 !important; padding-right: 0 !important; }
.dreisel-kapitelkopf .wp-block-cover__inner-container { padding-left: var(--dr-rand) !important; padding-right: var(--dr-rand) !important; box-sizing: border-box; }
.dreisel-chronikseite .wp-block-post-content > .dreisel-kapitelkopf.alignfull { margin-left: calc(-1 * var(--dr-rand)) !important; margin-right: calc(-1 * var(--dr-rand)) !important; width: auto !important; max-width: none !important; }
.wp-block-group.is-style-dunkel .wp-block-image.is-style-dokument figcaption { color: var(--dr-grau) !important; }

/* ==========================================================================
   Blocksatz für Fließtext (mit Silbentrennung, auf dem Handy linksbündig)
   ========================================================================== */
.wp-block-post-content > p:not([class*="is-style-"]):not([class*="has-text-align"]),
.wp-block-post-content > .wp-block-group > p:not([class*="is-style-"]):not([class*="has-text-align"]):not(.dk-zahl),
.wp-block-post-content .dreisel-reiter-panel > p:not([class*="is-style-"]):not([class*="has-text-align"]),
.wp-block-post-content .dreisel-abschnitt > p:not([class*="is-style-"]):not([class*="has-text-align"]):not(.dreisel-oberzeile),
.wp-block-post-content .dreisel-abschnitt .wp-block-column > p:not([class*="is-style-"]):not([class*="has-text-align"]):not(.dreisel-oberzeile),
.wp-block-quote p,
.wp-block-columns.is-style-platt p {
	text-align: justify;
	-webkit-hyphens: auto;
	hyphens: auto;
	hyphenate-limit-chars: 7 3 3;
	text-wrap: pretty;
}
.dreisel-kachel p, .dreisel-karte p, .dk-karte p, .wp-block-group.is-style-notiz p, .wp-block-group.is-style-steckbrief p,
.dreisel-kapitelkopf p, figcaption { text-align: left !important; }
@media (max-width: 600px) {
	.wp-block-post-content p, .wp-block-quote p { text-align: left !important; }
}

.wp-block-quote.is-style-zeitzeuge::before { top: -86px !important; }

/* ==========================================================================
   Luft: einheitlicher Abstands-Rhythmus
   ========================================================================== */
/* Abschnitte (Dreisel, Dorfchronik-Übersicht, Galerie …) */
.dreisel-abschnitt h2.wp-block-heading { margin-bottom: 20px !important; }
.dreisel-abschnitt > h3.wp-block-heading, .dreisel-abschnitt > * > h3.wp-block-heading { margin-top: 44px !important; margin-bottom: 16px !important; }
.dreisel-abschnitt > h3.wp-block-heading:first-child, .dreisel-abschnitt .wp-block-column > h3.wp-block-heading:first-child { margin-top: 0 !important; }
.dreisel-abschnitt > p + .wp-block-group, .dreisel-abschnitt > p + .wp-block-columns, .dreisel-abschnitt > * > p + .wp-block-group, .dreisel-abschnitt > * > p + .wp-block-columns,
.dreisel-abschnitt p + .wp-block-buttons, .dreisel-abschnitt > p + .wp-block-quote { margin-top: 28px !important; }
.dreisel-abschnitt > .wp-block-group + .wp-block-heading, .dreisel-abschnitt > .wp-block-columns + .wp-block-heading, .dreisel-abschnitt > * > .wp-block-group + .wp-block-heading, .dreisel-abschnitt > * > .wp-block-columns + .wp-block-heading { margin-top: 56px !important; }
.dreisel-abschnitt p { margin-bottom: 0; }
.dreisel-abschnitt p + p { margin-top: 16px !important; }

/* Kapitelseiten der Chronik */
.dreisel-chronikseite .wp-block-post-content > * + * { margin-block-start: 1.5em; }
.dreisel-chronikseite .wp-block-post-content > .dreisel-kapitelkopf { margin-bottom: 56px !important; }
.dreisel-chronikseite .wp-block-post-content > .dreisel-inhalt { margin-bottom: 40px !important; }
.dreisel-chronikseite .wp-block-post-content > .wp-block-image:not(.alignleft):not(.alignright),
.dreisel-chronikseite .wp-block-post-content > .wp-block-group,
.dreisel-chronikseite .wp-block-post-content > .wp-block-columns,
.dreisel-chronikseite .wp-block-post-content > .wp-block-quote { margin-top: 2.6em !important; margin-bottom: 2.6em !important; }
.dreisel-chronikseite .wp-block-post-content > .wp-block-image + p,
.dreisel-chronikseite .wp-block-post-content > .wp-block-group + p,
.dreisel-chronikseite .wp-block-post-content > .wp-block-columns + p,
.dreisel-chronikseite .wp-block-post-content > .wp-block-quote + p { margin-top: 0 !important; }
.dreisel-chronikseite h2.wp-block-heading { margin-top: 2.6em !important; margin-bottom: .7em !important; }
.dreisel-chronikseite .wp-block-group h2.wp-block-heading:first-child,
.dreisel-chronikseite .wp-block-group h3.wp-block-heading:first-child { margin-top: 0 !important; }
.dreisel-chronikseite h3.wp-block-heading { margin-top: 2em; margin-bottom: .6em; }
.dreisel-chronikseite figcaption { margin-top: 12px !important; }
.dreisel-chronikseite .wp-block-group > * + * { margin-block-start: 1em; }
.dreisel-chronikseite .wp-block-group.is-style-dialog > * + * { margin-block-start: 0; }
.dreisel-chronikseite .wp-block-quote.is-style-zeitzeuge p + p { margin-top: 1em; }
.dreisel-chronikseite .wp-block-columns { margin-bottom: 0; }
.dreisel-reiter-leiste { margin-bottom: 24px; }
.dreisel-kapitelnavi { margin-top: 80px; }

/* Beiträge */
.single .wp-block-post-content > * + * { margin-block-start: 1.2em; }
.single .wp-block-post-content { margin-top: 28px !important; }
.single .wp-block-post-content img { border-radius: 10px; }

@media (max-width: 600px) {
	.dreisel-abschnitt > h3.wp-block-heading, .dreisel-abschnitt > * > h3.wp-block-heading { margin-top: 36px !important; }
	.dreisel-chronikseite .wp-block-post-content > .wp-block-image:not(.alignleft):not(.alignright),
	.dreisel-chronikseite .wp-block-post-content > .wp-block-group,
	.dreisel-chronikseite .wp-block-post-content > .wp-block-columns,
	.dreisel-chronikseite .wp-block-post-content > .wp-block-quote { margin-top: 2em !important; margin-bottom: 2em !important; }
	.wp-block-columns.dreisel-spalten { gap: 24px !important; }
}

/* ==========================================================================
   Aktuelles mit Seitenleiste (Kategorien & Themen)
   ========================================================================== */
.dreisel-mit-seitenleiste { gap: 40px !important; align-items: flex-start !important; }
.dreisel-seitenleiste { position: sticky; top: 24px; background: var(--dr-lehm); border-radius: var(--dr-radius); padding: 24px 22px; }
.dreisel-seitenleiste h3.wp-block-heading { font-size: 15px !important; letter-spacing: .08em; text-transform: uppercase; color: var(--dr-grau); margin: 0 0 12px !important; }
.dreisel-seitenleiste h3.wp-block-heading:not(:first-child) { margin-top: 28px !important; }
.dreisel-kategorien { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.dreisel-kategorien li { margin: 0; display: flex; justify-content: space-between; align-items: center; background: #FFFFFF; border-radius: 12px; padding: 0 12px 0 0; font-size: 14px; color: var(--dr-grau); font-variant-numeric: tabular-nums; }
.dreisel-kategorien li a { flex: 1; padding: 10px 8px 10px 14px; color: var(--dr-erde); text-decoration: none; font-weight: 700; font-size: 16px; }
.dreisel-kategorien li:hover { background: var(--dr-hellgruen); }
.dreisel-kategorien li.current-cat { background: var(--dr-gruen); color: #FFFFFF; }
.dreisel-kategorien li.current-cat a { color: #FFFFFF; }
.dreisel-themen { display: flex; flex-wrap: wrap; gap: 6px; }
.dreisel-themen a { display: inline-block; padding: 5px 12px; border-radius: 999px; background: #FFFFFF; color: var(--dr-erde); text-decoration: none; font-weight: 600; font-size: 14px !important; }
.dreisel-themen a:hover { background: var(--dr-hellgruen); }
.dreisel-mit-seitenleiste .wp-block-query .wp-block-post-template { gap: 24px; }
@media (max-width: 781px) {
	.dreisel-seitenleiste { position: static; }
	.dreisel-seitenleiste-spalte { order: -1; }
	.dreisel-kategorien { flex-direction: row; flex-wrap: wrap; }
	.dreisel-kategorien li { padding-right: 10px; }
	.dreisel-kategorien li a { padding: 8px 6px 8px 12px; font-size: 15px; }
}

/* ==========================================================================
   „Mehr“-Links (Text endet auf →): als ruhige Pille statt blauem Link
   ========================================================================== */
a.dreisel-mehr { display: inline-flex; align-items: center; gap: .45em; padding: 8px 18px; border: 2px solid var(--dr-gruen); border-radius: 999px; color: var(--dr-gruen); background: transparent; text-decoration: none; font-weight: 700; font-size: 16px; line-height: 1.3; transition: background .15s, color .15s; }
a.dreisel-mehr:hover, a.dreisel-mehr:focus-visible { background: var(--dr-gruen); color: #FFFFFF; }
a.dreisel-mehr:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }
a.dreisel-mehr .dm-pfeil { transition: transform .15s; }
a.dreisel-mehr:hover .dm-pfeil { transform: translateX(3px); }
.dreisel-kopfzeile-zeile p:has(a.dreisel-mehr) { margin: 0; }
@media (prefers-reduced-motion: reduce) { a.dreisel-mehr, a.dreisel-mehr .dm-pfeil { transition: none; } }
@media (max-width: 781px) {
	.dreisel-seitenleiste { padding: 16px; }
	.dreisel-seitenleiste h3.wp-block-heading:not(:first-child), .dreisel-seitenleiste .dreisel-themen { display: none; }
	.dreisel-kategorien { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
	.dreisel-kategorien li { flex: 0 0 auto; }
}

/* 1.5.0 – Anfahrt: Karte mittig, gleich hoch wie die Kacheln --------------- */
#anfahrt .wp-block-columns { align-items: center !important; }
#anfahrt .wp-block-column { align-self: center; }
#anfahrt .dreisel-einbettung { min-height: 420px; box-shadow: 0 12px 32px rgba(61, 42, 30, .12); }
.dreisel-einbettung.ist-karte { display: block; padding: 0; }
.dreisel-karte-flaeche { width: 100%; height: 420px; }
@media (max-width: 781px) { .dreisel-karte-flaeche, #anfahrt .dreisel-einbettung { height: 340px; min-height: 340px; } }
.dreisel-pin { background: none; border: 0; }
.dreisel-pin .dp-nadel {
	position: absolute; left: 4px; top: 0;
	width: 36px; height: 36px;
	background: var(--dr-gelb);
	border: 3px solid var(--dr-erde);
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	box-shadow: 0 6px 14px rgba(0, 0, 0, .35);
	animation: dp-hops .6s ease-out 1;
}
.dreisel-pin .dp-punkt {
	position: absolute; left: 50%; top: 50%;
	width: 12px; height: 12px; margin: -6px 0 0 -6px;
	background: var(--dr-erde); border-radius: 50%;
}
@keyframes dp-hops { 0% { transform: translateY(-30px) rotate(-45deg); opacity: 0; } 100% { transform: rotate(-45deg); opacity: 1; } }
.dreisel-einbettung .leaflet-popup-content { font-size: 15px; line-height: 1.45; text-align: left; }
.dreisel-einbettung .leaflet-popup-content a { color: var(--dr-gruen); font-weight: 700; }

/* 1.5.0 – Kontaktformular (Contact Form 7) ---------------------------------- */
#kontakt .wpcf7 {
	background: var(--dr-weiss);
	border: 1px solid var(--dr-linie);
	border-radius: var(--dr-radius);
	padding: clamp(22px, 3vw, 36px);
	box-shadow: 0 14px 36px rgba(61, 42, 30, .08);
}
.wpcf7-form p { margin: 0 0 18px; text-align: left !important; }
.wpcf7-form label { display: block; font-family: var(--dr-ueberschrift); font-weight: 700; font-size: 15px; color: var(--dr-erde); }
.wpcf7-form .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"], .wpcf7-form textarea, .wpcf7-form select {
	width: 100%; box-sizing: border-box;
	padding: 13px 16px;
	font: inherit; font-size: 17px; font-weight: 400; color: var(--dr-erde);
	background: #FBF9F4;
	border: 1.5px solid var(--dr-linie);
	border-radius: 12px;
	transition: border-color .15s, box-shadow .15s, background .15s;
}
.wpcf7-form textarea { min-height: 150px; resize: vertical; }
.wpcf7-form input:hover, .wpcf7-form textarea:hover { border-color: #CFC6B2; }
.wpcf7-form input:focus, .wpcf7-form textarea:focus, .wpcf7-form select:focus {
	outline: none; background: var(--dr-weiss);
	border-color: var(--dr-gruen);
	box-shadow: 0 0 0 4px rgba(63, 111, 46, .18);
}
.wpcf7-form input[type="submit"], .wpcf7-form .wpcf7-submit {
	appearance: none; cursor: pointer;
	padding: 14px 30px;
	font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 17px;
	color: var(--dr-weiss); background: var(--dr-gruen);
	border: 0; border-radius: 999px;
	box-shadow: 0 6px 16px rgba(63, 111, 46, .28);
	transition: transform .15s, box-shadow .15s, background .15s;
}
.wpcf7-form .wpcf7-submit:hover { background: #335C25; transform: translateY(-1px); box-shadow: 0 10px 22px rgba(63, 111, 46, .32); }
.wpcf7-form .wpcf7-not-valid { border-color: #B3412F !important; }
.wpcf7-not-valid-tip { font-size: 14px; color: #B3412F; margin-top: 6px; }
.wpcf7 form .wpcf7-response-output { margin: 8px 0 0; padding: 12px 16px; border-radius: 12px; font-size: 15px; }
.wpcf7-acceptance label, .wpcf7-list-item label { font-weight: 400; font-family: inherit; display: flex; gap: 10px; align-items: flex-start; }
.wpcf7-spinner { vertical-align: middle; }
.dreisel-kontaktdaten a { color: var(--dr-gruen); font-weight: 700; text-decoration: none; border-bottom: 2px solid rgba(63, 111, 46, .3); }
.dreisel-kontaktdaten a:hover { border-color: var(--dr-gruen); }

/* 1.5.0 – Galerie „Mosaik“ mit Lightbox ------------------------------------- */
.wp-block-gallery.is-style-mosaik {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: clamp(110px, 12vw, 170px);
	gap: 10px !important;
	margin-top: 0;
}
.wp-block-gallery.is-style-mosaik > figure.wp-block-image {
	width: auto !important; margin: 0 !important;
	position: relative; overflow: hidden;
	border-radius: 14px;
}
.wp-block-gallery.is-style-mosaik > figure:first-child { grid-column: span 2; grid-row: span 2; }
.wp-block-gallery.is-style-mosaik > figure.dm-versteckt { display: none; }
.wp-block-gallery.is-style-mosaik figure a, .wp-block-gallery.is-style-mosaik figure img {
	display: block; width: 100% !important; height: 100% !important; object-fit: cover;
}
.wp-block-gallery.is-style-mosaik figure img { transition: transform .5s ease, filter .3s; }
.wp-block-gallery.is-style-mosaik figure:hover img { transform: scale(1.05); filter: saturate(1.1); }
.wp-block-gallery.is-style-mosaik figcaption {
	position: absolute; left: 0; right: 0; bottom: 0;
	margin: 0; padding: 26px 12px 9px !important;
	font-size: 13px !important; line-height: 1.3; text-align: left !important;
	color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.6)) !important;
	opacity: 0; transition: opacity .25s; pointer-events: none;
	-webkit-backdrop-filter: none !important; backdrop-filter: none !important; -webkit-mask-image: none !important; mask-image: none !important; max-height: none !important; overflow: visible !important;
}
.wp-block-gallery.is-style-mosaik figure:hover figcaption { opacity: 1; }
.wp-block-gallery.is-style-mosaik .dm-mehr {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	background: rgba(47, 74, 36, .62); color: #fff; pointer-events: none;
	font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 20px;
}
@media (max-width: 600px) {
	.wp-block-gallery.is-style-mosaik { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 120px; }
	.wp-block-gallery.is-style-mosaik figcaption { opacity: 1; }
}

.dreisel-lb {
	position: fixed; inset: 0; z-index: 99999;
	background: rgba(20, 16, 12, .94);
	display: flex; align-items: center; justify-content: center;
	padding: 56px 72px;
}
.dreisel-lb[hidden] { display: none; }
body.dreisel-lb-offen { overflow: hidden; }
.dreisel-lb figure { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; }
.dreisel-lb img { max-width: 100%; max-height: calc(100vh - 150px); object-fit: contain; border-radius: 6px; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.dreisel-lb figcaption { display: flex; gap: 18px; justify-content: space-between; width: 100%; margin-top: 14px; color: #EDE6D6; font-size: 16px; }
.dreisel-lb .lb-zahl { opacity: .7; white-space: nowrap; }
.dreisel-lb button {
	position: absolute; border: 0; cursor: pointer;
	width: 52px; height: 52px; border-radius: 50%;
	background: rgba(255,255,255,.12); color: #fff; font-size: 34px; line-height: 1;
	transition: background .15s;
}
.dreisel-lb button:hover, .dreisel-lb button:focus-visible { background: var(--dr-gelb); color: var(--dr-erde); outline: none; }
.dreisel-lb .lb-zu { top: 16px; right: 16px; font-size: 30px; }
.dreisel-lb .lb-vor { left: 14px; top: 50%; transform: translateY(-50%); }
.dreisel-lb .lb-nach { right: 14px; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) {
	.dreisel-lb { padding: 60px 8px 90px; }
	.dreisel-lb .lb-vor, .dreisel-lb .lb-nach { top: auto; bottom: 18px; transform: none; }
	.dreisel-lb .lb-vor { left: calc(50% - 64px); } .dreisel-lb .lb-nach { right: calc(50% - 64px); }
}
.wp-block-gallery.is-style-mosaik figure.wp-block-image::before,
.wp-block-gallery.is-style-mosaik figure.wp-block-image:has(figcaption)::before { content: none !important; display: none !important; }
.wp-block-gallery.is-style-mosaik figure:has(.dm-mehr) figcaption { display: none; }
@media (max-width: 600px) {
	.wp-block-gallery.is-style-mosaik > figure:first-child { grid-row: span 2; }
	.wp-block-gallery.is-style-mosaik > figure:nth-child(6) { grid-column: span 2; }
}

/* 1.5.1 – Bilderraster (wie die alte Impressionen-Seite) mit Lightbox ------- */
.wp-block-gallery.is-style-raster {
	display: flex !important; flex-wrap: wrap; gap: 8px !important;
}
.wp-block-gallery.is-style-raster > figure.wp-block-image {
	flex: 1 1 auto !important; width: auto !important; height: clamp(130px, 15vw, 190px);
	margin: 0 !important; position: relative; overflow: hidden; border-radius: 10px;
}
.wp-block-gallery.is-style-raster > figure.dm-versteckt { display: none; }
.wp-block-gallery.is-style-raster > figure::before { content: none !important; display: none !important; }
.wp-block-gallery.is-style-raster figure a { display: block; height: 100%; }
.wp-block-gallery.is-style-raster figure img {
	height: 100% !important; width: 100% !important; min-width: 120px; object-fit: cover;
	transition: transform .5s ease;
}
.wp-block-gallery.is-style-raster figure:hover img { transform: scale(1.06); }
.wp-block-gallery.is-style-raster figcaption {
	position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 22px 10px 7px !important;
	font-size: 13px !important; line-height: 1.3; text-align: left !important; color: #fff;
	background: linear-gradient(transparent, rgba(0,0,0,.6)) !important;
	-webkit-backdrop-filter: none !important; backdrop-filter: none !important; mask-image: none !important; -webkit-mask-image: none !important;
	max-height: none !important; overflow: visible !important;
	opacity: 0; transition: opacity .25s; pointer-events: none;
}
.wp-block-gallery.is-style-raster figure:hover figcaption { opacity: 1; }
.wp-block-gallery.is-style-raster::after { content: ""; flex-grow: 999; }
@media (max-width: 600px) { .wp-block-gallery.is-style-raster > figure.wp-block-image { height: 110px; } }
.dreisel-alle-fotos {
	display: block; margin: 22px auto 0; padding: 12px 26px; cursor: pointer;
	font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 16px;
	color: var(--dr-gruen); background: transparent;
	border: 2px solid var(--dr-gruen); border-radius: 999px;
	transition: background .15s, color .15s;
}
.dreisel-alle-fotos:hover { background: var(--dr-gruen); color: var(--dr-weiss); }
.dreisel-impressionen-titel { margin-top: clamp(40px, 6vw, 72px) !important; }

/* 1.6.0 – Suche ------------------------------------------------------------- */
.dreisel-suche-knopf {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0; cursor: pointer;
	border: 0; border-radius: 999px;
	background: var(--dr-lehm); color: var(--dr-erde);
	transition: background .15s, color .15s;
}
.dreisel-suche-knopf:hover, .dreisel-suche-knopf[aria-expanded="true"] { background: var(--dr-gruen); color: var(--dr-weiss); }
.dreisel-suche-knopf:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }
.dreisel-kopf-rechts { align-items: center; }
.dreisel-suchleiste {
	max-width: var(--dr-breite); margin: 0 auto !important;
	display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease, padding .25s ease;
	padding: 0;
}
.dreisel-suchleiste > * { overflow: hidden; min-height: 0; margin: 0 !important; }
.dreisel-suchleiste.ist-offen { grid-template-rows: 1fr; padding: 14px 0 6px; }
.dreisel-suchfeld .wp-block-search__inside-wrapper {
	display: flex; gap: 8px; padding: 0 !important; border: 0 !important; background: none;
}
.dreisel-suchfeld .wp-block-search__input {
	flex: 1; min-width: 0;
	padding: 13px 18px; font: inherit; font-size: 17px; color: var(--dr-erde);
	background: #FBF9F4; border: 1.5px solid var(--dr-linie) !important; border-radius: 999px;
}
.dreisel-suchfeld .wp-block-search__input:focus { outline: none; border-color: var(--dr-gruen) !important; box-shadow: 0 0 0 4px rgba(63,111,46,.18); background: #fff; }
.dreisel-suchfeld .wp-block-search__button {
	margin: 0; padding: 12px 24px; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--dr-gruen); color: var(--dr-weiss);
	font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 16px;
}
.dreisel-suchfeld .wp-block-search__button:hover { background: #335C25; }
@media (max-width: 600px) {
	.dreisel-suche-knopf { width: 40px; height: 40px; }
	.dreisel-suchfeld .wp-block-search__button { padding: 12px 16px; }
	.dreisel-suchfeld .wp-block-search__input { font-size: 16px; padding: 12px 14px; }
}

/* Suchergebnisse */
.dreisel-suchseite .wp-block-query-title { font-size: clamp(28px, 4vw, 40px); margin-bottom: 18px; }
.dreisel-suchseite .dreisel-suchfeld { margin-bottom: 28px; }
.dreisel-trefferliste { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; }
.dreisel-treffer {
	display: grid; grid-template-columns: 120px 1fr; gap: 18px; align-items: start;
	background: var(--dr-weiss); border: 1px solid var(--dr-linie); border-radius: 16px; padding: 14px;
}
.dreisel-treffer:not(:has(.wp-block-post-featured-image)) { grid-template-columns: 1fr; }
.dreisel-treffer .wp-block-post-featured-image { margin: 0; width: 120px; height: 90px; border-radius: 10px; overflow: hidden; }
.dreisel-treffer .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.dreisel-treffer-text > * { margin: 0 0 4px !important; }
.dreisel-treffer-art { font-size: 13px !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dr-gruen); }
.dreisel-treffer .wp-block-post-title { font-size: 21px !important; line-height: 1.3; }
.dreisel-treffer .wp-block-post-title a { text-decoration: none; color: var(--dr-erde); }
.dreisel-treffer .wp-block-post-title a:hover { color: var(--dr-gruen); }
.dreisel-treffer .wp-block-post-excerpt { font-size: 16px; color: var(--dr-grau); text-align: left !important; }
.dreisel-treffer .wp-block-post-excerpt__more-link { display: none; }
@media (max-width: 600px) {
	.dreisel-treffer { grid-template-columns: 84px 1fr; gap: 12px; padding: 12px; }
	.dreisel-treffer .wp-block-post-featured-image { width: 84px; height: 70px; }
	.dreisel-treffer .wp-block-post-title { font-size: 18px !important; }
}
.dreisel-suchseite .wp-block-query-pagination { margin-top: 28px; gap: 8px; font-weight: 700; }
.dreisel-suchseite .wp-block-query-pagination a, .dreisel-suchseite .page-numbers { padding: 6px 12px; border-radius: 999px; text-decoration: none; }
.dreisel-suchseite .page-numbers.current { background: var(--dr-gruen); color: #fff; }

/* 1.6.0 – Termine in der Seitenleiste (Startseite) ------------------------------ */
.dreisel-termine-kompakt { display: flex; flex-direction: column; gap: 10px; }
.dtk-termin {
	display: flex; gap: 14px; align-items: center;
	background: var(--dr-weiss); border-radius: 14px; padding: 10px 12px;
	text-decoration: none; color: var(--dr-erde);
	transition: transform .15s, box-shadow .15s;
}
.dtk-termin:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(61,42,30,.1); }
.dtk-datum {
	flex: 0 0 52px; height: 56px; border-radius: 10px;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	background: var(--dr-hellgruen); color: var(--dr-gruen); line-height: 1.05;
}
.dtk-datum .dd-tag { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 22px; }
.dtk-datum .dd-monat { font-size: 12px; font-weight: 700; text-transform: uppercase; }
.dtk-text { display: flex; flex-direction: column; min-width: 0; }
.dtk-text strong { font-size: 17px; line-height: 1.25; }
.dtk-zusatz { font-size: 14px; color: var(--dr-grau); }
.dtk-ober { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--dr-gelb); }
.dtk-termin.ist-naechster { background: var(--dr-gruen); color: var(--dr-weiss); }
.dtk-termin.ist-naechster .dtk-datum { background: var(--dr-gelb); color: var(--dr-erde); }
.dtk-termin.ist-naechster .dtk-zusatz { color: #DCE8D3; }
.dtk-alle { margin: 6px 0 0 !important; }
.dtk-alle a { font-weight: 700; color: var(--dr-gruen); text-decoration: none; }
@media (max-width: 781px) {
	.dreisel-termine-spalte { order: 0 !important; }
}

/* 1.6.0 – Ersatzbilder in Beitragskarten --------------------------------------- */
.wp-block-post-featured-image.dreisel-bild-ist-ersatzbild img { filter: saturate(.85) brightness(.92); }
.dreisel-ersatz-kat {
	position: absolute; left: 12px; bottom: 12px;
	padding: 5px 12px; border-radius: 999px;
	background: rgba(255,255,255,.92); color: var(--dr-gruen);
	font-size: 13px; font-weight: 800; letter-spacing: .02em;
	pointer-events: none;
}
.dreisel-karte .wp-block-post-featured-image { overflow: hidden; }
.dreisel-karte .wp-block-post-featured-image img { transition: transform .5s ease; }
.dreisel-karte:hover .wp-block-post-featured-image img { transform: scale(1.04); }

/* 1.6.0 – Galerie: Jahresleiste */
.dreisel-jahresleiste a { font-variant-numeric: tabular-nums; padding: 8px 14px; }
.dreisel-sprungleiste a.ist-aktiv { background: var(--dr-gruen); color: var(--dr-weiss); }
.dreisel-galerie-jahr { scroll-margin-top: 90px; }
.dreisel-treffer .dreisel-ersatz-kat { display: none; }
.dreisel-treffer-art { font-size: 13px !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dr-gruen); margin: 0 0 4px !important; }
/* 1.6.1 – Kalender (The Events Calendar) im Dreisel-Stil --------------------- */
:root {
	--tec-color-accent-primary: #3F6F2E;
	--tec-color-accent-primary-hover: #335C25;
	--tec-color-accent-primary-active: #335C25;
	--tec-color-accent-primary-background: #E5EEDD;
	--tec-color-button-primary: #3F6F2E;
	--tec-color-button-primary-hover: #335C25;
	--tec-color-link-accent: #3F6F2E;
	--tec-color-link-accent-hover: #335C25;
	--tec-color-text-primary: #3D2A1E;
	--tec-color-text-secondary: #5C554B;
	--tec-color-border-default: #E6E0D2;
	--tec-color-border-secondary: #E6E0D2;
	--tec-color-background: transparent;
	--tec-font-family-sans-serif: var(--wp--preset--font-family--inter, Inter, system-ui, sans-serif);
	--tec-font-family-base: var(--wp--preset--font-family--inter, Inter, system-ui, sans-serif);
}
.tec-block__archive-events, .tec-block__single-event,
.tribe-events-pg-template, #tribe-events-pg-template {
	max-width: var(--dr-breite) !important; margin: 0 auto !important;
	padding: clamp(28px, 5vw, 56px) var(--dr-rand) clamp(40px, 6vw, 72px) !important;
	box-sizing: border-box;
}
.tribe-common .tribe-common-h1, .tribe-common .tribe-common-h2, .tribe-common .tribe-common-h3,
.tribe-common .tribe-common-h4, .tribe-common .tribe-common-h5, .tribe-common .tribe-common-h6,
.tribe-events-single-event-title, .tribe-events-calendar-list__event-title {
	font-family: var(--dr-ueberschrift) !important; font-weight: 800 !important; color: var(--dr-erde);
}
/* Kopf über der Liste (Einstellung „HTML vor dem Kalender“) */
.dreisel-termine-kopf { max-width: var(--dr-breite); margin: 0 auto 8px; padding: clamp(28px, 5vw, 56px) var(--dr-rand) 0; box-sizing: border-box; }
.dreisel-termine-kopf .dreisel-oberzeile { margin: 0 0 6px; color: var(--dr-gruen); }
.dreisel-termine-kopf h1 { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: clamp(34px, 5vw, 52px); margin: 0 0 8px; color: var(--dr-erde); }
.dreisel-termine-kopf p:last-child { margin: 0; color: var(--dr-grau); font-size: 18px; }
.tec-block__archive-events:has(+ *), .dreisel-termine-kopf + .tec-block__archive-events { padding-top: 12px !important; }

/* Leiste mit Suche / Ansicht */
.tribe-events .tribe-events-c-events-bar--border { border-radius: 999px; border-color: var(--dr-linie); background: var(--dr-weiss); }
.tribe-events .tribe-events-c-top-bar__nav-link, .tribe-events .tribe-events-c-top-bar__datepicker-button { color: var(--dr-erde); }
.tribe-common .tribe-common-c-btn, .tribe-common a.tribe-common-c-btn {
	background: var(--dr-gruen) !important; border-radius: 999px !important; font-family: var(--dr-ueberschrift); font-weight: 800;
}
.tribe-events .tribe-events-c-top-bar__today-button { border-radius: 999px; border-color: var(--dr-linie); color: var(--dr-erde); }

/* Monatstrenner */
.tribe-events .tribe-events-calendar-list__month-separator { margin-top: 28px; }
.tribe-events .tribe-events-calendar-list__month-separator-text {
	font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 15px; letter-spacing: .1em; text-transform: uppercase; color: var(--dr-gruen);
	background: var(--dr-hellgruen); padding: 6px 14px; border-radius: 999px;
}
.tribe-events .tribe-events-calendar-list__month-separator:after { background-color: var(--dr-linie); }

/* Termin-Zeile als Karte */
.tribe-events .tribe-events-calendar-list__event-row {
	background: var(--dr-weiss); border: 1px solid var(--dr-linie); border-radius: 18px;
	margin: 14px 0 0 !important; padding: 18px 18px 18px 0; align-items: center;
	transition: box-shadow .15s, transform .15s;
}
.tribe-events .tribe-events-calendar-list__event-row:hover { box-shadow: 0 10px 26px rgba(61,42,30,.1); transform: translateY(-1px); }
.tribe-events .tribe-events-calendar-list__event-date-tag { display: flex; justify-content: center; }
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
	width: 66px; height: 72px; border-radius: 14px; padding: 0;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	background: var(--dr-hellgruen); color: var(--dr-gruen);
}
.tribe-events .tribe-events-calendar-list__event-date-tag-weekday { color: var(--dr-gruen); font-weight: 800; font-size: 12px; letter-spacing: .06em; }
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum { color: var(--dr-gruen); font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 28px; line-height: 1; }
.tribe-events .tribe-events-calendar-list__event-row:first-of-type .tribe-events-calendar-list__event-date-tag-datetime,
.tribe-events .tribe-events-calendar-list__month-separator:first-child + .tribe-events-calendar-list__event-row .tribe-events-calendar-list__event-date-tag-datetime { background: var(--dr-gelb); }
.tribe-events .tribe-events-calendar-list__event-title { font-size: 22px !important; margin: 2px 0 4px !important; }
.tribe-events .tribe-events-calendar-list__event-title-link { color: var(--dr-erde) !important; text-decoration: none !important; border: 0 !important; }
.tribe-events .tribe-events-calendar-list__event-title-link:hover { color: var(--dr-gruen) !important; }
.tribe-events .tribe-events-calendar-list__event-datetime { color: var(--dr-gruen); font-weight: 700; font-size: 15px; }
.tribe-events .tribe-events-calendar-list__event-venue { color: var(--dr-grau); font-size: 15px; font-style: normal; }
.tribe-events .tribe-events-calendar-list__event-description { color: var(--dr-grau); font-size: 16px; margin-top: 6px; }
.tribe-events .tribe-events-calendar-list__event-description p { margin: 0; }
.tribe-events .tribe-events-calendar-list__event-featured-image { border-radius: 12px; }
.tribe-events .tribe-events-c-nav__list { margin-top: 24px; }
.tribe-events .tribe-events-c-subscribe-dropdown__button { border-radius: 999px !important; border-color: var(--dr-gruen) !important; color: var(--dr-gruen) !important; }
.tribe-events .tribe-events-c-subscribe-dropdown__button:hover, .tribe-events .tribe-events-c-subscribe-dropdown__button:focus-within { background: var(--dr-gruen) !important; color: #fff !important; }

/* Einzelner Termin */
.tribe-events-single .tribe-events-back a { display: inline-flex; padding: 8px 16px; border-radius: 999px; background: var(--dr-lehm); color: var(--dr-erde) !important; text-decoration: none; font-weight: 700; font-family: var(--dr-ueberschrift); }
.tribe-events-single .tribe-events-single-event-title { font-size: clamp(32px, 5vw, 48px) !important; line-height: 1.1; margin: 18px 0 10px !important; }
.tribe-events-single .tribe-events-schedule {
	display: inline-flex; flex-wrap: wrap; gap: 6px 12px; align-items: center;
	background: var(--dr-gruen); color: #fff; border-radius: 14px; padding: 12px 18px; margin: 4px 0 22px !important;
}
.tribe-events-single .tribe-events-schedule h2, .tribe-events-single .tribe-events-schedule .tribe-events-schedule__datetime { color: #fff !important; font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 19px !important; margin: 0; }
.tribe-events-single .tribe-events-single-event-description { font-size: 19px; line-height: 1.65; color: var(--dr-erde); }
.tribe-events-single .tribe-events-event-meta {
	background: var(--dr-lehm); border: 0 !important; border-radius: var(--dr-radius); padding: 8px 10px; margin-top: 28px;
}
.tribe-events-single .tribe-events-event-meta .tribe-events-single-section-title { font-family: var(--dr-ueberschrift); font-weight: 800; letter-spacing: .08em; font-size: 14px; color: var(--dr-gruen); }
.tribe-events-single .tribe-events-event-meta dt, .tribe-events-single .tribe-events-event-meta .tribe-events-meta-label { font-weight: 700; color: var(--dr-erde); }
.tribe-events-single .tribe-events-event-meta abbr { text-decoration: none; border: 0; }
.tribe-events-single .tribe-events-sub-nav a { color: var(--dr-gruen); font-weight: 700; text-decoration: none; }
.tribe-events-single .tribe-events-nav-pagination { border-top: 1px solid var(--dr-linie); margin-top: 24px; padding-top: 12px; }

/* 1.6.1 – Sprungleisten ohne Scrollbalken ------------------------------------- */
.dsl-huelle { position: relative; max-width: var(--dr-breite); margin: 0 auto; }
.dreisel-sprungleiste ul { scrollbar-width: none; -ms-overflow-style: none; scroll-behavior: smooth; }
.dreisel-sprungleiste ul::-webkit-scrollbar { display: none; }
.dsl-pfeil {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
	width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--dr-linie);
	background: var(--dr-weiss); color: var(--dr-erde); font-size: 24px; line-height: 1; cursor: pointer;
	box-shadow: 0 4px 12px rgba(61,42,30,.15);
	display: none; align-items: center; justify-content: center; padding: 0 0 3px;
}
.dsl-links { left: -6px; } .dsl-rechts { right: -6px; }
.dsl-huelle.kann-links .dsl-links, .dsl-huelle.kann-rechts .dsl-rechts { display: flex; }
.dsl-huelle.kann-links ul { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px); mask-image: linear-gradient(90deg, transparent 0, #000 48px); }
.dsl-huelle.kann-rechts ul { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 48px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 48px), transparent); }
.dsl-huelle.kann-links.kann-rechts ul { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 48px), transparent); mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 48px), transparent); }
/* Galerie: am PC alle Jahre sichtbar (zwei Zeilen), am Handy wischen/Pfeile */
@media (min-width: 782px) {
	.dreisel-jahresleiste ul { flex-wrap: wrap; overflow: visible; justify-content: center; gap: 6px; }
	.dreisel-jahresleiste a { padding: 6px 13px; font-size: 15px; }
	.dreisel-jahresleiste .dsl-pfeil { display: none !important; }
	.dreisel-jahresleiste ul { -webkit-mask-image: none !important; mask-image: none !important; }
}
.dreisel-beitritt-hinweis { font-size: 16px !important; opacity: .92; }
.dreisel-beitritt-hinweis a { color: inherit; font-weight: 700; }
/* Kopfzeile: auf mittleren Bildschirmen „Mitglied werden“ ausblenden, damit das Menü in eine Zeile passt */
@media (max-width: 1060px) { .wp-block-buttons.dreisel-knopf-mitglied { display: none !important; } }

/* 1.6.2 – Handy-Menü ---------------------------------------------------------- */
.dhm-kopf, .dhm-mehr, .dhm-symbol, .dhm-unter, .dhm-pfeil { display: none; }
.wp-block-navigation__responsive-container-open {
	width: 44px; height: 44px; border-radius: 999px; background: var(--dr-lehm) !important; color: var(--dr-erde);
	display: inline-flex; align-items: center; justify-content: center;
}
.wp-block-navigation__responsive-container-open:hover { background: var(--dr-gruen) !important; color: #fff; }
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--dr-lehm) !important; color: var(--dr-erde) !important;
	padding: 0 !important; animation: dhm-ein .22s ease-out;
}
@keyframes dhm-ein { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.is-menu-open .wp-block-navigation__responsive-close { max-width: 560px; margin: 0 auto; }
.is-menu-open .wp-block-navigation__responsive-dialog { padding: 18px 18px 28px; position: relative; }
.is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute; top: 24px !important; right: 18px !important; z-index: 2;
	width: 44px; height: 44px; border-radius: 999px; background: var(--dr-weiss) !important; color: var(--dr-erde);
	display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 3px 10px rgba(61,42,30,.12);
}
.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0 !important; align-items: stretch !important; gap: 0 !important; }
.is-menu-open .dhm-kopf { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; padding: 8px 56px 0 0; }
.is-menu-open .dhm-kopf img { width: 52px; height: 52px; }
.is-menu-open .dhm-kopf span { display: flex; flex-direction: column; line-height: 1.1; }
.is-menu-open .dhm-kopf small { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--dr-grau); }
.is-menu-open .dhm-kopf strong { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 24px; color: var(--dr-gruen); }
.is-menu-open ul.dreisel-menue, .is-menu-open .wp-block-navigation__container {
	display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 10px !important; width: 100%;
}
.is-menu-open .wp-block-navigation-item { width: 100%; }
.is-menu-open .wp-block-navigation-item__content {
	display: grid !important; grid-template-columns: 48px 1fr auto; grid-template-rows: auto auto; column-gap: 14px; align-items: center;
	width: 100%; box-sizing: border-box; padding: 14px 16px !important;
	background: var(--dr-weiss); border: 0 !important; border-radius: 18px;
	box-shadow: 0 2px 0 rgba(61,42,30,.05);
	color: var(--dr-erde) !important; text-decoration: none;
	transition: transform .12s, box-shadow .12s;
}
.is-menu-open .wp-block-navigation-item__content:active { transform: scale(.98); }
.is-menu-open .wp-block-navigation-item__content:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }
.is-menu-open .dhm-symbol {
	display: flex; grid-row: 1 / span 2; width: 48px; height: 48px; border-radius: 14px;
	align-items: center; justify-content: center; background: var(--dr-hellgruen); color: var(--dr-gruen);
}
.is-menu-open .wp-block-navigation-item__label { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 22px; line-height: 1.15; align-self: end; }
.is-menu-open .dhm-unter { display: block; grid-column: 2; font-size: 14px; color: var(--dr-grau); align-self: start; text-align: left; }
.is-menu-open .dhm-pfeil { display: block; grid-column: 3; grid-row: 1 / span 2; font-size: 20px; color: var(--dr-gruen); }
.is-menu-open .wp-block-navigation-item__content[aria-current="page"],
.is-menu-open .current-menu-item > .wp-block-navigation-item__content { background: var(--dr-gruen); color: #fff !important; }
.is-menu-open [aria-current="page"] .dhm-symbol { background: rgba(255,255,255,.18); color: #fff; }
.is-menu-open [aria-current="page"] .dhm-unter, .is-menu-open [aria-current="page"] .dhm-pfeil { color: #DCE8D3; }
.is-menu-open .dhm-mehr { display: flex; flex-direction: column; gap: 12px; margin-top: 22px; }
.dhm-suche { display: flex; gap: 8px; }
.dhm-suche input {
	flex: 1; min-width: 0; padding: 13px 18px; font: inherit; font-size: 16px;
	border: 1.5px solid var(--dr-linie); border-radius: 999px; background: var(--dr-weiss); color: var(--dr-erde);
}
.dhm-suche input:focus { outline: none; border-color: var(--dr-gruen); box-shadow: 0 0 0 4px rgba(63,111,46,.18); }
.dhm-suche button {
	width: 50px; flex: 0 0 50px; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--dr-gruen); color: #fff; display: inline-flex; align-items: center; justify-content: center;
}
.dhm-mitglied {
	display: block; text-align: center; padding: 15px 20px; border-radius: 999px;
	background: var(--dr-gelb); color: var(--dr-erde) !important; text-decoration: none;
	font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 18px;
}
.dhm-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 18px; margin-top: 4px; }
.dhm-links a { color: var(--dr-gruen) !important; font-weight: 700; font-size: 15px; text-decoration: none; padding: 6px 2px; }
.is-menu-open .wp-block-navigation-item__content:focus { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }

/* 1.6.3 – Menü-Knopf mit neuem Menü auch auf Tablets und schmalen Browserfenstern (bis 1000 px) */
@media (min-width: 600px) and (max-width: 1000px) {
	.dreisel-menue .wp-block-navigation__responsive-container-open:not(.always-shown) { display: inline-flex !important; }
	.dreisel-menue .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.dreisel-menue .wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important; position: fixed !important; inset: 0 !important; z-index: 100000;
		overflow: auto; flex-direction: column;
	}
	.dreisel-menue .is-menu-open .wp-block-navigation__responsive-container-close { display: inline-flex !important; }
	.dreisel-menue .is-menu-open .wp-block-navigation__responsive-container-content { display: flex !important; flex-direction: column; }
}

/* =====================================================================
   1.7.0 – Dorfchronik überarbeitet
   ===================================================================== */

/* Hervorhebungen: dezent statt gelb */
.dreisel-chronikseite mark {
	background: linear-gradient(transparent 62%, rgba(63, 111, 46, .16) 62%);
	color: inherit; font-weight: 600; padding: 0 1px; border-radius: 0;
}

/* Abstand zwischen letztem Absatz und „Voriges/Nächstes Kapitel“ */
.dreisel-chronikseite .wp-block-post-content { padding-bottom: clamp(48px, 7vw, 88px); }
.dreisel-chronikseite .wp-block-post-content > *:last-child { margin-bottom: 0 !important; }
.dreisel-chronikseite .wp-block-post-content::after { content: ""; display: block; clear: both; }

/* Kästen nie neben/über schwebende Bilder schieben */
.dreisel-chronikseite .wp-block-group[class*="is-style-"],
.dreisel-chronikseite .wp-block-columns,
.dreisel-chronikseite .dk-geschichten,
.dreisel-chronikseite .dk-zeitzeugnis,
.dreisel-chronikseite h2.wp-block-heading { clear: both; }

/* Kleine alte Fotos nicht aufblasen */
.dreisel-chronikseite figure.ist-klein { text-align: center; }
.dreisel-chronikseite figure.ist-klein img { margin-inline: auto; }
.dreisel-chronikseite figure.alignleft.ist-klein img, .dreisel-chronikseite figure.alignright.ist-klein img { margin-inline: 0; }

/* Kapitelkopf: Bildposition darf eingestellt werden */
.dreisel-kapitelkopf .wp-block-cover__image-background { object-position: var(--dk-fokus, 50% 50%); }

/* ---------- Steckbrief = Karteikarte (statt beige/gelb) ---------- */
.wp-block-group.is-style-steckbrief {
	background: var(--dr-weiss);
	border: 1px solid var(--dr-linie);
	border-top: 6px solid var(--dr-gruen);
	border-radius: 18px;
	padding: 22px 26px 18px !important;
	box-shadow: 0 10px 28px rgba(61, 42, 30, .08);
	position: relative;
}
.wp-block-group.is-style-steckbrief > p:first-child strong:only-child,
.wp-block-group.is-style-steckbrief .dk-karte-titel {
	display: block; font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 19px; color: var(--dr-gruen);
	margin-bottom: 4px;
}
.wp-block-group.is-style-steckbrief ul { list-style: none; padding: 0; margin: 8px 0 0; columns: 2 240px; column-gap: 32px; }
.wp-block-group.is-style-steckbrief li {
	break-inside: avoid; padding: 7px 0 7px 22px; position: relative;
	border-bottom: 1px dashed var(--dr-linie); font-size: 17px; line-height: 1.4;
}
.wp-block-group.is-style-steckbrief li::before {
	content: ""; position: absolute; left: 2px; top: 15px; width: 8px; height: 8px; border-radius: 50%; background: var(--dr-gruen);
}
.wp-block-group.is-style-steckbrief > p:not(:first-child) { font-size: 17px; }
.wp-block-group.is-style-steckbrief .dk-kasten-text { font-size: 17px !important; color: var(--dr-erde); margin-bottom: 4px !important; }
.wp-block-group.is-style-steckbrief .dk-kasten-fuss { margin-top: 12px !important; padding-top: 12px; border-top: 2px solid var(--dr-hellgruen); font-size: 17px !important; }

/* ---------- Randnotiz = Erinnerungszettel (nicht mehr gelb) ---------- */
.wp-block-group.is-style-notiz {
	background: #FFFDF8; color: var(--dr-erde);
	border: 1px solid var(--dr-linie); border-radius: 6px;
	padding: 34px 28px 22px !important;
	transform: rotate(-.6deg);
	box-shadow: 0 14px 30px rgba(61, 42, 30, .12);
	position: relative; margin-top: 36px !important;
	background-image: repeating-linear-gradient(transparent 0 31px, rgba(28, 106, 156, .08) 31px 32px);
}
.wp-block-group.is-style-notiz::before {
	content: ""; position: absolute; top: -12px; left: 50%; width: 120px; height: 26px; margin-left: -60px;
	background: rgba(63, 111, 46, .28); transform: rotate(-2deg); border-radius: 2px;
}
.wp-block-group.is-style-notiz > p:first-child strong { font-family: var(--dr-ueberschrift); font-size: 19px; color: var(--dr-gruen); }
.wp-block-group.is-style-notiz::after { content: ""; display: block; clear: both; }

/* ---------- Zeitleiste ---------- */
.wp-block-group.is-style-zeitleiste, ul.is-style-zeitleiste {
	position: relative; padding: 8px 0 8px 0 !important; margin-block: 28px !important; list-style: none;
}
.is-style-zeitleiste > p:first-child:not(.dzl-eintrag) strong { font-family: var(--dr-ueberschrift); font-size: 20px; color: var(--dr-erde); }
.is-style-zeitleiste .dzl-eintrag {
	display: grid !important; grid-template-columns: 132px 1fr; gap: 18px; align-items: start;
	position: relative; margin: 0 !important; padding: 0 0 18px; font-size: 17px; line-height: 1.45;
}
.is-style-zeitleiste .dzl-eintrag::before {
	content: ""; position: absolute; left: 146px; top: 6px; bottom: -6px; width: 3px; background: var(--dr-hellgruen);
}
.is-style-zeitleiste .dzl-eintrag:last-child::before { bottom: auto; height: 12px; }
.is-style-zeitleiste .dzl-jahr {
	justify-self: end; text-align: right;
	font-family: var(--dr-ueberschrift); font-weight: 800; color: var(--dr-gruen); font-size: 18px; line-height: 1.3;
}
.is-style-zeitleiste .dzl-text { position: relative; padding-left: 26px; }
.is-style-zeitleiste .dzl-text::before {
	content: ""; position: absolute; left: -2px; top: 5px; width: 14px; height: 14px; border-radius: 50%;
	background: var(--dr-weiss); border: 3px solid var(--dr-gruen); box-sizing: border-box; z-index: 1;
}
.is-style-zeitleiste .dzl-eintrag:last-child .dzl-text::before { background: var(--dr-gruen); }
@media (max-width: 600px) {
	.is-style-zeitleiste .dzl-eintrag { grid-template-columns: 92px 1fr; gap: 12px; }
	.is-style-zeitleiste .dzl-eintrag::before { left: 102px; }
	.is-style-zeitleiste .dzl-jahr { font-size: 16px; }
}

/* ---------- Ortsname (Kapitel 1) ---------- */
.dk-ortsname {
	display: grid !important; grid-template-columns: auto 1fr; gap: 6px 28px; align-items: center;
	background: var(--dr-gruen); color: #fff; border-radius: 22px; padding: 26px 30px !important;
	margin-block: 32px !important; position: relative; overflow: hidden;
}
.dk-ortsname::after {
	content: "1447"; position: absolute; right: -10px; bottom: -34px; font-family: var(--dr-ueberschrift); font-weight: 800;
	font-size: 140px; line-height: 1; color: rgba(255,255,255,.07); pointer-events: none;
}
.dk-ortsname > * { margin: 0 !important; }
.dk-ortsname .dk-on-jahr { grid-row: span 2; font-family: var(--dr-ueberschrift); font-weight: 800; font-size: clamp(54px, 8vw, 76px) !important; line-height: .95 !important; color: var(--dr-gelb); }
.dk-ortsname .dk-on-label { font-size: 15px !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #DCE8D3; align-self: end; }
.dk-ortsname .dk-on-label2 { grid-column: 1 / -1; margin-top: 14px !important; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.2); }
.dk-ortsname ul.dk-on-namen { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; }
.dk-ortsname ul.dk-on-namen li {
	background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 999px;
	padding: 5px 14px; font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-style: italic; font-size: 18px;
}
.dk-ortsname ul.dk-on-namen li:last-child { background: var(--dr-gelb); color: var(--dr-erde); border-color: var(--dr-gelb); font-style: normal; font-weight: 800; font-family: var(--dr-ueberschrift); }

/* ---------- Geschichten-Auswahl ---------- */
.dk-geschichten { margin-block: 48px !important; }
.dk-geschichten > .dk-geschichten-titel { margin-bottom: 6px !important; }
.dkg-hinweis { color: var(--dr-grau); font-size: 16px !important; margin: 0 0 16px !important; }
.dkg-wahl {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px;
	margin: 0 0 28px; scroll-margin-top: 90px;
}
.dkg-karte {
	display: flex; flex-direction: column; text-align: left; padding: 0; cursor: pointer;
	background: var(--dr-weiss); border: 2px solid var(--dr-linie); border-radius: 16px; overflow: hidden;
	font: inherit; color: var(--dr-erde); transition: transform .15s, border-color .15s, box-shadow .15s;
}
.dkg-karte:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(61,42,30,.12); }
.dkg-karte[aria-selected="true"] { border-color: var(--dr-gruen); box-shadow: 0 0 0 3px rgba(63,111,46,.18); }
.dkg-karte:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }
.dkg-bild { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--dr-lehm); overflow: hidden; }
.dkg-bild img { width: 100%; height: 100%; object-fit: cover; display: block; filter: sepia(.25); transition: filter .2s, transform .4s; }
.dkg-karte:hover .dkg-bild img, .dkg-karte[aria-selected="true"] .dkg-bild img { filter: none; transform: scale(1.04); }
.dkg-symbol { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: Georgia, serif; font-size: 64px; color: var(--dr-gruen); opacity: .5; }
.dkg-nr {
	position: absolute; left: 8px; top: 8px; width: 28px; height: 28px; border-radius: 50%;
	background: var(--dr-weiss); color: var(--dr-gruen); font-weight: 800; font-size: 14px;
	display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.dkg-karte[aria-selected="true"] .dkg-nr { background: var(--dr-gruen); color: #fff; }
.dkg-titel { display: block; padding: 10px 12px 12px; font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 15px; line-height: 1.25; }
.dk-geschichten.ist-bereit > .dk-geschichte {
	background: var(--dr-weiss); border: 1px solid var(--dr-linie); border-radius: 22px;
	padding: clamp(20px, 3.5vw, 40px) !important; box-shadow: 0 10px 30px rgba(61,42,30,.06);
	animation: dkg-ein .3s ease-out;
}
@keyframes dkg-ein { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.dk-geschichte > h2.wp-block-heading:first-child, .dk-geschichte > h3.wp-block-heading:first-child { margin-top: 0 !important; }
.dk-geschichte::after { content: ""; display: block; clear: both; }
.dk-geschichte > .wp-block-group.is-style-dunkel:first-child, .dk-geschichte > .wp-block-group.is-style-dokument:first-child { margin-top: 0 !important; }
.dkg-fuss { clear: both; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--dr-linie); display: flex; justify-content: flex-end; }
.dkg-weiter {
	display: inline-flex; flex-direction: column; align-items: flex-end; gap: 2px; cursor: pointer;
	background: var(--dr-lehm); border: 0; border-radius: 16px; padding: 12px 18px; font: inherit; color: var(--dr-erde); text-align: right;
}
.dkg-weiter span { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dr-grau); }
.dkg-weiter strong { font-family: var(--dr-ueberschrift); font-size: 18px; color: var(--dr-gruen); }
.dkg-weiter:hover { background: #E7DDC8; }
@media (max-width: 600px) {
	.dkg-wahl { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; padding-bottom: 6px; margin-inline: calc(-1 * var(--dr-rand)); padding-inline: var(--dr-rand); scrollbar-width: none; }
	.dkg-wahl::-webkit-scrollbar { display: none; }
	.dkg-karte { flex: 0 0 140px; scroll-snap-align: start; }
}

/* ---------- Zeitzeugen-Berichte ---------- */
.dk-zeitzeugnis { margin-block: 36px !important; }
.dk-zeitzeugnis > p.dk-zeitzeuge-intro {
	display: flex; gap: 14px; align-items: center; margin: 0 0 -6px !important; position: relative; z-index: 1;
	background: var(--dr-gruen); color: #fff; border-radius: 18px 18px 0 0; padding: 14px 22px 20px;
	font-family: var(--dr-ueberschrift); font-weight: 700; font-size: 18px !important; line-height: 1.35;
	text-align: left !important;
}
.dk-zeitzeugnis > p.dk-zeitzeuge-intro::before {
	content: "„"; flex: 0 0 40px; height: 40px; border-radius: 50%; background: var(--dr-gelb); color: var(--dr-erde);
	font-family: Georgia, serif; font-size: 40px; line-height: 52px; text-align: center;
}
.dk-zeitzeugnis > blockquote.wp-block-quote { margin-top: 0 !important; border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; position: relative; z-index: 2; }
.dk-zeitzeugnis blockquote.ist-gekuerzt { max-height: 480px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.dkz-mehr {
	display: block; margin: 14px auto 0; padding: 11px 22px; cursor: pointer;
	border: 2px solid var(--dr-gruen); border-radius: 999px; background: var(--dr-weiss); color: var(--dr-gruen);
	font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 16px;
}
.dkz-mehr:hover { background: var(--dr-gruen); color: #fff; }
.dk-zeitzeugnisse { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; align-items: start; margin-block: 40px !important; }
.dk-zeitzeugnisse > .dk-zeitzeugnis { margin: 0 !important; }
.dk-zeitzeugnisse .dk-zeitzeugnis:nth-child(2) > p.dk-zeitzeuge-intro { background: var(--dr-blau); }
.dk-zeitzeugnisse blockquote.wp-block-quote p { font-size: 17px !important; }
.dk-zeitzeugnisse blockquote.wp-block-quote::before { display: none !important; }

/* ---------- Namensschilder (Kapitel 10) ---------- */
.dk-namensschilder { margin-block: 36px !important; }
.dk-namensschilder > p:first-child { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 22px !important; color: var(--dr-erde); margin-bottom: 14px !important; }
.dk-namensschilder > .wp-block-group.dk-schilder { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.dk-schild {
	background: var(--dr-weiss); border-radius: 16px; overflow: hidden; border: 1px solid var(--dr-linie);
	box-shadow: 0 8px 20px rgba(61,42,30,.08); text-align: center; margin: 0 !important;
}
.dk-schild > p { margin: 0 !important; }
.dk-schild .dks-kopf { background: #B3412F; color: #fff; font-size: 12px !important; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; padding: 8px 10px 6px; }
.dk-schild .dks-ruf { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-style: italic; font-size: 25px !important; line-height: 1.2; padding: 16px 12px 6px; color: var(--dr-erde); }
.dk-schild .dks-echt { font-size: 15px !important; color: var(--dr-grau); padding: 4px 12px 16px; line-height: 1.35; }
.dk-schild .dks-echt::before { content: "eigentlich: "; font-weight: 700; color: var(--dr-gruen); }

/* ---------- Funde (Kapitel 2) ---------- */
.dreisel-zahlen p.dk-fundort {
	margin-top: 14px !important; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.3);
	font-size: 16px !important; line-height: 1.45 !important;
}
.dreisel-zahlen p.dk-fundort::before { content: "📍 "; }
.dreisel-zahlen p.dk-zahltext { font-size: 18px !important; line-height: 1.45 !important; margin: 0 !important; }

/* ---------- Flurnamen-Karte ---------- */
.dk-flurkarte { margin-block: 28px !important; margin-inline: auto !important; border-radius: 20px; overflow: hidden; border: 1px solid var(--dr-linie); box-shadow: 0 12px 32px rgba(61,42,30,.1); background: #EEF2E6; }
.dk-flurkarte svg { display: block; width: 100%; height: auto; font-family: var(--wp--preset--font-family--inter, Inter, system-ui, sans-serif); }
.dk-flurkarte .fk-name { cursor: default; }
.dk-flurkarte .fk-name:hover .fk-schild { fill: var(--dr-gelb); }
.dk-flurliste { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0 !important; }
.dk-flurliste li { background: var(--dr-weiss); border: 1.5px dashed var(--dr-gruen); border-radius: 10px; padding: 6px 12px; font-weight: 700; font-size: 16px; }

/* ---------- Fotoalbum heller (Vereine) ---------- */
.dk-album-hell { background: var(--dr-lehm); border-radius: 24px; padding: clamp(18px, 3vw, 32px) !important; }
.dk-album-hell .wp-block-gallery figure figcaption, .dk-album-hell figcaption { color: var(--dr-grau); }

/* ---------- Gedicht ---------- */
.dk-gedicht {
	max-width: 560px; margin: 40px auto !important; text-align: center;
	background: var(--dr-weiss); border: 1px solid var(--dr-linie); border-radius: 6px;
	padding: 36px 30px 30px !important; position: relative;
	box-shadow: 0 16px 36px rgba(61,42,30,.12);
	background-image: linear-gradient(180deg, rgba(63,111,46,.06), transparent 120px);
}
.dk-gedicht::before { content: "✦"; position: absolute; top: -16px; left: 50%; margin-left: -16px; width: 32px; height: 32px; border-radius: 50%; background: var(--dr-gruen); color: #fff; line-height: 32px; font-size: 15px; }
.dk-gedicht p { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-style: italic; font-size: 19px !important; line-height: 1.6 !important; text-align: center !important; hyphens: manual; }
.dk-gedicht p.dk-gedicht-titel { font-family: var(--dr-ueberschrift); font-style: normal; font-weight: 800; font-size: 21px !important; color: var(--dr-gruen); margin-bottom: 20px !important; }

/* ---------- Zitat mit Fahne (Gesangverein) ---------- */
.dk-spruch { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-style: italic; font-size: clamp(22px, 3vw, 28px) !important; line-height: 1.35 !important; color: var(--dr-gruen); text-align: center !important; margin: 24px auto !important; max-width: 640px; }

/* ---------- Kapitelkarten (Übersicht) ---------- */
.dreisel-kapitelkarten { list-style: none; padding: 0; margin: 24px 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; counter-reset: none; }
.dkk-karte a {
	display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--dr-erde);
	background: var(--dr-weiss); border-radius: 20px; overflow: hidden; border: 1px solid var(--dr-linie);
	transition: transform .15s, box-shadow .15s;
}
.dkk-karte a:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(61,42,30,.12); }
.dkk-bild { position: relative; display: block; aspect-ratio: 16 / 10; background: var(--dr-lehm); overflow: hidden; }
.dkk-bild img { width: 100%; height: 100%; object-fit: cover; display: block; filter: sepia(.2); transition: transform .5s, filter .3s; }
.dkk-karte a:hover .dkk-bild img { transform: scale(1.05); filter: none; }
.dkk-nr {
	position: absolute; left: 14px; bottom: -22px; width: 48px; height: 48px; border-radius: 50%;
	background: var(--dr-gruen); color: #fff; border: 4px solid var(--dr-weiss);
	font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 20px; display: flex; align-items: center; justify-content: center;
}
.dkk-bild { overflow: visible; }
.dkk-bild img { border-radius: 0; }
.dkk-text { display: flex; flex-direction: column; gap: 6px; padding: 30px 20px 20px; flex: 1; }
.dkk-kapitel { font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--dr-gruen); }
.dkk-text strong { font-family: var(--dr-ueberschrift); font-size: 21px; line-height: 1.2; }
.dkk-kurz { font-size: 16px; color: var(--dr-grau); line-height: 1.45; }
.dkk-lesen { margin-top: auto; padding-top: 8px; font-weight: 800; color: var(--dr-gruen); font-size: 15px; }

/* ---------- Vereinskarten ---------- */
.dreisel-vereinskarten { list-style: none; padding: 0; margin: 8px 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; }
.dvk-karte a {
	display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--dr-erde);
	background: var(--dr-weiss); border-radius: 20px; overflow: hidden; border: 1px solid var(--dr-linie);
	box-shadow: 0 6px 18px rgba(61,42,30,.06); transition: transform .15s, box-shadow .15s;
}
.dvk-karte a:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(61,42,30,.14); }
.dvk-bild { display: block; aspect-ratio: 4 / 3; background: var(--dr-hellgruen); overflow: hidden; }
.dvk-bild img { width: 100%; height: 100%; object-fit: cover; display: block; filter: sepia(.2); transition: transform .5s, filter .3s; }
.dvk-karte a:hover .dvk-bild img { transform: scale(1.05); filter: none; }
.dvk-bild.ohne-bild { display: flex; align-items: center; justify-content: center; font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 72px; color: var(--dr-gruen); background: linear-gradient(135deg, var(--dr-hellgruen), var(--dr-hellblau)); }
.dvk-text { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; flex: 1; }
.dvk-text strong { font-family: var(--dr-ueberschrift); font-size: 20px; line-height: 1.2; }
.dvk-text span { font-size: 15px; color: var(--dr-grau); }
.dvk-text .dvk-lesen { margin-top: auto; padding-top: 6px; color: var(--dr-gruen); font-weight: 800; }

/* ---------- Übersichtsseite ---------- */
.dreisel-kopf-geteilt { position: relative; }
.dk-runter {
	position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 3;
	display: flex; flex-direction: column; align-items: center; gap: 4px; text-decoration: none !important;
	color: #F4EBDA !important; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.dk-runter span.dk-runter-kreis {
	width: 46px; height: 46px; border-radius: 50%; border: 2px solid rgba(244,235,218,.7);
	display: flex; align-items: center; justify-content: center; animation: dk-huepf 1.8s ease-in-out infinite;
	background: rgba(42,30,22,.25);
}
.dk-runter:hover span.dk-runter-kreis { background: var(--dr-gelb); color: var(--dr-erde); border-color: var(--dr-gelb); }
@keyframes dk-huepf { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(7px); } }
@media (prefers-reduced-motion: reduce) { .dk-runter span.dk-runter-kreis { animation: none; } }
@media (max-width: 781px) { .dk-runter { position: static; transform: none; margin: 0 auto 18px; color: var(--dr-erde) !important; } .dk-runter span.dk-runter-kreis { border-color: var(--dr-gruen); color: var(--dr-gruen); background: none; } }

.dk-saal { align-items: center !important; gap: clamp(20px, 4vw, 48px) !important; }
.dk-saal .wp-block-image img { border-radius: 4px; }
.dk-saal-zitat { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-style: italic; font-size: clamp(20px, 2.4vw, 26px) !important; line-height: 1.45 !important; color: var(--dr-erde); text-align: left !important; hyphens: manual; }
.dk-saal-zitat strong { font-style: normal; font-family: var(--dr-ueberschrift); color: var(--dr-gruen); }
.dk-saal-quelle { color: var(--dr-grau); font-size: 15px !important; }

/* „Dreisel wächst“: Zahlen und Jahre mittig an den Balken */
.dreisel-einwohner { justify-content: space-between; gap: 12px !important; }
.dreisel-einwohner .dreisel-balken { flex: 1 1 0; display: flex !important; flex-direction: column; align-items: center; text-align: center; }
.dreisel-einwohner .dreisel-balken > * { width: 100%; text-align: center !important; margin-left: 0 !important; margin-right: 0 !important; }
.dreisel-einwohner .dreisel-balken-saeule { width: 100% !important; max-width: 110px; margin-inline: auto !important; }

/* „Zum Nachlesen“ – Kästen gleich hoch und mittig */
.dk-nachlesen { align-items: stretch !important; }
.dk-nachlesen > .wp-block-column { display: flex; flex-direction: column; justify-content: center; }
.dk-nachlesen > .wp-block-column > .wp-block-group { height: 100%; display: flex; flex-direction: column; justify-content: center; margin: 0 !important; }
.dk-geschichte .wp-block-group.is-style-dialog { border: 0 !important; padding: 0 !important; box-shadow: none !important; background: none !important; }
.dk-geschichte p.dkg-kartentitel, p.dkg-kartentitel { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0 !important; }
.wp-block-group.is-style-zeitleiste { background: var(--dr-weiss); border: 1px solid var(--dr-linie); border-radius: 20px; padding: 22px 26px 8px !important; box-shadow: 0 10px 26px rgba(61,42,30,.06); }
.dreisel-chronikseite figure.wp-block-image.ist-klein { width: fit-content !important; max-width: 100%; }
.dreisel-chronikseite figure.wp-block-image.ist-klein.aligncenter, .dreisel-chronikseite .aligncenter > figure.ist-klein { margin-inline: auto !important; }
.dk-zeitzeugnis blockquote.wp-block-quote::before { display: none !important; }
.dk-geschichte > .dkg-kartentitel + * { margin-top: 0 !important; }
.is-style-zeitleiste > p:first-child:not(.dzl-eintrag) { margin-bottom: 14px !important; }
.is-style-zeitleiste > p:first-child:not(.dzl-eintrag) strong { font-weight: 800; color: var(--dr-gruen); }
.dk-zeitzeugnis > blockquote.wp-block-quote { padding-top: 26px !important; }
.wp-block-group.is-style-steckbrief ul > li:first-child { border-top: 0; }
.wp-block-group.is-style-steckbrief ul { column-fill: balance; }
.wp-block-group.is-style-steckbrief li { display: block; }
.dvk-text strong, .dkk-text strong { font-weight: 800; hyphens: auto; overflow-wrap: anywhere; }
.dreisel-chronikseite .wp-block-group.alignwide > .dreisel-vereinskarten { margin-top: 0; }
.dk-nachlesen { align-items: center !important; }
.dk-nachlesen > .wp-block-column { display: block; }
.dk-nachlesen > .wp-block-column > .wp-block-group { height: auto; display: block; }
.dz-foto figcaption { font-size: 14px !important; color: var(--dr-grau); margin-top: 6px !important; }
.dz-ereignis .dz-foto img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; filter: sepia(.15); }
.dk-saal-quelle { text-align: left !important; }
/* Bildfelder in Karten: feste Seitenverhältnisse, Bild füllt nur den Rahmen */
.dkk-bild, .dvk-bild, .dkg-bild { flex: none; min-height: 0; position: relative; }
.dkk-bild img, .dvk-bild img, .dkg-bild img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; }
.dkk-nr { z-index: 2; }
/* 1.7.4 – Kopfbereich Dorfchronik: Höhe begrenzen, damit „Weiterlesen“ ohne Scrollen sichtbar ist */
@media (min-width: 782px) {
	/* Bild in voller Größe; der Pfeil bleibt im sichtbaren Bereich des Bildschirms */
	.dreisel-kopf-geteilt .dk-runter { bottom: auto; top: min(calc(100% - 112px), calc(100vh - 240px)); }
}

/* 1.7.5 – Symbole Arbeitsgruppen / Mitmachen */
#dorfgemeinschaft h3.mit-symbol { display: flex; align-items: center; gap: 12px; }
.ds-kopf { flex: none; width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: var(--dr-hellgruen); color: var(--dr-gruen); }
#dorfgemeinschaft .dreisel-kachel:has(.ist-blau) .ds-kopf { background: var(--dr-hellblau); color: var(--dr-blau); }
.dreisel-schildchen.mit-symbolen li { display: inline-flex !important; align-items: center; gap: 7px; }
.dreisel-schildchen.mit-symbolen li .ds-symbol { flex: none; opacity: .85; }
#mitmachen .dreisel-band-blau { align-items: center !important; }
.ds-gross { flex: none; width: 112px; height: 112px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.16); color: #fff; border: 2px solid rgba(255,255,255,.35); }
@media (max-width: 600px) { .ds-gross { width: 84px; height: 84px; } .ds-gross svg { width: 46px; height: 46px; } }

/* 1.8.0 – Startseite: Knöpfe unter den Beiträgen */
.dreisel-aktuelles-fuss { gap: 12px !important; margin-top: 28px !important; }
.dreisel-aktuelles-fuss > p { margin: 0 !important; }
.dreisel-aktuelles-fuss .dreisel-facebook-hinweis { margin-top: 0 !important; }
.dreisel-alle-beitraege a {
	display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; border-radius: 999px;
	background: var(--dr-gruen); color: var(--dr-weiss) !important; text-decoration: none; font-weight: 700; font-size: 16px;
}
.dreisel-alle-beitraege a::after { content: "→"; }
.dreisel-alle-beitraege a:hover { background: #335C25; }

/* 1.8.0 – Beiträge ohne Foto: Kategorie-Kachel */
.dreisel-kat-kachel { margin: 0 !important; position: relative; overflow: hidden; min-height: 160px; --kk: var(--dr-gruen); --kh: var(--dr-hellgruen); background: var(--kh); }
.dreisel-kat-kachel > a, .dreisel-kat-kachel > .dkt-symbol { text-decoration: none; }
.dreisel-kat-kachel > a { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--kk); }
.dreisel-kat-kachel:not(:has(> a)) { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--kk); }
.dreisel-kat-kachel::before {
	content: ""; position: absolute; inset: 0; opacity: .5;
	background-image: radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--kk) 22%, transparent) 1.2px, transparent 0);
	background-size: 16px 16px;
}
.dkt-symbol { position: relative; width: 92px; height: 92px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--dr-weiss); color: var(--kk); box-shadow: 0 8px 20px rgba(61,42,30,.1); transition: transform .3s; }
.dkt-name { position: relative; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--kk); }
.dreisel-karte:hover .dkt-symbol { transform: scale(1.06) rotate(-4deg); }
.dreisel-kat-kachel.kat-feste { --kk: #B3412F; --kh: #F7E4DD; }
.dreisel-kat-kachel.kat-gemeinschaft { --kk: var(--dr-gruen); --kh: var(--dr-hellgruen); }
.dreisel-kat-kachel.kat-dorfleben { --kk: var(--dr-blau); --kh: var(--dr-hellblau); }
.dreisel-kat-kachel.kat-kultur { --kk: #7A5A2E; --kh: #F1E6D2; }
.dreisel-kat-kachel.kat-mitmachen { --kk: #A27A0E; --kh: #FBF0CF; }
.dreisel-treffer .dreisel-kat-kachel { min-height: 0; }
.dreisel-treffer .dkt-symbol { width: 48px; height: 48px; box-shadow: none; }
.dreisel-treffer .dkt-symbol svg { width: 28px; height: 28px; }
.dreisel-treffer .dkt-name { display: none; }
.dreisel-karte:has(.dreisel-kat-kachel) .dreisel-datumskachel { display: none; }

/* 1.8.0 – Seitenzahlen unter Beitragslisten */
.wp-block-query-pagination { gap: 8px !important; margin-top: 32px !important; font-weight: 700; align-items: center; justify-content: center; flex-wrap: wrap; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers {
	color: var(--dr-erde) !important; text-decoration: none !important; padding: 7px 13px; border-radius: 999px; background: var(--dr-weiss); border: 1px solid var(--dr-linie); font-size: 16px; line-height: 1.2;
}
.wp-block-query-pagination a:hover { background: var(--dr-hellgruen); border-color: var(--dr-gruen); color: var(--dr-gruen) !important; }
.wp-block-query-pagination .page-numbers.current { background: var(--dr-gruen); border-color: var(--dr-gruen); color: var(--dr-weiss) !important; }
.wp-block-query-pagination .page-numbers.dots { background: none; border: 0; }
.wp-block-query-pagination-previous, .wp-block-query-pagination-next { background: var(--dr-lehm) !important; }
/* 1.8.1 – Einwohner als Liniendiagramm */
.dreisel-einwohner-linie { margin: 0; color: var(--dr-gruen); }
.dreisel-einwohner-linie svg { display: block; width: 100%; height: auto; overflow: visible; font-family: var(--dr-ueberschrift); }
.dreisel-einwohner-linie .ez-raster { stroke: var(--dr-linie); stroke-width: 1; }
.dreisel-einwohner-linie .ez-achse { fill: var(--dr-grau); font-size: 13px; font-variant-numeric: tabular-nums; }
.dreisel-einwohner-linie .ez-linie { fill: none; stroke: var(--dr-gruen); stroke-width: 3.5; stroke-linejoin: round; stroke-linecap: round; }
.dreisel-einwohner-linie .ez-punkt { fill: var(--dr-weiss); stroke: var(--dr-gruen); stroke-width: 3; }
.dreisel-einwohner-linie .ez-letzter { fill: var(--dr-gruen); }
.dreisel-einwohner-linie .ez-zahl { fill: var(--dr-erde); font-weight: 800; font-size: 16px; }
.dreisel-einwohner-linie .ez-jahr { fill: var(--dr-grau); font-weight: 600; font-size: 12px; }
.dreisel-einwohner-linie .ez-jahrachse { fill: var(--dr-erde); font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
/* 1.8.2 – Startseite: Beiträge immer 2 × 2 (ab Tablet-Breite) */
.dreisel-mit-seitenleiste .dreisel-karten { container-type: inline-size; }
@container (min-width: 520px) {
	.dreisel-mit-seitenleiste .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 22px !important; }
}
@media (min-width: 600px) and (max-width: 1000px) {
	/* Tablet: Termine unter die Beiträge, damit die Beiträge die volle Breite für 2 × 2 haben */
	.dreisel-mit-seitenleiste { flex-wrap: wrap !important; }
	.dreisel-mit-seitenleiste > .wp-block-column { flex-basis: 100% !important; }
	.dreisel-mit-seitenleiste > .dreisel-termine-spalte { order: 2 !important; }
}

/* 1.8.3 – Untermenü Dorfchronik (11 Kapitel) */
.dreisel-menue .dreisel-chronik-menue > .wp-block-navigation__submenu-container {
	min-width: 330px !important; padding: 10px !important; border: 1px solid var(--dr-linie) !important; border-radius: 18px;
	background: var(--dr-weiss) !important; box-shadow: 0 18px 40px rgba(61,42,30,.16); top: calc(100% + 6px) !important; left: -12px !important; gap: 0;
}
.dreisel-menue .dreisel-chronik-menue > .wp-block-navigation__submenu-container a {
	display: flex !important; align-items: center; gap: 10px; padding: 7px 10px !important; border-radius: 10px; border: 0 !important;
	font-weight: 600; font-size: 15px; color: var(--dr-erde) !important; white-space: nowrap;
}
.dreisel-menue .dreisel-chronik-menue > .wp-block-navigation__submenu-container a:hover { background: var(--dr-hellgruen); color: var(--dr-gruen) !important; }
.dreisel-menue .dnk-nr {
	flex: none; width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: var(--dr-lehm); color: var(--dr-gruen); font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums;
}
.dreisel-menue .dnk-kapitel a:hover .dnk-nr, .dreisel-menue .dnk-kapitel .current-menu-item .dnk-nr { background: var(--dr-gruen); color: #fff; }
.dreisel-menue .dnk-uebersicht a { font-weight: 800 !important; color: var(--dr-gruen) !important; border-bottom: 1px solid var(--dr-linie) !important; border-radius: 10px 10px 0 0 !important; margin-bottom: 4px; }
.dreisel-menue .dreisel-chronik-menue .wp-block-navigation__submenu-icon { margin-left: 2px; }
/* Handy-Menü: Kapitel als kompakte Liste unter der Dorfchronik-Karte */
.is-menu-open .dreisel-chronik-menue { flex-direction: column; align-items: stretch !important; }
.is-menu-open .dreisel-chronik-menue .wp-block-navigation__submenu-container {
	display: grid !important; grid-template-columns: 1fr; gap: 2px !important; padding: 6px 4px 0 !important; margin: 0 !important;
	background: none !important; border: 0 !important; box-shadow: none !important; position: static !important; opacity: 1 !important; visibility: visible !important; height: auto !important; width: auto !important;
}
.is-menu-open .dreisel-chronik-menue .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex !important; grid-template-columns: none; align-items: center; gap: 10px; padding: 8px 14px !important;
	background: rgba(255,255,255,.55) !important; border-radius: 12px; box-shadow: none; font-size: 16px;
}
.is-menu-open .dreisel-chronik-menue .wp-block-navigation__submenu-container .wp-block-navigation-item__label { font-family: inherit; font-weight: 600; font-size: 16px; align-self: center; }
.is-menu-open .dreisel-chronik-menue .wp-block-navigation__submenu-container .dhm-pfeil,
.is-menu-open .dreisel-chronik-menue .wp-block-navigation__submenu-container .dhm-unter,
.is-menu-open .dreisel-chronik-menue .wp-block-navigation__submenu-container .dhm-symbol,
.is-menu-open .dnk-uebersicht, .is-menu-open .dreisel-chronik-menue .wp-block-navigation__submenu-icon { display: none !important; }
.is-menu-open .dreisel-chronik-menue .wp-block-navigation__submenu-container { max-height: 0; overflow: hidden; transition: max-height .3s; padding-top: 0 !important; }
.is-menu-open .dreisel-chronik-menue.dnk-offen .wp-block-navigation__submenu-container { max-height: 800px; padding-top: 6px !important; }
.dnk-schalter { display: none; }
.is-menu-open .dnk-schalter {
	display: flex; align-items: center; justify-content: center; gap: 8px; margin: 6px 0 0; padding: 8px 12px; cursor: pointer;
	border: 1.5px dashed var(--dr-gruen); border-radius: 12px; background: none; color: var(--dr-gruen); font: inherit; font-weight: 700; font-size: 15px;
}

/* 1.8.4 – Dorfchronik: Kapitel-Seitenmenü (nur auf Chronikseiten) */
.dreisel-seitenmenue { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 90; display: flex; align-items: flex-start; font-family: var(--dr-ueberschrift); }
.dsm-schalter {
	display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer;
	padding: 14px 10px; border: 0; border-radius: 14px 0 0 14px; background: var(--dr-gruen); color: #fff;
	box-shadow: -4px 6px 18px rgba(61,42,30,.18); font: inherit; font-weight: 800; font-size: 14px;
}
.dsm-schalter .dsm-text { writing-mode: vertical-rl; transform: rotate(180deg); letter-spacing: .06em; }
.dsm-schalter:hover { background: #335C25; }
.dsm-schalter:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }
.dsm-panel {
	display: none; width: 290px; max-height: min(78vh, 640px); overflow: auto;
	background: var(--dr-weiss); border: 1px solid var(--dr-linie); border-right: 0; border-radius: 18px 0 0 18px;
	box-shadow: -10px 12px 34px rgba(61,42,30,.16); padding: 14px 12px 12px;
}
.dreisel-seitenmenue.ist-offen .dsm-panel { display: block; animation: dsm-ein .2s ease-out; }
@keyframes dsm-ein { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: none; } }
.dsm-titel { margin: 0 0 8px !important; padding: 0 8px 8px; border-bottom: 1px solid var(--dr-linie); font-size: 13px !important; letter-spacing: .1em; text-transform: uppercase; }
.dsm-titel a { color: var(--dr-gruen); text-decoration: none; font-weight: 800; }
.dsm-panel ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.dsm-panel li a {
	display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 10px; text-decoration: none;
	color: var(--dr-erde); font-size: 15px; font-weight: 600; line-height: 1.25;
}
.dsm-panel li a:hover { background: var(--dr-hellgruen); color: var(--dr-gruen); }
.dsm-nr { flex: none; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--dr-lehm); color: var(--dr-gruen); font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }
.dsm-panel li.ist-aktiv a { background: var(--dr-gruen); color: #fff; }
.dsm-panel li.ist-aktiv .dsm-nr { background: #fff; color: var(--dr-gruen); }
/* Auf Kapitelseiten an großen Bildschirmen dauerhaft rechts neben dem Text */
@media (min-width: 1440px) {
	body.ist-kapitelseite .dreisel-seitenmenue { top: 120px; transform: none; right: 24px; }
	/* Text bleibt mittig; breite Fotoalben werden nur so breit, dass sie das Menü nicht berühren */
	body.ist-kapitelseite main.dreisel-chronikseite .wp-block-post-content > .alignwide { max-width: min(1200px, calc(100vw - 660px)) !important; margin-left: auto !important; margin-right: auto !important; }
	body.ist-kapitelseite .dsm-schalter { display: none; }
	body.ist-kapitelseite .dsm-panel { display: block; border-right: 1px solid var(--dr-linie); border-radius: 18px; box-shadow: 0 10px 28px rgba(61,42,30,.08); width: 270px; max-height: calc(100vh - 150px); }
}
@media (max-width: 600px) {
	.dreisel-seitenmenue { top: auto; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); transform: none; flex-direction: row; align-items: flex-end; }
	.dsm-schalter { flex-direction: row; padding: 10px 14px; border-radius: 999px 0 0 999px; }
	.dsm-schalter .dsm-text { writing-mode: horizontal-tb; transform: none; }
	.dsm-panel { width: min(290px, calc(100vw - 110px)); max-height: 70vh; }
}
@media print { .dreisel-seitenmenue { display: none; } }

/* 1.8.6 – Galerie: Jahrzehnt-Reiter */
.dgj-reiter { display: flex; gap: 10px; flex-wrap: wrap; margin: 8px 0 28px; scroll-margin-top: 90px; }
.dgj-reiter button {
	display: flex; flex-direction: column; align-items: flex-start; gap: 2px; cursor: pointer;
	padding: 12px 20px; border-radius: 16px; border: 2px solid var(--dr-linie); background: var(--dr-weiss); color: var(--dr-erde); font: inherit;
}
.dgj-reiter button strong { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 20px; line-height: 1.1; }
.dgj-reiter button span { font-size: 13px; color: var(--dr-grau); font-variant-numeric: tabular-nums; }
.dgj-reiter button:hover { border-color: var(--dr-gruen); }
.dgj-reiter button[aria-selected="true"] { background: var(--dr-gruen); border-color: var(--dr-gruen); color: #fff; }
.dgj-reiter button[aria-selected="true"] span { color: #DCE8D3; }
.dgj-reiter button:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }
.dreisel-jahresleiste[hidden] { display: none !important; }
@media (max-width: 600px) { .dgj-reiter button { flex: 1 1 0; padding: 10px 12px; } .dgj-reiter button strong { font-size: 17px; } }
/* 1.8.7 – Seitenmenü: Lage per Skript zwischen Kopf- und Fußzeile */
.dreisel-seitenmenue.js-lage, body.ist-kapitelseite .dreisel-seitenmenue.js-lage { transform: none !important; bottom: auto !important; }
@media (min-width: 1440px) { body.ist-kapitelseite .dsm-panel { max-height: calc(100vh - 140px); } }
/* 1.9.0 – Impressum / Datenschutz */
.dreisel-rechtstext { padding-block: clamp(36px, 6vw, 72px) !important; }
.dreisel-rechtstext h1 { font-size: clamp(34px, 5vw, 48px); margin-bottom: 4px !important; }
.dreisel-rechtstext h2 { font-size: 22px !important; margin-top: 36px !important; margin-bottom: 8px !important; color: var(--dr-gruen); }
.dreisel-rechtstext p { font-size: 18px !important; line-height: 1.65 !important; margin: 0 0 12px !important; text-align: left !important; hyphens: auto; }
.dreisel-rechtstext p.dreisel-leise { font-size: 15px !important; color: var(--dr-grau); }
.dreisel-rechtstext a { color: var(--dr-gruen); font-weight: 600; text-underline-offset: 3px; }

/* 1.9.2 – Bus-Links (Anfahrt) */
.dreisel-buslinks { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.dreisel-buslinks a { padding: 6px 12px; border-radius: 999px; background: var(--dr-lehm); color: var(--dr-erde); text-decoration: none; font-weight: 600; font-size: 15px; }
.dreisel-buslinks a:hover { background: var(--dr-hellgruen); color: var(--dr-gruen); }
.dreisel-buslinks a.dbl-haupt { background: var(--dr-gruen); color: #fff; flex-basis: 100%; text-align: center; }
.dreisel-buslinks a.dbl-haupt:hover { background: #335C25; color: #fff; }

/* 1.9.2 – Impressum / Datenschutz neu */
.dr-seite { margin: 0 !important; }
.dr-kopf { background: var(--dr-lehm); padding: clamp(40px, 7vw, 80px) var(--dr-rand) clamp(32px, 5vw, 56px) !important; margin: 0 !important; }
.dr-kopf-innen { max-width: 820px; margin: 0 auto !important; }
.dr-kopf-innen > * { margin: 0 !important; }
.dr-kopf h1 { font-size: clamp(36px, 6vw, 56px); line-height: 1.05; margin: 6px 0 12px !important; color: var(--dr-erde); }
.dr-kopf .dr-lead { font-size: 19px !important; color: var(--dr-grau); max-width: 60ch; text-align: left !important; }
.dr-inhalt { max-width: 820px; margin: 0 auto !important; padding: clamp(32px, 5vw, 56px) var(--dr-rand) clamp(56px, 8vw, 96px) !important; box-sizing: content-box; }
.dr-inhalt h2 { font-size: 22px !important; color: var(--dr-gruen); margin: 40px 0 10px !important; padding-top: 22px; border-top: 1px solid var(--dr-linie); scroll-margin-top: 24px; }
.dr-inhalt > h2:first-of-type { margin-top: 32px !important; }
.dr-inhalt p { font-size: 18px !important; line-height: 1.7 !important; margin: 0 0 14px !important; text-align: left !important; hyphens: auto; max-width: 68ch; }
.dr-inhalt a { color: var(--dr-gruen); font-weight: 600; text-underline-offset: 3px; }
.dr-fakten { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin: 0 0 8px !important; }
.dr-fakt { background: var(--dr-weiss); border: 1px solid var(--dr-linie); border-radius: 16px; padding: 18px 20px !important; margin: 0 !important; }
.dr-fakt > p { margin: 0 !important; }
.dr-fakt .dr-fakt-label { font-size: 13px !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--dr-gruen); margin-bottom: 6px !important; line-height: 1.3 !important; }
.dr-fakt .dr-fakt-wert { font-size: 17px !important; line-height: 1.55 !important; }
.dr-toc { background: var(--dr-weiss); border: 1px solid var(--dr-linie); border-radius: 16px; padding: 16px 18px !important; margin: 0 0 8px !important; }
.dr-toc a { font-size: 14px !important; padding: 5px 12px !important; }

/* 1.9.3 – Fett wirklich fett (Grundschrift ist 300, „bolder“ ergab nur 400) */
strong, b { font-weight: 700; }
.dreisel-kachel p > strong:first-child { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 1.12em; color: var(--dr-erde); }

/* ==========================================================================
   1.9.6 – „Weiterlesen“-Knopf auf Beitragskarten
   ========================================================================== */
.dreisel-karte-text { flex: 1 1 auto; display: flex; flex-direction: column; }
.dreisel-weiterlesen { margin: auto 0 0 !important; padding-top: 14px; }
.dreisel-weiterlesen a {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 8px 14px 8px 18px; border-radius: 999px;
	border: 2px solid var(--dr-gruen); background: transparent;
	color: var(--dr-gruen) !important; text-decoration: none !important;
	font-weight: 700; font-size: 16px; line-height: 1.2;
	transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.dreisel-weiterlesen svg { transition: transform .25s ease; flex: 0 0 auto; }
.dreisel-karte:hover .dreisel-weiterlesen a,
.dreisel-weiterlesen a:hover,
.dreisel-weiterlesen a:focus-visible {
	background: var(--dr-gruen); color: var(--dr-weiss) !important;
	box-shadow: 0 6px 16px rgba(63,111,46,.25);
}
.dreisel-karte:hover .dreisel-weiterlesen svg,
.dreisel-weiterlesen a:hover svg,
.dreisel-weiterlesen a:focus-visible svg { transform: translateX(4px); }
.dreisel-weiterlesen a:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }
.dreisel-treffer .dreisel-weiterlesen { display: none; }

/* ==========================================================================
   1.9.6 – Teilen (Beiträge und Termine)
   ========================================================================== */
.dreisel-teilen, .dreisel-teilen-mini {
	--dt-wa: #0F7B6C;   /* WhatsApp, abgedunkelt für gute Lesbarkeit */
	--dt-wa-ico: #25D366;
	--dt-fb: #1464D2;
	--dt-fb-ico: #1877F2;
	--dt-mail: var(--dr-blau);
	--dt-link: var(--dr-gruen);
}
.dreisel-teilen [hidden], .dreisel-teilen-mini [hidden] { display: none !important; }

/* Große Leiste unter dem Text */
.dreisel-teilen {
	margin-top: clamp(40px, 6vw, 56px) !important;
	margin-bottom: 8px !important;
	position: relative;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px;
	padding: 22px 26px;
	background: var(--dr-lehm);
	border-radius: var(--dr-radius);
	overflow: hidden;
}
.dreisel-teilen::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .55;
	background-image: radial-gradient(circle at 1px 1px, rgba(61,42,30,.10) 1.2px, transparent 0);
	background-size: 16px 16px;
	-webkit-mask-image: linear-gradient(90deg, #000 0, transparent 45%);
	mask-image: linear-gradient(90deg, #000 0, transparent 45%);
}
.dreisel-teilen > * { position: relative; }
.dt-ueber {
	display: flex; align-items: center; gap: 12px; margin: 0 !important;
	font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 21px; line-height: 1.2; color: var(--dr-erde);
}
.dt-ueber-ico {
	width: 44px; height: 44px; border-radius: 50%; flex: 0 0 auto;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--dr-gruen); color: var(--dr-weiss);
	box-shadow: 0 6px 14px rgba(63,111,46,.28);
}
.dt-knoepfe { list-style: none; margin: 0 !important; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.dt-knoepfe li { margin: 0; }
.dt-knopf {
	--dt-farbe: var(--dr-erde); --dt-ico: var(--dt-farbe);
	display: inline-flex; align-items: center; gap: 9px;
	padding: 8px 16px 8px 8px; min-height: 44px; box-sizing: border-box;
	border: 1px solid var(--dr-linie); border-radius: 999px;
	background: var(--dr-weiss); color: var(--dr-erde) !important;
	font: inherit; font-weight: 700; font-size: 16px; line-height: 1.2;
	text-decoration: none !important; cursor: pointer;
	transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;
}
.dt-ico {
	width: 30px; height: 30px; border-radius: 50%; flex: 0 0 auto;
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--dt-ico);
	background: color-mix(in srgb, var(--dt-ico) 13%, #fff);
	transition: background .2s ease, color .2s ease;
}
.dt-ico svg { width: 18px; height: 18px; }
.dt-whatsapp { --dt-farbe: var(--dt-wa); --dt-ico: var(--dt-wa-ico); }
.dt-facebook { --dt-farbe: var(--dt-fb); --dt-ico: var(--dt-fb-ico); }
.dt-email    { --dt-farbe: var(--dt-mail); }
.dt-link     { --dt-farbe: var(--dt-link); }
.dt-geraet   { --dt-farbe: var(--dr-gruen); }
.dt-knopf:hover, .dt-knopf:focus-visible {
	background: var(--dt-farbe); border-color: var(--dt-farbe); color: var(--dr-weiss) !important;
	transform: translateY(-2px); box-shadow: 0 8px 18px rgba(61,42,30,.16);
}
.dt-knopf:hover .dt-ico, .dt-knopf:focus-visible .dt-ico { background: rgba(255,255,255,.2); color: var(--dr-weiss); }
.dt-knopf:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }
.dt-knopf:active { transform: translateY(0); }
.dt-ico-ok { display: none; }
.dt-knopf.ist-kopiert { background: var(--dr-gruen); border-color: var(--dr-gruen); color: var(--dr-weiss) !important; }
.dt-knopf.ist-kopiert .dt-ico { background: var(--dr-gelb); color: var(--dr-erde); animation: dt-plopp .35s ease; }
.dt-knopf.ist-kopiert .dt-ico-normal { display: none; }
.dt-knopf.ist-kopiert .dt-ico-ok { display: inline-flex; }
@keyframes dt-plopp { 0% { transform: scale(.6); } 70% { transform: scale(1.15); } 100% { transform: scale(1); } }
.dt-meldung { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0 !important; }
.dreisel-teilen .screen-reader-text, .dreisel-teilen-mini .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* Handy: Knöpfe als 2er-Raster, Geräte-Teilen groß obenan */
@media (max-width: 600px) {
	.dreisel-teilen { padding: 18px; flex-direction: column; align-items: stretch; }
	.dreisel-teilen .dt-knoepfe { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	.dreisel-teilen .dt-knopf { width: 100%; gap: 7px; padding: 6px 10px 6px 6px; font-size: 15px; white-space: nowrap; }
	.dreisel-teilen .dt-ico { width: 28px; height: 28px; }
	.dreisel-teilen .dt-nur-geraet { grid-column: 1 / -1; }
	.dreisel-teilen .dt-geraet { justify-content: center; background: var(--dr-gruen); border-color: var(--dr-gruen); color: var(--dr-weiss) !important; padding: 10px 16px; }
	.dreisel-teilen .dt-geraet .dt-ico { background: rgba(255,255,255,.2); color: var(--dr-weiss); }
	.dt-ueber { font-size: 19px; }
	.dt-ueber-ico { width: 38px; height: 38px; }
}
@media (prefers-reduced-motion: reduce) {
	.dt-knopf, .dreisel-weiterlesen a, .dreisel-weiterlesen svg { transition: none; }
	.dt-knopf:hover, .dt-knopf:focus-visible { transform: none; }
	.dt-knopf.ist-kopiert .dt-ico { animation: none; }
}

/* Kleiner Teilen-Knopf mit Menü (Terminlisten) */
.dtk-eintrag, .dreisel-termin-klein-eintrag { position: relative; }
.dtk-eintrag .dtk-termin { padding-right: 54px; }
.dreisel-termin-klein-eintrag .dreisel-termin-klein { padding-right: 64px; height: 100%; box-sizing: border-box; }
.dtk-eintrag > .dreisel-teilen-mini,
.dreisel-termin-klein-eintrag > .dreisel-teilen-mini { position: absolute; top: 50%; right: 10px; transform: translateY(-50%); }
.dreisel-termin-klein-eintrag > .dreisel-teilen-mini { right: 16px; }
.dtk-eintrag.ist-offen, .dreisel-termin-klein-eintrag.ist-offen { z-index: 30; }

.dreisel-teilen-mini { position: relative; display: inline-block; }
.dtm-schalter {
	width: 36px; height: 36px; padding: 0; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--dr-linie); background: var(--dr-weiss); color: var(--dr-gruen);
	cursor: pointer; transition: background .2s ease, color .2s ease, transform .15s ease, box-shadow .2s ease;
}
.dtm-schalter:hover, .dtm-schalter[aria-expanded="true"] {
	background: var(--dr-gruen); border-color: var(--dr-gruen); color: var(--dr-weiss);
	box-shadow: 0 6px 14px rgba(63,111,46,.28);
}
.dtm-schalter:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }
.dreisel-teilen-mini.auf-gruen .dtm-schalter { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.35); color: var(--dr-weiss); }
.dreisel-teilen-mini.auf-gruen .dtm-schalter:hover,
.dreisel-teilen-mini.auf-gruen .dtm-schalter[aria-expanded="true"] { background: var(--dr-weiss); border-color: var(--dr-weiss); color: var(--dr-gruen); }

.dtm-menue {
	position: absolute; right: -6px; top: calc(100% + 10px); z-index: 40;
	width: 232px; padding: 14px 12px 12px;
	background: var(--dr-weiss); border: 1px solid var(--dr-linie); border-radius: 18px;
	box-shadow: 0 18px 40px rgba(61,42,30,.18), 0 2px 6px rgba(61,42,30,.06);
	color: var(--dr-erde); text-align: left;
	transform-origin: top right; animation: dtm-auf .18s ease;
}
.dtm-menue::before {
	content: ""; position: absolute; top: -7px; right: 18px; width: 12px; height: 12px;
	background: var(--dr-weiss); border-left: 1px solid var(--dr-linie); border-top: 1px solid var(--dr-linie);
	transform: rotate(45deg);
}
.dreisel-teilen-mini.nach-oben .dtm-menue { top: auto; bottom: calc(100% + 10px); transform-origin: bottom right; }
.dreisel-teilen-mini.nach-oben .dtm-menue::before { top: auto; bottom: -7px; transform: rotate(225deg); }
@keyframes dtm-auf { from { opacity: 0; transform: translateY(-4px) scale(.97); } to { opacity: 1; transform: none; } }
.dtm-titel { margin: 0 6px 10px !important; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--dr-grau); }
.dtm-menue .dt-knoepfe { flex-direction: column; gap: 4px; }
.dtm-menue .dt-knopf { width: 100%; border-color: transparent; padding: 6px 12px 6px 6px; font-size: 16px; }
.dtm-menue .dt-knopf:hover, .dtm-menue .dt-knopf:focus-visible { transform: none; box-shadow: none; }
@media (prefers-reduced-motion: reduce) { .dtm-menue { animation: none; } .dtm-schalter { transition: none; } }

/* Großer „Nächster Termin“: Mehr erfahren + Teilen nebeneinander */
.dreisel-termin-aktionen { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.dreisel-termin-aktionen .dtm-schalter { width: 50px; height: 50px; }
.dreisel-termin-aktionen .dtm-schalter svg { width: 20px; height: 20px; }

/* ==========================================================================
   1.9.7 – Korrekturen und Ergänzungen
   ========================================================================== */
/* Termin-Plugin unterstreicht Links im Termintext blau – nicht bei den Teilen-Knöpfen */
.dreisel-teilen a, .dreisel-teilen-mini a,
.tribe-events-single .dreisel-teilen a, .tribe-events-content .dreisel-teilen a {
	border-bottom: 0 !important; box-shadow: none !important; text-decoration: none !important;
}
/* … und setzt Aufzählungspunkte vor Listen – nicht vor den Teilen-Knöpfen */
.dreisel-teilen .dt-knoepfe, .dreisel-teilen-mini .dt-knoepfe { list-style: none !important; padding-left: 0 !important; margin-left: 0 !important; }
.dt-knoepfe > li { list-style: none !important; padding-left: 0 !important; margin: 0 !important; }
.dt-knoepfe > li::before, .dt-knoepfe > li::marker { content: none !important; display: none !important; }

/* Termin-Einzelseite: „Zurück zu Aktuelles“ neben „Alle Veranstaltungen“ */
.tribe-events-single .dreisel-termin-zurueck,
.tribe-events-single .dreisel-termin-zurueck + .tribe-events-back { display: inline-block; margin: 0 8px 8px 0 !important; }
.dreisel-termin-zurueck a {
	display: inline-flex; padding: 8px 16px; border-radius: 999px;
	background: var(--dr-lehm); color: var(--dr-erde) !important; text-decoration: none !important; border: 0 !important;
	font-weight: 700; font-family: var(--dr-ueberschrift); font-size: 15px;
}
.dreisel-termin-zurueck a:hover, .tribe-events-single .tribe-events-back a:hover { background: #E3D9C6; }
.dreisel-termin-zurueck a:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }

/* Jahresfilter in der Seitenleiste */
.dreisel-jahre { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 6px; }
.dreisel-jahre li { margin: 0; }
.dreisel-jahre a {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
	padding: 7px 6px 6px; border-radius: 12px; background: var(--dr-weiss);
	color: var(--dr-erde) !important; text-decoration: none !important; line-height: 1.1;
	border: 1px solid transparent; transition: background .15s, border-color .15s, color .15s;
}
.dj-jahr { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 17px; font-variant-numeric: tabular-nums; }
.dj-zahl { font-size: 12px; color: var(--dr-grau); font-variant-numeric: tabular-nums; }
.dj-zahl::after { content: " Beitr."; }
.dreisel-jahre a:hover { background: var(--dr-hellgruen); border-color: var(--dr-gruen); color: var(--dr-gruen) !important; }
.dreisel-jahre a:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }
.dreisel-jahre .ist-aktiv a { background: var(--dr-gruen); border-color: var(--dr-gruen); color: var(--dr-weiss) !important; }
.dreisel-jahre .ist-aktiv .dj-zahl { color: #DCE8D3; }
.dreisel-jahre .dj-alle a { font-weight: 700; font-size: 15px; color: var(--dr-gruen) !important; border-color: var(--dr-linie); background: transparent; }
@media (max-width: 781px) {
	/* Handy/Tablet: Jahre als waagerecht wischbare Reihe, wie die Kategorien */
	.dreisel-jahre { display: flex; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; margin-top: 8px; }
	.dreisel-jahre li { flex: 0 0 auto; }
	.dreisel-jahre a { flex-direction: row; gap: 6px; padding: 8px 12px; border-radius: 999px; }
	.dj-zahl::after { content: ""; }
	.dj-zahl::before { content: "("; } .dj-zahl { font-size: 13px; }
	.dj-zahl::after { content: ")"; }
}

/* ==========================================================================
   1.9.8 – Wetter in Dreisel (Seitenleiste unter den Terminen)
   ========================================================================== */
/* Eigene Box unter dem Termin-Kasten, mit Abstand abgesetzt */
.dreisel-wetter-box { margin-top: 20px !important; background: var(--dr-lehm); border-radius: var(--dr-radius); padding: 22px 22px 18px; }
/* Mit Wetterbox darunter bleibt der Termin-Kasten an seinem Platz (sonst gleitet er beim Scrollen über das Wetter) */
.dreisel-termine-spalte:has(.dreisel-wetter-box) .dreisel-seitenleiste { position: static; }
@media (max-width: 600px) { .dreisel-wetter-box { padding: 16px; } }
.dreisel-wetter p { margin: 0; }
.dw-titel { font-size: 15px !important; letter-spacing: .08em; text-transform: uppercase; color: var(--dr-grau); margin: 0 0 12px !important; font-family: var(--dr-ueberschrift); font-weight: 800; }
.dw-jetzt {
	position: relative; overflow: hidden;
	display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 4px 14px;
	padding: 16px 16px 14px; border-radius: 16px;
	background: linear-gradient(155deg, #CFE3EF 0%, #E8F1F6 45%, #FFFFFF 100%);
	color: var(--dr-erde);
}
.dw-jetzt.dw-art-sonne, .dw-jetzt.dw-art-sonne-wolke { background: linear-gradient(155deg, #FBEBB5 0%, #EAF2F6 55%, #FFFFFF 100%); }
.dw-jetzt.dw-art-regen, .dw-jetzt.dw-art-schauer, .dw-jetzt.dw-art-niesel, .dw-jetzt.dw-art-gewitter { background: linear-gradient(155deg, #C4D3DE 0%, #E3EAEF 50%, #FFFFFF 100%); }
.dw-jetzt.dw-art-nebel, .dw-jetzt.dw-art-wolke { background: linear-gradient(155deg, #DCE2E6 0%, #EEF1F3 50%, #FFFFFF 100%); }
.dw-jetzt.ist-nacht { background: linear-gradient(155deg, #23374F 0%, #34506E 100%); color: #FFFFFF; }
.dw-jetzt-symbol { display: flex; filter: drop-shadow(0 4px 8px rgba(61,42,30,.12)); }
.dw-jetzt.dw-art-sonne .dw-sonne { transform-box: fill-box; transform-origin: center; animation: dw-drehen 40s linear infinite; }
@keyframes dw-drehen { to { transform: rotate(360deg); } }
.dw-ober { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--dr-gruen); }
.ist-nacht .dw-ober { color: var(--dr-gelb); }
.dw-temp { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 44px; line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.dw-temp span { font-size: 20px; font-weight: 700; margin-left: 2px; vertical-align: 16px; opacity: .75; }
.dw-beschreibung { font-weight: 700; font-size: 15px; }
.dw-details { grid-column: 1 / -1; list-style: none; margin: 10px 0 0 !important; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.dw-details li { margin: 0; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.75); font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.dw-details li span { font-weight: 400; color: var(--dr-grau); }
.ist-nacht .dw-details li { background: rgba(255,255,255,.14); }
.ist-nacht .dw-details li span { color: #C9D6E3; }
.dw-vorschau {
	list-style: none; margin: 8px 0 0 !important; padding: 10px 6px; border-radius: 16px; background: var(--dr-weiss);
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px;
}
.dw-vorschau li { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 2px 0; text-align: center; font-variant-numeric: tabular-nums; }
.dw-vorschau li + li { border-left: 1px solid var(--dr-linie); }
.dw-tag { font-size: 13px; font-weight: 800; color: var(--dr-grau); }
.dw-vorschau .dw-symbol { margin: 2px 0; }
.dw-max { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 17px; line-height: 1.1; }
.dw-min { font-size: 14px; color: var(--dr-grau); line-height: 1.1; }
.dw-regen { margin-top: 2px; font-size: 12px; font-weight: 700; color: var(--dr-blau); }
.dw-regen::before { content: ""; display: inline-block; width: 7px; height: 9px; margin-right: 3px; background: currentColor; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; clip-path: polygon(50% 0, 100% 60%, 85% 95%, 15% 95%, 0 60%); }
.dw-quelle { margin-top: 8px !important; font-size: 12px; color: var(--dr-grau); }
.dw-quelle a { color: var(--dr-grau); }
.dreisel-wetter .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .dw-jetzt .dw-sonne { animation: none; } }

/* 1.9.8 – „Komm vorbei!“-Stempel am nächsten Termin */
.dtk-eintrag.ist-naechster, .dreisel-termin-gross { position: relative; }
.dreisel-stempel {
	position: absolute; z-index: 3; top: -16px; right: -12px;
	width: 62px; height: 62px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; text-align: center;
	background: var(--dr-gelb); color: var(--dr-erde);
	font: 800 12px/1.1 var(--dr-ueberschrift);
	box-shadow: 0 6px 14px rgba(61,42,30,.22), inset 0 0 0 3px var(--dr-gelb), inset 0 0 0 4.5px rgba(61,42,30,.35);
	transform: rotate(12deg); pointer-events: none;
	animation: dr-stempel .5s cubic-bezier(.2,1.6,.4,1) .3s both;
}
@keyframes dr-stempel { from { opacity: 0; transform: rotate(30deg) scale(1.6); } to { opacity: 1; transform: rotate(12deg) scale(1); } }
.dtk-eintrag.ist-naechster > .dreisel-teilen-mini { top: auto; bottom: 10px; transform: none; }
.dreisel-termin-gross .dreisel-stempel { top: -20px; right: -14px; width: 78px; height: 78px; font-size: 15px; }
@media (max-width: 600px) { .dreisel-stempel { right: -6px; } .dreisel-termin-gross .dreisel-stempel { right: -6px; width: 66px; height: 66px; font-size: 13px; } }
@media (prefers-reduced-motion: reduce) { .dreisel-stempel { animation: none; } }
.dtk-eintrag.ist-naechster > .dtk-termin { min-height: 108px; box-sizing: border-box; }

/* 1.9.9 – „Weitere Beiträge“ unter einem Beitrag: zwei gleich breite Karten nebeneinander */
.dreisel-weitere .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 700px) { .dreisel-weitere .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; } }

/* ==========================================================================
   2.0.0 – „Termine aufs Handy“ (Kalender-Abo)
   ========================================================================== */
.dreisel-abo { margin-top: 14px; border-radius: 16px; background: var(--dr-weiss); border: 2px solid var(--dr-gruen); overflow: hidden; }
.dreisel-abo summary {
	list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px;
	padding: 12px 14px; color: var(--dr-erde); transition: background .2s;
}
.dreisel-abo summary::-webkit-details-marker { display: none; }
.dreisel-abo summary:hover { background: var(--dr-hellgruen); }
.dreisel-abo summary:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: -3px; }
.dab-ico { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--dr-gruen); color: var(--dr-weiss); }
.dab-text { flex: 1; display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.dab-text strong { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 17px; }
.dab-text small { font-size: 13px; color: var(--dr-grau); margin-top: 2px; }
.dab-pfeil { flex: 0 0 auto; color: var(--dr-gruen); transition: transform .25s; }
.dreisel-abo[open] .dab-pfeil { transform: rotate(180deg); }
.dreisel-abo[open] summary { background: var(--dr-hellgruen); }
.dab-panel { padding: 12px 14px 14px; border-top: 1px solid var(--dr-linie); }
.dab-panel p { margin: 0; }
.dab-frage { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--dr-grau); margin-bottom: 8px !important; }
.dab-liste { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 6px; }
.dab-liste li { margin: 0 !important; list-style: none !important; }
.dab-option {
	position: relative; display: flex; flex-direction: column; padding: 9px 40px 9px 12px; border-radius: 12px;
	background: var(--dr-lehm); color: var(--dr-erde) !important; text-decoration: none !important; border: 0 !important; line-height: 1.25;
	transition: background .15s, transform .15s;
}
.dab-option::after { content: "→"; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-weight: 800; color: var(--dr-gruen); transition: transform .2s; }
.dab-option strong { font-size: 16px; }
.dab-option span { font-size: 13px; color: var(--dr-grau); }
.dab-option:hover, .dab-option:focus-visible { background: #E3D9C6; }
.dab-option:hover::after { transform: translate(3px, -50%); }
.dab-option:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }
.dab-option.ist-empfohlen { background: var(--dr-gruen); color: var(--dr-weiss) !important; }
.dab-option.ist-empfohlen span { color: #DCE8D3; }
.dab-option.ist-empfohlen::after { color: var(--dr-gelb); }
.dab-option.ist-empfohlen:hover { background: #335C25; }
.dab-empfohlen { font-style: normal; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--dr-gelb); margin-top: 2px; }
.dab-andere { margin-top: 8px !important; }
.dab-kopieren { border: 0; background: none; padding: 4px 0; font: inherit; font-size: 14px; font-weight: 700; color: var(--dr-gruen); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.dab-kopieren.ist-kopiert { color: var(--dr-erde); text-decoration: none; }
.dab-kopieren.ist-kopiert .dt-label::before { content: "✓ "; color: var(--dr-gruen); }
.dab-hinweis { margin-top: 6px !important; font-size: 13px; color: var(--dr-grau); line-height: 1.4; }
.dreisel-abo .dt-meldung { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.dreisel-abo [hidden] { display: none !important; }
/* Termin-Übersicht: breite Fassung oben */
.dreisel-abo.ist-breit { max-width: 640px; margin: 0 0 24px; }
.dreisel-abo.ist-breit .dab-liste { flex-direction: row; flex-wrap: wrap; }
.dreisel-abo.ist-breit .dab-liste li { flex: 1 1 180px; }
.tribe-events-before-html { margin-bottom: 8px; }
@media (prefers-reduced-motion: reduce) { .dab-pfeil, .dab-option, .dab-option::after { transition: none; } }

/* ==========================================================================
   2.0.0 – Dorfchronik: „Erinnerungen gesucht!“
   ========================================================================== */
/* Der alte kleine Kasten bei „Zum Nachlesen“ entfällt – die neue Box steht weiter oben */
.dreisel-chronik-aufruf-neu .wp-block-column:has(> .dreisel-band-gruen a[href*="#kontakt"]) { display: none; }

.dreisel-aufruf {
	display: grid; grid-template-columns: minmax(240px, 5fr) 7fr; gap: clamp(28px, 5vw, 64px); align-items: center;
	background: var(--dr-gruen); color: var(--dr-weiss); border-radius: 28px;
	padding: clamp(28px, 5vw, 56px); position: relative; overflow: hidden;
}
.dreisel-aufruf::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .35;
	background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.22) 1.2px, transparent 0); background-size: 18px 18px;
	-webkit-mask-image: linear-gradient(110deg, #000 0, transparent 50%); mask-image: linear-gradient(110deg, #000 0, transparent 50%);
}
.dreisel-aufruf > * { position: relative; }
.da-bilder { position: relative; height: 300px; }
.da-foto { position: absolute; background: #FFFFFF; padding: 9px 9px 30px; border-radius: 3px; box-shadow: 0 14px 30px rgba(0,0,0,.28); }
.da-foto img { display: block; width: 100%; height: 100%; object-fit: cover; filter: sepia(.55) contrast(.95) brightness(1.02); }
.da-foto-1 { width: 62%; height: 62%; left: 0; top: 4%; transform: rotate(-7deg); }
.da-foto-2 { width: 58%; height: 58%; right: 2%; bottom: 0; transform: rotate(5deg); }
.da-zettel {
	position: absolute; right: 6%; top: 2%; transform: rotate(6deg);
	background: var(--dr-gelb); color: var(--dr-erde); padding: 10px 14px; border-radius: 2px;
	font: 800 16px/1.15 var(--dr-ueberschrift); box-shadow: 0 8px 18px rgba(0,0,0,.22); max-width: 46%;
}
.da-zettel::before { content: ""; position: absolute; top: -8px; left: 50%; width: 44px; height: 16px; transform: translateX(-50%) rotate(-3deg); background: rgba(255,255,255,.55); }
.da-text .dreisel-oberzeile { color: var(--dr-gelb); margin: 0 0 6px; }
.da-text h2 { color: var(--dr-weiss); margin: 0 0 12px; font-size: clamp(30px, 4vw, 42px); }
.da-text > p { margin: 0 0 18px; color: #EEF3EA; }
.da-arten { list-style: none; margin: 0 0 22px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.da-arten li { margin: 0; display: flex; flex-direction: column; gap: 8px; padding: 14px; border-radius: 16px; background: rgba(255,255,255,.1); font-size: 14px; line-height: 1.3; color: #DCE8D3; }
.da-arten strong { display: block; color: var(--dr-weiss); font-size: 15px; margin-bottom: 2px; }
.da-sym { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--dr-gelb); color: var(--dr-erde); }
.da-knoepfe { display: flex; flex-wrap: wrap; gap: 10px; }
.da-knopf {
	display: inline-flex; align-items: center; padding: 12px 22px; border-radius: 999px; font-weight: 700; font-size: 17px;
	text-decoration: none !important; color: var(--dr-weiss) !important; border: 2px solid rgba(255,255,255,.6); transition: background .2s, color .2s, border-color .2s;
}
.da-knopf:hover { background: rgba(255,255,255,.12); border-color: var(--dr-weiss); }
.da-knopf-haupt { background: var(--dr-gelb); border-color: var(--dr-gelb); color: var(--dr-erde) !important; }
.da-knopf-haupt::before { content: ""; width: 20px; height: 20px; margin-right: 8px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4.5' width='19' height='15' rx='2.5'/%3E%3Cpath d='m3 6.5 9 6.5 9-6.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4.5' width='19' height='15' rx='2.5'/%3E%3Cpath d='m3 6.5 9 6.5 9-6.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.da-knopf-haupt:hover { background: #FFD24D; border-color: #FFD24D; color: var(--dr-erde) !important; }
.da-knopf:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 3px; }
.da-hinweis { margin: 14px 0 0 !important; font-size: 14px; color: #DCE8D3 !important; }
.da-hinweis a { color: var(--dr-weiss); }
@media (max-width: 860px) {
	.dreisel-aufruf { grid-template-columns: 1fr; }
	.da-bilder { height: 220px; max-width: 420px; width: 100%; margin: 0 auto; }
	.da-arten { grid-template-columns: 1fr; }
	.da-arten li { flex-direction: row; align-items: center; }
	.da-sym { flex: 0 0 auto; }
}

/* Kapitel- und Vereinsseiten: kleine Box vor der Kapitel-Navigation */
.dreisel-aufruf-klein {
	max-width: 780px; margin: 48px auto 0; padding: 18px 20px; box-sizing: border-box;
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	background: var(--dr-hellgruen); border: 1px solid #CFDFC4; border-radius: 20px;
}
.dak-sym { flex: 0 0 auto; width: 52px; height: 52px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--dr-gruen); color: var(--dr-weiss); }
.dak-text { flex: 1 1 260px; }
.dak-text p { margin: 0; font-size: 16px; color: var(--dr-grau); line-height: 1.45; }
.dak-text .dak-titel { font-family: var(--dr-ueberschrift); font-weight: 800; font-size: 19px; color: var(--dr-erde); margin-bottom: 2px; }
.dak-knopf { flex: 0 0 auto; display: inline-flex; padding: 10px 18px; border-radius: 999px; background: var(--dr-gruen); color: var(--dr-weiss) !important; text-decoration: none !important; font-weight: 700; font-size: 16px; }
.dak-knopf:hover { background: #335C25; }
.dak-knopf:focus-visible { outline: 3px solid var(--dr-gelb); outline-offset: 2px; }
@media (max-width: 600px) { .dreisel-aufruf-klein { margin: 36px 16px 0; } .dak-knopf { width: 100%; box-sizing: border-box; justify-content: center; } }
.dreisel-aufruf-klein + .dreisel-kapitelnavi { margin-top: 24px; }

/* ==========================================================================
   2.0.3 – Korrekturen
   ========================================================================== */
/* Startseite: Begrüßungstext über dem Titelbild auf dem Handy ausblenden (bleibt für Screenreader lesbar) */
@media (max-width: 600px) {
	.dreisel-slider .dreisel-uebertext {
		position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
		clip: rect(0 0 0 0); white-space: nowrap; border: 0;
	}
}

/* Startseite: „Alle Beiträge ansehen“ + Facebook direkt unter den Beiträgen, sobald die Termine darunter rutschen */
.dreisel-aktuelles-fuss.dreisel-nur-schmal { display: none !important; }
@media (max-width: 1000px) {
	.dreisel-aktuelles-fuss.dreisel-nur-schmal { display: flex !important; margin-top: 24px !important; margin-bottom: 8px !important; }
	.dreisel-aktuelles-fuss.dreisel-nur-breit { display: none !important; }
}

/* Seite Dreisel, „Impressionen“: gleichmäßiges Raster statt unterschiedlich breit gezogener Bilder */
.wp-block-gallery.is-style-raster {
	display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px !important;
}
.wp-block-gallery.is-style-raster::after { content: none; display: none; }
.wp-block-gallery.is-style-raster > figure.wp-block-image {
	width: auto !important; height: auto !important; aspect-ratio: 4 / 3; flex: none !important;
}
.wp-block-gallery.is-style-raster figure img { min-width: 0; }
.wp-block-gallery.is-style-raster > figure.dm-versteckt { display: none !important; }
@media (max-width: 600px) {
	.wp-block-gallery.is-style-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px !important; }
	.wp-block-gallery.is-style-raster > figure.wp-block-image { height: auto !important; }
}

/* Chronik-Kapitel: Abstand zwischen „Weißt Du mehr …?“ und der Kapitel-Navigation */
.dreisel-aufruf-klein + .dreisel-kapitelnavi { margin-top: 28px !important; }

/* ==========================================================================
   2.0.4 – „Termine aufs Handy“ auf der Termin-Übersicht absichern
   The Events Calendar setzt in seinem Bereich (.tribe-common) Rahmen, Hintergründe,
   Abstände und die Anzeige von <details>/<summary> zurück. Hier die eigenen Werte erzwingen.
   ========================================================================== */
body .dreisel-abo {
	display: block !important; box-sizing: border-box !important;
	margin: 0 0 24px !important; padding: 0 !important;
	background: #FFFFFF !important; border: 2px solid var(--dr-gruen) !important; border-radius: 16px !important; overflow: hidden !important;
	font-family: var(--wp--preset--font-family--source-sans, "Source Sans 3", Arial, sans-serif) !important; color: var(--dr-erde) !important;
}
body .dreisel-abo *, body .dreisel-abo *::before, body .dreisel-abo *::after { box-sizing: border-box !important; }
body .dreisel-abo, body .dreisel-abo *:not(.dab-kopieren):not(.dab-kopieren *) { text-decoration: none !important; }
body .dreisel-abo > summary {
	display: flex !important; flex-direction: row !important; align-items: center !important; gap: 12px !important;
	margin: 0 !important; padding: 12px 14px !important; border: 0 !important; list-style: none !important;
	background: #FFFFFF !important; cursor: pointer !important;
}
body .dreisel-abo > summary::-webkit-details-marker { display: none !important; }
body .dreisel-abo > summary:hover, body .dreisel-abo[open] > summary { background: var(--dr-hellgruen) !important; }
body .dreisel-abo .dab-ico {
	display: inline-flex !important; flex: 0 0 auto !important; width: 42px !important; height: 42px !important; margin: 0 !important;
	align-items: center !important; justify-content: center !important; border-radius: 12px !important;
	background: var(--dr-gruen) !important; color: #FFFFFF !important;
}
body .dreisel-abo .dab-text { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; min-width: 0 !important; margin: 0 !important; line-height: 1.2 !important; }
body .dreisel-abo .dab-text strong { font-family: var(--dr-ueberschrift) !important; font-weight: 800 !important; font-size: 17px !important; line-height: 1.2 !important; color: var(--dr-erde) !important; }
body .dreisel-abo .dab-text small { font-size: 13px !important; line-height: 1.3 !important; color: var(--dr-grau) !important; margin-top: 2px !important; }
body .dreisel-abo .dab-pfeil { flex: 0 0 auto !important; margin: 0 !important; color: var(--dr-gruen) !important; }
body .dreisel-abo .dab-panel { display: block !important; margin: 0 !important; padding: 12px 14px 14px !important; border: 0 !important; border-top: 1px solid var(--dr-linie) !important; background: #FFFFFF !important; }
body .dreisel-abo .dab-panel p { margin: 0 !important; padding: 0 !important; }
body .dreisel-abo .dab-frage { margin: 0 0 8px !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: var(--dr-grau) !important; }
body .dreisel-abo .dab-liste { display: flex !important; flex-direction: column !important; gap: 6px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
body .dreisel-abo .dab-liste > li { display: block !important; flex: 0 0 auto !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
body .dreisel-abo .dab-liste > li::before, body .dreisel-abo .dab-liste > li::marker { content: none !important; display: none !important; }
body .dreisel-abo .dab-option {
	position: relative !important; display: flex !important; flex-direction: column !important;
	margin: 0 !important; padding: 9px 40px 9px 12px !important; border: 0 !important; border-radius: 12px !important;
	background: var(--dr-lehm) !important; color: var(--dr-erde) !important; text-decoration: none !important; line-height: 1.25 !important; box-shadow: none !important;
}
body .dreisel-abo .dab-option strong { font-size: 16px !important; font-weight: 700 !important; color: inherit !important; }
body .dreisel-abo .dab-option span { font-size: 13px !important; color: var(--dr-grau) !important; }
body .dreisel-abo .dab-option:hover, body .dreisel-abo .dab-option:focus-visible { background: #E3D9C6 !important; }
body .dreisel-abo .dab-option.ist-empfohlen { background: var(--dr-gruen) !important; color: #FFFFFF !important; }
body .dreisel-abo .dab-option.ist-empfohlen span { color: #DCE8D3 !important; }
body .dreisel-abo .dab-option.ist-empfohlen:hover { background: #335C25 !important; }
body .dreisel-abo .dab-empfohlen { font-style: normal !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .06em !important; color: var(--dr-gelb) !important; margin-top: 2px !important; }
body .dreisel-abo .dab-andere { margin: 8px 0 0 !important; }
body .dreisel-abo .dab-kopieren { display: inline !important; margin: 0 !important; padding: 4px 0 !important; border: 0 !important; background: none !important; font-size: 14px !important; font-weight: 700 !important; color: var(--dr-gruen) !important; text-decoration: underline !important; text-underline-offset: 3px !important; cursor: pointer !important; }
body .dreisel-abo .dab-hinweis { margin: 6px 0 0 !important; font-size: 13px !important; line-height: 1.4 !important; color: var(--dr-grau) !important; }
body .dreisel-abo [hidden] { display: none !important; }
/* Termin-Übersicht am PC: Optionen nebeneinander, Kasten nicht über die ganze Breite */
@media (min-width: 700px) {
	body .dreisel-abo.ist-breit { max-width: 640px !important; }
	body .dreisel-abo.ist-breit .dab-liste { flex-direction: row !important; flex-wrap: wrap !important; }
	body .dreisel-abo.ist-breit .dab-liste > li { flex: 1 1 180px !important; }
}
body .dreisel-abo .dab-kopieren .dt-label { color: inherit !important; font: inherit !important; }

/* ==========================================================================
   2.0.5 – Fotos direkt im Beitragstext (v. a. aus alten Beiträgen und dem klassischen Editor)
   nicht breiter als die Spalte – vorher am Handy rechts abgeschnitten (u. a. 37 Beiträge).
   ========================================================================== */
.wp-block-post-content img:not(figure img) { max-width: 100% !important; }
/* 2.0.10 – Höhe nur in Beiträgen freigeben; auf Seiten brauchen Karten (Chronik-Kapitel, Vereine, Aufruf-Fotos) ihre feste Bildhöhe. */
.single-post .wp-block-post-content img:not(figure img) { height: auto !important; }
.wp-block-post-content figure.wp-block-image.alignleft,
.wp-block-post-content figure.wp-block-image.alignright { max-width: 100%; box-sizing: border-box; }

/* ==========================================================================
   2.0.7 – Abstand „Termine aufs Handy“ zum Knopf „Alle Termine“
   ========================================================================== */
.dreisel-abo:not(.ist-breit) { margin-top: 28px !important; }

/* 2.0.8 – Hinweis beim nächsten Termin */
.dtk-ober.mit-hinweis,
.dreisel-oberzeile.mit-hinweis { display: block; margin-bottom: 9px; line-height: 1; }
.dtk-hinweis {
	display: inline-block; background: var(--dr-gelb); color: var(--dr-erde);
	border-radius: 999px; padding: 3px 11px; font-size: 12px; font-weight: 800;
	letter-spacing: .06em; text-transform: uppercase; line-height: 18px; white-space: nowrap;
}
.dtk-hinweis.ist-heute { background: #fff; color: var(--dr-gruen); box-shadow: 0 0 0 2px var(--dr-gelb); }
.dtk-hinweis.ist-heute::before {
	content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%;
	background: #E2552B; margin-right: 7px; vertical-align: 1px; animation: dtk-puls 1.4s ease-in-out infinite;
}
@keyframes dtk-puls { 50% { opacity: .25; } }
@media (prefers-reduced-motion: reduce) { .dtk-hinweis.ist-heute::before { animation: none; } }
.dtk-hinweis.ist-klein { display: inline-block; align-self: flex-start; width: auto; font-size: 11px; padding: 1px 8px; line-height: 16px; margin-bottom: 4px; }
/* 2.0.9 – zu hohe Seitenleiste scrollt normal mit, statt unten abgeschnitten zu werden */
.dreisel-seitenleiste.ist-zu-hoch { position: static !important; }

/* ==========================================================================
   2.0.10 – Schwebende Fotos in Chronik und Beiträgen:
   Zwei Fotos auf derselben Seite stellen sich untereinander statt nebeneinander
   (sonst rutscht das zweite aus der Textspalte), und breite Kästen wie
   „Aus dem Fotoalbum“ beginnen erst unter einem schwebenden Foto.
   ========================================================================== */
.wp-block-post-content > .alignleft { clear: left; }
.wp-block-post-content > .alignright { clear: right; }
.wp-block-post-content > .alignwide,
.wp-block-post-content > .alignfull { clear: both; }
