/*
 * KjG Recke – Design der dynamischen Bausteine
 * Farben nach den Gestaltungsleitlinien der KjG-Bundesstelle.
 *
 * WICHTIG: Alle Groessen stehen in px, nicht in rem. Rem haengt an der
 * Grundschriftgroesse des Themes - wenn die kleiner als 16px ist,
 * schrumpft sonst die ganze Seite mit.
 *
 * Ebenso bekommt jede Ueberschrift und jeder Text eine eigene Farbe.
 * Vererbung reicht nicht: Themes setzen eigene Ueberschriftenfarben,
 * die ueber Spezifitaet gewinnen - im schlimmsten Fall weiss auf weiss.
 *
 * Breakpoints wie in Elementor: Tablet bis 1024px, Handy bis 767px.
 */

:root {
	/* Corporate-Farbe und Zusatzton */
	--kjg-tuerkis: #00b6be;        /* Pantone 3125 – Logofarbe */
	--kjg-dunkelblau: #006d84;     /* Pantone 314 – Zusatzton */

	/* Abgeleitete Flaechentoene fuer Web */
	--kjg-tief: #063b46;
	--kjg-mittel: #00707c;
	--kjg-hell: #f2f8f8;
	--kjg-linie: #dce8ea;

	/* Sekundaerfarben nach Themenfeldern */
	--kjg-gruen: #a6ce39;          /* Pantone 583 */
	--kjg-tanne: #007576;          /* Pantone 322 */
	--kjg-orange: #f58220;         /* Pantone 144 */
	--kjg-gelb: #fcaf17;           /* Pantone 143 */
	--kjg-pink: #f05b83;           /* Pantone 190 */
	--kjg-lila: #5f316c;           /* Pantone 520 */
	--kjg-bordeaux: #952d4f;       /* Pantone 208 */

	/* Text */
	--kjg-text: #10262c;
	--kjg-text-leise: #4a6168;

	/* Masse */
	--kjg-radius: 20px;
	--kjg-radius-klein: 14px;
	--kjg-radius-gross: 26px;
}

/* ---------- Schriften ---------- */

