/*──────────────────────────────────────────────────────────────────────────
	PAGE PATTERNS
──────────────────────────────────────────────────────────────────────────*/

/*--------------------------------------------------------------------------
	Homepage
--------------------------------------------------------------------------*/

.kulturgut-homepage {
	overflow: hidden;
}

.kulturgut-homepage-hero {
	position: relative;
	min-height: clamp(32rem, 50vw, 44rem);
	padding-block: clamp(5rem, 11vw, 10rem) clamp(6rem, 12vw, 11rem);
	background-color: var(--wpcore-background-color);
	background-image: url("../images/bg1.jpg");
	background-repeat: no-repeat;
	background-position: top right;
	background-size: min(72rem, 76vw) auto;
	isolation: isolate;
}

.kulturgut-homepage-hero > .wp-block-heading.kulturgut-homepage-hero__title {
	width: min(
		calc(100% - (2 * var(--wpcore-page-padding))),
		var(--wpcore-wide-width)
	);
	max-width: none;
	margin-inline: auto;
	margin-block: 0;
	font-size: clamp(3rem, 6vw, 6rem);
	line-height: 1.2;
	letter-spacing: -0.045em;
}

.kulturgut-homepage-hero__accent {
	color: var(--wpcore-primary-color);
}

.kulturgut-homepage-actions {
	width: min(calc(100% - (2 * var(--wpcore-page-padding))), var(--wpcore-wide-width));
	margin-inline: auto;
	border-block: 1px solid var(--wpcore-border-color);
}

.kulturgut-homepage-actions__columns {
	margin: 0;
}

.kulturgut-homepage-actions__columns > .wp-block-column {
	padding: clamp(1.25rem, 3vw, 2.25rem) clamp(1rem, 3vw, 3rem);
}

.kulturgut-homepage-actions__columns > .wp-block-column + .wp-block-column {
	border-left: 1px solid var(--wpcore-border-color);
}

.kulturgut-homepage-actions p {
	margin: 0;
}

.kulturgut-homepage-actions a {
	color: inherit;
	font-size: clamp(1.05rem, 1.5vw, 1.35rem);
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
}

.kulturgut-homepage-actions a:hover,
.kulturgut-homepage-actions a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.kulturgut-homepage-offer {
	margin-block: clamp(6rem, 12vw, 12rem);
}

.kulturgut-homepage-offer .kulturgut-vertical-section__content {
	max-width: none;
}

.kulturgut-homepage-offer .kulturgut-ruled-list__details {
	color: var(--wp--preset--color--muted);
}

.kulturgut-homepage-offer .kulturgut-ruled-list__link {
	color: var(--wpcore-primary-color);
}

.kulturgut-homepage-lower-art {
	width: 100%;
	margin-top: 0;
	background-image: url("../images/bg_bottom.jpg");
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: min(72rem, 76vw) auto;
}

/* Keep the decorative footer artwork attached to the final content section. */
.kulturgut-homepage-offer:has(+ .kulturgut-homepage-lower-art),
.kulturgut-vermietung-info:has(+ .kulturgut-vermietung-lower-art),
.kulturgut-im-kulturgut__directory:has(+ .kulturgut-im-kulturgut-lower-art),
.kulturgut-generationenpark-support:has(+ .kulturgut-generationenpark-lower-art),
.kulturgut-geschichte-history:has(+ .kulturgut-geschichte-lower-art),
.kulturgut-kontakt-details:has(+ .kulturgut-kontakt-lower-art) {
	margin-bottom: 0;
}

body:has(
	.kulturgut-homepage-lower-art,
	.kulturgut-vermietung-lower-art,
	.kulturgut-im-kulturgut-lower-art,
	.kulturgut-generationenpark-lower-art,
	.kulturgut-geschichte-lower-art,
	.kulturgut-kontakt-lower-art
) .site-footer {
	margin-top: 0;
}

/* Let lower artwork meet the footer without removing spacing from other pages. */
.site-main:has(
	.kulturgut-homepage-lower-art,
	.kulturgut-vermietung-lower-art,
	.kulturgut-im-kulturgut-lower-art,
	.kulturgut-generationenpark-lower-art,
	.kulturgut-geschichte-lower-art,
	.kulturgut-kontakt-lower-art
) {
	padding-bottom: 0;
}

