/* =========================================================================
   Terminliste fuer den Shortcode [ey_termine]
   Eigenstaendig, damit sie auch auf den BeBuilder-Seiten funktioniert,
   wo die Klasse .ey am body fehlt.
   Wirkt ausschliesslich innerhalb von .ey-termine-liste.
   ========================================================================= */

.ey-termine-liste {
	--eyt-waldgruen: #23402F;
	--eyt-waldgruen-dunkel: #1A3124;
	--eyt-spreewald: #4A6B52;
	--eyt-sand: #E7DCC7;
	--eyt-leinen: #F5F0E6;
	--eyt-linie: #E7E0D0;
	--eyt-text: #4d5548;
	--eyt-meta: #6B7263;

	display: block;
	max-width: 1000px;
	margin: 0 auto;
	font-size: 17px;
	line-height: 1.6;
	color: var(--eyt-text);
}

.ey-termine-liste * { box-sizing: border-box; }

.ey-termine-liste .ey-termin {
	display: grid;
	grid-template-columns: 150px 1fr auto auto;
	gap: 24px;
	align-items: center;
	padding: 22px 0;
	border-top: 1px solid var(--eyt-linie);
}

.ey-termine-liste .ey-termin:last-child {
	border-bottom: 1px solid var(--eyt-linie);
}

.ey-termine-liste .ey-termin__datum {
	margin: 0;
	font-weight: 600;
	color: var(--eyt-waldgruen);
}

.ey-termine-liste .ey-termin__ort {
	margin: 2px 0 0;
	font-size: 15px;
	color: var(--eyt-meta);
}

.ey-termine-liste .ey-termin__titel {
	margin: 0;
	font-family: 'Lora', Georgia, serif;
	font-size: 21px;
	line-height: 1.3;
	color: var(--eyt-waldgruen);
}

.ey-termine-liste .ey-termin__meta {
	margin: 2px 0 0;
	font-size: 15px;
	color: var(--eyt-text);
}

.ey-termine-liste .ey-badge {
	background: var(--eyt-sand);
	color: #5A4A28;
	font-size: 14px;
	font-weight: 600;
	padding: 5px 12px;
	border-radius: 999px;
	white-space: nowrap;
	justify-self: start;
}

.ey-termine-liste .ey-badge--warteliste {
	background: var(--eyt-leinen);
	color: var(--eyt-text);
}

.ey-termine-liste .ey-btn,
.ey-termine-liste .ey-btn:link,
.ey-termine-liste .ey-btn:visited {
	display: inline-block;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.3;
	padding: 12px 22px;
	border-radius: 10px;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .18s ease;
}

.ey-termine-liste .ey-btn--primaer,
.ey-termine-liste .ey-btn--primaer:link,
.ey-termine-liste .ey-btn--primaer:visited {
	background: var(--eyt-waldgruen) !important;
	color: #FCFAF5 !important;
	border: 1.5px solid var(--eyt-waldgruen);
}

.ey-termine-liste .ey-btn--primaer:hover,
.ey-termine-liste .ey-btn--primaer:focus {
	background: var(--eyt-waldgruen-dunkel) !important;
	color: #ffffff !important;
}

.ey-termine-liste .ey-btn--sekundaer,
.ey-termine-liste .ey-btn--sekundaer:link,
.ey-termine-liste .ey-btn--sekundaer:visited {
	background: transparent !important;
	color: var(--eyt-waldgruen) !important;
	border: 1.5px solid var(--eyt-waldgruen);
}

.ey-termine-liste .ey-btn--sekundaer:hover,
.ey-termine-liste .ey-btn--sekundaer:focus {
	background: var(--eyt-leinen) !important;
}

.ey-termine-liste .ey-btn:focus-visible {
	outline: 3px solid #AABCA3;
	outline-offset: 2px;
}

.ey-termine-leer {
	max-width: 60ch;
	color: #4d5548;
}