@font-face {
	font-family: "SeccaKjG";
	src: url("../fonts/SeccaKjG-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "SeccaKjG";
	src: url("../fonts/SeccaKjG-Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "SeccaKjG";
	src: url("../fonts/SeccaKjG-Italic.woff2") format("woff2");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: "SeccaDisplay";
	src: url("../fonts/SeccaStd-Black.woff2") format("woff2");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

/* ===================================================================
   Dynamische Bausteine
   Alles hier wird vom Plugin gerendert. Der uebrige Seitenaufbau
   besteht aus normalen Elementor-Widgets und wird dort gestaltet.
   =================================================================== */

[class*="kjg-"] {
	box-sizing: border-box;
}

/* ---------- Status-Chips ---------- */

.kjg-chip {
	display: inline-block;
	align-self: flex-start;
	padding: 7px 14px;
	border-radius: 999px;
	font-family: "SeccaKjG", "Segoe UI", system-ui, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1.3;
}

.kjg-chip--offen { background: #e8f7d7; color: #2f4a0a; }
.kjg-chip--knapp { background: #fff2d9; color: #5d3300; }
.kjg-chip--warten { background: #ffefd6; color: #5d3300; }
.kjg-chip--zu { background: #f3e4e8; color: #6d142f; }
.kjg-chip--neutral { background: #eef5f6; color: #294349; }

/* ---------- Buttons ---------- */

.kjg-buttonreihe {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.kjg-button,
a.kjg-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 30px;
	border-radius: 999px;
	font-family: "SeccaKjG", "Segoe UI", system-ui, sans-serif;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	border: 2px solid transparent;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.kjg-button--primaer,
a.kjg-button--primaer { background: #00707c; color: #ffffff; }
.kjg-button--primaer:hover,
a.kjg-button--primaer:hover,
.kjg-button--primaer:focus-visible { background: #063b46; color: #ffffff; }

.kjg-button--akzent,
a.kjg-button--akzent { background: #a6ce39; color: #15280a; }
.kjg-button--akzent:hover,
a.kjg-button--akzent:hover { background: #93b92c; color: #15280a; }

.kjg-button--dunkel,
a.kjg-button--dunkel { background: #15280a; color: #ffffff; }
.kjg-button--dunkel:hover,
a.kjg-button--dunkel:hover { background: #0a1704; color: #ffffff; }

.kjg-button--umriss,
a.kjg-button--umriss { border-color: #4e8e99; color: #ffffff; background: transparent; }
.kjg-button--umriss:hover,
a.kjg-button--umriss:hover { border-color: #ffffff; color: #ffffff; }

.kjg-button--sekundaer,
a.kjg-button--sekundaer { border-color: #9cc2c8; color: #10262c; background: transparent; }
.kjg-button--sekundaer:hover,
a.kjg-button--sekundaer:hover { border-color: #00707c; color: #00707c; }

.kjg-button--aus,
.kjg-button--warten {
	background: #eef5f6;
	color: #294349;
	cursor: default;
}

.kjg-button:focus-visible {
	outline: 3px solid #00b6be;
	outline-offset: 3px;
}

/* ---------- Naechster Termin ---------- */

.kjg-naechster {
	background: #ffffff;
	border-radius: 22px;
	padding: 30px;
	box-shadow: 0 18px 44px rgba(6, 59, 70, 0.16);
	font-family: "SeccaKjG", "Segoe UI", system-ui, sans-serif;
}

.kjg-naechster__label {
	margin: 0 0 18px;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 700;
	color: #4a6168;
}

.kjg-naechster__kopf {
	display: flex;
	gap: 18px;
	align-items: flex-start;
}

.kjg-datumsblock {
	flex: 0 0 78px;
	text-align: center;
	background: #00b6be;
	border-radius: 14px;
	padding: 11px 0;
}

.kjg-datumsblock__tag {
	display: block;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	color: #063b46;
}

.kjg-datumsblock__monat {
	display: block;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #063b46;
}

.kjg-naechster__titel,
h2.kjg-naechster__titel,
h3.kjg-naechster__titel {
	margin: 0 0 7px;
	font-family: "SeccaKjG", "Segoe UI", system-ui, sans-serif;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.2;
	color: #10262c;
}

.kjg-naechster__meta {
	margin: 0 0 4px;
	font-size: 16px;
	line-height: 1.5;
	color: #4a6168;
}

.kjg-naechster__beschreibung {
	margin: 18px 0 0;
	font-size: 16px;
	line-height: 1.55;
	color: #294349;
}

.kjg-naechster__fuss {
	margin-top: 22px;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

.kjg-naechster__fuss .kjg-button {
	margin-left: auto;
}

/* ---------- Kartenraster ---------- */

.kjg-raster {
	display: grid;
	grid-template-columns: repeat(var(--kjg-spalten, 3), minmax(0, 1fr));
	gap: 24px;
	font-family: "SeccaKjG", "Segoe UI", system-ui, sans-serif;
}

.kjg-karte {
	background: #ffffff;
	border: 1px solid #dce8ea;
	border-radius: 20px;
	padding: 28px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}

.kjg-karte__datum {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: #00707c;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Explizite Farbe, sonst gewinnt die Ueberschriftenfarbe des Themes. */
.kjg-karte__titel,
h2.kjg-karte__titel,
h3.kjg-karte__titel,
h4.kjg-karte__titel {
	margin: 0;
	font-family: "SeccaKjG", "Segoe UI", system-ui, sans-serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.22;
	color: #10262c;
}

.kjg-karte__titel a,
.kjg-karte__titel a:visited {
	color: #10262c;
	text-decoration: none;
}

.kjg-karte__titel a:hover,
.kjg-karte__titel a:focus-visible {
	color: #00707c;
	text-decoration: underline;
}

.kjg-karte__gruppe {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: #4a6168;
}

.kjg-karte__text {
	margin: 0;
	font-size: 16px;
	line-height: 1.55;
	color: #4a6168;
}

.kjg-karte__fuss {
	margin-top: auto;
	padding-top: 10px;
	width: 100%;
}

.kjg-karte--rueckblick {
	background: #f2f8f8;
	gap: 10px;
}

.kjg-karte--leer {
	align-items: center;
	text-align: center;
	color: #4a6168;
	font-size: 17px;
}

/* ---------- Lagerkarten ---------- */

.kjg-lagerkarte {
	position: relative;
	overflow: hidden;
	border-radius: 26px;
	padding: 38px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	font-family: "SeccaKjG", "Segoe UI", system-ui, sans-serif;
}

.kjg-lagerkarte--dunkel { background: #063b46; }
.kjg-lagerkarte--tuerkis { background: #00707c; }

.kjg-lagerkarte > * { position: relative; }

.kjg-lagerkarte__gruppe {
	background: #a6ce39;
	color: #15280a;
	font-size: 14px;
	font-weight: 700;
	padding: 8px 15px;
	border-radius: 999px;
}

.kjg-lagerkarte--tuerkis .kjg-lagerkarte__gruppe {
	background: #fcaf17;
	color: #3d2800;
}

.kjg-lagerkarte__titel,
h2.kjg-lagerkarte__titel,
h3.kjg-lagerkarte__titel {
	margin: 0;
	font-family: "SeccaDisplay", "SeccaKjG", sans-serif;
	font-size: 36px;
	font-weight: 900;
	line-height: 1.08;
	color: #ffffff;
}

.kjg-lagerkarte__text {
	margin: 0;
	font-size: 18px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.9);
}

.kjg-lagerkarte__daten {
	margin: 8px 0 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	width: 100%;
	font-size: 16px;
}

.kjg-lagerkarte__daten dt {
	color: rgba(255, 255, 255, 0.72);
	margin-bottom: 3px;
	font-size: 15px;
}

.kjg-lagerkarte__daten dd {
	margin: 0;
	font-weight: 700;
	color: #ffffff;
	font-size: 17px;
}

.kjg-lagerkarte__fuss {
	margin-top: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	width: 100%;
}

.kjg-lagerkarte__fuss .kjg-button--primaer,
.kjg-lagerkarte__fuss a.kjg-button--primaer {
	background: #ffffff;
	color: #063b46;
}

.kjg-lagerkarte__fuss .kjg-button--primaer:hover,
.kjg-lagerkarte__fuss a.kjg-button--primaer:hover {
	background: #a6ce39;
	color: #15280a;
}

.kjg-lagerkarte__fuss .kjg-chip--zu,
.kjg-lagerkarte__fuss .kjg-button--aus {
	background: rgba(255, 255, 255, 0.16);
	color: #ffffff;
}

/* ---------- Einzelansicht einer Aktion ---------- */

.kjg-einzel-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 32px;
	padding: 22px 0;
	margin: 0 0 26px;
	border-top: 1px solid #dce8ea;
	border-bottom: 1px solid #dce8ea;
	font-family: "SeccaKjG", "Segoe UI", system-ui, sans-serif;
}

.kjg-einzel-meta__label {
	display: block;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #4a6168;
	margin-bottom: 4px;
}

.kjg-einzel-meta__wert {
	display: block;
	font-size: 18px;
	font-weight: 700;
	color: #10262c;
}

.kjg-einzel-anmeldung { margin: 30px 0 0; }

.kjg-hinweis {
	color: #4a6168;
	font-size: 17px;
	font-family: "SeccaKjG", "Segoe UI", system-ui, sans-serif;
}

/* ===================================================================
   Hilfsklassen fuer Elementor-Widgets
   Diese Klassen traegst du in Elementor unter
   Erweitert > CSS-Klassen bei einem Widget ein.
   =================================================================== */

/* Foto in eine KjG-Form stanzen. Das Bild bleibt ein normales
   Elementor-Bild-Widget und laesst sich dort austauschen. */

.kjg-form-blob img,
.kjg-form-kreis img,
.kjg-form-keil img,
.kjg-form-huegel img {
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	width: 100%;
	height: auto;
}

.kjg-form-blob img {
	-webkit-mask-image: url("../img/el2-hell.png");
	mask-image: url("../img/el2-hell.png");
}

.kjg-form-kreis img {
	-webkit-mask-image: url("../img/el1-hell.png");
	mask-image: url("../img/el1-hell.png");
}

.kjg-form-keil img {
	-webkit-mask-image: url("../img/el3-hell.png");
	mask-image: url("../img/el3-hell.png");
}

.kjg-form-huegel img {
	-webkit-mask-image: url("../img/el5-hell.png");
	mask-image: url("../img/el5-hell.png");
}

/* Grafikelement als Zier in den Hintergrund eines Containers legen.
   Traegst du beim Container unter CSS-Klassen ein. */

.kjg-zier-rechts,
.kjg-zier-links {
	position: relative;
	overflow: hidden;
}

.kjg-zier-rechts::before,
.kjg-zier-links::before {
	content: "";
	position: absolute;
	width: 420px;
	height: 420px;
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0.09;
	pointer-events: none;
	z-index: 0;
}

.kjg-zier-rechts::before {
	right: -110px;
	top: -60px;
	background-image: url("../img/el2-hell.png");
}

.kjg-zier-links::before {
	left: -120px;
	bottom: -80px;
	background-image: url("../img/el1-hell.png");
}

.kjg-zier-rechts > *,
.kjg-zier-links > * {
	position: relative;
	z-index: 1;
}

/* Platzhalter, solange noch kein Foto da ist. */

.kjg-fotoplatz {
	background-color: #cfe6e9;
	background-image: linear-gradient(135deg, #9ed4da 0%, #cfe6e9 55%, #e4f2f3 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #2f5a62;
	font-family: "SeccaKjG", "Segoe UI", system-ui, sans-serif;
	font-size: 15px;
	font-weight: 700;
	min-height: 200px;
	padding: 24px;
}

/* ---------- Tablet: bis 1024px ---------- */

@media (max-width: 1024px) {
	.kjg-raster {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kjg-lagerkarte {
		padding: 30px;
	}

	.kjg-lagerkarte__titel {
		font-size: 32px;
	}

	.kjg-zier-rechts::before,
	.kjg-zier-links::before {
		width: 280px;
		height: 280px;
		opacity: 0.07;
	}
}

/* ---------- Handy: bis 767px ---------- */

@media (max-width: 767px) {
	.kjg-raster {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.kjg-lagerkarte {
		padding: 24px;
		border-radius: 20px;
	}

	.kjg-lagerkarte__titel {
		font-size: 28px;
	}

	.kjg-lagerkarte__daten {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.kjg-naechster {
		padding: 22px;
	}

	.kjg-naechster__titel {
		font-size: 22px;
	}

	.kjg-karte {
		padding: 22px;
	}

	.kjg-karte__titel {
		font-size: 21px;
	}

	/* Buttons volle Breite, damit sie sich mit dem Daumen treffen lassen */
	.kjg-buttonreihe {
		flex-direction: column;
		align-items: stretch;
	}

	.kjg-buttonreihe .kjg-button,
	.kjg-karte__fuss .kjg-button,
	.kjg-lagerkarte__fuss .kjg-button {
		width: 100%;
	}

	.kjg-naechster__fuss,
	.kjg-lagerkarte__fuss {
		flex-direction: column;
		align-items: stretch;
	}

	.kjg-naechster__fuss .kjg-button {
		margin-left: 0;
		width: 100%;
	}

	.kjg-naechster__fuss .kjg-chip,
	.kjg-lagerkarte__fuss .kjg-chip {
		align-self: flex-start;
	}

	.kjg-datumsblock {
		flex: 0 0 64px;
	}

	.kjg-datumsblock__tag {
		font-size: 25px;
	}

	.kjg-zier-rechts::before,
	.kjg-zier-links::before {
		display: none;
	}

	.kjg-einzel-meta {
		gap: 14px 22px;
	}
}

/* ---------- Bewegung reduzieren ---------- */

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

/* ---------- Druck ---------- */

@media print {
	.kjg-zier-rechts::before,
	.kjg-zier-links::before {
		display: none;
	}

	.kjg-lagerkarte--dunkel,
	.kjg-lagerkarte--tuerkis {
		background: #ffffff !important;
		border: 1pt solid #666;
	}

	.kjg-lagerkarte__titel,
	.kjg-lagerkarte__text,
	.kjg-lagerkarte__daten dt,
	.kjg-lagerkarte__daten dd {
		color: #000000 !important;
	}

	.kjg-naechster {
		box-shadow: none;
		border: 1pt solid #666;
	}
}


/* ---------- Grosse Highlight-Kachel [kjg_naechster_termin variante="gross"] ---------- */

.kjg-highlight {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 36px;
	align-items: center;
	background: #ffffff;
	border: 1px solid #dce8ea;
	border-radius: 26px;
	padding: 24px;
	box-shadow: 0 18px 44px rgba(6, 59, 70, 0.12);
	font-family: "SeccaKjG", "Segoe UI", system-ui, sans-serif;
}

.kjg-highlight--ohne-bild {
	grid-template-columns: minmax(0, 1fr);
	padding: 36px;
}

.kjg-highlight__media {
	position: relative;
	height: 100%;
	min-height: 320px;
	border-radius: 22px;
	overflow: hidden;
	background: #f2f8f8;
}

.kjg-highlight__media img,
img.kjg-highlight__bild {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	border-radius: 22px;
}

.kjg-highlight__inhalt {
	padding: 12px 12px 12px 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.kjg-highlight--ohne-bild .kjg-highlight__inhalt {
	padding: 0;
}

.kjg-highlight__label {
	margin: 0;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 700;
	color: #00707c;
}

.kjg-highlight .kjg-naechster__kopf {
	align-items: center;
}

.kjg-highlight__titel,
h2.kjg-highlight__titel,
h3.kjg-highlight__titel {
	margin: 0;
	font-family: "SeccaKjG", "Segoe UI", system-ui, sans-serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.15;
	color: #10262c;
}

.kjg-highlight__fakten {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.kjg-highlight__fakten li {
	margin: 0;
	display: flex;
	gap: 12px;
	font-size: 16px;
	line-height: 1.45;
	color: #10262c;
}

.kjg-highlight__fakten li span {
	flex: 0 0 72px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #4a6168;
	padding-top: 2px;
}

.kjg-highlight__text {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	color: #4a6168;
}

.kjg-highlight .kjg-naechster__fuss .kjg-button {
	margin-left: 0;
}

.kjg-highlight .kjg-naechster__fuss {
	margin-top: 4px;
	flex-wrap: wrap;
	gap: 14px;
}

.kjg-highlight__mehr,
.kjg-highlight__mehr:visited {
	font-size: 15px;
	font-weight: 700;
	color: #00707c;
	text-decoration: none;
}

.kjg-highlight__mehr:hover {
	color: #063b46;
	text-decoration: underline;
}

@media (max-width: 1024px) {
	.kjg-highlight {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.kjg-highlight__media {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.kjg-highlight__inhalt {
		padding: 0 8px 8px;
	}
}

@media (max-width: 767px) {
	.kjg-highlight {
		padding: 16px;
		border-radius: 22px;
	}

	.kjg-highlight__titel,
	h3.kjg-highlight__titel {
		font-size: 25px;
	}

	.kjg-highlight__fakten li {
		flex-direction: column;
		gap: 2px;
	}

	.kjg-highlight__fakten li span {
		flex: none;
	}
}

/* Status: Keine Anmeldung notwendig */
.kjg-chip--frei {
	background: #e0f6f7;
	color: #00707c;
}

/* Action presentation: complete images and clear calls to action. */
.kjg-aktionsbuttons { flex-wrap:nowrap!important; gap:12px!important; }
.kjg-aktionsbuttons > .kjg-button { margin-left:0!important; padding:14px 20px; font-size:15px; min-height:52px; width:auto!important; flex:0 1 auto; }
.kjg-aktionsbuttons > .kjg-button--mehr { margin-left:auto!important; flex-shrink:0; }
.kjg-highlight__media { height:auto; min-height:0; aspect-ratio:auto; align-self:center; background:#f2f8f8; }
.kjg-highlight__media img, img.kjg-highlight__bild { position:static!important; width:100%!important; height:auto!important; max-width:100%; object-fit:contain!important; display:block; }
.kjg-karte__bild { aspect-ratio:auto!important; }
.kjg-karte__bild img { height:auto!important; object-fit:contain!important; }
.kjg-aktion-beitragsbild { height:auto!important; max-height:none!important; object-fit:contain!important; background:#f2f8f8; }
.kjg-karte, .kjg-naechster, .kjg-highlight { border:1px solid #dce8ea; box-shadow:0 12px 36px rgba(6,59,70,.07); }
.kjg-karte { gap:16px; }
.kjg-chip { letter-spacing:.025em; text-transform:none; line-height:1.5; }
.kjg-einzel-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:24px; gap:24px; border:1px solid #dce8ea; border-radius:20px; background:linear-gradient(135deg,#f0f8f8,#fff); }
.kjg-einzel-meta__label { color:#00707c; font-weight:700; }
body.single-kjg_aktion .entry-content { font-size:17px; line-height:1.75; }
body.single-kjg_aktion .entry-content > p { margin-bottom:1.2em; }
body.single-kjg_aktion .kjg-aktionsbuttons { margin:32px 0 12px; padding-top:24px; border-top:1px solid #dce8ea; }
.kjg-aktionsbuttons a:hover { filter:brightness(.94); }
@media(max-width:767px) {
.kjg-aktionsbuttons { gap:8px!important; }
.kjg-aktionsbuttons > .kjg-button { font-size:13px; padding:12px 10px; min-width:0; }
.kjg-aktionsbuttons > .kjg-button--gesperrt { flex:1 1 0; }
.kjg-einzel-meta { grid-template-columns:1fr; gap:18px; padding:20px; }
}
