/* News-Slider (siehe assets/js/news-slider.js) */

.ecdc-slider-ready {
	position: relative;
	outline: none;
}

/* Slides liegen übereinander und blenden ineinander über. */
.ecdc-slider-ready .e-collection-loop-layout-base {
	position: relative;
	width: 100% !important;
	transform: none !important;
	touch-action: pan-y;
}

.ecdc-slider-ready .e-collection-loop-layout-base > .ecdc-slide {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100%;
	opacity: 0;
	z-index: 1;
	pointer-events: none;
	transition: opacity 0.7s ease;
}

.ecdc-slider-ready .e-collection-loop-layout-base > .ecdc-slide.is-active {
	opacity: 1;
	z-index: 2;
	pointer-events: auto;
}

/* Bild: langsamer Zoom auf dem aktiven Slide. */
.ecdc-slider-ready .ecdc-slide-img {
	transform: scale(1.1);
	transition: transform 7s cubic-bezier(0.2, 0.6, 0.3, 1);
	-webkit-user-drag: none;
}

.ecdc-slider-ready .is-active .ecdc-slide-img {
	transform: scale(1);
}

/* Überschrift: Wörter schieben sich gestaffelt aus einer Maske nach oben. */
.ecdc-slider-ready .ecdc-w {
	display: inline-block;
	overflow: hidden;
	vertical-align: top;
	/* Luft oben für Umlaute/Akzente, unten für Unterlängen – ohne das Zeilenraster zu verändern. */
	padding: 0.14em 0 0.08em;
	margin: -0.14em 0 -0.08em;
}

.ecdc-slider-ready .ecdc-w > span {
	display: inline-block;
	transform: translateY(110%);
	transition: transform 0.3s ease;
}

.ecdc-slider-ready .is-active .ecdc-w > span {
	transform: translateY(0);
	transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: calc(var(--w, 0) * 55ms + 250ms);
}

/* Datum, Text und Buttons: nacheinander von unten einblenden. */
.ecdc-slider-ready .ecdc-slide-anim {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.ecdc-slider-ready .is-active .ecdc-slide-anim {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.6s ease, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: calc(var(--i, 0) * 120ms + 350ms);
}

.ecdc-slider-ready .ecdc-slider-progress {
	transform: scaleX(0);
	transform-origin: left center;
}

/* Navigation: Zähler + zwei schräg angeschnittene Pfeil-Buttons, die zusammen eine Einheit bilden. */
.ecdc-slider-nav {
	position: absolute;
	right: 64px;
	bottom: 96px;
	z-index: 5;
	display: flex;
	align-items: flex-end;
}

.ecdc-slider-count {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin-right: 22px;
	font-family: "Bebas Neue", sans-serif;
	line-height: 0.8;
	color: #fff;
}

.ecdc-slider-count b {
	font-size: 64px;
	font-weight: 400;
	letter-spacing: 0.01em;
}

.ecdc-slider-count span {
	font-size: 22px;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.45);
}

/*
 * Pfeile: „.ecdc-slider-nav .ecdc-slider-arrow“ statt nur der Klasse, damit die Button-Styles
 * des Themes (reset.css: Rahmen/Farbe #c36, Hover-Hintergrund) und des Kits (Padding) nicht greifen.
 */
.ecdc-slider-nav .ecdc-slider-arrow {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 60px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	outline: none;
	color: #fff;
	font-size: 0;
	line-height: 0;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

/* Theme-Zustände (Hover/Fokus/Aktiv) neutralisieren – Hintergründe folgen unten. */
.ecdc-slider-nav .ecdc-slider-arrow:hover,
.ecdc-slider-nav .ecdc-slider-arrow:focus,
.ecdc-slider-nav .ecdc-slider-arrow:active {
	border: 0;
	box-shadow: none;
	outline: none;
	color: #fff;
	text-decoration: none;
}

.ecdc-slider-nav .ecdc-slider-arrow--prev,
.ecdc-slider-nav .ecdc-slider-arrow--prev:focus {
	background-color: rgba(17, 18, 20, 0.62);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
}

/* Beide Buttons sind gleiche Parallelogramme (Schräge 14px); -10px ergibt einen parallelen Spalt von 4px. */
.ecdc-slider-nav .ecdc-slider-arrow--next,
.ecdc-slider-nav .ecdc-slider-arrow--next:focus {
	margin-left: -10px;
	background-color: #e01021;
	clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
}

.ecdc-slider-nav .ecdc-slider-arrow--prev:hover,
.ecdc-slider-nav .ecdc-slider-arrow--prev:active {
	background-color: rgba(17, 18, 20, 0.92);
}

.ecdc-slider-nav .ecdc-slider-arrow--next:hover,
.ecdc-slider-nav .ecdc-slider-arrow--next:active {
	background-color: #a80a18;
}

.ecdc-slider-nav .ecdc-slider-arrow svg {
	display: block;
	width: 26px;
	height: 26px;
	transition: transform 0.15s ease;
}

.ecdc-slider-nav .ecdc-slider-arrow--prev:hover svg {
	transform: translateX(-4px);
}

.ecdc-slider-nav .ecdc-slider-arrow--next:hover svg {
	transform: translateX(4px);
}

.ecdc-slider-nav .ecdc-slider-arrow:active svg {
	transform: scale(0.9);
}

.ecdc-slider-nav .ecdc-slider-arrow:focus-visible {
	box-shadow: inset 0 0 0 2px #fff;
}

@media (max-width: 1024px) {
	.ecdc-slider-nav {
		right: 32px;
		bottom: 72px;
	}
}

@media (max-width: 767px) {
	.ecdc-slider-nav {
		top: 22px;
		right: 18px;
		bottom: auto;
		align-items: center;
	}

	.ecdc-slider-count {
		margin-right: 14px;
	}

	.ecdc-slider-count b {
		font-size: 40px;
	}

	.ecdc-slider-count span {
		font-size: 16px;
	}

	.ecdc-slider-nav .ecdc-slider-arrow {
		width: 58px;
		height: 46px;
	}

	.ecdc-slider-nav .ecdc-slider-arrow svg {
		width: 22px;
		height: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ecdc-slider-ready .ecdc-slide,
	.ecdc-slider-ready .ecdc-slide-img,
	.ecdc-slider-ready .ecdc-w > span,
	.ecdc-slider-ready .ecdc-slide-anim,
	.ecdc-slider-nav .ecdc-slider-arrow svg {
		transition: none !important;
		transform: none !important;
	}

	.ecdc-slider-ready .ecdc-slide-anim {
		opacity: 1;
	}
}
