/* ITX Kopfbereiche & Linkboxen - Kopfbereich (Struktur)
   ----------------------------------------------------------------
   Hoehen je Variante (--max/--medium/--min) sowie die Schriftgroesse
   des Titels werden anhand der Modul-Einstellungen pro Breakpoint
   dynamisch eingefuegt (siehe assets.php).
   Optisches Feintuning ueber die CSS-Variablen unten.
   ---------------------------------------------------------------- */

body {
	/* Defaults - per Theme/Project via body { ... } ueberschreibbar */
	--hlc-header-margin-bottom:          80px;
	--hlc-header-placeholder-bg:         #ecf2ee;
	--hlc-header-overlay-color:          rgba(0, 0, 0, 0.4);
	--hlc-header-title-color:            #FFF;
	--hlc-header-title-font-weight:      800;
	--hlc-header-title-font-size:        114px; /* Desktop-Basis */
	--hlc-header-title-font-size-tablet:  65px;
	--hlc-header-title-font-size-mobile:  35px;
	--hlc-header-title-text-shadow:      2px 3px 10px rgba(0, 0, 0, 0.6);
	--hlc-header-title-top-offset:       0;
	--hlc-header-title-font-family:      inherit;
	--hlc-header-title-line-height:      1.1;
}

.hlc-header {
	background-color: var(--hlc-header-placeholder-bg);
	width: 100%;
	max-width: 100%;
	position: relative;
	margin: 0 auto var(--hlc-header-margin-bottom) auto;
}

/* Variante "Kein Kopfbereich": reiner Platzhalter ohne Bild/Overlay.
   Standardmaessig ohne Hoehe. Bei Bedarf per CSS-Variable oder direkt
   ueber die Klasse eine Hoehe setzen, z.B.:
     .hlc-header--none { height: 60px; }
   oder projektweit:  body { --hlc-header-none-height: 60px; }              */
.hlc-header--none {
	background-color: transparent;
	height: var(--hlc-header-none-height, 0);
	margin-bottom: 0;
}
.hlc-header--none::before {
	display: none;
}

/* Dunkler Overlay-Layer ueber dem Medium */
.hlc-header::before {
	content: '';
	height: 100%;
	width: 100%;
	display: block;
	position: absolute;
	z-index: 90;
	background-color: var(--hlc-header-overlay-color);
	pointer-events: none;
}

/* Medium-Container - Hoehe je Variante wird dynamisch gesetzt */
.hlc-header__image,
.hlc-header__slideshow,
.hlc-header__video-wrap {
	overflow: hidden;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Slideshow-Ebenen (Crossfade via generierte Keyframes) */
.hlc-header__slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	z-index: 0;
	opacity: 0;
}

/* Titel-Overlay */
.hlc-header__text {
	text-align: center;
	margin: 0 auto;
	padding: 0 20px 20px 20px;
	color: var(--hlc-header-title-color);
	position: relative;
	top: var(--hlc-header-title-top-offset);
	z-index: 95;
	hyphens: auto;
}

.hlc-header__text span {
	font-size: var(--hlc-header-title-font-size);
	color: var(--hlc-header-title-color);
	font-weight: var(--hlc-header-title-font-weight);
	font-family: var(--hlc-header-title-font-family);
	line-height: var(--hlc-header-title-line-height);
	text-shadow: var(--hlc-header-title-text-shadow);
}

/* -------------------------------------------------------------------------
   Video-Kopfbereich
   Der Medientyp ist am Wrapper als .hlc-header--video erkennbar, sodass das
   Overlay pro Typ per CSS gesteuert werden kann. Beispiel im eigenen CSS:
     .hlc-header--video::before { background-color: rgba(0,0,0,0.15); }
   ---------------------------------------------------------------------- */
/* Video-Wrap: Grundlayout kommt aus der gemeinsamen Regel oben
   (.hlc-header__image, .hlc-header__slideshow, .hlc-header__video-wrap).
   Hier nur die Video-spezifische Groesse. */
.hlc-header__video-wrap {
	width: 100%;
	height: 100%;
}

.hlc-header__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	opacity: 0;
	transition: opacity 0.4s ease;
	z-index: 1;
}

/* Video erst einblenden, wenn es tatsaechlich laeuft (sonst Poster zeigen). */
.hlc-header__video-wrap--playing .hlc-header__video {
	opacity: 1;
}

/* Play-Button: nur sichtbar, wenn das Video (noch) nicht laeuft. */
.hlc-header__video-play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 95;
	width: 76px;
	height: 76px;
	border: 0;
	border-radius: 50%;
	background-color: rgba(0, 0, 0, 0.45);
	cursor: pointer;
	transition: background-color 0.2s ease, opacity 0.2s ease;
}

.hlc-header__video-play::before {
	content: '';
	position: absolute;
	left: 54%;
	top: 50%;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 14px 0 14px 22px;
	border-color: transparent transparent transparent #fff;
}

.hlc-header__video-play:hover {
	background-color: rgba(0, 0, 0, 0.65);
}

/* Button ausblenden, sobald das Video laeuft. */
.hlc-header__video-wrap--playing .hlc-header__video-play {
	opacity: 0;
	pointer-events: none;
}

/* Wenn Autoplay aktiv und laufend, Button gar nicht erst zeigen (JS setzt
   --playing); bei poster-only/paused bleibt er sichtbar. */

/* -------------------------------------------------------------------------
   Diaschau - Klick-Navigation (linke/rechte Haelfte = zurueck/vor)
   Die Buttons sind nur klickbar, wenn JS die Navigation aktiviert hat
   (.hlc-header__slideshow--has-nav). Ohne JS bleiben sie wirkungslos.
   ---------------------------------------------------------------------- */
.hlc-header__nav {
	display: none;
}
.hlc-header__slideshow--has-nav .hlc-header__nav {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50%;
	z-index: 96;
	border: 0;
	margin: 0;
	padding: 0;
	background: transparent;
	cursor: default;
	-webkit-appearance: none;
	appearance: none;
}
.hlc-header__nav--prev {
	left: 0;
}
.hlc-header__nav--next {
	right: 0;
}

/* Manueller Modus: die CSS-Auto-Animation abschalten und nur den aktiven
   Slide zeigen (Crossfade mit der in den Einstellungen konfigurierten Dauer,
   Fallback 0.5s falls die Variable fehlt). */
.hlc-header__slideshow--manual .hlc-header__slide {
	animation: none !important;
	opacity: 0;
	transition: opacity var(--hlc-fade-ms, 0.5s) ease;
}
.hlc-header__slideshow--manual .hlc-header__slide--active {
	opacity: 1;
}

/* Waehrend des Einfrierens (erster Klick) keine Blende - nur der echte
   Folgewechsel soll ueberblenden. */
.hlc-header__slideshow--no-fade .hlc-header__slide {
	transition: none !important;
}
