/* =========================================================================
 * Stuttgart im Blick auf GeneratePress (29.10.2026)
 *
 * Eigenes Geruest, Muster aus sachsen-portale/design/LAYOUT-REGISTER.md ("noch nicht vergeben"):
 *   Kopf/Nav   feste linke Spalte mit Wortmarke und senkrechter Navigation; mobil Kennzeichen-Zeile ueber der Wortmarke
 *   Block 1    zwei gleich grosse Aufmacher nebeneinander
 *   Raster     Lesespalte, Kreis-Waehler (Filterchips), Themen als Masonry; keine rechte Seitenleiste
 *   Karten     Foto im Passepartout
 *   Anzeigen   Skyscraper 160 x 600 in der linken Spalte, sonst im Lesefluss
 *   Fuss       eine Zeile
 *   Schrift    Bodoni Moda (Didone) fuer Wortmarke und Schlagzeilen, Archivo fuer Text und Kennzeichen
 *   Farbe      Weiss, Tinte, Trollingerrot als einziger Akzent
 *
 * 1. Tokens  2. Grundgeruest  3. Linke Spalte  4. Mobil: Kennzeichen-Zeile und "Mehr"  5. Bausteine
 * 6. Startseite  7. Beitrag  8. Archiv, Suche, 404  9. Veranstaltungen  10. Werbeplaetze  11. Fuss
 * ====================================================================== */

/* 1. Tokens ------------------------------------------------------------ */
:root {
	--sib-tinte: #16181d;
	--sib-text: #25272c;
	--sib-grau: #5b5e65;
	--sib-linie: #e5e5e1;
	--sib-rahmen: #d6d6d0;
	--sib-hell: #f3f3f1;
	--sib-papier: #ffffff;
	--sib-rot: #7a2131;            /* Trollingerrot */
	--sib-rot-dunkel: #5c1724;

	--sib-bodoni: "Bodoni Moda", "Bodoni Ersatz", Georgia, "Times New Roman", serif;
	--sib-sans: "Archivo", "Archivo Ersatz", Arial, Helvetica, sans-serif;

	--sib-spalte: 228px;           /* linke Spalte (Desktop) */
	--sib-luft: 40px;              /* Abstand Spalte zu Inhalt */
	--sib-rand: 16px;              /* Seitenrand mobil */
	--sib-abstand: 44px;           /* Abstand zwischen Abschnitten */

	/* Werbeplaetze (MU-Plugin portale-werbung) */
	--pw-grund: var(--sib-hell);
	--pw-rand: transparent;
	--pw-text: var(--sib-tinte);
	--pw-akzent: var(--sib-rot);
	--pw-kennung: var(--sib-grau);
}
@media (min-width: 768px) {
	:root { --sib-rand: 28px; --sib-abstand: 56px; }
}
@media (min-width: 1200px) {
	:root { --sib-spalte: 240px; --sib-luft: 56px; }
}

/* 2. Grundgeruest ------------------------------------------------------- */
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--sib-papier);
	color: var(--sib-text);
	font-family: var(--sib-sans);
	font-size: 17px;
	line-height: 1.6;
	overflow-wrap: break-word;
}
a { color: var(--sib-rot); }
a:hover, a:focus { color: var(--sib-rot-dunkel); }
:focus-visible { outline: 2px solid var(--sib-rot); outline-offset: 2px; }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4 { font-family: var(--sib-bodoni); color: var(--sib-tinte); font-weight: 600; }
h1 a, h2 a, h3 a, h4 a { color: inherit; text-decoration: none; }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }

/* GP-Huellen neutralisieren */
.site.grid-container, .site-content, .one-container .site-content { max-width: none; margin: 0; padding: 0; background: transparent; }
.one-container .container, .separate-containers .site-main { background: transparent; }
.site-main { margin: 0; box-sizing: border-box; padding: 20px var(--sib-rand) 8px; }
.site-footer { background: transparent; }

