.top-termine {
	--ta-rot: var(--wp--preset--color--custom-venezianisches-rot, #002fa7);
	--ta-creme: var(--wp--preset--color--custom-farbe-2, #ece2d0);
	--ta-blau: var(--wp--preset--color--background, #243b8c);
	--ta-gelb: var(--wp--preset--color--custom-venezianisches-rot, #002fa7);
	padding-inline: clamp(1.25rem, 4vw, 4rem);
	color: var(--ta-rot);
}

.top-termine__titel {
	margin: 0 0 1.2rem;
	font-size: clamp(2rem, 5vw, 3.4rem);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	color: var(--ta-rot);
}

.top-termine__liste {
	border-top: 2px solid var(--ta-rot);
}

.top-termine__zeile {
	display: grid;
	grid-template-columns: minmax(7.5ch, auto) 1fr auto;
	align-items: baseline;
	column-gap: clamp(1rem, 3vw, 2.5rem);
	padding: 1.1rem clamp(0.4rem, 1.5vw, 1.2rem) 1.3rem;
	border-bottom: 2px solid var(--ta-rot);
	color: var(--ta-rot);
	text-decoration: none;
	transition: background 0.12s ease, color 0.12s ease;
}

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

.top-termine__zeile:hover,
.top-termine__zeile:focus-visible {
	background: var(--ta-rot);
	color: var(--ta-creme);
	outline: none;
}

.top-termine__datum {
	font-size: clamp(2.2rem, 5.5vw, 4rem);
	font-weight: 900;
	letter-spacing: -0.03em;
	font-variant-numeric: tabular-nums;
	line-height: 1;
}

.top-termine__zeilentitel {
	display: block;
	font-size: clamp(1.15rem, 2.6vw, 1.7rem);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	line-height: 1.25;
}

.top-termine__meta {
	display: block;
	margin-top: 0.3rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.65;
}

.top-termine__badge {
	background: var(--ta-gelb);
	color: var(--ta-creme);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	padding: 0.3rem 0.65rem;
	white-space: nowrap;
}

.top-termine__badge--events {
	background: var(--ta-blau);
	color: var(--ta-creme);
}

@media (max-width: 620px) {
	.top-termine__zeile {
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"datum badge"
			"was was";
		row-gap: 0.35rem;
	}

	.top-termine__datum {
		grid-area: datum;
	}

	.top-termine__was {
		grid-area: was;
	}

	.top-termine__badge {
		grid-area: badge;
		align-self: center;
	}
}