@media (max-width: 900px) {
	.ey-termine-liste .ey-termin {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.ey-termine-liste .ey-btn {
		width: 100%;
		text-align: center;
	}
}

/* =========================================================================
   Kurzfakten-Box  [ey_termin_fakten]
   ========================================================================= */

.ey-fakten {
	--eyf-waldgruen: #23402F;
	--eyf-waldgruen-dunkel: #1A3124;
	--eyf-linie: rgba(35, 64, 47, .16);

	max-width: 560px;
	padding: 28px 30px;
	border-radius: 14px;
	background: #FCFAF5;
	border: 1px solid var(--eyf-linie);
	font-size: 17px;
	line-height: 1.6;
	color: #3d4739;
	box-sizing: border-box;
}

.ey-fakten * { box-sizing: border-box; }

/* Variante fuer dunkle oder farbige Seitenhintergruende */
.ey-fakten--dunkel {
	background: rgba(255, 255, 255, .92);
	border-color: rgba(35, 64, 47, .22);
}

.ey-fakten__titel {
	margin: 0 0 18px;
	font-family: 'Lora', Georgia, serif;
	font-size: 22px;
	line-height: 1.3;
	color: var(--eyf-waldgruen);
}

.ey-fakten__liste {
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 0;
	margin: 0 0 24px;
}

.ey-fakten__liste dt {
	padding: 11px 0;
	font-size: 15px;
	font-weight: 600;
	color: #6B7263;
	border-top: 1px solid var(--eyf-linie);
}

.ey-fakten__liste dd {
	margin: 0;
	padding: 11px 0;
	color: var(--eyf-waldgruen);
	border-top: 1px solid var(--eyf-linie);
}

.ey-fakten__liste dt:first-of-type,
.ey-fakten__liste dt:first-of-type + dd {
	border-top: 0;
	padding-top: 0;
}

.ey-fakten .ey-btn,
.ey-fakten .ey-btn:link,
.ey-fakten .ey-btn:visited {
	display: inline-block;
	font-weight: 600;
	font-size: 17px;
	line-height: 1.3;
	padding: 15px 30px;
	border-radius: 10px;
	text-decoration: none;
	transition: background-color .18s ease;
}

.ey-fakten .ey-btn--primaer,
.ey-fakten .ey-btn--primaer:link,
.ey-fakten .ey-btn--primaer:visited {
	background: var(--eyf-waldgruen) !important;
	color: #FCFAF5 !important;
	border: 1.5px solid var(--eyf-waldgruen);
}

.ey-fakten .ey-btn--primaer:hover,
.ey-fakten .ey-btn--primaer:focus {
	background: var(--eyf-waldgruen-dunkel) !important;
	color: #ffffff !important;
}

.ey-fakten .ey-btn--sekundaer,
.ey-fakten .ey-btn--sekundaer:link,
.ey-fakten .ey-btn--sekundaer:visited {
	background: transparent !important;
	color: var(--eyf-waldgruen) !important;
	border: 1.5px solid var(--eyf-waldgruen);
}

.ey-fakten .ey-btn:focus-visible {
	outline: 3px solid #AABCA3;
	outline-offset: 2px;
}

/* Listenvariante auf farbigem Hintergrund */
.ey-termine-liste--dunkel {
	background: rgba(255, 255, 255, .92);
	border-radius: 14px;
	padding: 8px 28px 28px;
}

@media (max-width: 600px) {
	.ey-fakten { padding: 22px; }
	.ey-fakten__liste { grid-template-columns: 1fr; }
	.ey-fakten__liste dt { padding-bottom: 0; border-top: 1px solid var(--eyf-linie); }
	.ey-fakten__liste dd { padding-top: 2px; border-top: 0; }
	.ey-fakten__liste dt:first-of-type + dd { padding-top: 2px; }
	.ey-fakten .ey-btn { display: block; text-align: center; }
}

/* =========================================================================
   Flyer (Beitragsbild des Termins)
   ========================================================================= */

.ey-termin__flyer {
	margin-top: 10px;
}

.ey-termin__flyer summary {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 15px;
	font-weight: 600;
	color: #4A6B52;
	cursor: pointer;
	list-style: none;
	padding: 4px 0;
}

.ey-termin__flyer summary::-webkit-details-marker { display: none; }

.ey-termin__flyer summary::before {
	content: '';
	width: 15px;
	height: 12px;
	flex-shrink: 0;
	border: 1.5px solid currentColor;
	border-radius: 2px;
	background:
		radial-gradient(circle at 4px 3.5px, currentColor 1.4px, transparent 1.5px),
		linear-gradient(to top right, transparent 48%, currentColor 48%, currentColor 62%, transparent 62%);
}

.ey-termin__flyer summary:hover { text-decoration: underline; }

.ey-termin__flyer summary:focus-visible {
	outline: 3px solid #AABCA3;
	outline-offset: 2px;
	border-radius: 4px;
}

.ey-termin__flyer[open] summary { margin-bottom: 12px; }

.ey-termin__flyer img {
	display: block;
	max-width: 100%;
	width: auto;
	max-height: 520px;
	height: auto;
	border-radius: 10px;
	border: 1px solid #E7E0D0;
}

.ey-termin__flyer-hinweis {
	margin: 8px 0 0;
	font-size: 13px;
	color: #6B7263;
}

/* In der Kurzfakten-Box sitzt der Flyer unter dem Button */
.ey-fakten .ey-termin__flyer { margin-top: 20px; }