/* Desktop: Spalte links, Inhalt rechts, zusammen mittig */
@media (min-width: 1024px) {
	body {
		display: grid;
		grid-template-columns: var(--sib-spalte) minmax(0, 1040px);
		grid-template-rows: auto 1fr;
		column-gap: var(--sib-luft);
		justify-content: center;
		padding: 0 28px;
		min-height: 100vh;
	}
	.sib-spalte { grid-column: 1; grid-row: 1 / span 2; }
	#page { grid-column: 2; grid-row: 1; min-width: 0; }
	.site-footer { grid-column: 2; grid-row: 2; align-self: end; min-width: 0; }
	.site-main { padding: 36px 0 8px; }
}

/* 3. Linke Spalte ------------------------------------------------------- */
.sib-spalte { background: var(--sib-papier); }
.sib-marke-titel {
	margin: 0;
	font-family: var(--sib-bodoni);
	font-weight: 700;
	color: var(--sib-tinte);
	letter-spacing: -.01em;
}
.sib-marke-titel a { color: inherit; text-decoration: none; }
.sib-marke-titel a:hover { text-decoration: none; }
.sib-marke-b { color: var(--sib-rot); }
.sib-unterzeile { margin: 12px 0 0; font-size: 14px; line-height: 1.45; color: var(--sib-grau); }
.sib-nav-titel { margin: 0 0 6px; font-size: 13px; font-weight: 600; color: var(--sib-grau); }
.sib-nav ul, .sib-spalte-rest ul { list-style: none; margin: 0; padding: 0; }

/* Kennzeichen-Schild: schwarzer Rand mit innerer Linie wie am Nummernschild, schmale Grossbuchstaben */
.sib-kz {
	box-sizing: border-box;
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	min-width: 66px; height: 22px; padding: 0 8px;
	border: 1.5px solid var(--sib-tinte); border-radius: 4px;
	box-shadow: inset 0 0 0 1.5px var(--sib-papier), inset 0 0 0 2.5px var(--sib-tinte);
	background: var(--sib-papier); color: var(--sib-tinte);
	font-family: var(--sib-sans); font-stretch: 75%; font-weight: 700; font-size: 14.5px; line-height: 1; letter-spacing: .09em;
	text-indent: .07em;
}
[aria-current="page"] > .sib-kz, .sib-chip[aria-current="page"] .sib-kz {
	background: var(--sib-tinte); color: var(--sib-papier); box-shadow: inset 0 0 0 1.5px var(--sib-tinte), inset 0 0 0 2.5px var(--sib-papier);
}

@media (min-width: 1024px) {
	.sib-spalte {
		box-sizing: border-box;
		align-self: stretch;
		padding: 36px 28px 48px 0;
		border-right: 1px solid var(--sib-linie);
	}
	.sib-marke-titel { font-size: 40px; line-height: 1; }
	.sib-marke-a, .sib-marke-b { display: block; }
	.sib-nav { margin-top: 34px; }
	.sib-spalte .sib-nav-kreis {
		display: flex; align-items: center; gap: 12px;
		padding: 6px 0; min-height: 38px; box-sizing: border-box;
		font-size: 16.5px; font-weight: 500; color: var(--sib-tinte); text-decoration: none;
	}
	.sib-nav-kreis:hover .sib-nav-name { text-decoration: underline; text-underline-offset: 3px; }
	.sib-nav-kreis[aria-current="page"] { font-weight: 700; }
	.sib-nav-land { margin-top: 6px !important; }
	.sib-nav-land a, .sib-nav-themen a, .sib-mehr-liste a {
		display: inline-block; padding: 4px 0; min-height: 24px;
		color: var(--sib-text); text-decoration: none; font-size: 15.5px;
	}
	.sib-nav-land a:hover, .sib-nav-themen a:hover { text-decoration: underline; text-underline-offset: 3px; }
	.sib-nav-land a[aria-current="page"], .sib-nav-themen a[aria-current="page"] { color: var(--sib-rot); font-weight: 600; }
	.sib-mehr { display: none; }
	.sib-spalte { display: flex; flex-direction: column; }
	.sib-spalte-rest { margin-top: 30px; flex: 1; display: flex; flex-direction: column; }
	.sib-anzeige--rand { position: sticky; top: 24px; }
	.sib-spalte-rest nav { margin-top: 26px; }
	.sib-spalte-links { margin: 26px 0 0; display: flex; flex-direction: column; gap: 6px; font-size: 15.5px; font-weight: 600; }
	.sib-spalte-links a { text-decoration: none; }
	.sib-spalte-links a:hover { text-decoration: underline; text-underline-offset: 3px; }
}

