/* Approved product content uses the existing AIZ palette and content grid. */
.aiz-product-page .aiz-hero--solution {
	height: auto;
}
/* The hero grows with the copy; the art keeps its offset and the photo overlaps it. */
.aiz-product-page .aiz-hero--solution::before { height: calc(100% + 67.783px); }
.aiz-product-page .aiz-hero--solution .aiz-hero__grid {
	align-items: start;
	padding-bottom: 48px;
}
.aiz-product-page .aiz-hero--solution__title {
	font-size: clamp(34px, 3.6vw, 52px);
	line-height: 1.12;
	overflow-wrap: anywhere;
}
.aiz-product-hero-intro {
	max-width: 640px;
	margin-bottom: 32px;
	font-size: 22px;
	line-height: 1.4;
	text-wrap: pretty;
}
.aiz-product-hero-intro p { margin: 0; }
.aiz-product-audience-form { margin-top: 24px; font-size: 16px; line-height: 1.5; }
.aiz-product-audience-form label { display: block; margin-bottom: 8px; font-size: 14px; }
.aiz-product-audience-controls { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; }
.aiz-product-audience-controls select {
	flex: 0 1 320px;
	min-width: 0;
	max-width: 100%;
	min-height: 48px;
	padding: 10px 36px 10px 14px;
	border: 1px solid var(--aiz-white);
	border-radius: 2px;
	background: var(--aiz-white);
	color: var(--aiz-midnight);
	font: inherit;
}
.aiz-product-audience-controls button {
	min-height: 48px;
	padding: 10px 16px;
	border: 1px solid var(--aiz-white);
	border-radius: 2px 2px 16px 2px;
	background: transparent;
	color: var(--aiz-white);
	font: inherit;
	cursor: pointer;
}
.aiz-product-audience-controls button:hover { background: var(--aiz-white); color: var(--aiz-midnight); }
.aiz-product-page .aiz-hero--solution__visual {
	align-self: start;
	height: auto;
	margin-bottom: -155px;
}
.aiz-product-section {
	padding-block: clamp(48px, 4.5vw, 72px);
	background: var(--aiz-navy);
}
.aiz-product-section--uitdaging { padding-top: 196px; }
.aiz-product-section--resultaten {
	margin-top: clamp(48px, 4.5vw, 72px);
	padding-block: clamp(64px, 7vw, 112px);
	background: var(--aiz-charcoal);
}
/* Heading beside the text, so the three stories share one grid and use the page width. */
.aiz-product-copy {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	column-gap: 32px;
}
.aiz-product-copy > :not(h2) { grid-column: 2; }
.aiz-product-copy > .aiz-product-results { grid-column: 1 / -1; }
.aiz-product-copy > h2 {
	max-width: 24ch;
	margin: 0 0 28px;
	color: var(--aiz-purple);
	font-size: clamp(28px, 2.6vw, 40px);
	line-height: 1.15;
}
.aiz-product-copy > p,
.aiz-product-copy > ul {
	max-width: 72ch;
	margin: 0 0 24px;
	font-size: 18px;
	line-height: 1.7;
}
.aiz-product-copy > :last-child { margin-bottom: 0; }
.aiz-product-copy > ul { padding-left: 24px; }
.aiz-product-copy li + li { margin-top: 12px; }
.aiz-product-approach .aiz-product-copy,
.aiz-product-section--resultaten.aiz-solution-detail__results .aiz-solution-detail__results-copy { display: block; }
.aiz-product-approach { padding-top: 196px; background: var(--aiz-charcoal); }
.aiz-product-approach-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; align-items: stretch; }
.aiz-product-approach .aiz-solution-detail__approach-card { min-width: 0; height: auto; padding: clamp(32px, 4vw, 64px) 32px; }
.aiz-product-approach .aiz-product-approach-card--long { grid-column: 1 / -1; }
.aiz-product-approach .aiz-solution-detail__approach-card--wide h2 { color: var(--aiz-white); }
.aiz-product-approach .aiz-product-copy > p,
.aiz-product-approach .aiz-product-copy > ul { max-width: none; font-size: 16px; line-height: 1.65; }
.aiz-product-section--resultaten { background: var(--aiz-navy); }
.aiz-product-section--resultaten .aiz-solution-detail__results-layout { grid-template-columns: minmax(0, 584px) minmax(0, 1fr); gap: clamp(48px, 8vw, 135px); }
.aiz-product-section--resultaten .aiz-solution-detail__results-copy h2 { font-size: clamp(36px, 4vw, 56px); }
.aiz-product-section--resultaten .aiz-solution-detail__results-copy > p { margin-bottom: 24px; font-size: 16px; line-height: 1.6; }
.aiz-product-section--resultaten .wp-block-buttons { margin-top: 48px; }
.aiz-product-section--resultaten .aiz-solution-detail__results-viewport { overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
.aiz-product-section--resultaten .aiz-solution-detail__results-viewport::-webkit-scrollbar { display: none; }
.aiz-product-section--resultaten .aiz-solution-detail__results-viewport:focus-visible { outline: 2px solid var(--aiz-purple); outline-offset: 4px; }
.aiz-product-section--resultaten .aiz-solution-detail__results-track { transform: none; }
.aiz-product-results {
	display: flex;
	gap: 32px;
	margin: 0;
	align-items: stretch;
}
.aiz-product-result {
	flex: 0 0 min(378px, 100%);
	min-width: 0;
	min-height: 410px;
	height: auto;
	padding: 56px 32px 48px;
	border-radius: 2px;
	gap: 40px;
	scroll-snap-align: start;
}
.aiz-product-result.aiz-solution-detail__result-card--blue { background: var(--aiz-purple); color: var(--aiz-midnight); }
.aiz-product-result h3 {
	margin: 0;
	color: inherit;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.12;
	overflow-wrap: anywhere;
}
.aiz-product-result p { margin: 0; font-size: 18px; line-height: 1.45; }
.aiz-product-result p:last-child { margin-bottom: 0; }
.aiz-contact--catalog { padding-block: clamp(64px, 7vw, 112px); }
.aiz-contact--catalog .aiz-contact__panel { grid-template-columns: minmax(0, 1fr); }
.aiz-contact--catalog .aiz-contact__main { width: 100%; max-width: 760px; min-width: 0; margin-inline: auto; }
.aiz-contact--catalog h2 { margin-bottom: 24px; color: var(--aiz-midnight); font-size: 32px; line-height: 1.2; overflow-wrap: anywhere; }
.aiz-contact--catalog .aiz-contact__main > p { margin: 0 0 36px; line-height: 1.6; }
.aiz-product-page :is(#uitdaging, #oplossing, #aanpak, #resultaten, #contact) { scroll-margin-top: 160px; }
@media (max-width: 1100px) {
	.aiz-product-section--resultaten .aiz-solution-detail__results-layout { grid-template-columns: minmax(0, 1fr); gap: 48px; }
}
@media (max-width: 960px) {
	.aiz-product-copy { display: block; }
}
@media (max-width: 820px) {
	.aiz-product-page .aiz-hero--solution::before { height: 100%; }
	.aiz-product-page .aiz-hero--solution .aiz-hero__grid { padding-bottom: 72px; gap: 40px; }
	.aiz-product-page .aiz-hero--solution__visual { width: min(100%, 481px); justify-self: start; margin-bottom: 0; }
	.aiz-product-section--uitdaging { padding-top: clamp(48px, 4.5vw, 72px); }
	.aiz-product-approach { padding-top: clamp(48px, 4.5vw, 72px); }
	.aiz-product-approach-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 560px) {
	.aiz-product-results { gap: 24px; }
	.aiz-product-result { padding: 28px 24px; }
	.aiz-product-copy > p, .aiz-product-copy > ul { font-size: 16px; }
	.aiz-product-hero-intro { font-size: 18px; }
	.aiz-contact--catalog .aiz-contact__panel { width: calc(100% - 32px); padding: 40px 24px; }
}