.entry-content > .alignfull:has(
	> .kulturgut-homepage-lower-art,
	> .kulturgut-vermietung-lower-art,
	> .kulturgut-im-kulturgut-lower-art,
	> .kulturgut-generationenpark-lower-art,
	> .kulturgut-geschichte-lower-art,
	> .kulturgut-kontakt-lower-art
) {
	margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
	.kulturgut-homepage-hero,
	.kulturgut-homepage-lower-art {
		background-attachment: initial;
	}
}

.wpcore-home-hero .wp-block-heading {
	margin-bottom: 1.75rem;
}

.wpcore-home-hero .wp-block-buttons {
	margin-top: 2.5rem;
}

.wpcore-home-services {
	padding-block: var(--wp--preset--spacing--70) !important;
}

.wpcore-home-services > .wp-block-heading,
.wpcore-home-services > p {
	max-width: 44rem;
	margin-inline: auto;
}

.wpcore-home-services .wp-block-columns {
	margin-top: 3.5rem;
	gap: clamp(2.5rem, 5vw, 4.5rem);
}

.wpcore-home-introduction {
	margin-block: var(--wp--preset--spacing--70);
}

.wpcore-home-cta {
	padding-block: var(--wp--preset--spacing--70) !important;
}

.wpcore-home-cta > p {
	max-width: 40rem;
	margin-inline: auto;
}

.wpcore-home-cta .wp-block-buttons {
	margin-top: 2.5rem;
}

/*--------------------------------------------------------------------------
	Content Page
--------------------------------------------------------------------------*/

.wpcore-content-hero > * {
	max-width: 48rem;
}

.wpcore-content-main {
	padding-block: var(--wp--preset--spacing--70) !important;
}

.wpcore-content-main > :where(h2, p, ul, ol, blockquote) {
	max-width: 48rem;
}

.wpcore-content-cta {
	margin-block: var(--wp--preset--spacing--70);
}

.wpcore-content-cta > p {
	max-width: 40rem;
	margin-inline: auto;
}

.wpcore-content-cta .wp-block-buttons {
	margin-top: 2.5rem;
}

/*--------------------------------------------------------------------------
	Full-width Title Image
--------------------------------------------------------------------------*/

.wpcore-full-width-image {
	width: 100%;
	max-width: none;
	margin-top: 0;
	margin-bottom: 0;
}

.wpcore-full-width-image img,
.wpcore-full-width-image .components-placeholder {
	display: block;
	width: 100%;
	min-height: 22rem;
}

.wpcore-full-width-image img {
	height: clamp(22rem, 42vw, 38rem);
	object-fit: cover;
}

/*--------------------------------------------------------------------------
    Services Page
--------------------------------------------------------------------------*/

.wpcore-services-hero > * {
max-width: 48rem;
}

.wpcore-services-grid {
padding-block: var(--wp--preset--spacing--70) !important;
}

.wpcore-services-grid .wp-block-columns {
align-items: stretch;
gap: clamp(2rem, 4vw, 3.5rem);
}

.wpcore-services-grid .wp-block-column {
display: flex;
flex-direction: column;
}

.wpcore-services-grid .wp-block-column > .wp-block-heading {
	font-size: clamp(1.5rem, 2vw, 2rem);
}

.wpcore-services-process {
padding-block: var(--wp--preset--spacing--70) !important;
}

.wpcore-services-process > .wp-block-columns {
margin-top: 3.5rem;
gap: clamp(2.5rem, 5vw, 4.5rem);
}

.wpcore-services-process .wp-block-column > p {
max-width: 20rem;
margin-inline: auto;
}

.wpcore-services-cta {
padding-block: var(--wp--preset--spacing--70) !important;
}

.wpcore-services-cta > p {
max-width: 42rem;
margin-inline: auto;
}

.wpcore-services-cta .wp-block-buttons {
margin-top: 2.5rem;
}

/*--------------------------------------------------------------------------
    About Page
--------------------------------------------------------------------------*/