/* Suche (Spalte, Mehr, Suchseite, 404) */
.sib-suche { display: flex; max-width: 420px; }
.sib-suche input[type="search"] {
	flex: 1; min-width: 0; height: 42px; box-sizing: border-box;
	padding: 0 12px; border: 1px solid var(--sib-rahmen); border-right: 0; border-radius: 0;
	background: var(--sib-hell); color: var(--sib-tinte); font: inherit; font-size: 16px;
}
.sib-suche input[type="search"]:focus { background: var(--sib-papier); border-color: var(--sib-tinte); outline: none; }
.sib-suche button {
	width: 44px; height: 42px; padding: 0; border: 1px solid var(--sib-tinte); border-radius: 0;
	background: var(--sib-tinte); color: var(--sib-papier); cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.sib-suche button:hover { background: var(--sib-rot); border-color: var(--sib-rot); }

/* 4. Mobil: Kennzeichen-Zeile ueber der Wortmarke, "Mehr" ---------------- */
@media (max-width: 1023px) {
	.sib-spalte { display: flex; flex-direction: column; border-bottom: 1px solid var(--sib-linie); }
	.sib-nav {
		order: -1; position: relative;
		display: flex; align-items: center; gap: 10px;
		padding: 0 var(--sib-rand); min-height: 52px;
		border-bottom: 1px solid var(--sib-linie);
	}
	.sib-nav > .sib-nav-titel, .sib-nav-land, .sib-spalte-rest, .sib-unterzeile { display: none; }
	.sib-nav-kreise { flex: 1; display: flex; justify-content: space-between; gap: 4px; max-width: 420px; }
	.sib-nav-kreis { display: flex; align-items: center; min-height: 44px; text-decoration: none; }
	.sib-nav-kreis .sib-kz { min-width: 42px; height: 19px; padding: 0 4px; font-size: 13px; border-radius: 3px; }
	.sib-nav-name { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
	.sib-mehr { margin-left: auto; }
	.sib-mehr-knopf {
		display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 2px;
		font-size: 15.5px; font-weight: 600; color: var(--sib-tinte);
	}
	.sib-mehr-knopf::after {
		content: ""; width: 7px; height: 7px; margin-top: -4px;
		border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg);
	}
	.sib-mehr[open] .sib-mehr-knopf { color: var(--sib-rot); }
	.sib-mehr[open] .sib-mehr-knopf::after { margin-top: 4px; transform: rotate(-135deg); }
	.sib-mehr-feld {
		position: absolute; left: 0; right: 0; top: 100%; z-index: 30;
		box-sizing: border-box; padding: 18px var(--sib-rand) 22px;
		background: var(--sib-papier); border-bottom: 1px solid var(--sib-rahmen);
		max-height: calc(100vh - 60px); overflow-y: auto;
	}
	.sib-mehr-feld .sib-suche { margin-bottom: 18px; max-width: none; }
	.sib-mehr-liste { columns: 2; column-gap: 20px; margin-bottom: 14px !important; }
	.sib-mehr-liste li { break-inside: avoid; }
	.sib-mehr-liste a, .sib-mehr-liste .sib-einsenden { display: block; padding: 7px 0; color: var(--sib-tinte); text-decoration: none; font-size: 16px; }
	.sib-mehr-liste a[aria-current="page"] { color: var(--sib-rot); font-weight: 600; }
	.sib-mehr-liste--service { columns: 1; border-top: 1px solid var(--sib-linie); padding-top: 8px !important; }
	.sib-mehr-liste--service .sib-einsenden { color: var(--sib-rot); font-weight: 600; }
	.sib-marke { padding: 12px var(--sib-rand) 13px; }
	.sib-marke-titel { font-size: 27px; line-height: 1.1; white-space: nowrap; }
	.sib-anzeige--rand { display: none; }
}

/* 5. Bausteine ----------------------------------------------------------- */
.sib-abschnitt { margin: 0 0 var(--sib-abstand); }
.sib-titel { margin: 0 0 18px; font-size: 25px; font-weight: 700; line-height: 1.15; }
@media (min-width: 768px) { .sib-titel { font-size: 28px; } }
.sib-abschnitt-kopf { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 18px; }
.sib-stand { margin: 0 0 18px; font-size: 14px; color: var(--sib-grau); }

.sib-dach { margin: 0 0 2px; font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--sib-rot); }
.sib-dach a { display: inline-block; min-height: 24px; line-height: 24px; color: inherit; text-decoration: none; }
.sib-dach a:hover { text-decoration: underline; }
.sib-anriss { margin: 0 0 8px; font-size: 16px; line-height: 1.55; color: var(--sib-text); }
.sib-meta { margin: 0; font-size: 13.5px; line-height: 1.4; color: var(--sib-grau); }
.sib-meta > span::after { content: " · "; }
.sib-leer { color: var(--sib-grau); }
.sib-weiter { margin: 4px 0 0; font-size: 15.5px; font-weight: 600; }
.sib-weiter a { text-underline-offset: 3px; }

