/*
 * Startseite: Abschnitte mit Text und Bild (Split-Screen) und der Kontakt-Hinweis am Ende.
 * Maße am Original gemessen. Klassen mit Präfix kd-home-, Grundlagen (Farben, Textstile, Buttons) in base.css.
 *
 * Aufbau eines Abschnitts (partials/home-hero.php):
 *   .kd-home-hero                    Fensterhöhe, zwei Hälften nebeneinander (Handy: untereinander, Bild oben)
 *     .kd-home-hero__text            Textfeld, Inhalt senkrecht mittig
 *       .kd-home-hero__copy          Text und Button
 *       .kd-home-hero__more          Pfeil nach unten, am unteren Rand (nur im ersten Abschnitt)
 *     .kd-home-hero__media           Bildfläche, das Foto füllt sie aus (object-fit: cover, Fokuspunkt als object-position)
 * Der erste Abschnitt ist so hoch wie das Fenster abzüglich Kopfbereich. scripts/home.js gibt die aktuelle
 * Kopfhöhe in --kd-home-offset weiter, bis dahin gilt die Höhe des Kopfes am Seitenanfang (144 px).
 */

/* ------------------------------------------------------------------ Abschnitte mit Text und Bild */
.kd-home-hero {
	position: relative;
	z-index: 3;
	display: flex;
	width: 100%;
	min-height: 100vh;
}
.kd-home-hero--first { min-height: calc(100vh - var(--kd-home-offset, 144px)); }
.kd-home-hero--rechts { flex-direction: row-reverse; }

.kd-home-hero__text {
	position: relative;
	display: flex;
	flex: 0 0 50%;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	width: 50%;
}
.kd-home-hero__copy {
	width: 100%;
	max-width: 840px;
	margin: 0 auto;
	padding: 60px;
}

.kd-home-hero__media {
	position: relative;
	flex: 0 0 50%;
	width: 50%;
	overflow: hidden;
}
.kd-home-hero__foto {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}

/* Weiße Schrift und weißer Button auf dem farbigen Grund */
.kd-home-hero--hell .kd-prose { color: var(--kd-white); }
.kd-home-hero--hell .kd-prose a:hover,
.kd-home-hero--hell .kd-prose a:focus { color: #dcdcdc; }
.kd-button--light {
	background-color: var(--kd-white);
	color: var(--kd-text);
}
.kd-button--light:hover > span,
.kd-button--light:focus > span { background-color: rgba(0, 0, 0, 0.1); }

/* Pfeil nach unten, links unten im Textfeld */
.kd-home-hero__more {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	width: 100%;
	max-width: 840px;
	margin: 0 auto;
	padding: 0 60px;
}
.kd-home-hero__arrow {
	display: flex;
	margin-left: -25px;
	padding: 17px 20px;
	color: var(--kd-white);
}
.kd-home-hero__arrow:hover,
.kd-home-hero__arrow:focus-visible { color: #dcdcdc; }
.kd-home-hero__arrow svg {
	display: block;
	width: 12px;
	height: 26px;
}

/* Handy und kleines Tablet: Bild oben, Text darunter. Das Bild füllt die Fensterhöhe auf, mindestens ein Quadrat. */
@media (max-width: 800px) {
	.kd-home-hero,
	.kd-home-hero--rechts {
		flex-direction: column-reverse;
		justify-content: flex-end;
	}
	.kd-home-hero__text {
		flex: 0 0 auto;
		width: 100%;
	}
	.kd-home-hero__copy {
		max-width: 100%;
		padding: 0 20px 60px;
	}
	.kd-home-hero__media {
		flex: 1 1 auto;
		width: 100%;
		min-height: 100vw;
		margin-bottom: 20px;
	}
	.kd-home-hero__more { justify-content: center; }
	.kd-home-hero__arrow { margin-left: 0; }
}

/* ------------------------------------------------------------------ Kontakt-Hinweis */
.kd-home-kontakt .kd-prose { text-align: center; }
.kd-home-kontakt .kd-buttons__row { justify-content: center; }