.wpcore-about-hero > *,
.wpcore-about-profile > .wp-block-columns {
	width: 100%;
	max-width: 56rem;
	margin-inline: auto;
}

.wpcore-about-principles .wp-block-column > .wp-block-heading {
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.wpcore-about-profile {
padding-block: var(--wp--preset--spacing--70) !important;
}

.wpcore-about-profile > .wp-block-columns {
gap: clamp(3rem, 6vw, 5rem);
}

.wpcore-about-profile .wp-block-column:first-child > p {
max-width: 42rem;
}

.wpcore-about-principles {
padding-block: var(--wp--preset--spacing--70) !important;
}

.wpcore-about-principles > .wp-block-columns {
margin-top: 3.5rem;
gap: clamp(2.5rem, 5vw, 4.5rem);
}

.wpcore-about-principles .wp-block-column > p {
max-width: 20rem;
margin-inline: auto;
}

.wpcore-about-cta {
padding-block: var(--wp--preset--spacing--70) !important;
}

.wpcore-about-cta > p {
max-width: 40rem;
margin-inline: auto;
}

.wpcore-about-cta .wp-block-buttons {
margin-top: 2.5rem;
}

/*--------------------------------------------------------------------------
    Contact Page
--------------------------------------------------------------------------*/

.wpcore-contact-hero > *,
.wpcore-contact-layout > .wp-block-columns {
	width: 100%;
	max-width: 56rem;
	margin-inline: auto;
}

.wpcore-contact-layout {
padding-block: var(--wp--preset--spacing--70) !important;
}

.wpcore-contact-layout > .wp-block-columns {
align-items: flex-start;
gap: clamp(3rem, 6vw, 5rem);
}

.wpcore-contact-details {
padding: var(--wp--preset--spacing--40);
background: var(--wp--preset--color--surface);
}

.wpcore-contact-details > :first-child,
.wpcore-contact-form > :first-child {
margin-top: 0;
}

.wpcore-contact-details > .wp-block-heading {
	font-size: clamp(1.5rem, 2vw, 1.875rem);
}

.wpcore-contact-details p {
margin-bottom: 1.5rem;
}

.wpcore-contact-details p:last-child {
margin-bottom: 0;
}

.wpcore-contact-form > p {
max-width: 42rem;
}

.wpcore-contact-form .wp-block-shortcode {
margin-top: 2rem;
}

/*--------------------------------------------------------------------------
	Classic Cards
--------------------------------------------------------------------------*/

.wpcore-card-grid .wp-block-columns {
	align-items: stretch;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.wpcore-card-grid .wp-block-column {
	display: flex;
}

.wpcore-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--wpcore-border-color);
	border-radius: 0.25rem;
	background: var(--wp--preset--color--background);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

.wpcore-card:hover,
.wpcore-card:focus-within {
	transform: translateY(-2px);
	box-shadow: 0 0.75rem 2rem rgb(0 0 0 / 10%);
}

.wpcore-card__media {
	width: 100%;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 8 / 5;
}

.wpcore-card__media img,
.wpcore-card__media .components-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wpcore-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.wpcore-card__content > :first-child {
	margin-top: 0;
}

.wpcore-card__content > :last-child {
	margin-bottom: 0;
}

.wpcore-card__title {
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}

/*--------------------------------------------------------------------------
	Overlay Cards
--------------------------------------------------------------------------*/

.wpcore-card-overlay-grid .wp-block-columns {
	align-items: stretch;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.wpcore-card-overlay-grid .wp-block-column {
	display: flex;
}

.wpcore-card-overlay {
	position: relative;
	display: grid;
	width: 100%;
	min-height: 18rem;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 0.25rem;
	background: #000000;
	isolation: isolate;
}

.wpcore-card-overlay::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(
		to top,
		rgb(0 0 0 / 78%) 0%,
		rgb(0 0 0 / 48%) 32%,
		rgb(0 0 0 / 12%) 62%,
		transparent 82%
	);
	content: "";
	transition: opacity 180ms ease;
}

.wpcore-card-overlay__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.wpcore-card-overlay__media img,
.wpcore-card-overlay__media .components-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 240ms ease;
}