/* Foto im Passepartout */
.sib-rahmen { box-sizing: border-box; border: 1px solid var(--sib-rahmen); padding: 10px; background: var(--sib-papier); }
.sib-rahmen-bild { display: block; }
.sib-rahmen-bild img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: var(--sib-hell); }
.sib-rahmen-text { padding: 14px 6px 4px; }
.sib-rahmen-titel { margin: 0 0 8px; font-size: 20px; line-height: 1.22; }
.sib-rahmen--gross .sib-rahmen-titel { font-size: 24px; line-height: 1.16; }
@media (min-width: 1024px) {
	.sib-rahmen--gross .sib-rahmen-text { padding: 16px 8px 6px; }
	.sib-rahmen--gross .sib-rahmen-titel { font-size: 29px; }
}
.sib-rahmen--ohne-bild .sib-rahmen-text { padding-top: 6px; }

/* Textmeldung (Lesespalte, Listen) */
.sib-lesespalte { max-width: 680px; }
@media (min-width: 1024px) {
	.sib-tag, .sib-weiter-aus, .sib-termine { max-width: 680px; margin-left: auto; margin-right: auto; }
	.sib-einzel, .sib-archiv { max-width: 720px; margin-left: auto; margin-right: auto; }
}
.sib-meldung { padding: 0 0 20px; margin: 0 0 20px; border-bottom: 1px solid var(--sib-linie); }
.sib-meldung:last-child { border-bottom: 0; margin-bottom: 0; }
.sib-meldung-titel { margin: 0 0 6px; font-size: 21px; line-height: 1.22; }
@media (min-width: 768px) { .sib-meldung-titel { font-size: 22.5px; } }

/* Schlagzeilen-Liste */
.sib-kurzliste { list-style: none; margin: 0 0 16px; padding: 0; }
.sib-kurz { padding: 0 0 12px; margin: 0 0 12px; border-bottom: 1px solid var(--sib-linie); }
.sib-kurz-titel { display: block; margin: 0 0 3px; font-family: var(--sib-bodoni); font-weight: 600; font-size: 18.5px; line-height: 1.25; color: var(--sib-tinte); text-decoration: none; }
.sib-kurz-titel:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; color: var(--sib-tinte); }

/* 6. Startseite ---------------------------------------------------------- */
.sib-paar { display: grid; gap: 26px; }
@media (min-width: 700px) { .sib-paar { grid-template-columns: 1fr 1fr; gap: 26px; } }

