/**
 * Parallax-Layout — wird NACH global-styles geladen (siehe functions.php).
 * Flex/Flow aus dem Block-Editor ueberschreibt sonst die Zentrierung.
 */

/* Hero/Band: ein Gitter-Zelle — alle direkten Kinder uebereinander, vertikal/zentral */
.pp-parallax--hero,
.pp-parallax--band {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	grid-template-rows: minmax(0, 1fr) !important;
	align-items: center !important;
	justify-items: center !important;
	position: relative !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

.pp-parallax--hero {
	min-height: clamp(22rem, 70vh, 40rem) !important;
}

.pp-parallax--band {
	min-height: clamp(14rem, 36vh, 22rem) !important;
}

.pp-parallax--hero > *,
.pp-parallax--band > * {
	grid-column: 1 / -1 !important;
	grid-row: 1 / -1 !important;
}

/* Hintergrund: ganze Zelle fuellen */
.pp-parallax--hero > .wp-block-html,
.pp-parallax--band > .wp-block-html {
	align-self: stretch !important;
	justify-self: stretch !important;
	width: 100% !important;
	min-height: 100% !important;
	z-index: 0 !important;
	margin: 0 !important;
	max-width: none !important;
}

.pp-parallax--hero > .pp-parallax__bg,
.pp-parallax--band > .pp-parallax__bg {
	align-self: stretch !important;
	justify-self: stretch !important;
	z-index: 0 !important;
}

/* Inhalt: ueber dem Hintergrund, in der Mitte der Zelle */
.pp-parallax__inner,
.wp-block-group.pp-parallax__inner,
.wp-block-group.pp-parallax__inner.is-layout-flow,
.wp-block-group.pp-parallax__inner.is-layout-constrained,
.wp-block-group.pp-parallax__inner.wp-block-group-is-layout-flow,
.wp-block-group.pp-parallax__inner.wp-block-group-is-layout-constrained {
	position: relative !important;
	z-index: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.pp-parallax__inner > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 0 !important;
	box-sizing: border-box !important;
}

.pp-parallax__panel {
	flex-shrink: 0 !important;
}

.wp-block-group.pp-parallax__panel.is-layout-flow,
.wp-block-group.pp-parallax__panel.wp-block-group-is-layout-flow {
	width: 100% !important;
	max-width: min(100%, 42rem) !important;
}

/* Portal-Sektion + Parallax (kein --hero): volle Hoehe der Sektion, Inhalt mittig */
.pp-portal-section.pp-parallax {
	display: flex !important;
	flex-direction: column !important;
}

.pp-portal-section.pp-parallax .pp-portal-section__inner.pp-parallax__inner {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

.wp-block-group.pp-portal-section__inner.pp-parallax__inner.is-layout-flow,
.wp-block-group.pp-portal-section__inner.pp-parallax__inner.is-layout-constrained,
.wp-block-group.pp-portal-section__inner.pp-parallax__inner.wp-block-group-is-layout-flow,
.wp-block-group.pp-portal-section__inner.pp-parallax__inner.wp-block-group-is-layout-constrained {
	display: flex !important;
	flex-direction: column !important;
}

.pp-portal-section .pp-portal-section__inner--v-center,
.wp-block-group.pp-portal-section__inner.pp-parallax__inner.pp-portal-section__inner--v-center {
	justify-content: center !important;
}