.wpcore-card-overlay__content {
	position: relative;
	z-index: 2;
	align-self: end;
	width: 100%;
	max-width: 26rem;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	overflow: hidden;
	color: #ffffff;
	text-shadow: 0 1px 2px rgb(0 0 0 / 35%);
}

.wpcore-card-overlay__content > :first-child {
	margin-top: 0;
}

.wpcore-card-overlay__content > :last-child {
	margin-bottom: 0;
}

.wpcore-card-overlay__title {
	margin-bottom: 0;
	color: inherit;
	font-size: clamp(1.25rem, 2vw, 1.625rem);
}

.wpcore-card-overlay__content p {
	margin-top: 0.75rem;
	font-size: 0.95rem;
	line-height: 1.5;
}

@media (hover: hover) and (pointer: fine) {
	.wpcore-card-overlay__content p {
		max-height: 0;
		margin-top: 0;
		overflow: hidden;
		opacity: 0;
		transform: translateY(1rem);
		transition:
			max-height 240ms ease,
			margin-top 240ms ease,
			opacity 180ms ease,
			transform 240ms ease;
	}

	.wpcore-card-overlay:hover .wpcore-card-overlay__content p,
	.wpcore-card-overlay:focus-within .wpcore-card-overlay__content p {
		max-height: 8rem;
		margin-top: 0.75rem;
		opacity: 1;
		transform: translateY(0);
	}
}

.wpcore-card-overlay:hover::after,
.wpcore-card-overlay:focus-within::after {
	opacity: 0.9;
}

.wpcore-card-overlay:hover .wpcore-card-overlay__media img,
.wpcore-card-overlay:focus-within .wpcore-card-overlay__media img {
	transform: scale(1.025);
}

/*--------------------------------------------------------------------------
	Page Start & Full-width Banner
--------------------------------------------------------------------------*/

.page .site-main {
	padding-top: 0;
}

/* Remove the automatic top gap when the first content block is full width. */
.page .entry-content > .alignfull:first-child {
	margin-top: 0;
}

.page .entry-content > .wpcore-full-width-image:first-child {
	margin-bottom: 0;
}

/*--------------------------------------------------------------------------
	KulturGut Shared Components
--------------------------------------------------------------------------*/

.kulturgut-page-hero {
	padding-block: clamp(5rem, 12vw, 10rem) clamp(4rem, 8vw, 7rem);
	background: var(--wp--preset--color--background);
}

.kulturgut-page-hero > * {
	width: 100%;
	max-width: 48rem;
	margin-inline: auto;
}

.kulturgut-page-hero__title {
	margin-bottom: 2rem;
}

.kulturgut-page-hero__intro {
	max-width: 52rem !important;
	font-size: clamp(1.125rem, 2vw, 1.375rem);
	line-height: 1.45;
}

.kulturgut-vertical-section,
.kulturgut-ruled-list,
.kulturgut-news-row,
.kulturgut-image-triptych,
.kulturgut-floor-directory,
.kulturgut-contact-person {
	margin-block: clamp(4rem, 9vw, 8rem);
}

.kulturgut-vertical-section__columns {
	align-items: stretch;
}

.kulturgut-vertical-section__label-column {
	display: flex;
	align-items: flex-start;
	justify-content: center;
}