/* Kreis-Waehler: Radioknoepfe versteckt (aber fokussierbar), Chips sind ihre Labels */
.sib-waehler { position: relative; }
.sib-wahl { position: absolute; top: 0; left: 0; width: 1px; height: 1px; margin: 0; opacity: 0; }
.sib-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin: 0 0 24px; padding: 0; list-style: none; }
.sib-chip {
	box-sizing: border-box; display: inline-flex; align-items: center; gap: 9px;
	min-height: 44px; padding: 4px 2px;
	border: 0; background: none;
	color: var(--sib-tinte); font-size: 15.5px; font-weight: 500; line-height: 1.2; cursor: pointer; text-decoration: none;
}
.sib-chip:hover .sib-chip-name { text-decoration: underline; text-underline-offset: 4px; }
.sib-chip--text { margin-left: 6px; padding-left: 16px; border-left: 1px solid var(--sib-rahmen); }
.sib-chips--links li:has(.sib-chip--text) + li .sib-chip--text { border-left: 0; padding-left: 4px; margin-left: 0; }
.sib-chip .sib-kz { min-width: 56px; }
.sib-chip-zahl { color: var(--sib-grau); font-weight: 400; }
.sib-chip[aria-current="page"] .sib-chip-name { color: var(--sib-rot); font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.sib-kreis { display: none; }
.sib-wahl:nth-of-type(1):checked ~ .sib-kreise-tafeln > .sib-kreis:nth-child(1),
.sib-wahl:nth-of-type(2):checked ~ .sib-kreise-tafeln > .sib-kreis:nth-child(2),
.sib-wahl:nth-of-type(3):checked ~ .sib-kreise-tafeln > .sib-kreis:nth-child(3),
.sib-wahl:nth-of-type(4):checked ~ .sib-kreise-tafeln > .sib-kreis:nth-child(4),
.sib-wahl:nth-of-type(5):checked ~ .sib-kreise-tafeln > .sib-kreis:nth-child(5),
.sib-wahl:nth-of-type(6):checked ~ .sib-kreise-tafeln > .sib-kreis:nth-child(6),
.sib-wahl:nth-of-type(7):checked ~ .sib-kreise-tafeln > .sib-kreis:nth-child(7),
.sib-wahl:nth-of-type(8):checked ~ .sib-kreise-tafeln > .sib-kreis:nth-child(8) { display: block; }
.sib-wahl:nth-of-type(1):checked ~ .sib-chips > .sib-chip:nth-child(1) .sib-chip-name,
.sib-wahl:nth-of-type(2):checked ~ .sib-chips > .sib-chip:nth-child(2) .sib-chip-name,
.sib-wahl:nth-of-type(3):checked ~ .sib-chips > .sib-chip:nth-child(3) .sib-chip-name,
.sib-wahl:nth-of-type(4):checked ~ .sib-chips > .sib-chip:nth-child(4) .sib-chip-name,
.sib-wahl:nth-of-type(5):checked ~ .sib-chips > .sib-chip:nth-child(5) .sib-chip-name,
.sib-wahl:nth-of-type(6):checked ~ .sib-chips > .sib-chip:nth-child(6) .sib-chip-name,
.sib-wahl:nth-of-type(7):checked ~ .sib-chips > .sib-chip:nth-child(7) .sib-chip-name,
.sib-wahl:nth-of-type(8):checked ~ .sib-chips > .sib-chip:nth-child(8) .sib-chip-name { color: var(--sib-rot); font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.sib-wahl:nth-of-type(1):checked ~ .sib-chips > .sib-chip:nth-child(1) .sib-kz,
.sib-wahl:nth-of-type(2):checked ~ .sib-chips > .sib-chip:nth-child(2) .sib-kz,
.sib-wahl:nth-of-type(3):checked ~ .sib-chips > .sib-chip:nth-child(3) .sib-kz,
.sib-wahl:nth-of-type(4):checked ~ .sib-chips > .sib-chip:nth-child(4) .sib-kz,
.sib-wahl:nth-of-type(5):checked ~ .sib-chips > .sib-chip:nth-child(5) .sib-kz,
.sib-wahl:nth-of-type(6):checked ~ .sib-chips > .sib-chip:nth-child(6) .sib-kz,
.sib-wahl:nth-of-type(7):checked ~ .sib-chips > .sib-chip:nth-child(7) .sib-kz,
.sib-wahl:nth-of-type(8):checked ~ .sib-chips > .sib-chip:nth-child(8) .sib-kz {
	background: var(--sib-tinte); color: var(--sib-papier); box-shadow: inset 0 0 0 1.5px var(--sib-tinte), inset 0 0 0 2.5px var(--sib-papier);
}
.sib-wahl:nth-of-type(1):focus-visible ~ .sib-chips > .sib-chip:nth-child(1),
.sib-wahl:nth-of-type(2):focus-visible ~ .sib-chips > .sib-chip:nth-child(2),
.sib-wahl:nth-of-type(3):focus-visible ~ .sib-chips > .sib-chip:nth-child(3),
.sib-wahl:nth-of-type(4):focus-visible ~ .sib-chips > .sib-chip:nth-child(4),
.sib-wahl:nth-of-type(5):focus-visible ~ .sib-chips > .sib-chip:nth-child(5),
.sib-wahl:nth-of-type(6):focus-visible ~ .sib-chips > .sib-chip:nth-child(6),
.sib-wahl:nth-of-type(7):focus-visible ~ .sib-chips > .sib-chip:nth-child(7),
.sib-wahl:nth-of-type(8):focus-visible ~ .sib-chips > .sib-chip:nth-child(8) { outline: 2px solid var(--sib-rot); outline-offset: 2px; }
@media (max-width: 599px) {
	.sib-kreise .sib-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
	.sib-kreise .sib-chip--text { margin-left: 0; padding-left: 2px; border-left: 0; }
}
.sib-kreis-inhalt { display: grid; gap: 22px; }
@media (min-width: 800px) { .sib-kreis-inhalt { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 34px; align-items: start; } }
.sib-kreis-orte { margin: 4px 0 16px; }
.sib-kreis-orte-titel { margin: 0 0 6px; font-size: 13.5px; font-weight: 600; color: var(--sib-grau); }
.sib-kreis-orte ul { display: flex; flex-wrap: wrap; gap: 2px 16px; list-style: none; margin: 0; padding: 0; font-size: 15px; }
.sib-kreis-orte a { display: inline-block; padding: 3px 0; min-height: 24px; color: var(--sib-tinte); text-decoration: underline; text-decoration-color: var(--sib-rahmen); text-underline-offset: 3px; }
.sib-kreis-orte a:hover { text-decoration-color: currentColor; }

/* Themen als Masonry */
.sib-mauer { columns: 1; column-gap: 20px; }
@media (min-width: 560px) { .sib-mauer { columns: 2; } }
@media (min-width: 900px) { .sib-mauer { columns: 3; } }
@media (min-width: 1200px) { .sib-mauer { columns: 4; } }
.sib-kachel { display: inline-block; width: 100%; margin: 0 0 20px; break-inside: avoid; vertical-align: top; }
.sib-kachel .sib-rahmen-titel { font-size: 18.5px; line-height: 1.24; }
.sib-kachel--text { padding: 6px 8px 8px; }
.sib-kachel--text .sib-rahmen-titel { font-size: 21px; }
.sib-thema { display: inline-block; width: 100%; margin: 0 0 30px; break-inside: avoid; }
.sib-thema-name { margin: 0 0 10px; font-family: var(--sib-sans); font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--sib-rot); }
.sib-thema-name a:hover { text-decoration: underline; }
.sib-thema .sib-rahmen, .sib-thema .sib-meldung { margin-bottom: 14px; }
.sib-thema .sib-rahmen-titel { font-size: 19px; }
.sib-thema .sib-meldung { padding-bottom: 14px; border-bottom: 1px solid var(--sib-linie); }
.sib-thema .sib-meldung:last-child { border-bottom: 1px solid var(--sib-linie); margin-bottom: 14px; }
.sib-thema .sib-kurz:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }

