/**
 * Nahtloses Bild-Laufband.
 *
 * Jede Gruppe besitzt einschließlich ihres Endabstands dieselbe Breite. Die
 * Spur bewegt sich exakt um 50 Prozent und kann deshalb ohne sichtbaren Sprung
 * neu beginnen.
 */
.bild-laufband {
	--bild-laufband-dauer: 56s;
	--bild-laufband-abstand: 0px;
	--bild-laufband-desktop: 360px;
	--bild-laufband-tablet: 300px;
	--bild-laufband-mobil: 240px;
	--bild-laufband-verhaeltnis: 3 / 4;
	--bild-laufband-richtung: normal;
	width: 100%;
	overflow: hidden;
	background: #29231f;
}

.bild-laufband__spur {
	display: flex;
	width: max-content;
	will-change: transform;
	animation: bild-laufband-lauf var(--bild-laufband-dauer) linear infinite;
	animation-direction: var(--bild-laufband-richtung);
}

.bild-laufband__gruppe {
	display: flex;
	flex: 0 0 auto;
	gap: var(--bild-laufband-abstand);
	padding-inline-end: var(--bild-laufband-abstand);
}

.bild-laufband__bild {
	width: var(--bild-laufband-desktop);
	aspect-ratio: var(--bild-laufband-verhaeltnis);
	flex: 0 0 auto;
	margin: 0;
	overflow: hidden;
}

.bild-laufband__bild img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bild-laufband--pausiert:hover .bild-laufband__spur,
.bild-laufband--pausiert:focus-within .bild-laufband__spur {
	animation-play-state: paused;
}

@keyframes bild-laufband-lauf {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-50%, 0, 0);
	}
}

@media (max-width: 980px) {
	.bild-laufband__bild {
		width: var(--bild-laufband-tablet);
	}
}

@media (max-width: 767px) {
	.bild-laufband__bild {
		width: var(--bild-laufband-mobil);
	}
}

@media (prefers-reduced-motion: reduce) {
	.bild-laufband {
		overflow-x: auto;
	}

	.bild-laufband__spur {
		animation: none;
		transform: none;
		will-change: auto;
	}

	.bild-laufband__gruppe[aria-hidden="true"] {
		display: none;
	}
}

