/*
 * [pio_slider] – Ersatz fuer den Divi-Fullwidth-Slider der Projektseiten.
 * Vorbild Shrek live, gemessen 30.09.2026 (1440 / 820 / 390):
 * - Slide schwarz, Inhalt 88 % breit; links Bild/Video 47,25 %, rechts Text 47,25 %,
 *   Text mit 16 % Innenabstand oben/unten (bestimmt die Hoehe), Medium vertikal mittig,
 *   hoechstens 80 % der Slide-Hoehe.
 * - Alle Slides gleich hoch (hoechste gewinnt, wie Divi) per CSS-Grid, kein Hoehen-JS.
 * - Titel 40 px / 300 (Tablet 500, Handy 32 px / 500 zentriert), Text 19 px / 1,8
 *   (Tablet/Handy 16 px), Zwischenueberschrift 26 px / 500.
 * - Punkte 7 px gruen #7cda24, inaktiv 50 %; Pfeile gruen, fahren beim Hover auf 22 px.
 * - Tablet/Handy (Daniel 30.09.): einspaltig mit Bild/Video oben, keine Pfeile, Titel
 *   Handy 32 px mit 16 px Abstand zum Text, Bildhoehe max. 70 vh (siehe unten).
 * - Schrift: "Open Sans" wie live, die Seite laedt Open Sans nicht, es rendert Arial.
 */

.pio-slider {
	position: relative;
	overflow: hidden;
	background: #000;
	color: #fff;
	font-family: "Open Sans", Arial, sans-serif;
}

.pio-slider__spur {
	display: grid;
}

.pio-slide {
	grid-area: 1 / 1;
	display: flex;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s, visibility 0s 0.5s;
}

.pio-slide.is-aktiv {
	z-index: 1;
	opacity: 1;
	visibility: visible;
	transition: opacity 0.5s;
}

.pio-slide__container {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 88%;
	margin: 0 auto;
}

.pio-slide__medium {
	position: absolute;
	top: 10%;
	bottom: 10%;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 47.25%;
}

.pio-slide__medium img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}

.pio-slide__medium .pio-video {
	width: 100%;
}

.pio-slide__text {
	box-sizing: border-box;
	width: 47.25%;
	padding: 16% 0;
	text-align: left;
}

.pio-slide--ohne-medium .pio-slide__text {
	width: 100%;
}

.pio-slider .pio-slide__titel {
	margin: 0;
	padding: 0 0 10px;
	font-family: inherit;
	font-size: 40px;
	font-weight: 300;
	line-height: 1;
	color: #fff;
}

.pio-slider .pio-slide__inhalt {
	font-size: 19px;
	font-weight: 400; /* Divi vererbt global 500, das Slider-Modul live setzt 400 */
	line-height: 1.8;
	color: #fff;
}

.pio-slider .pio-slide__inhalt p {
	margin: 0;
	padding: 0 0 1em;
}

.pio-slider .pio-slide__inhalt p:last-child {
	padding-bottom: 0;
}

.pio-slider .pio-slide__inhalt h2,
.pio-slider .pio-slide__inhalt h3 {
	margin: 0;
	padding: 0 0 10px;
	font-family: inherit;
	font-size: 26px;
	font-weight: 500;
	line-height: 1;
	color: #fff;
}

.pio-slider .pio-slide__inhalt strong,
.pio-slider .pio-slide__inhalt b {
	font-weight: 700;
}

/* ---------------------------------------------------------------- Punkte */

.pio-slider__punkte {
	position: absolute;
	right: 0;
	bottom: 29px;
	left: 0;
	z-index: 2;
	line-height: 0;
	text-align: center;
}

.pio-slider__punkt {
	position: relative;
	width: 17px;
	height: 23px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.pio-slider__punkt::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 5px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #7cda24;
	opacity: 0.5;
}

.pio-slider__punkt[aria-current="true"]::before {
	opacity: 1;
}

/* ---------------------------------------------------------------- Pfeile */

.pio-slider__pfeil {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 48px;
	height: 48px;
	margin: -24px 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: #7cda24;
	opacity: 0;
	cursor: pointer;
	transition: all 0.2s ease-in-out;
}

.pio-slider__pfeil svg {
	display: block;
	width: 100%;
	height: 100%;
}

.pio-slider__pfeil--zurueck {
	left: -22px;
}

.pio-slider__pfeil--weiter {
	right: -22px;
}

.pio-slider:hover .pio-slider__pfeil--zurueck,
.pio-slider__pfeil--zurueck:focus-visible {
	left: 22px;
	opacity: 1;
}

.pio-slider:hover .pio-slider__pfeil--weiter,
.pio-slider__pfeil--weiter:focus-visible {
	right: 22px;
	opacity: 1;
}

.pio-slider--einzeln .pio-slider__punkte,
.pio-slider--einzeln .pio-slider__pfeil {
	display: none;
}

/* ---------------------------------------------------------------- Tablet + Handy
 * UI-Verbesserungen gegenueber live (Daniel 30.09.2026, Punkte 1-5):
 * 1 keine Pfeile (Antippen loest dort :hover aus, Pfeile lagen auf dem Text),
 *   Blaettern per Wischen und Punkte
 * 4 einspaltig: Bild/Video oben ueber die ganze Breite, Text darunter
 * 5 Bildhoehe hoechstens 70 % des Bildschirms (Hochkant-Fotos)
 */

@media (max-width: 980px) {
	.pio-slider__pfeil {
		display: none;
	}

	.pio-slide__container {
		display: block;
	}

	.pio-slide__medium {
		position: static;
		width: 100%;
		margin: 6% auto 0;
	}

	.pio-slide__medium img {
		max-height: 70vh;
	}

	.pio-slide__text {
		width: 100%;
		padding: 8% 0 max(16%, 80px);
	}

	.pio-slider .pio-slide__titel {
		font-weight: 500;
	}

	.pio-slider .pio-slide__inhalt {
		font-size: 16px;
	}
}

/* ---------------------------------------------------------------- Handy
 * 2 Abstand Titel -> Text 16 px (live 0), 3 Titel 32 px statt 46 px.
 * Zentriert wie live.
 */

@media (max-width: 767px) {
	.pio-slide__text {
		text-align: center;
	}

	.pio-slider .pio-slide__titel {
		padding: 0 0 16px;
		font-size: 32px;
		line-height: 1.15;
	}
}