/* 7. Beitrag ------------------------------------------------------------- */
.sib-einzel .sib-beitrag, .sib-einzel .sib-weiter-aus { max-width: 720px; margin-left: auto; margin-right: auto; }
.sib-brotkrumen { margin: 0 0 14px; font-size: 13.5px; color: var(--sib-grau); }
.sib-brotkrumen p { margin: 0; }
.sib-brotkrumen a { color: var(--sib-grau); }
.sib-brotkrumen .separator { padding: 0 4px; }
.sib-beitrag-titel { margin: 2px 0 12px; font-size: clamp(30px, 6.2vw, 44px); font-weight: 700; line-height: 1.12; letter-spacing: -.005em; }
.sib-beitrag-meta > span::before { content: " · "; }
.sib-beitrag-meta > span::after { content: none; }
.sib-beitragsbild { margin: 22px 0 26px; padding: 10px; border: 1px solid var(--sib-rahmen); }
.sib-beitragsbild img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.sib-beitragsbild figcaption { padding: 9px 2px 0; font-size: 13.5px; line-height: 1.45; color: var(--sib-grau); }
.sib-beitrag-text { font-size: 18px; line-height: 1.68; color: var(--sib-text); }
.sib-beitrag-text > p { margin: 0 0 1.1em; }
.sib-beitrag-text h2 { margin: 1.5em 0 .5em; font-size: 25px; line-height: 1.2; font-weight: 700; }
.sib-beitrag-text h3 { margin: 1.3em 0 .4em; font-size: 21px; }
.sib-beitrag-text a { text-underline-offset: 3px; }
.sib-beitrag-text ul, .sib-beitrag-text ol { margin: 0 0 1.1em 1.2em; }
.sib-beitrag-text .pw-platz { margin: 8px 0 30px; }
.sib-beitrag-orte { margin: 26px 0 0; font-size: 15.5px; color: var(--sib-grau); }
.sib-beitrag-orte a { font-weight: 600; }
.sib-weiter-aus { margin-top: 44px; padding-top: 30px; border-top: 1px solid var(--sib-linie); }

