/*
 * Discovery Panel – Termine
 * Eigenes, präfixiertes CSS (.dpt-…).
 *
 * 1. Startseiten-Panel (.dpt-panel): dunkles Design der Startseiten-Panels.
 * 2. Inhaltsseiten (.dpt-seite): helles Design wie der Rest von discoverypanel.de
 *    (Übersicht /termine/, Einzelseite, Meldeformular, Widerspruch).
 * Farben über die Theme-Variablen (--dp-primary …) mit den CI-Werten als Fallback.
 */

/* ---------- Gemeinsame Grundlagen ---------- */

.dpt-panel,
.dpt-seite {
	box-sizing: border-box;
	font-family: Figtree, system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.5;
}

.dpt-panel *,
.dpt-seite * {
	box-sizing: border-box;
}

.dpt-knopf,
a.dpt-knopf,
button.dpt-knopf {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 9px 20px;
	border: 2px solid transparent;
	border-radius: 999px;
	font: inherit;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.dpt-knopf:focus-visible {
	outline: 3px solid #4a66c0;
	outline-offset: 2px;
}

.dpt-panelium {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 999px;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.dpt-container {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 clamp(16px, 4vw, 32px);
}

.dpt-eyebrow {
	margin: 0 0 10px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.dpt-leer {
	padding: 32px 20px;
	border: 1px dashed;
	border-radius: 16px;
	text-align: center;
}

.dpt-leer__symbol {
	display: block;
	font-size: 2rem;
}

.dpt-leer__text {
	margin: 8px 0 4px;
	font-size: 1.1rem;
	font-weight: 600;
}

.dpt-leer__aufruf {
	margin: 0;
}

.dpt-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ========== 1. Startseiten-Panel (dunkel) ========== */

.dpt-panel {
	--dpt-gold: #c9a227;
}

.dpt-panel .dpt-leer {
	color: #fff;
}

.dpt-panel .dpt-leer__aufruf {
	color: rgba(255, 255, 255, 0.7);
}

/* ---------- Panel (Startseite): fünf Karten in der CI der Website ---------- */

.dpt-panel {
	--dpt-ci-grund: #0f0818;
	--dpt-ci-flaeche: #19102a;
	--dpt-ci-rand: #42286a;
	--dpt-ci-rand-stark: #5c3a88;
	--dpt-ci-magenta: #cf1682;
	--dpt-ci-magenta-hell: #e83d9f;
	--dpt-ci-gold: #c9a227;
	--dpt-ci-leise: rgba(255, 255, 255, 0.7);
	--dpt-ci-radius: 16px;
	position: relative;
	padding: clamp(28px, 4vw, 44px) 0;
	background: var(--dpt-ci-grund);
	color: #fff;
	font-family: Figtree, system-ui, -apple-system, "Segoe UI", sans-serif;
}

.dpt-panel .dpt-container {
	max-width: 1240px;
}

.dpt-panel .dpt-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 6px;
	color: var(--dpt-ci-gold);
	font-size: 0.75rem;
	letter-spacing: 0.24em;
}

.dpt-panel .dpt-eyebrow::before {
	content: "";
	width: 28px;
	height: 2px;
	background: var(--dpt-ci-gold);
}

.dpt-panel .dpt-panel__kopf {
	margin-bottom: 18px;
}

.dpt-panel .dpt-panel__titel {
	margin: 0;
	color: #fff;
	font-size: clamp(1.3rem, 2.4vw, 1.75rem);
}

/* Kartenreihe: richtet sich nach der Breite des Panels (Container-Query), nicht nach dem Fenster.
   Schmal: ~1,3 Karten sichtbar, mittel: ~2,3, breit (≥ 1000 px Panel): alle fünf nebeneinander.
   Gewischt wird nur in der Reihe – die Seite selbst scrollt nie seitlich. */
.dpt-panel .dpt-container {
	container-type: inline-size;
}

.dpt-karten {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 0.3 * 12px) / 1.3);
	gap: 12px;
	margin: 0;
	padding: 4px 2px 12px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: var(--dpt-ci-rand-stark) transparent;
	list-style: none;
}

@container (min-width: 560px) {
	.dpt-karten {
		grid-auto-columns: calc((100% - 1.3 * 14px) / 2.3);
		gap: 14px;
	}
}

@container (min-width: 1000px) {
	.dpt-karten {
		grid-auto-flow: row;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		grid-auto-columns: auto;
		overflow: visible;
	}
}

.dpt-karte {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--dpt-ci-rand);
	border-radius: var(--dpt-ci-radius);
	background: var(--dpt-ci-flaeche);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
	scroll-snap-align: start;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.dpt-karte:hover,
.dpt-karte:focus-within {
	border-color: var(--dpt-ci-magenta);
	box-shadow: 0 10px 26px rgba(207, 22, 130, 0.25);
	transform: translateY(-3px);
}

