/* Landing page sections (home and other designed pages). Loaded globally and in the editor. */

/* Landing pages: sections carry their own spacing. */
.dh-main--landing > .dh-content > * {
	margin-block: 0;
}

.dh-main--landing > .dh-content > * + * {
	margin-block-start: var(--wp--preset--spacing--80);
}

.dh-main--landing > .dh-content > .alignfull:first-child {
	margin-block-start: 0;
}

.dh-section > * + * {
	margin-block-start: var(--wp--preset--spacing--50);
}

.dh-section--highlights > .wp-block-buttons {
	margin-block-start: var(--wp--preset--spacing--50);
}

/* ---------- Intro (text + portrait) ---------- */

.dh-intro > * + * {
	margin-block-start: var(--wp--preset--spacing--80);
}

.dh-intro__text {
	max-width: 70rem;
}

.dh-intro__text a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.12em;
}

.dh-intro__image {
	max-width: 660px;
	margin-inline: auto;
}

.dh-intro__image img {
	width: 100%;
	aspect-ratio: 660 / 469;
	object-fit: cover;
}

.dh-intro__image figcaption {
	font-size: var(--wp--preset--font-size--caps);
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.4;
	margin-block-start: 1rem;
}

/* ---------- Statement with floating images (Figma "Schönheit ist …") ---------- */

.dh-float {
	position: relative;
	padding: var(--wp--preset--spacing--80) var(--wp--custom--gutter);
	min-height: 60rem;
	display: grid;
	place-items: center;
	overflow: hidden;
}

.dh-float__text {
	font-size: clamp(2.5rem, 7.6vw, 9rem) !important;
	position: relative;
	z-index: 1;
	text-align: center;
	margin: 0 !important;
	mix-blend-mode: multiply;
}

.dh-float__img {
	position: absolute;
	margin: 0 !important;
	width: clamp(4rem, 15vw, 14rem);
}

.dh-float__img img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.dh-float__img--1 { top: 6%; left: 7%; }
.dh-float__img--2 { top: 16%; right: 9%; width: clamp(4rem, 15.5vw, 14rem); }
.dh-float__img--2 img { aspect-ratio: 4 / 3; }
.dh-float__img--3 { bottom: 12%; left: 12%; }
.dh-float__img--4 { bottom: 4%; right: 22%; }

@media (max-width: 781px) {
	.dh-float {
		min-height: 22rem;
		padding-block: var(--wp--preset--spacing--70);
	}

	.dh-float__img {
		width: 4rem;
	}

	.dh-float__img--1 { top: 4%; left: 3%; }
	.dh-float__img--2 { top: 6%; right: 3%; width: 4rem; }
	.dh-float__img--3 { bottom: 4%; left: 5%; }
	.dh-float__img--4 { bottom: 2%; right: 8%; }
}

/* ---------- Tiles grid ---------- */

.dh-tiles {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
}

.dh-tiles > * {
	margin: 0 !important;
}

@media (max-width: 1023px) {
	.dh-tiles {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 560px) {
	.dh-tiles {
		grid-template-columns: 1fr;
	}
}

/* ---------- Logos / awards (Figma "Bekannt aus", "Danke für euer Vertrauen") ---------- */

.dh-logos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	border-top: 1px solid var(--wp--preset--color--nude);
	border-left: 1px solid var(--wp--preset--color--nude);
}

.dh-logos > .wp-block-image {
	display: grid;
	place-items: center;
	margin: 0 !important;
	padding: 1.5rem;
	aspect-ratio: 268 / 176;
	border-right: 1px solid var(--wp--preset--color--nude);
	border-bottom: 1px solid var(--wp--preset--color--nude);
}

.dh-logos img {
	max-width: 9rem;
	max-height: 7.75rem;
	width: auto;
	height: auto;
	object-fit: contain;
}

.dh-logos--press img {
	filter: grayscale(1);
}

/* ---------- Treatment highlight card (Figma "Behandlungs Highlight") ---------- */

.dh-highlight {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 24.875rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--nude);
}

.dh-highlight > * {
	margin: 0 !important;
}

.dh-highlight__text {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 3rem 2rem 2rem 3rem;
}

.dh-highlight__text > * {
	margin: 0 !important;
}

.dh-highlight__text .wp-block-heading {
	font-size: clamp(1.5rem, 2.3vw, 2.25rem) !important;
}

.dh-highlight__text > .wp-block-buttons {
	margin-top: auto !important;
}

.dh-highlight__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 781px) {
	.dh-highlight {
		grid-template-columns: 1fr;
	}

	.dh-highlight__image {
		order: 1;
		aspect-ratio: 1;
	}

	.dh-highlight__text {
		padding: 2rem 1.5rem;
	}

	.dh-highlight__desc {
		font-size: var(--wp--preset--font-size--base) !important;
		font-family: var(--wp--preset--font-family--sans) !important;
	}
}

/* ---------- Magazine teaser (Figma "Magazin Teaser") ---------- */

.dh-magazine__head {
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.5rem 2rem;
}

.dh-magazine__head > * {
	margin: 0 !important;
}

.dh-magazine__all a {
	text-decoration: none;
}

.dh-magazine__all a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

.dh-teasers__list {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: var(--wp--preset--spacing--70) 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dh-teasers__list > li {
	margin: 0;
}

.dh-teasers__list > li:nth-child(1) {
	grid-column: 1 / span 4;
	align-self: start;
}

.dh-teasers__list > li:nth-child(2) {
	grid-column: 9 / span 4;
}

.dh-teasers__list > li:nth-child(2) .dh-card__image img {
	aspect-ratio: 4 / 5;
}

.dh-teasers__list > li:nth-child(3) {
	grid-column: 4 / span 6;
}

@media (max-width: 781px) {
	.dh-teasers__list {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--50);
	}

	.dh-teasers__list > li:nth-child(n) {
		grid-column: auto;
	}

	.dh-teasers__list > li:nth-child(2) .dh-card__image img {
		aspect-ratio: 3 / 2;
	}
}

