/* LSV Termine-Kacheln – passend zu den News-Kacheln der Startseite */

.lsv-termine {
	--lsv-blau: #0F3F8C;
	--lsv-akzent: #C6C800;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}
.lsv-termine--spalten-1 { grid-template-columns: minmax(0, 1fr); }
.lsv-termine--spalten-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lsv-termine--spalten-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 990px) {
	.lsv-termine--spalten-2,
	.lsv-termine--spalten-3,
	.lsv-termine--spalten-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.lsv-termine { grid-template-columns: 1fr; }
}

.lsv-termine .lsv-termin {
	display: flex;
	flex-direction: column;
	background: #fff;
	color: #000;
	text-decoration: none;
	box-shadow: 0 4px 20px rgba(15, 63, 140, .12);
	transition: transform .25s ease, box-shadow .25s ease;
}
.lsv-termine .lsv-termin:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 30px rgba(15, 63, 140, .22);
	color: #000;
}
.lsv-termine .lsv-termin:focus-visible {
	outline: 3px solid var(--lsv-akzent);
	outline-offset: 3px;
}

/* Bild quadratisch wie die News-Kacheln (1x1) */
.lsv-termine .lsv-termin__bild {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.lsv-termine .lsv-termin__bild img,
.lsv-termine .lsv-termin__platzhalter {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.lsv-termine .lsv-termin__bild img {
	transition: transform .4s ease;
}
.lsv-termine .lsv-termin:hover .lsv-termin__bild img {
	transform: scale(1.04);
}
.lsv-termine .lsv-termin__platzhalter {
	background: linear-gradient(45deg, #261B62 0%, #004B96 50%, #50B6A8 98%);
}

/* Datumsbadge */
.lsv-termine .lsv-termin__datum {
	position: absolute;
	top: 20px;
	left: 20px;
	min-width: 64px;
	padding: 10px 12px;
	background: var(--lsv-blau);
	border-bottom: 5px solid var(--lsv-akzent);
	color: #fff;
	text-align: center;
	font-family: "Kumbh Sans", sans-serif;
	line-height: 1.1;
}
.lsv-termine .lsv-termin__datum strong {
	display: block;
	font-size: 30px;
	font-weight: 700;
}
.lsv-termine .lsv-termin__datum span {
	font-size: 15px;
}

/* Textbereich – Abstände wie beim Blog-Karussell (30px 30px 50px) */
.lsv-termine .lsv-termin__inhalt {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: 30px 30px 50px;
}
.lsv-termine .lsv-termin__titel {
	margin: 0 0 15px;
	color: var(--lsv-blau);
	font-family: "Kumbh Sans", sans-serif;
	font-weight: 700;
}
.lsv-termine .lsv-termin__zeit,
.lsv-termine .lsv-termin__ort {
	margin: 0 0 5px;
	font-size: 16px;
	line-height: 27px;
}
.lsv-termine .lsv-termin__ort {
	color: #444;
}
.lsv-termine .lsv-termin__mehr {
	align-self: flex-start;
	margin-top: auto;
	padding-top: 20px;
	font-weight: 700;
	color: var(--lsv-blau);
	border-bottom: 3px solid var(--lsv-akzent);
}

.lsv-termine-leer {
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	.lsv-termine .lsv-termin,
	.lsv-termine .lsv-termin__bild img { transition: none; }
	.lsv-termine .lsv-termin:hover,
	.lsv-termine .lsv-termin:hover .lsv-termin__bild img { transform: none; }
}