.dpt-karte__medien {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: linear-gradient(135deg, var(--dpt-ci-rand) 0%, var(--dpt-ci-flaeche) 55%, #2a0f2f 100%);
}

.dpt-karte__bild {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dpt-karte__platzhalter {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--dpt-ci-magenta-hell);
	background:
		radial-gradient(circle at 70% 30%, rgba(232, 61, 159, 0.28), transparent 55%),
		radial-gradient(circle at 20% 90%, rgba(92, 58, 136, 0.55), transparent 60%);
}

.dpt-karte__platzhalter svg {
	width: 30%;
	height: auto;
	max-width: 64px;
	opacity: 0.9;
}

.dpt-karte__datum {
	position: absolute;
	top: 10px;
	left: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 44px;
	padding: 5px 6px 4px;
	border-radius: 10px;
	background: rgba(15, 8, 24, 0.86);
	box-shadow: inset 0 0 0 1px var(--dpt-ci-gold);
	line-height: 1;
	backdrop-filter: blur(4px);
}

.dpt-karte__tag {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 800;
}

.dpt-karte__monat {
	margin-top: 2px;
	color: var(--dpt-ci-gold);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dpt-karte__art {
	position: absolute;
	top: 10px;
	right: 10px;
	max-width: calc(100% - 76px);
	padding: 3px 9px;
	overflow: hidden;
	border-radius: 999px;
	background: var(--dpt-ci-magenta);
	color: #fff;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.dpt-karte__text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 3px;
	padding: 12px 14px 14px;
}

.dpt-karte__titel {
	display: -webkit-box;
	margin: 0 0 2px;
	overflow: hidden;
	color: #fff;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.3;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.dpt-karte__titel a,
.dpt-karte__titel a:visited {
	color: #fff;
	text-decoration: none;
}

/* Ganze Karte klickbar */
.dpt-karte__titel a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.dpt-karte__titel a:focus-visible {
	outline: none;
}

.dpt-karte:focus-within {
	outline: 2px solid var(--dpt-ci-magenta-hell);
	outline-offset: 2px;
}

.dpt-karte__zeit,
.dpt-karte__ort,
.dpt-karte__wiederholung {
	margin: 0;
	overflow: hidden;
	color: var(--dpt-ci-leise);
	font-size: 0.82rem;
	line-height: 1.35;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dpt-karte__wiederholung {
	color: var(--dpt-ci-magenta-hell);
}

.dpt-panel .dpt-panel__aktionen {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.dpt-panel .dpt-knopf {
	min-height: 42px;
	padding: 8px 20px;
	font-size: 0.92rem;
}

.dpt-knopf--magenta,
a.dpt-knopf--magenta {
	background: var(--dpt-ci-magenta, #cf1682);
	color: #fff;
	box-shadow: 0 6px 18px rgba(207, 22, 130, 0.3);
}

.dpt-knopf--magenta:hover,
.dpt-knopf--magenta:focus {
	background: var(--dpt-ci-magenta-hell, #e83d9f);
	color: #fff;
}

.dpt-panel .dpt-knopf--rahmen {
	border-color: var(--dpt-ci-rand-stark);
	color: #fff;
}

.dpt-panel .dpt-knopf--rahmen:hover,
.dpt-panel .dpt-knopf--rahmen:focus {
	border-color: var(--dpt-ci-magenta);
	background: rgba(207, 22, 130, 0.12);
}

.dpt-panel .dpt-panelium {
	background: var(--dpt-ci-flaeche);
	color: var(--dpt-ci-gold);
}

.dpt-panel .dpt-leer {
	border-color: var(--dpt-ci-rand-stark);
	background: var(--dpt-ci-flaeche);
}

@media (max-width: 480px) {
	.dpt-panel .dpt-knopf {
		width: auto;
		flex: 1 1 auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dpt-karte,
	.dpt-karte:hover {
		transition: none;
		transform: none;
	}
}

.dpt-container {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 clamp(16px, 4vw, 32px);
}

.dpt-eyebrow {
	margin: 0 0 10px;
	color: var(--dpt-gold);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.dpt-panel__kopf {
	margin-bottom: 24px;
}

.dpt-panel__titel {
	margin: 0 0 8px;
	color: #fff;
	font-size: clamp(1.5rem, 3.4vw, 2.2rem);
	font-weight: 700;
	line-height: 1.2;
}

.dpt-panel__intro {
	margin: 0;
	max-width: 46em;
	color: rgba(255, 255, 255, 0.7);
}


/* ========== 2. Inhaltsseiten (hell, CI der Website) ========== */

.dpt-seite {
	--dpt-p: var(--dp-primary, #304a98);
	--dpt-p-dunkel: #233878;
	--dpt-p-hell: #4a66c0;
	--dpt-p-sehrhell: #eff2fd;
	--dpt-a: var(--dp-accent, #cf1682);
	--dpt-a-hell: #e83d9f;
	--dpt-a-sehrhell: #fdf0f8;
	--dpt-g: var(--dp-gold, #c9a227);
	--dpt-h: #0d1020;
	--dpt-t: var(--dp-text, #303652);
	--dpt-leise: var(--dp-text-muted, #6b7088);
	--dpt-bg: var(--dp-bg, #ffffff);
	--dpt-bg2: var(--dp-bg-subtle, #f5f7fc);
	--dpt-rand: var(--dp-border, #dde1ee);
	--dpt-flaeche: var(--dp-surface, #ffffff);
	--dpt-schatten: 0 1px 2px rgba(13, 16, 32, 0.05), 0 4px 14px rgba(13, 16, 32, 0.06);
	--dpt-radius: 14px;
	--dpt-rand-innen: clamp(16px, 4.5vw, 64px);
	color: var(--dpt-t);
}

/* Das Theme färbt Links und Überschriften – eigene Farben mit höherer Spezifität. */
html:not(#dpt-x) .dpt-seite a {
	color: var(--dpt-p);
}

html:not(#dpt-x) .dpt-seite a:hover,
html:not(#dpt-x) .dpt-seite a:focus {
	color: var(--dpt-p-dunkel);
}

html:not(#dpt-x) .dpt-seite h1,
html:not(#dpt-x) .dpt-seite h2,
html:not(#dpt-x) .dpt-seite h3 {
	color: var(--dpt-h);
	font-family: inherit;
}

.dpt-kennzeile {
	margin: 0 0 6px;
	color: var(--dpt-a);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

/* Knöpfe */
html:not(#dpt-x) .dpt-seite .dpt-knopf--magenta {
	background: var(--dpt-a);
	color: #fff;
	box-shadow: 0 4px 14px rgba(207, 22, 130, 0.22);
}

html:not(#dpt-x) .dpt-seite .dpt-knopf--magenta:hover,
html:not(#dpt-x) .dpt-seite .dpt-knopf--magenta:focus {
	background: var(--dpt-a-hell);
	color: #fff;
}

html:not(#dpt-x) .dpt-seite .dpt-knopf--blau {
	background: var(--dpt-p);
	color: #fff;
}

html:not(#dpt-x) .dpt-seite .dpt-knopf--blau:hover,
html:not(#dpt-x) .dpt-seite .dpt-knopf--blau:focus {
	background: var(--dpt-p-dunkel);
	color: #fff;
}

html:not(#dpt-x) .dpt-seite .dpt-knopf--rahmen,
html:not(#dpt-x) .dpt-seite .dpt-knopf--gold {
	border-color: var(--dpt-rand);
	background: var(--dpt-flaeche);
	color: var(--dpt-h);
}

html:not(#dpt-x) .dpt-seite .dpt-knopf--rahmen:hover,
html:not(#dpt-x) .dpt-seite .dpt-knopf--rahmen:focus,
html:not(#dpt-x) .dpt-seite .dpt-knopf--gold:hover,
html:not(#dpt-x) .dpt-seite .dpt-knopf--gold:focus {
	border-color: var(--dpt-p);
	color: var(--dpt-p);
}

.dpt-seite .dpt-panelium {
	background: rgba(255, 255, 255, 0.22);
	color: inherit;
}

.dpt-seite .dpt-knopf--rahmen .dpt-panelium {
	background: var(--dpt-a-sehrhell);
	color: var(--dpt-a);
}

/* ---------- Übersicht: Seitenkopf wie im Episodenarchiv ---------- */

.dpt-seitenkopf,
.dpt-werkzeuge,
.dpt-flaeche {
	width: 100%;
}

.dpt-seitenkopf {
	border-bottom: 1px solid var(--dpt-rand);
	background: var(--dpt-bg);
}

.dpt-seitenkopf__innen,
.dpt-werkzeuge__innen,
.dpt-arten__innen,
.dpt-flaeche__innen {
	max-width: 1440px;
	margin: 0 auto;
	padding-right: var(--dpt-rand-innen);
	padding-left: var(--dpt-rand-innen);
}

.dpt-seitenkopf__innen {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 24px;
	padding-top: 26px;
	padding-bottom: 22px;
}

html:not(#dpt-x) .dpt-seite .dpt-seitenkopf__titel {
	margin: 0;
	color: var(--dpt-h);
	font-size: clamp(1.75rem, 3vw, 2.2rem);
	font-weight: 800;
	line-height: 1.15;
}

.dpt-seitenkopf__meta {
	margin: 4px 0 0;
	color: var(--dpt-leise);
	font-size: 0.9rem;
}

.dpt-seitenkopf__aktionen {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* Werkzeugleiste: Filter + Ansicht-Schalter, darunter Reiter der Arten */
.dpt-werkzeuge {
	border-bottom: 1px solid var(--dpt-rand);
	background: var(--dpt-bg);
}

.dpt-werkzeuge__innen {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	padding-top: 12px;
	padding-bottom: 12px;
}

.dpt-filter {
	display: flex;
	flex: 1 1 560px;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.dpt-suche {
	display: flex;
	flex: 1 1 240px;
	align-items: center;
	gap: 8px;
	max-width: 320px;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid var(--dpt-rand);
	border-radius: 999px;
	background: var(--dpt-bg);
	color: var(--dpt-leise);
}

.dpt-suche:focus-within {
	border-color: var(--dpt-p);
	box-shadow: 0 0 0 3px var(--dpt-p-sehrhell);
}

html:not(#dpt-x) .dpt-seite .dpt-suche input {
	flex: 1;
	min-width: 0;
	height: 38px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--dpt-h);
	font: inherit;
	font-size: 0.92rem;
	box-shadow: none;
	outline: none;
}

html:not(#dpt-x) .dpt-seite .dpt-auswahl select {
	height: 40px;
	min-height: 40px;
	padding: 0 34px 0 14px;
	border: 1px solid var(--dpt-rand);
	border-radius: 10px;
	background-color: var(--dpt-bg);
	color: var(--dpt-h);
	font: inherit;
	font-size: 0.9rem;
}

html:not(#dpt-x) .dpt-seite .dpt-auswahl select:focus {
	border-color: var(--dpt-p);
	outline: 3px solid var(--dpt-p-sehrhell);
}

.dpt-pille-schalter {
	position: relative;
	display: inline-flex;
	cursor: pointer;
}

.dpt-pille-schalter input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.dpt-pille-schalter span {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid var(--dpt-rand);
	border-radius: 999px;
	background: var(--dpt-bg);
	color: var(--dpt-t);
	font-size: 0.92rem;
	font-weight: 600;
}

.dpt-pille-schalter input:checked + span {
	border-color: var(--dpt-a);
	background: var(--dpt-a);
	color: #fff;
}

.dpt-pille-schalter input:focus-visible + span {
	outline: 3px solid var(--dpt-p-hell);
	outline-offset: 2px;
}

.dpt-filter .dpt-knopf {
	min-height: 40px;
	padding: 6px 18px;
	font-size: 0.9rem;
}

html:not(#dpt-x) .dpt-seite .dpt-filter__zuruecksetzen {
	color: var(--dpt-leise);
	font-size: 0.88rem;
}

/* Segment-Schalter Kalender | Liste | Karte */
.dpt-schalter {
	display: inline-flex;
	flex: 0 0 auto;
	padding: 3px;
	border: 1px solid var(--dpt-rand);
	border-radius: 999px;
	background: var(--dpt-bg2);
}

html:not(#dpt-x) .dpt-seite .dpt-schalter__knopf {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	padding: 0 16px;
	border-radius: 999px;
	color: var(--dpt-t);
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
}

html:not(#dpt-x) .dpt-seite .dpt-schalter__knopf:hover {
	color: var(--dpt-p);
}

html:not(#dpt-x) .dpt-seite .dpt-schalter__knopf.ist-aktiv {
	background: var(--dpt-p);
	color: #fff;
	box-shadow: 0 2px 6px rgba(48, 74, 152, 0.3);
}

/* Reiter der Arten (wie die Serien-Reiter im Episodenarchiv) */
.dpt-arten {
	border-top: 1px solid var(--dpt-rand);
	background: var(--dpt-bg);
}

.dpt-arten__innen {
	display: flex;
	gap: 2px;
	overflow-x: auto;
	scrollbar-width: thin;
}

html:not(#dpt-x) .dpt-seite .dpt-arten__reiter {
	flex: 0 0 auto;
	padding: 12px 16px 10px;
	border-bottom: 3px solid transparent;
	color: var(--dpt-leise);
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

html:not(#dpt-x) .dpt-seite .dpt-arten__reiter:hover {
	color: var(--dpt-h);
	border-bottom-color: var(--dpt-rand);
}

html:not(#dpt-x) .dpt-seite .dpt-arten__reiter.ist-aktiv {
	border-bottom-color: var(--dpt-a);
	background: var(--dpt-a);
	color: #fff;
	border-radius: 6px 6px 0 0;
}

/* Inhaltsfläche */
.dpt-flaeche {
	background: var(--dpt-bg2);
}

.dpt-flaeche__innen {
	padding-top: 24px;
	padding-bottom: 48px;
}

.dpt-meldung {
	margin: 0 0 18px;
	padding: 12px 16px;
	border: 1px solid var(--dpt-rand);
	border-left: 4px solid var(--dpt-p);
	border-radius: 10px;
	background: var(--dpt-flaeche);
	color: var(--dpt-t);
}

.dpt-meldung--fehler {
	border-left-color: #c0263d;
	background: #fff5f6;
}

.dpt-meldung--erfolg {
	border-left-color: #1f8a5b;
	background: #f1fbf6;
}

.dpt-seite .dpt-leer {
	border-color: var(--dpt-rand);
	background: var(--dpt-flaeche);
	color: var(--dpt-h);
}

.dpt-seite .dpt-leer__symbol {
	color: var(--dpt-a);
}

.dpt-seite .dpt-leer__aufruf {
	color: var(--dpt-leise);
}

/* ---------- Farben je Art (Chips, Legende, Agenda) ---------- */

.dpt-art--convention { --art: #cf1682; }
.dpt-art--stammtisch { --art: #304a98; }
.dpt-art--fan-treffen { --art: #7c3aed; }
.dpt-art--kino { --art: #b45309; }
.dpt-art--lesung { --art: #0f766e; }
.dpt-art--watchparty { --art: #0369a1; }
.dpt-art--live-podcast { --art: #c2410c; }
.dpt-art--theater { --art: #9d174d; }
.dpt-art--larp { --art: #4d7c0f; }
.dpt-art--sonstiges { --art: #64748b; }

/* ---------- Kalender ---------- */

.dpt-kalender {
	position: relative;
	padding: clamp(14px, 2vw, 22px);
	border: 1px solid var(--dpt-rand);
	border-radius: 16px;
	background: var(--dpt-flaeche);
	box-shadow: var(--dpt-schatten);
}

.dpt-kalender__kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 14px;
}

html:not(#dpt-x) .dpt-seite .dpt-kalender__titel {
	margin: 0;
	font-size: clamp(1.25rem, 2.2vw, 1.6rem);
	font-weight: 800;
}

.dpt-kalender__nav {
	display: flex;
	align-items: center;
	gap: 6px;
}

html:not(#dpt-x) .dpt-seite .dpt-kalender__pfeil,
html:not(#dpt-x) .dpt-seite .dpt-kalender__heute {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 14px;
	border: 1px solid var(--dpt-rand);
	border-radius: 999px;
	background: var(--dpt-bg);
	color: var(--dpt-h);
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
}

html:not(#dpt-x) .dpt-seite .dpt-kalender__pfeil {
	padding: 0;
	font-size: 1.4rem;
	line-height: 1;
}

html:not(#dpt-x) .dpt-seite .dpt-kalender__pfeil:hover,
html:not(#dpt-x) .dpt-seite .dpt-kalender__heute:hover {
	border-color: var(--dpt-p);
	color: var(--dpt-p);
}

.dpt-kalender__raster {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.dpt-kalender__raster th {
	padding: 6px 8px;
	border: 0;
	background: none;
	color: var(--dpt-leise);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-align: left;
	text-transform: uppercase;
}

.dpt-tag {
	position: relative;
	height: 118px;
	padding: 6px;
	overflow: hidden;
	border: 0;
	border-top: 1px solid var(--dpt-rand);
	border-left: 1px solid var(--dpt-rand);
	background: var(--dpt-bg);
	vertical-align: top;
}

.dpt-kalender__raster tr > .dpt-tag:last-child {
	border-right: 1px solid var(--dpt-rand);
}

.dpt-kalender__raster tbody tr:last-child .dpt-tag {
	border-bottom: 1px solid var(--dpt-rand);
}

.dpt-kalender__raster tbody tr:first-child .dpt-tag:first-child { border-top-left-radius: 10px; }
.dpt-kalender__raster tbody tr:first-child .dpt-tag:last-child { border-top-right-radius: 10px; }
.dpt-kalender__raster tbody tr:last-child .dpt-tag:first-child { border-bottom-left-radius: 10px; }
.dpt-kalender__raster tbody tr:last-child .dpt-tag:last-child { border-bottom-right-radius: 10px; }

.dpt-tag.ist-fremd {
	background: var(--dpt-bg2);
}

.dpt-tag.ist-fremd .dpt-tag__nummer,
.dpt-tag.ist-vorbei .dpt-tag__nummer {
	color: #a3a8bd;
}

.dpt-tag.ist-vorbei .dpt-chip {
	opacity: 0.55;
}

.dpt-tag:focus {
	outline: 3px solid var(--dpt-p-hell);
	outline-offset: -3px;
}

.dpt-tag__nummer {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin-bottom: 4px;
	border-radius: 50%;
	color: var(--dpt-h);
	font-size: 0.86rem;
	font-weight: 700;
}

.dpt-tag.ist-heute .dpt-tag__nummer {
	background: var(--dpt-p);
	color: #fff;
}

.dpt-tag.ist-heute {
	background: var(--dpt-p-sehrhell);
}

.dpt-tag__termine {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 3px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dpt-tag__termine li {
	min-width: 0;
	margin: 0;
}

.dpt-tag__termine li.ist-mehr {
	display: none;
}

html:not(#dpt-x) .dpt-seite .dpt-chip {
	display: flex;
	gap: 5px;
	min-width: 0;
	padding: 3px 7px;
	border-left: 3px solid var(--art, #64748b);
	border-radius: 6px;
	background: #f3f4f8;
	background: color-mix(in srgb, var(--art, #64748b) 11%, #fff);
	color: var(--dpt-h);
	font-size: 0.76rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

html:not(#dpt-x) .dpt-seite .dpt-chip:hover,
html:not(#dpt-x) .dpt-seite .dpt-chip:focus {
	background: color-mix(in srgb, var(--art, #64748b) 20%, #fff);
	color: var(--dpt-h);
}

.dpt-chip.ist-folgetag {
	border-left-style: dashed;
}

.dpt-chip__zeit {
	flex: 0 0 auto;
	color: var(--art, #64748b);
	font-weight: 800;
}

.dpt-chip__zeit:empty {
	display: none;
}

.dpt-chip__titel {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

html:not(#dpt-x) .dpt-seite .dpt-tag__weitere {
	display: inline-block;
	margin-top: 3px;
	padding: 1px 6px;
	border-radius: 6px;
	color: var(--dpt-p);
	font-size: 0.76rem;
	font-weight: 800;
	text-decoration: none;
}

html:not(#dpt-x) .dpt-seite .dpt-tag__weitere:hover {
	background: var(--dpt-p-sehrhell);
}

/* Legende */
.dpt-legende {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin: 14px 0 0;
	padding: 0;
	color: var(--dpt-leise);
	font-size: 0.8rem;
	list-style: none;
}

.dpt-legende li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}

.dpt-legende__punkt {
	width: 10px;
	height: 10px;
	border-radius: 3px;
	background: var(--art);
}

/* Kurzinfo */
.dpt-kurzinfo {
	position: absolute;
	z-index: 20;
	max-height: 70vh;
	padding: 12px 14px 14px;
	overflow: auto;
	border: 1px solid var(--dpt-rand);
	border-radius: 14px;
	background: var(--dpt-flaeche);
	box-shadow: 0 14px 40px rgba(13, 16, 32, 0.18);
}

.dpt-kurzinfo__kopf {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
}

.dpt-kurzinfo__titel {
	margin: 0 0 6px;
	color: var(--dpt-h);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.3;
}

.dpt-kurzinfo__zu {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid var(--dpt-rand);
	border-radius: 50%;
	background: var(--dpt-bg);
	color: var(--dpt-h);
	font-size: 1.2rem;
	line-height: 1;
	cursor: pointer;
}

.dpt-kurzinfo__termin {
	padding: 8px 0 0 10px;
	border-left: 3px solid var(--art, #64748b);
}

.dpt-kurzinfo__liste .dpt-kurzinfo__termin + .dpt-kurzinfo__termin {
	margin-top: 12px;
}

.dpt-kurzinfo__termin p {
	margin: 0 0 2px;
	font-size: 0.86rem;
}

.dpt-kurzinfo__name {
	color: var(--dpt-h);
	font-weight: 800;
}

.dpt-kurzinfo__art {
	color: var(--art, #64748b);
	font-size: 0.72rem !important;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dpt-kurzinfo__ort,
.dpt-kurzinfo__zugang {
	color: var(--dpt-leise);
}

html:not(#dpt-x) .dpt-seite .dpt-kurzinfo__link {
	display: inline-block;
	margin-top: 6px;
	color: var(--dpt-p);
	font-size: 0.88rem;
	font-weight: 800;
}

/* Agenda (mobil) */
.dpt-agenda {
	display: none;
}

.dpt-agenda__tage,
.dpt-agenda__termine {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dpt-agenda__tag {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 12px;
	margin: 0;
	padding: 12px 0;
	border-top: 1px solid var(--dpt-rand);
	scroll-margin-top: 80px;
}

.dpt-agenda__tag:first-child {
	border-top: 0;
}

.dpt-agenda__datum {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	padding: 6px 0;
	border-radius: 10px;
	background: var(--dpt-bg2);
	line-height: 1.1;
	text-align: center;
}

.dpt-agenda__tag.ist-heute .dpt-agenda__datum {
	background: var(--dpt-p);
	color: #fff;
}

.dpt-agenda__tag.ist-vorbei {
	opacity: 0.6;
}

.dpt-agenda__wtag,
.dpt-agenda__monat {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dpt-agenda__nummer {
	font-size: 1.3rem;
	font-weight: 800;
}

.dpt-agenda__termin {
	display: grid;
	gap: 1px;
	margin: 0 0 8px;
	padding: 6px 0 6px 10px;
	border-left: 3px solid var(--art, #64748b);
}

.dpt-agenda__zeit {
	color: var(--art, #64748b);
	font-size: 0.78rem;
	font-weight: 800;
}

html:not(#dpt-x) .dpt-seite .dpt-agenda__titel {
	color: var(--dpt-h);
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.dpt-agenda__ort {
	color: var(--dpt-leise);
	font-size: 0.84rem;
}

.dpt-agenda__leer {
	margin: 0;
	color: var(--dpt-leise);
}

@media (max-width: 760px) {
	.dpt-kalender__raster {
		display: none;
	}

	.dpt-agenda {
		display: block;
	}

	.dpt-kurzinfo {
		position: fixed;
		right: 10px !important;
		bottom: 10px;
		left: 10px !important;
		top: auto !important;
		width: auto !important;
	}
}

/* ---------- Liste ---------- */

.dpt-liste {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dpt-eintrag {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--dpt-rand);
	border-radius: var(--dpt-radius);
	background: var(--dpt-flaeche);
	box-shadow: var(--dpt-schatten);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.dpt-liste--uebersicht .dpt-eintrag {
	grid-template-columns: auto auto minmax(0, 1fr) auto;
}

.dpt-eintrag:hover,
.dpt-eintrag:focus-within,
.dpt-eintrag.ist-aktiv {
	border-color: var(--dpt-p-hell);
}

.dpt-eintrag.ist-aktiv {
	box-shadow: 0 0 0 3px var(--dpt-p-sehrhell);
}

.dpt-liste--karte .dpt-eintrag[data-marker] {
	cursor: pointer;
}

.dpt-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 60px;
	min-height: 66px;
	padding: 6px 4px;
	border-radius: 12px;
	background: var(--dpt-p-sehrhell, #eff2fd);
	color: var(--dpt-h, #0d1020);
	line-height: 1;
	text-align: center;
}

.dpt-badge__wtag {
	color: var(--dpt-leise, #6b7088);
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.dpt-badge__tag {
	margin: 3px 0;
	font-size: 1.6rem;
	font-weight: 800;
}

.dpt-badge__monat {
	color: var(--dpt-a, #cf1682);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dpt-eintrag__bild {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	border-radius: 12px;
	object-fit: cover;
	background: var(--dpt-bg2);
	color: var(--dpt-a);
}

.dpt-eintrag__bild--leer svg {
	width: 34px;
	height: 34px;
}

.dpt-eintrag__inhalt {
	min-width: 0;
}

.dpt-eintrag__kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
	margin-bottom: 4px;
}

.dpt-pille {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	background: var(--dpt-a-sehrhell, #fdf0f8);
	color: var(--dpt-a, #cf1682);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.6;
	text-transform: uppercase;
	white-space: nowrap;
}

.dpt-entfernung {
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--dpt-p-sehrhell);
	color: var(--dpt-p);
	font-size: 0.78rem;
	font-weight: 700;
}

.dpt-wiederkehrend {
	color: var(--dpt-leise);
	font-size: 0.8rem;
}

html:not(#dpt-x) .dpt-seite .dpt-eintrag__titel {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

html:not(#dpt-x) .dpt-seite .dpt-eintrag__titel a {
	color: var(--dpt-h);
	text-decoration: none;
}

html:not(#dpt-x) .dpt-seite .dpt-eintrag__titel a:hover,
html:not(#dpt-x) .dpt-seite .dpt-eintrag__titel a:focus {
	color: var(--dpt-p);
	text-decoration: underline;
}

.dpt-eintrag__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 14px;
	margin: 4px 0 0;
	color: var(--dpt-leise);
	font-size: 0.88rem;
}

.dpt-eintrag__ort::before {
	content: "⌖ ";
	color: var(--dpt-a);
}

.dpt-eintrag--online .dpt-eintrag__ort::before {
	content: "◉ ";
}

.dpt-eintrag__pfeil {
	color: var(--dpt-p);
	font-size: 1.3rem;
}

/* Tickets / Anmeldung direkt am Termin */
.dpt-zugang-zeile {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	margin: 8px 0 0;
	font-size: 0.84rem;
}

.dpt-zugang {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 6px;
	background: var(--dpt-bg2);
	color: var(--dpt-t);
	font-weight: 700;
}

.dpt-zugang--ticket,
.dpt-zugang--anmeldung {
	background: var(--dpt-a-sehrhell);
	color: var(--dpt-a);
}

.dpt-zugang--ticket::before {
	content: "▣ ";
}

.dpt-zugang--anmeldung::before {
	content: "✎ ";
}

.dpt-zugang--ausverkauft {
	background: #fff1f2;
	color: #be123c;
}

.dpt-zugang--frei {
	background: #ecfdf3;
	color: #166534;
}

.dpt-extern {
	position: relative;
	z-index: 2;
	font-weight: 700;
	white-space: nowrap;
}

/* Offizielle Präsenzen (Symbol-Leiste) */
.dpt-social {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.dpt-social li {
	margin: 0;
}

html:not(#dpt-x) .dpt-seite .dpt-social__link {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid var(--dpt-rand);
	border-radius: 50%;
	background: var(--dpt-bg);
	color: var(--dpt-p);
	transition: background 0.15s ease, color 0.15s ease;
}

html:not(#dpt-x) .dpt-seite .dpt-social__link:hover,
html:not(#dpt-x) .dpt-seite .dpt-social__link:focus {
	border-color: var(--dpt-p);
	background: var(--dpt-p);
	color: #fff;
}

.dpt-social__link svg [fill="#fff"] {
	fill: var(--dpt-bg, #fff);
}

.dpt-social__link svg [stroke="#fff"] {
	stroke: var(--dpt-bg, #fff);
}

.dpt-social--gross .dpt-social__link {
	width: 42px !important;
	height: 42px !important;
}

.dpt-social--gross svg {
	width: 22px;
	height: 22px;
}

/* Karten-Ansicht: Liste links, Karte rechts */
.dpt-uebersicht__inhalt {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	align-items: start;
	gap: 20px;
}

.dpt-uebersicht__karte {
	position: sticky;
	top: 20px;
}

/* ---------- Landkarte (Leaflet) mit Datenschutz-Freigabe ---------- */

.dpt-landkarte {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--dpt-rand, #dde1ee);
	border-radius: 16px;
	background: var(--dpt-flaeche, #fff);
	box-shadow: var(--dpt-schatten);
}

.dpt-landkarte__freigabe {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 420px;
	padding: 24px;
	background:
		repeating-linear-gradient(0deg, rgba(48, 74, 152, 0.05) 0 1px, transparent 1px 40px),
		repeating-linear-gradient(90deg, rgba(48, 74, 152, 0.05) 0 1px, transparent 1px 40px),
		var(--dpt-bg2, #f5f7fc);
	text-align: center;
}

.dpt-landkarte--klein .dpt-landkarte__freigabe,
.dpt-landkarte--klein .dpt-landkarte__flaeche {
	min-height: 280px;
	height: 280px;
}

.dpt-landkarte__symbol {
	color: var(--dpt-a, #cf1682);
	font-size: 2.4rem;
	line-height: 1;
}

.dpt-landkarte__text {
	max-width: 30em;
	margin: 0;
	color: var(--dpt-leise, #6b7088);
	font-size: 0.92rem;
}

.dpt-landkarte__text strong {
	color: var(--dpt-h, #0d1020);
}

.dpt-landkarte__merken {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--dpt-leise, #6b7088);
	font-size: 0.85rem;
}

.dpt-landkarte__flaeche {
	height: 620px;
	max-height: 78vh;
	background: #e8ecf5;
}

.dpt-landkarte__fuss {
	margin: 0;
	padding: 6px 12px;
	border-top: 1px solid var(--dpt-rand, #dde1ee);
	color: var(--dpt-leise, #6b7088);
	font-size: 0.8rem;
}

.dpt-landkarte__widerrufen {
	padding: 0;
	border: 0;
	background: none;
	color: var(--dpt-p, #304a98);
	font: inherit;
	text-decoration: underline;
	cursor: pointer;
}

.dpt-landkarte .leaflet-container {
	font: inherit;
}

.dpt-marker {
	display: block;
	width: 22px;
	height: 22px;
	border: 3px solid #fff;
	border-radius: 50% 50% 50% 0;
	background: #cf1682;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
	transform: rotate(-45deg);
}

.dpt-marker.ist-aktiv {
	background: #304a98;
}

.dpt-mitte {
	display: block;
	width: 14px;
	height: 14px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: #304a98;
	box-shadow: 0 0 0 4px rgba(48, 74, 152, 0.3);
}

.dpt-popup {
	color: #0d1020;
	font-size: 0.9rem;
	line-height: 1.4;
}

.dpt-popup strong {
	display: block;
	font-size: 1rem;
}

.dpt-popup a {
	color: #304a98;
	font-weight: 700;
}

/* ---------- Einzelseite ---------- */

/* Den Titel zeigt das Plugin im Hero – Theme-Titel ausblenden (falls das Theme den Filter nicht kennt). */
body.dpt-seite-einzel .entry-header .entry-title {
	display: none;
}

.dpt-einzel {
	margin: 0 0 8px;
}

html:not(#dpt-x) .dpt-seite .dpt-zwischentitel {
	margin: 0 0 10px;
	color: var(--dpt-leise);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* Hero: Bild randlos, dunkler Verlauf, Art, Titel, Datum/Ort */
.dpt-held {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-radius: 20px;
	background: #0f0818;
	box-shadow: 0 10px 30px rgba(13, 16, 32, 0.16);
	color: #fff;
}

.dpt-held__medien {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background:
		radial-gradient(circle at 75% 25%, rgba(232, 61, 159, 0.4), transparent 55%),
		radial-gradient(circle at 15% 85%, rgba(48, 74, 152, 0.7), transparent 60%),
		linear-gradient(135deg, #19102a, #0f0818);
}

.dpt-held__medien::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 8, 24, 0) 30%, rgba(15, 8, 24, 0.55) 62%, rgba(15, 8, 24, 0.94) 100%);
	pointer-events: none;
}

html:not(#dpt-x) .dpt-held__bild {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
}

.dpt-held__platzhalter {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding-bottom: 8%;
	color: rgba(255, 255, 255, 0.35);
}

.dpt-held__platzhalter svg {
	width: clamp(64px, 14%, 140px);
	height: auto;
}

.dpt-held__text {
	position: relative;
	z-index: 1;
	margin-top: -64px;
	padding: 0 18px 20px;
}

html:not(#dpt-x) .dpt-seite .dpt-held__pillen {
	margin: 0 0 10px;
}

html:not(#dpt-x) .dpt-held .dpt-pille {
	background: var(--dpt-a);
	color: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

html:not(#dpt-x) .dpt-seite .dpt-held__titel {
	display: -webkit-box;
	max-width: 30ch;
	margin: 0;
	overflow: hidden;
	color: #fff;
	font-size: clamp(1.6rem, 1.1rem + 2.2vw, 2.9rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.01em;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow-wrap: anywhere;
}

html:not(#dpt-x) .dpt-seite .dpt-held__zeile {
	margin: 10px 0 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 1rem;
	font-weight: 600;
}

.dpt-held__band {
	position: absolute;
	z-index: 2;
	top: 14px;
	left: 14px;
	max-width: calc(100% - 28px);
	margin: 0;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}

html:not(#dpt-x) .dpt-seite .dpt-held__band--eigen {
	background: var(--dpt-g);
	color: #1a1205;
}

html:not(#dpt-x) .dpt-seite .dpt-held__band--vorbei {
	background: rgba(13, 16, 32, 0.88);
	color: #fff;
}

.dpt-held__band-zusatz {
	font-weight: 600;
}

/* Eigenes Event: Gold-Rahmen um den Hero */
.dpt-einzel--eigen .dpt-held {
	box-shadow: 0 0 0 3px var(--dpt-g), 0 0 0 9px rgba(201, 162, 39, 0.18), 0 14px 34px rgba(13, 16, 32, 0.2);
}

/* Vergangen: Bild entsättigt */
.dpt-einzel--vorbei .dpt-held__medien {
	filter: grayscale(1) brightness(0.8);
}

/* Raster: Beschreibung links, Infokarte rechts (mobil: Infokarte zuerst) */
.dpt-einzel__raster {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	margin-top: 24px;
}

.dpt-einzel__haupt {
	min-width: 0;
}

/* Infokarte */
.dpt-info {
	padding: 22px;
	border: 1px solid var(--dpt-rand);
	border-radius: 18px;
	background: var(--dpt-flaeche);
	box-shadow: var(--dpt-schatten);
}

.dpt-einzel--eigen .dpt-info {
	border-top: 4px solid var(--dpt-g);
}

.dpt-info__datum {
	display: flex;
	align-items: center;
	gap: 14px;
}

html:not(#dpt-x) .dpt-seite .dpt-info p {
	margin: 0;
}

html:not(#dpt-x) .dpt-seite .dpt-info__wann {
	color: var(--dpt-h);
	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1.3;
}

html:not(#dpt-x) .dpt-seite .dpt-info__uhr {
	margin-top: 2px;
	color: var(--dpt-t);
	font-weight: 600;
}

html:not(#dpt-x) .dpt-seite .dpt-info__reihe {
	margin-top: 14px;
	padding: 8px 12px;
	border-radius: 10px;
	background: var(--dpt-a-sehrhell);
	color: var(--dpt-a);
	font-weight: 800;
}

.dpt-info__liste {
	display: grid;
	margin: 16px 0 0;
}

.dpt-info__liste > div {
	padding: 12px 0;
	border-top: 1px solid var(--dpt-rand);
}

.dpt-info__liste dt {
	margin: 0 0 3px;
	color: var(--dpt-leise);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.dpt-info__liste dd {
	margin: 0;
	color: var(--dpt-h);
	overflow-wrap: anywhere;
}

.dpt-info__liste .dpt-zugang-zeile {
	margin: 0;
}

html:not(#dpt-x) .dpt-seite .dpt-info__route {
	display: inline-block;
	margin-top: 4px;
	font-size: 0.88rem;
	font-weight: 700;
}

.dpt-info__aktionen {
	display: grid;
	gap: 10px;
	margin-top: 6px;
}

html:not(#dpt-x) .dpt-seite .dpt-info__aktionen .dpt-knopf {
	width: 100%;
}

.dpt-info__klein {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

html:not(#dpt-x) .dpt-seite .dpt-info__klein .dpt-knopf {
	flex: 1 1 auto;
	width: auto;
	white-space: nowrap;
	min-height: 40px;
	padding: 7px 12px;
	border-width: 1px;
	font-size: 0.88rem;
}

.dpt-teilen[hidden] {
	display: none;
}

.dpt-teilen.ist-kopiert {
	border-color: #1f8a5b;
	color: #1f8a5b;
}

.dpt-info__social {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--dpt-rand);
}

/* Beschreibung, Reihe, Karte */
.dpt-beschreibung {
	max-width: 68ch;
	color: var(--dpt-t);
	font-size: 1.06rem;
	line-height: 1.7;
}

.dpt-beschreibung > :last-child {
	margin-bottom: 0;
}

.dpt-einzel__reihe,
.dpt-einzel__ort {
	margin-top: 32px;
}

html:not(#dpt-x) .dpt-seite .dpt-reihe__regel {
	margin: 0 0 12px;
	color: var(--dpt-h);
	font-size: 1.2rem;
	font-weight: 800;
}

.dpt-reihe__regel span {
	color: var(--dpt-a);
}

.dpt-datumchips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dpt-datumchips li {
	margin: 0;
	padding: 6px 14px;
	border: 1px solid var(--dpt-rand);
	border-radius: 999px;
	background: var(--dpt-bg2);
	color: var(--dpt-h);
	font-size: 0.9rem;
	white-space: nowrap;
}

.dpt-datumchip__wtag,
.dpt-datumchip__jahr {
	color: var(--dpt-leise);
	font-size: 0.8rem;
}

.dpt-datumchip__wtag {
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.dpt-einzel .dpt-landkarte {
	margin-top: 0;
}

.dpt-meldung--vorbei {
	border-left-color: var(--dpt-g);
	background: #fffaf0;
}

/* Verwandte Termine: Karten des Startseiten-Panels, aber hell */
.dpt-verwandt {
	margin-top: 44px;
	padding-top: 28px;
	border-top: 1px solid var(--dpt-rand);
	--dpt-ci-rand: var(--dpt-rand);
	--dpt-ci-rand-stark: var(--dpt-rand);
	--dpt-ci-flaeche: var(--dpt-flaeche);
	--dpt-ci-magenta: var(--dpt-a);
	--dpt-ci-magenta-hell: var(--dpt-a-hell);
	--dpt-ci-gold: var(--dpt-g);
	--dpt-ci-leise: var(--dpt-leise);
	--dpt-ci-radius: 16px;
}

html:not(#dpt-x) .dpt-seite .dpt-verwandt__titel {
	margin: 0 0 16px;
	font-size: 1.35rem;
	font-weight: 800;
}

.dpt-verwandt .dpt-karten {
	grid-auto-flow: row;
	grid-template-columns: repeat(auto-fill, minmax(max(min(100%, 240px), calc((100% - 32px) / 3)), 1fr));
	grid-auto-columns: auto;
	gap: 16px;
	padding: 0;
	overflow: visible;
}

.dpt-verwandt .dpt-karte {
	box-shadow: var(--dpt-schatten);
}

.dpt-verwandt .dpt-karte:hover,
.dpt-verwandt .dpt-karte:focus-within {
	box-shadow: 0 10px 26px rgba(207, 22, 130, 0.16);
}

.dpt-verwandt .dpt-karte__medien {
	background: var(--dpt-p-sehrhell);
}

.dpt-verwandt .dpt-karte__platzhalter {
	color: var(--dpt-a);
	background:
		radial-gradient(circle at 70% 30%, rgba(207, 22, 130, 0.12), transparent 55%),
		radial-gradient(circle at 20% 90%, rgba(48, 74, 152, 0.16), transparent 60%);
}

html:not(#dpt-x) .dpt-seite .dpt-verwandt .dpt-karte__titel,
html:not(#dpt-x) .dpt-seite .dpt-verwandt .dpt-karte__titel a {
	color: var(--dpt-h);
}

html:not(#dpt-x) .dpt-seite .dpt-verwandt .dpt-karte__wiederholung {
	color: var(--dpt-a);
}

.dpt-verwandt .dpt-karte--eigen {
	box-shadow: 0 0 0 4px rgba(201, 162, 39, 0.18), var(--dpt-schatten);
}

.dpt-einzel__fuss {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 24px 0 0;
}

/* Schmal: verwandte Termine als kompakte Querkarten */
@media (max-width: 599px) {
	.dpt-verwandt .dpt-karte {
		flex-direction: row;
	}

	.dpt-verwandt .dpt-karte__medien {
		flex: 0 0 112px;
		aspect-ratio: auto;
		min-height: 112px;
	}

	.dpt-verwandt .dpt-karte__art {
		display: none;
	}

	.dpt-verwandt .dpt-karte__text {
		min-width: 0;
	}
}

/* Widerspruch dezent am Seitenende */
.dpt-seite-einzel .dpt-widerspruch {
	margin-top: 40px;
	font-size: 0.88rem;
}

/* Mobil: Hauptknopf als feste Leiste unten (ab 1024 px steht er in der Infokarte) */
.dpt-leiste {
	display: none;
}

@media (max-width: 1023px) {
	.dpt-leiste {
		position: fixed;
		z-index: 90;
		right: 0;
		bottom: var(--dpt-leiste-unten, 0px);
		left: 0;
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
		border-top: 1px solid var(--dpt-rand);
		background: rgba(255, 255, 255, 0.96);
		box-shadow: 0 -6px 20px rgba(13, 16, 32, 0.1);
		backdrop-filter: blur(8px);
		transition: transform 0.2s ease;
	}

	.dpt-leiste.ist-versteckt {
		transform: translateY(calc(100% + var(--dpt-leiste-unten, 0px) + 4px));
	}

	html:not(#dpt-x) .dpt-seite .dpt-leiste__text {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		min-width: 0;
		margin: 0;
		font-size: 0.82rem;
		line-height: 1.3;
	}

	.dpt-leiste__text strong,
	.dpt-leiste__text span {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.dpt-leiste__text strong {
		color: var(--dpt-h);
	}

	.dpt-leiste__text span {
		color: var(--dpt-leise);
	}

	html:not(#dpt-x) .dpt-seite .dpt-leiste .dpt-knopf {
		flex: 0 0 auto;
		width: auto;
		min-height: 42px;
		padding: 8px 16px;
		font-size: 0.9rem;
	}

	body.dpt-seite-einzel:has(.dpt-leiste) {
		padding-bottom: 72px;
	}
}

@media (min-width: 768px) {
	.dpt-held__text {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		margin: 0;
		padding: 28px 36px 30px;
	}

	html:not(#dpt-x) .dpt-seite .dpt-held__zeile {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.dpt-held__band {
		top: 20px;
		left: 20px;
	}
}

@media (max-width: 599px) {
	.dpt-held__band-zusatz {
		display: none;
	}
}

@media (min-width: 1024px) {
	.dpt-held__medien {
		aspect-ratio: 21 / 9;
	}

	.dpt-einzel__raster {
		grid-template-areas: "haupt info";
		grid-template-columns: minmax(0, 1fr) 340px;
		align-items: start;
		gap: 44px;
		margin-top: 32px;
	}

	.dpt-einzel__haupt {
		grid-area: haupt;
	}

	.dpt-info {
		position: sticky;
		top: calc(24px + var(--wp-admin--admin-bar--height, 0px));
		grid-area: info;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dpt-leiste {
		transition: none;
	}
}

/* ---------- Meldeformular ---------- */

.dpt-melden {
	margin-top: 32px;
	padding: clamp(20px, 4vw, 32px);
	border: 1px solid var(--dpt-rand);
	border-radius: 16px;
	background: var(--dpt-flaeche);
	box-shadow: var(--dpt-schatten);
	scroll-margin-top: 20px;
}

html:not(#dpt-x) .dpt-seite .dpt-melden__titel {
	margin: 0 0 8px;
	font-size: clamp(1.4rem, 2.6vw, 1.8rem);
	font-weight: 800;
}

.dpt-melden .dpt-eyebrow {
	color: var(--dpt-a);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.2em;
}

.dpt-melden__kopf p {
	max-width: 50em;
	color: var(--dpt-t);
}

.dpt-panelium-hinweis {
	padding: 10px 14px;
	border: 1px solid #f3c4df;
	border-radius: 12px;
	background: var(--dpt-a-sehrhell);
}

.dpt-panelium-hinweis .dpt-panelium {
	margin-right: 6px;
	background: var(--dpt-a);
	color: #fff;
}

.dpt-formular__raster,
.dpt-formular__ort {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px 16px;
}

.dpt-formular__ort[hidden] {
	display: none;
}

.dpt-feld {
	min-width: 0;
	margin: 0;
}

.dpt-feld--breit {
	grid-column: 1 / -1;
}

.dpt-feld > label,
.dpt-ortstyp legend {
	display: block;
	margin-bottom: 4px;
	color: var(--dpt-h);
	font-size: 0.84rem;
	font-weight: 700;
}

html:not(#dpt-x) .dpt-seite .dpt-formular input[type="text"],
html:not(#dpt-x) .dpt-seite .dpt-formular input[type="url"],
html:not(#dpt-x) .dpt-seite .dpt-formular input[type="email"],
html:not(#dpt-x) .dpt-seite .dpt-formular input[type="date"],
html:not(#dpt-x) .dpt-seite .dpt-formular input[type="time"],
html:not(#dpt-x) .dpt-seite .dpt-formular select,
html:not(#dpt-x) .dpt-seite .dpt-formular textarea {
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 9px 12px;
	border: 1px solid var(--dpt-rand);
	border-radius: 10px;
	background: var(--dpt-bg);
	color: var(--dpt-h);
	font: inherit;
	font-size: 1rem;
}

html:not(#dpt-x) .dpt-seite .dpt-formular input:focus,
html:not(#dpt-x) .dpt-seite .dpt-formular select:focus,
html:not(#dpt-x) .dpt-seite .dpt-formular textarea:focus {
	border-color: var(--dpt-p);
	outline: 3px solid var(--dpt-p-sehrhell);
	outline-offset: 0;
}

.dpt-formular input::placeholder,
.dpt-formular textarea::placeholder {
	color: #9aa0b6;
}

.dpt-formular input[type="radio"],
.dpt-formular input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--dpt-a);
}

.dpt-ortstyp {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin: 0;
	padding: 0;
	border: 0;
}

.dpt-ortstyp legend {
	width: 100%;
	padding: 0;
}

.dpt-ortstyp label {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	color: var(--dpt-t);
}

.dpt-pflicht {
	color: var(--dpt-a);
}

.dpt-optional {
	color: var(--dpt-leise);
	font-weight: 400;
}

.dpt-feld__fehler {
	display: block;
	margin-top: 4px;
	color: #c0263d;
	font-size: 0.85rem;
}

html:not(#dpt-x) .dpt-seite .dpt-formular [aria-invalid="true"] {
	border-color: #c0263d;
}

.dpt-formular__fuss {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 18px;
	margin: 22px 0 0;
}

.dpt-formular__hinweis {
	color: var(--dpt-leise);
	font-size: 0.88rem;
}

/* ---------- Widerspruch (Einzelseite) ---------- */

.dpt-widerspruch {
	margin-top: 28px;
}

.dpt-widerspruch__knopf {
	display: inline-block;
	padding: 6px 0;
	color: var(--dpt-leise);
	font-size: 0.9rem;
	text-decoration: underline;
	cursor: pointer;
	list-style: none;
}

.dpt-widerspruch__knopf::-webkit-details-marker {
	display: none;
}

.dpt-widerspruch__knopf::before {
	content: "⚑ ";
}

.dpt-widerspruch__box[open] .dpt-widerspruch__knopf {
	color: var(--dpt-h);
	font-weight: 700;
	text-decoration: none;
}

.dpt-widerspruch__inhalt {
	margin-top: 10px;
	padding: clamp(18px, 4vw, 26px);
	border: 1px solid var(--dpt-rand);
	border-radius: 16px;
	background: var(--dpt-bg2);
}

/* ---------- Responsiv ---------- */

@media (max-width: 1000px) {
	.dpt-uebersicht__inhalt {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpt-uebersicht__karte {
		position: static;
		order: -1;
	}

	.dpt-landkarte__flaeche {
		height: 420px;
	}

	.dpt-landkarte__freigabe {
		min-height: 260px;
	}
}

@media (max-width: 760px) {
	.dpt-seitenkopf__innen {
		padding-top: 18px;
		padding-bottom: 16px;
	}

	.dpt-werkzeuge__innen {
		align-items: stretch;
	}

	.dpt-filter {
		flex-basis: 100%;
	}

	.dpt-suche {
		flex-basis: 100%;
		max-width: none;
	}

	.dpt-schalter {
		width: 100%;
	}

	html:not(#dpt-x) .dpt-seite .dpt-schalter__knopf {
		flex: 1;
		justify-content: center;
		padding: 0 8px;
	}

	.dpt-formular__raster,
	.dpt-formular__ort {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpt-angaben > div {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
	}
}

@media (max-width: 480px) {
	.dpt-liste--uebersicht .dpt-eintrag,
	.dpt-eintrag {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 12px;
		padding: 12px;
	}

	.dpt-eintrag__bild,
	.dpt-eintrag__pfeil {
		display: none;
	}

	.dpt-badge {
		width: 52px;
		min-height: 60px;
	}

	.dpt-badge__tag {
		font-size: 1.4rem;
	}

	.dpt-seitenkopf__aktionen,
	.dpt-seitenkopf__aktionen .dpt-knopf {
		width: 100%;
	}

	.dpt-seite .dpt-knopf {
		width: 100%;
	}

	.dpt-filter .dpt-knopf,
	.dpt-auswahl {
		flex: 1 1 auto;
		width: auto;
	}

	html:not(#dpt-x) .dpt-seite .dpt-auswahl select {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dpt-eintrag,
	.dpt-knopf {
		transition: none;
	}
}

/* Startseite: das Homepage-CSS hellt jedes zweite Panel auf (.dp-section:nth-child(even)) und färbt Links
   in Theme-Blau – das Termine-Panel bleibt immer dunkel, Texte in CI-Farben. */
html:not(#dpt-x) .dp-homepage .dp-section.dpt-panel {
	background: var(--dpt-ci-grund);
	color: #fff;
}
html:not(#dpt-x) .dp-homepage .dpt-panel .dpt-karte__titel,
html:not(#dpt-x) .dp-homepage .dpt-panel .dpt-karte__titel a,
html:not(#dpt-x) .dp-homepage .dpt-panel h2 {
	color: #fff;
}
html:not(#dpt-x) .dp-homepage .dpt-panel .dpt-karte__zeit,
html:not(#dpt-x) .dp-homepage .dpt-panel .dpt-karte__ort,
html:not(#dpt-x) .dp-homepage .dpt-panel .dpt-karte__wiederholung {
	color: rgba(255, 255, 255, 0.7);
}
html:not(#dpt-x) .dp-homepage .dpt-panel a.dpt-knopf,
html:not(#dpt-x) .dp-homepage .dpt-panel a.dpt-knopf:hover {
	color: #fff;
}

/* Eigene Events des Discovery Panel: Gold-Akzent, „Unser Event“ */
html:not(#dpt-x) .dpt-karte--eigen { border: 2px solid var(--dpt-ci-gold, #c9a227); box-shadow: 0 0 0 4px rgba(201, 162, 39, 0.18), 0 10px 30px rgba(0, 0, 0, 0.35); }
html:not(#dpt-x) .dpt-pille--eigen { background: var(--dpt-ci-gold, #c9a227); color: #1a1205; }
html:not(#dpt-x) .dpt-eintrag--eigen { border-color: #c9a227; box-shadow: inset 4px 0 0 #c9a227; background: #fffaf0; }
html:not(#dpt-x) .dpt-chip.ist-eigen { background: #c9a227; color: #1a1205; border-left-color: #8a6d12; font-weight: 700; }
html:not(#dpt-x) .dpt-eigen-hinweis { margin: 0 0 1rem; padding: .75rem 1rem; border-radius: 12px; background: #fffaf0; border: 1px solid #c9a227; color: #5a4507; font-weight: 700; }

/* Startseiten-Panel geteilt: besondere Events links (3 Karten), „Nächste Trekdinner“ rechts kompakt */
.dpt-panel__inhalt--geteilt { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.dpt-panel__inhalt--geteilt > * { min-width: 0; }
@container (min-width: 1000px) {
	.dpt-panel__inhalt--geteilt { grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr); align-items: start; }
	.dpt-panel__inhalt--geteilt .dpt-karten { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
html:not(#dpt-x) .dpt-dinner { background: var(--dpt-ci-flaeche, #19102a); border: 1px solid var(--dpt-ci-rand, #42286a); border-radius: 16px; padding: 16px; }
html:not(#dpt-x) .dpt-dinner__titel { margin: 0 0 10px; font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--dpt-ci-gold, #c9a227); }
.dpt-dinner__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
html:not(#dpt-x) .dpt-dinner__eintrag { display: flex; gap: 12px; align-items: center; padding: 8px; border-radius: 12px; text-decoration: none; color: #fff; transition: background .15s; }
html:not(#dpt-x) .dpt-dinner__eintrag:hover, html:not(#dpt-x) .dpt-dinner__eintrag:focus-visible { background: rgba(207, 22, 130, .14); }
html:not(#dpt-x) .dpt-dinner__datum { flex: 0 0 auto; width: 46px; padding: 4px 0; border-radius: 10px; border: 1px solid var(--dpt-ci-gold, #c9a227); text-align: center; font-size: .66rem; font-weight: 700; text-transform: uppercase; color: var(--dpt-ci-gold, #c9a227); line-height: 1.1; }
html:not(#dpt-x) .dpt-dinner__datum b { display: block; font-size: 1.15rem; color: #fff; }
.dpt-dinner__text { min-width: 0; display: flex; flex-direction: column; }
html:not(#dpt-x) .dpt-dinner__name { font-weight: 700; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html:not(#dpt-x) .dpt-dinner__meta { font-size: .8rem; color: rgba(255, 255, 255, .7); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html:not(#dpt-x) .dpt-dinner__alle { display: inline-block; margin-top: 10px; font-size: .85rem; font-weight: 700; color: var(--dpt-ci-magenta-hell, #e83d9f); text-decoration: none; }


/* ========== Darkmode der Inhaltsseiten (Website-Schalter html.dp-dark) ========== */
html.dp-dark .dpt-seite,
html.dp-dark .dpt-melden,
html.dp-dark .dpt-widerspruch {
	--dpt-p: #8aa0ff;
	--dpt-p-dunkel: #b3c1ff;
	--dpt-p-hell: #8aa0ff;
	--dpt-p-sehrhell: rgba(74, 102, 192, 0.2);
	--dpt-a-sehrhell: rgba(207, 22, 130, 0.2);
	--dpt-h: #ffffff;
	--dpt-t: rgba(255, 255, 255, 0.86);
	--dpt-leise: rgba(255, 255, 255, 0.62);
	--dpt-bg: #0f0818;
	--dpt-bg2: #19102a;
	--dpt-rand: #42286a;
	--dpt-flaeche: #19102a;
	--dpt-schatten: 0 1px 2px rgba(0, 0, 0, 0.4), 0 6px 18px rgba(0, 0, 0, 0.35);
	color: var(--dpt-t);
}
html.dp-dark:not(#dpt-x) .dpt-seite h1,
html.dp-dark:not(#dpt-x) .dpt-seite h2,
html.dp-dark:not(#dpt-x) .dpt-seite h3,
html.dp-dark:not(#dpt-x) .dpt-seite .dpt-eintrag__titel,
html.dp-dark:not(#dpt-x) .dpt-seite .dpt-eintrag__titel a { color: var(--dpt-h); }
html.dp-dark:not(#dpt-x) .dpt-seite input,
html.dp-dark:not(#dpt-x) .dpt-seite select,
html.dp-dark:not(#dpt-x) .dpt-seite textarea { background: #0f0818; color: #fff; border-color: #42286a; }
html.dp-dark:not(#dpt-x) .dpt-seite .dpt-knopf--rahmen { color: #fff; border-color: #5c3a88; background: transparent; }
html.dp-dark:not(#dpt-x) .dpt-seite .dpt-chip { background: rgba(255, 255, 255, 0.07); color: #fff; }
html.dp-dark:not(#dpt-x) .dpt-seite .dpt-chip:hover { background: rgba(207, 22, 130, 0.22); }
html.dp-dark:not(#dpt-x) .dpt-seite .dpt-chip .dpt-chip__zeit { color: #b3c1ff; }
html.dp-dark:not(#dpt-x) .dpt-seite .dpt-chip.ist-eigen { background: #c9a227; color: #1a1205; }
html.dp-dark:not(#dpt-x) .dpt-seite .dpt-chip.ist-eigen .dpt-chip__zeit { color: #1a1205; }
.dpt-dinner__liste > li { min-width: 0; }
html:not(#dpt-x) .dpt-dinner__eintrag { min-width: 0; max-width: 100%; box-sizing: border-box; }

/* Termin-Kasten im verknüpften News-Beitrag */
html:not(#dpt-x) .dpt-beitrag-termin { display: flex; gap: 16px; align-items: flex-start; margin: 0 0 1.75rem; padding: 16px 18px; border: 1px solid var(--dpt-rand); border-radius: 16px; background: var(--dpt-bg2); box-shadow: var(--dpt-schatten); }
html:not(#dpt-x) .dpt-beitrag-termin--eigen { border: 2px solid #c9a227; box-shadow: 0 0 0 4px rgba(201, 162, 39, 0.15); }
.dpt-beitrag-termin__text { min-width: 0; flex: 1; }
html:not(#dpt-x) .dpt-beitrag-termin__kennzeile { margin: 0 0 2px; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #a8831a; }
html:not(#dpt-x) .dpt-beitrag-termin__titel { margin: 0; font-size: 1.15rem; font-weight: 800; line-height: 1.25; color: var(--dpt-h); }
html:not(#dpt-x) .dpt-beitrag-termin__meta { margin: 4px 0 10px; color: var(--dpt-t); font-size: .95rem; }
.dpt-beitrag-termin__knoepfe { display: flex; flex-wrap: wrap; gap: 8px; }
html:not(#dpt-x) .dpt-beitrag-termin .dpt-knopf { text-decoration: none; }
html:not(#dpt-x) .dpt-beitrag-termin .dpt-knopf--magenta { color: #fff; }
html:not(#dpt-x) .dpt-beitrag-termin .dpt-knopf--rahmen { color: var(--dpt-h); }
html.dp-dark:not(#dpt-x) .dpt-beitrag-termin__kennzeile { color: #c9a227; }

/* Startseiten-Panel: keine wischbare Reihe mehr – schmal untereinander, mittel zwei Spalten, nie Scrollbalken */
html:not(#dpt-x) .dpt-panel .dpt-karten {
	grid-auto-flow: row;
	grid-template-columns: minmax(0, 1fr);
	grid-auto-columns: auto;
	overflow: visible;
	scroll-snap-type: none;
	padding: 4px 0 8px;
}
@container (min-width: 560px) {
	html:not(#dpt-x) .dpt-panel .dpt-karten { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (min-width: 1000px) {
	html:not(#dpt-x) .dpt-panel .dpt-karten { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	html:not(#dpt-x) .dpt-panel .dpt-panel__inhalt--geteilt .dpt-karten { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