/* Quellenkasten, KI-Hinweis, Bevorzugte Quelle (MU-Plugins) im Portalstil */
.sib-beitrag-text .bp-quellen, .sib-beitrag-text .pv-quelle {
	margin: 30px 0 0; padding: 16px 18px; border: 1px solid var(--sib-rahmen); background: var(--sib-papier);
	font-size: 15px; line-height: 1.55; color: var(--sib-text); opacity: 1;
}
.sib-beitrag-text .bp-quellen > :first-child, .sib-beitrag-text .pv-quelle > :first-child { margin-top: 0; }
.sib-beitrag-text .bp-quellen > :last-child, .sib-beitrag-text .pv-quelle > :last-child { margin-bottom: 0; }
.sib-beitrag-text .bp-quellen h2, .sib-beitrag-text .bp-quellen h3 { margin: 0 0 6px; font-size: 18px; }
.sib-beitrag-text .bp-quellen > div + div { margin-top: 8px; }
.sib-beitrag-text .bp-quelle, .sib-beitrag-text .bp-ki-hinweis { border: 0; padding: 0; background: none; }

/* 8. Archiv, Suche, 404 -------------------------------------------------- */
.sib-archiv-kopf { max-width: 720px; margin: 0 0 30px; }
.sib-archiv-titelzeile { display: flex; align-items: center; gap: 14px; }
.sib-kz--gross { min-width: 96px; height: 32px; font-size: 20px; padding: 0 10px; border-width: 2px; border-radius: 5px; box-shadow: inset 0 0 0 2px var(--sib-papier), inset 0 0 0 3.5px var(--sib-tinte); }
.sib-archiv-titel { margin: 0; font-size: clamp(27px, 5vw, 40px); font-weight: 700; line-height: 1.12; }
.sib-archiv-beschreibung { margin: 12px 0 0; font-size: 16.5px; color: var(--sib-text); }
.sib-archiv-beschreibung p { margin: 0 0 .6em; }
.sib-kreis-orte--archiv { margin: 18px 0 0; }
.sib-archiv-liste .sib-rahmen--gross { margin: 0 0 26px; }
.sib-archiv-kopf > p { color: var(--sib-text); }
.sib-archiv-kopf .sib-suche { margin-top: 16px; }
.sib-archiv .nav-links, .sib-archiv .pagination { margin: 26px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
.sib-archiv .page-numbers {
	display: inline-flex; align-items: center; min-height: 40px; min-width: 40px; justify-content: center; box-sizing: border-box;
	padding: 0 12px; border: 1px solid var(--sib-rahmen); color: var(--sib-tinte); text-decoration: none; font-size: 15px;
}
.sib-archiv .page-numbers.current { background: var(--sib-tinte); border-color: var(--sib-tinte); color: var(--sib-papier); }
.sib-archiv .page-numbers.dots { border: 0; }

/* 9. Veranstaltungen ----------------------------------------------------- */
.sib-termin-zeit { margin: 0 0 4px; font-size: 14px; font-weight: 700; line-height: 1.35; color: var(--sib-rot); }
.sib-termin-zeit strong { margin-left: 6px; padding: 1px 6px; background: var(--sib-hell); color: var(--sib-tinte); font-weight: 600; }
.sib-termin-zeit--gross { margin: 0 0 6px; font-size: 17px; }
.sib-termin--abgesagt .sib-meldung-titel a { text-decoration: line-through; text-decoration-thickness: 1px; }
.sib-steckbrief { margin: 0 0 28px; padding: 16px 18px; border: 1px solid var(--sib-rahmen); }
.sib-steckbrief dl { display: grid; gap: 14px 28px; margin: 0; }
@media (min-width: 600px) { .sib-steckbrief dl { grid-template-columns: 1fr 1fr; } }
.sib-steckbrief dt { font-size: 13.5px; font-weight: 600; color: var(--sib-grau); }
.sib-steckbrief dd { margin: 2px 0 0; font-size: 16px; line-height: 1.45; color: var(--sib-tinte); }
.sib-steckbrief-kalender { margin: 14px 0 0; font-size: 15px; font-weight: 600; }
.sib-pv-einsenden { margin: 26px 0 0; font-size: 15px; line-height: 1.55; color: var(--sib-grau); }
.sib-pv-filter { margin-top: 18px; }
.sib-chips--links li { list-style: none; }
.sib-pv-tag-titel { font-size: 23px; }
.sib-pv-einzel .pv-hinweis, .sib-pv-einzel .pv-hinweise { margin: 8px 0 0; padding: 8px 12px; background: var(--sib-hell); font-size: 15px; }

/* 10. Werbeplaetze (MU-Plugin portale-werbung), eigener Platzhalter ------ */
.sib-anzeige .pw-platz { margin: 0; text-align: left; }
.sib-anzeige--spalte { margin: 0 0 20px; padding: 0 0 20px; border-bottom: 1px solid var(--sib-linie); }
.sib-anzeige--liste { margin: 0 0 20px; padding: 0 0 20px; border-bottom: 1px solid var(--sib-linie); }
.sib-anzeige--ende { margin: 30px 0 0; }
.sib-anzeige--rand { margin-top: 34px; }
.pw-platz .pw-kennung { height: 20px; line-height: 20px; font-family: var(--sib-sans); font-size: 12px; font-weight: 500; letter-spacing: .02em; text-transform: none; text-align: right; color: var(--sib-grau); }
.pw-platzhalter {
	border: 0 !important; background: var(--sib-hell) !important;
	align-items: flex-start !important; text-align: left; padding: 16px 18px !important; gap: 6px !important;
}
.pw-platzhalter .pw-titel { display: none; }
.pw-platzhalter::before { content: "Diese Fläche können Sie buchen"; font-family: var(--sib-bodoni); font-weight: 600; font-size: 19px; line-height: 1.2; color: var(--sib-tinte); }
.pw-platzhalter .pw-mail { font-family: var(--sib-sans); font-size: 14.5px; font-weight: 600; color: var(--sib-rot); overflow-wrap: anywhere; }
.pw-platzhalter .pw-format { font-size: 13px; opacity: 1; color: var(--sib-grau); font-variant-numeric: tabular-nums; }
.pw-platzhalter:hover::before { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
@media (min-width: 768px) {
	.pw-quer .pw-platzhalter { flex-direction: row !important; align-items: center !important; flex-wrap: wrap; column-gap: 22px !important; }
}
.pw-platz--rand .pw-platzhalter { justify-content: flex-end !important; padding: 18px 14px !important; }
.pw-platz--rand .pw-platzhalter::before { margin-bottom: auto; font-size: 20px; }

/* 11. Fuss --------------------------------------------------------------- */
.sib-fuss { box-sizing: border-box; margin: 28px 0 0; padding: 18px var(--sib-rand) 30px; border-top: 1px solid var(--sib-linie); }
@media (min-width: 1024px) { .sib-fuss { padding: 18px 0 34px; } }
.sib-fuss-zeile { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 24px; font-size: 14px; color: var(--sib-grau); }
.sib-fuss-copy { margin: 0; }
.sib-fuss-links { display: flex; flex-wrap: wrap; gap: 2px 18px; list-style: none; margin: 0; padding: 0; }
.sib-fuss-links a { display: inline-block; padding: 3px 0; min-height: 24px; color: var(--sib-grau); text-decoration: none; }
.sib-fuss-links a:hover { color: var(--sib-tinte); text-decoration: underline; text-underline-offset: 3px; }