/* ---------- Wide sections get the page gutter ---------- */

.dh-main--landing .dh-content > .alignwide {
	padding-inline: 0;
}

/* ---------- Cover hero with H1 (Figma "Behandlung Überblick") ---------- */

.dh-cover-hero {
	min-height: min(50rem, calc(100svh - var(--wp--custom--header-height))) !important;
	padding: var(--wp--preset--spacing--50) var(--wp--custom--gutter) !important;
}

.dh-cover-hero__title {
	color: var(--wp--preset--color--white);
	margin: 0;
}

@media (max-width: 781px) {
	.dh-cover-hero {
		min-height: 28rem !important;
		padding: 1.5rem !important;
	}
}

/* ---------- Lead block ---------- */

.dh-lead-block > .is-style-lead {
	max-width: 56rem;
}

/* ---------- Areas (text + treatment list) ---------- */

.dh-areas > * + * {
	margin-block-start: var(--wp--preset--spacing--80);
}

.dh-area {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: var(--wp--preset--spacing--50) clamp(1.5rem, 8vw, 9rem);
	align-items: start;
	scroll-margin-top: calc(var(--wp--custom--header-height) + 1.5rem);
}

.dh-area > * {
	margin: 0 !important;
}

.dh-area__text > * + * {
	margin-block-start: 1.5rem;
}

@media (max-width: 781px) {
	.dh-area {
		grid-template-columns: 1fr;
	}
}

/* ---------- About page (Figma "Über Stefan") ---------- */

.dh-about-head {
	padding-block-start: var(--wp--preset--spacing--70);
}

.dh-about-head > * + * {
	margin-block-start: var(--wp--preset--spacing--60);
}

.dh-about-head__sub {
	max-width: 1116px;
	margin-inline: auto;
	text-align: center;
}

.dh-about-head__image,
.dh-philosophy__image {
	max-width: 660px;
	margin-inline: auto;
}

.dh-about-head__image img {
	width: 100%;
	aspect-ratio: 660 / 774;
	object-fit: cover;
}

.dh-philosophy__image {
	max-width: 432px;
}

.dh-philosophy__image img {
	width: 100%;
	aspect-ratio: 432 / 531;
	object-fit: cover;
}

.dh-philosophy > * + * {
	margin-block-start: var(--wp--preset--spacing--80);
}

/* Fact row: label/text cells with vertical dividers. */
.dh-factrow {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
	border-block: 1px solid var(--wp--preset--color--nude);
}

.dh-factrow__cell {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1rem;
	padding: 3rem;
	margin: 0 !important;
}

.dh-factrow__cell > * {
	margin: 0 !important;
}

.dh-factrow__cell + .dh-factrow__cell {
	border-inline-start: 1px solid var(--wp--preset--color--nude);
}

@media (max-width: 781px) {
	.dh-factrow__cell {
		padding: 1.5rem 0;
	}

	.dh-factrow__cell + .dh-factrow__cell {
		border-inline-start: 0;
		border-top: 1px solid var(--wp--preset--color--nude);
	}
}

/* Two columns: heading left, text right. */
.dh-twocol {
	display: grid;
	grid-template-columns: minmax(0, 774fr) minmax(0, 432fr);
	gap: var(--wp--preset--spacing--50) clamp(1.5rem, 9.5vw, 8.625rem);
	align-items: start;
}

.dh-twocol > * {
	margin: 0 !important;
}

.dh-twocol__head > * + *,
.dh-twocol__body > * + * {
	margin-block-start: 1.5rem;
}

.dh-twocol__head > .wp-block-buttons {
	margin-block-start: var(--wp--preset--spacing--50);
}

@media (max-width: 781px) {
	.dh-twocol {
		grid-template-columns: 1fr;
	}
}

/* Year list (awards). */
.wp-block-list.is-style-dates {
	list-style: none;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--nude);
}

.wp-block-list.is-style-dates > li {
	margin: 0;
	padding-block: 0.75rem;
	border-bottom: 1px solid var(--wp--preset--color--nude);
}

.wp-block-list.is-style-dates a {
	text-decoration: none;
}

.wp-block-list.is-style-dates a:hover {
	text-decoration: underline;
}

.dh-logos--members {
	grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
}

/* ---------- Contact page (Figma "Kontakt") ---------- */

.dh-contact {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--wp--preset--spacing--60) clamp(1.5rem, 5vw, 4.5rem);
	align-items: start;
	padding-block-start: var(--wp--preset--spacing--60);
}

.dh-contact > * {
	margin: 0 !important;
}

.dh-contact__main > * + * {
	margin-block-start: 1.5rem;
}

.dh-contact__main > h2 {
	margin-block-start: var(--wp--preset--spacing--70);
}

.dh-contact__image {
	position: sticky;
	top: calc(var(--wp--custom--header-height) + 1.5rem);
}

.dh-contact__image img {
	width: 100%;
	aspect-ratio: 708 / 750;
	object-fit: cover;
}

.dh-contact__image figcaption {
	font-size: var(--wp--preset--font-size--caps);
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-block-start: 1rem;
}

@media (max-width: 781px) {
	.dh-contact {
		grid-template-columns: 1fr;
	}

	.dh-contact__image {
		position: static;
		order: -1;
	}
}

/* ---------- Simple page intro (built pages without hero) ---------- */

.dh-page-intro {
	padding-block-start: var(--wp--preset--spacing--70);
}

.dh-page-intro > .is-style-lead {
	max-width: 56rem;
}