.kulturgut-vertical-section__label {
	position: sticky;
	top: 9rem;
	margin: 0;
	font-size: clamp(2.5rem, 6vw, 5.5rem);
	font-weight: 400;
	line-height: 0.9;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

.kulturgut-vertical-section__content {
	max-width: 48rem;
}

.kulturgut-vertical-section__content > :first-child,
.kulturgut-ruled-list > :first-child,
.kulturgut-floor-directory > :first-child {
	margin-top: 0;
}

.kulturgut-ruled-list {
	overflow: clip;
}

.kulturgut-ruled-list__title,
.kulturgut-floor-directory__title {
	margin-bottom: 2rem;
}

.kulturgut-ruled-list__row,
.kulturgut-floor-directory__floor {
	border-top: 1px solid var(--wpcore-border-color);
}

.kulturgut-ruled-list__row:last-child,
.kulturgut-floor-directory__floor:last-child {
	border-bottom: 1px solid var(--wpcore-border-color);
}

.kulturgut-ruled-list__row-columns,
.kulturgut-floor-directory__entries {
	margin: 0;
	padding-block: 1.75rem;
}

.kulturgut-ruled-list__term > :first-child,
.kulturgut-ruled-list__details > :first-child,
.kulturgut-floor-directory__floor-label,
.kulturgut-floor-directory__entries > .wp-block-column > :first-child {
	margin-top: 0;
}

.kulturgut-ruled-list__term h3,
.kulturgut-floor-directory__entries h4 {
	font-size: clamp(1.1rem, 1.6vw, 1.35rem);
	font-weight: 400;
}

.kulturgut-ruled-list__details > :last-child,
.kulturgut-floor-directory__entries > .wp-block-column > :last-child {
	margin-bottom: 0;
}

.kulturgut-ruled-list__link,
.kulturgut-news-row__link {
	margin-top: 1.25rem;
}

.kulturgut-news-row__item {
	border-top: 1px solid var(--wpcore-border-color);
}

.kulturgut-news-row__item:last-child {
	border-bottom: 1px solid var(--wpcore-border-color);
}

.kulturgut-news-row {
	overflow: clip;
}

.kulturgut-news-row__columns {
	margin: 0;
	padding-block: 2rem;
}

.kulturgut-news-row__media,
.kulturgut-image-triptych__image,
.kulturgut-contact-person__portrait {
	margin: 0;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.kulturgut-news-row__media img,
.kulturgut-image-triptych__image img,
.kulturgut-contact-person__portrait img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kulturgut-news-row__content > :first-child,
.kulturgut-contact-person__details > :first-child {
	margin-top: 0;
}

.kulturgut-news-row__meta,
.kulturgut-contact-person__role {
	margin-top: 0.75rem;
	color: var(--wp--preset--color--muted);
	font-size: 0.875rem;
}

.kulturgut-news-row__content > :last-child,
.kulturgut-contact-person__details > :last-child {
	margin-bottom: 0;
}

.kulturgut-image-triptych__columns {
	align-items: stretch;
	gap: clamp(0.75rem, 2vw, 2rem);
}

.kulturgut-image-triptych__columns > .wp-block-column {
	display: flex;
}

.kulturgut-image-triptych__image {
	width: 100%;
	min-height: 12rem;
}

.kulturgut-image-gallery {
	width: min(calc(100% - (2 * var(--wpcore-page-padding))), 90rem);
	margin-inline: auto;
}

.kulturgut-image-gallery.wp-block-gallery.has-nested-images {
	gap: clamp(0.75rem, 2vw, 2rem);
}

.kulturgut-image-gallery.wp-block-gallery.has-nested-images figure.wp-block-image {
	width: calc((100% - (2 * clamp(0.75rem, 2vw, 2rem))) / 3);
	flex: 0 0 calc((100% - (2 * clamp(0.75rem, 2vw, 2rem))) / 3);
}

.kulturgut-image-gallery.wp-block-gallery.has-nested-images figure.wp-block-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.kulturgut-image-gallery.kulturgut-generationenpark-gallery figure.wp-block-image {
	aspect-ratio: 3 / 4;
	overflow: hidden;
}

.kulturgut-image-gallery.kulturgut-generationenpark-gallery figure.wp-block-image img {
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
}

.kulturgut-generationenpark-gallery {
	margin-block: 0 clamp(3rem, 7vw, 7rem);
}

.kulturgut-generationenpark-gallery figure.wp-block-image {
	opacity: 0.42;
}

.kulturgut-generationenpark-gallery figure.wp-block-image:nth-child(2) {
	opacity: 1;
}

.kulturgut-generationenpark-video {
	width: 100%;
	margin-block: 0 clamp(3rem, 7vw, 7rem);
	background: var(--wp--preset--color--muted);
}

.kulturgut-generationenpark-video:empty {
	min-height: clamp(12rem, 36vw, 32rem);
	background-image: url('../images/kulturgut-park-courtyard.jpg');
	background-position: center;
	background-size: cover;
}

.kulturgut-generationenpark-video video {
	display: block;
	width: 100%;
	height: clamp(12rem, 36vw, 32rem);
	object-fit: cover;
}

.kulturgut-floor-directory__floor-label {
	margin-bottom: 0;
	padding-top: 1.75rem;
	font-size: clamp(1.35rem, 2.4vw, 2rem);
	font-weight: 400;
}

.kulturgut-floor-directory__entries {
	gap: clamp(1.5rem, 4vw, 4rem);
}

.kulturgut-contact-person__columns {
	align-items: flex-start;
	gap: clamp(2rem, 7vw, 7rem);
}

.kulturgut-contact-person__portrait-column {
	max-width: 20rem;
}

.kulturgut-contact-person__contact {
	margin-top: 2rem;
}

/*--------------------------------------------------------------------------
	KulturGut Aktuell and Vermietung pages
--------------------------------------------------------------------------*/

.kulturgut-aktuell-hero {
	background-image: url("../images/bg2.jpg");
	background-position: top right;
	background-repeat: no-repeat;
	background-size: min(58rem, 68vw) auto;
}

.kulturgut-aktuell-news {
	margin-block: clamp(5rem, 10vw, 10rem);
}

.kulturgut-aktuell-news .kulturgut-vertical-section__content {
	max-width: none;
}

.kulturgut-vermietung-hero {
	background-image: url("../images/bg3.jpg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: min(72rem, 100vw) auto;
}

.kulturgut-vermietung-triptych {
	max-width: none;
	margin-block: clamp(2rem, 6vw, 6rem);
}

.kulturgut-vermietung-triptych .kulturgut-image-triptych__columns {
	width: min(100vw, 90rem);
	margin-inline: auto;
}

.kulturgut-vermietung-triptych .kulturgut-image-triptych__image {
	aspect-ratio: 3 / 4;
}

.kulturgut-vermietung-triptych .kulturgut-image-triptych__image img {
	object-fit: cover;
}

.kulturgut-vermietung-triptych__side {
	opacity: 0.36;
}

.kulturgut-vermietung-triptych__center .kulturgut-image-triptych__image {
	transform: scaleY(1.08);
}

.kulturgut-vermietung-info {
	margin-block: clamp(5rem, 10vw, 10rem);
}

.kulturgut-vermietung-lower-art {
	max-width: none;
	margin-block: 0;
	background-image: url("../images/bg_bottom.jpg");
	background-position: bottom right;
	background-repeat: no-repeat;
	background-size: min(44rem, 68vw) auto;
}

/*--------------------------------------------------------------------------
	KulturGut Im Kulturgut and Generationenpark pages
--------------------------------------------------------------------------*/

.kulturgut-im-kulturgut-hero,
.kulturgut-generationenpark-hero {
	position: relative;
	isolation: isolate;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: min(72rem, 100vw) auto;
}

.kulturgut-im-kulturgut-hero {
	background-image: url("../images/bg4.jpg");
}

.kulturgut-im-kulturgut-hero > * {
	position: relative;
	z-index: 1;
}

.kulturgut-generationenpark-hero {
	background-image: url("../images/bg5.jpg");
}

.kulturgut-im-kulturgut-plan {
	width: min(44rem, 78vw);
	margin-block: clamp(2rem, 8vw, 8rem);
}

.kulturgut-im-kulturgut__map {
	margin: 0;
	padding: clamp(0.75rem, 1.5vw, 1.25rem);
	border-radius: 1.5rem;
	background: var(--wp--preset--color--muted);
	box-sizing: border-box;
}

.kulturgut-im-kulturgut-plan,
.kulturgut-im-kulturgut__map {
	margin-inline: auto;
}

.kulturgut-im-kulturgut__map img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: contain;
	border-radius: 0.75rem;
}

.kulturgut-im-kulturgut__directory {
	margin-block: clamp(4rem, 9vw, 8rem);
}

.kulturgut-im-kulturgut__floor {
	border-top: 1px solid var(--wpcore-border-color);
}

.kulturgut-im-kulturgut__floor:last-child {
	border-bottom: 1px solid var(--wpcore-border-color);
}

.kulturgut-im-kulturgut__floor-columns {
	align-items: stretch;
	margin: 0;
}

.kulturgut-im-kulturgut__floor-label-column {
	display: flex;
	align-items: center;
	justify-content: center;
}

.kulturgut-im-kulturgut__floor-label-column .kulturgut-floor-directory__floor-label {
	margin: 0;
	font-size: clamp(2.5rem, 6vw, 5.5rem);
	font-weight: 400;
	line-height: 0.9;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

.kulturgut-im-kulturgut__floor-content {
	min-width: 0;
}

.kulturgut-im-kulturgut__floor-content > .kulturgut-floor-directory__entries {
	align-items: stretch;
	gap: clamp(1rem, 3vw, 3rem);
	margin: 0;
	padding-block: 1.75rem;
}

.kulturgut-im-kulturgut__entry {
	padding-block: 1.25rem;
	border-top: 1px solid var(--wpcore-border-color);
}

.kulturgut-im-kulturgut__entry:first-child {
	padding-top: 0;
	border-top: 0;
}

.kulturgut-im-kulturgut__entry > :first-child {
	margin-top: 0;
}

.kulturgut-im-kulturgut__entry > :last-child {
	margin-bottom: 0;
}

.kulturgut-generationenpark-triptych {
	max-width: none;
	margin-block: clamp(2rem, 6vw, 6rem);
}

.kulturgut-generationenpark-triptych .kulturgut-image-triptych__columns {
	width: min(100vw, 90rem);
	margin-inline: auto;
}

.kulturgut-generationenpark-triptych__side {
	opacity: 0.42;
}

.kulturgut-generationenpark-triptych__center .kulturgut-image-triptych__image {
	transform: scaleY(1.08);
}

.kulturgut-generationenpark-support {
	max-width: 52rem;
	margin-block: clamp(3rem, 7vw, 7rem);
	margin-inline: auto;
	color: var(--wp--preset--color--muted);
}

.kulturgut-generationenpark-support > :first-child {
	margin-top: 0;
}

.kulturgut-generationenpark-support > :last-child {
	margin-bottom: 0;
}

.kulturgut-im-kulturgut-lower-art,
.kulturgut-generationenpark-lower-art {
	max-width: none;
	margin-block: 0;
	background-image: url("../images/bg_bottom.jpg");
	background-position: bottom right;
	background-repeat: no-repeat;
	background-size: min(44rem, 68vw) auto;
}

/*--------------------------------------------------------------------------
	KulturGut Geschichte and Kontakt pages
--------------------------------------------------------------------------*/

.kulturgut-geschichte-hero,
.kulturgut-kontakt-hero {
	background-position: top center;
	background-repeat: no-repeat;
	background-size: min(72rem, 100vw) auto;
}

.kulturgut-geschichte-hero {
	background-image: url("../images/bg6.jpg");
}

.kulturgut-kontakt-hero {
	background-image: url("../images/bg7.jpg");
}

.kulturgut-geschichte-history,
.kulturgut-kontakt-details {
	margin-block: clamp(5rem, 10vw, 10rem);
}

.kulturgut-geschichte-history .kulturgut-vertical-section__content,
.kulturgut-kontakt-details .kulturgut-vertical-section__content {
	max-width: 48rem;
}

.kulturgut-geschichte__notice,
.kulturgut-kontakt__notice {
	color: var(--wp--preset--color--muted);
}

.kulturgut-geschichte__divider {
	margin-block: clamp(2.5rem, 5vw, 4.5rem);
}

.kulturgut-contact-person + .kulturgut-contact-person {
	margin-top: clamp(4rem, 8vw, 8rem);
}

.kulturgut-kontakt__links,
.kulturgut-contact-person__contact {
	overflow-wrap: anywhere;
}

.kulturgut-geschichte-lower-art,
.kulturgut-kontakt-lower-art {
	max-width: none;
	margin-block: 0;
	background-image: url("../images/bg_bottom.jpg");
	background-position: bottom right;
	background-repeat: no-repeat;
	background-size: min(44rem, 68vw) auto;
}
