/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */
.bg-white-text-primary { background-color: var(--color-white) !important;}
.bg-white-text-primary a { color: var(--color-primary) !important; }

/* Primary met opacity (voor bg-primary/10, bg-primary/20, ring-primary) */
.bg-primary\/10 { background-color: color-mix(in srgb, var(--color-primary, #000) 10%, transparent); }
.bg-primary\/20 { background-color: color-mix(in srgb, var(--color-primary, #000) 20%, transparent); }
.ring-primary { --tw-ring-color: var(--color-primary, #000); }
.bg-secondary-text-white { background-color: var(--color-secondary) !important; }
.bg-secondary-text-white a { color: var(--color-white) !important; }
.text-white a { color: var(--color-white) !important; }

#primary-navigation nav .menu-item > a,
#primary-navigation .menu-item > a,
 #primary-navigation a {
	 color: var(--color-white);
 }
#primary-navigation nav .menu-item.text-primary > a,
#primary-navigation .menu-item.text-primary > a,
#primary-navigation .text-primary a {
	 color: var(--color-primary);
 }

/* Header CTA (Theme Options > Header Options) */
.wat-header-cta {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	background-color: var(--color-accent, #00a87e);
	color: var(--color-white, #fff) !important;
	border-radius: 0.5rem;
	padding: 0.5rem 1rem;
	text-decoration: none !important;
	white-space: nowrap;
	line-height: 1.25;
	transition: filter 0.2s ease;
}
.wat-header-cta:hover,
.wat-header-cta:focus-visible {
	filter: brightness(0.92);
	color: var(--color-white, #fff) !important;
}
.wat-header-cta--mobile {
	margin-top: var(--wat-header-cta-gap, 1rem);
}
#primary-navigation.wat-header-desktop-flex {
	gap: var(--wat-header-cta-gap, 1.5rem);
}

/* Wat feature: styles now handled by Tailwind CSS */
.wat-feature__subtitle {
	line-height: 1;
}
.wat-feature__content a,
.wat-feature__subtitle a {
    text-decoration: none !important;
}

/* Wat newsletter: button hover (Tailwind hover classes from PHP may not be in frontend build) */
.wat-newsletter__button {
	border: 2px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wat-newsletter__button:hover {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}

/* Wat header image: button hovers (Tailwind hover classes from theme header.php may not be in frontend build) */
.wat-header-image-buttons .wat-header-image-button {
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wat-header-image-buttons .wat-header-image-button:first-of-type {
	border: 2px solid transparent;
}
/* Alle buttons: zelfde hover – wit met primary tekst en rand */
.wat-header-image-buttons .wat-header-image-button:hover {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}
/* Wat before-after: slider styles now handled by Tailwind CSS */
/* Note: clipPath and dynamic left positioning remain inline styles due to dynamic values */
h1, h2, h3, h4, h5, h6 {
	line-height: 1;
}
/* Wat before-after placeholder: styles now handled by Tailwind CSS */

/* Wat posts grid: styles now handled by Tailwind CSS */

/* Isotope filtering styles for diensten posts grid */
.wat-posts-grid__filter-button.is-checked {
	background-color: #000;
	color: #fff;
	border-color: #000;
}

.wat-posts-grid__filter-button:hover {
	background-color: #f3f4f6;
}

.wat-posts-grid__filter-button.is-checked:hover {
	background-color: #1f2937;
}

/* Wat posts slider: button hover (Tailwind hover classes from PHP may not be in frontend build) */
.wat-posts-slider__button {
	border: 2px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}
.wat-posts-slider__button:hover {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
	opacity: 1;
}

/* Wat container selector: skip button hover (outline-stijl: default wit/primary, hover primary/wit) */
.wat-container-selector__skip-button {
	border: 2px solid var(--color-primary, #000);
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wat-container-selector__skip-button:hover {
	background-color: var(--color-primary, #000) !important;
	color: var(--color-white, #fff) !important;
	border-color: var(--color-white, #fff) !important;
}

/* Wat container selector: product button hover (Tailwind hover classes from JS may not be in frontend build) */
.wat-container-selector__product-button {
	border: 2px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wat-container-selector__product-button:hover {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}

/* Wat container selector: order button hover (Tailwind hover classes from PHP may not be in frontend build) */
.wat-container-selector__order-button {
	border: 2px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wat-container-selector__order-button:hover {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}

/* Wat FAQ: question blijft rounded, vraagtekst blauw bij hover */
.wat-faq__question {
	border-radius: 2rem; /* rounded-4xl, blijft rond bij hover */
	transition: background-color 0.2s ease;
}
.wat-faq__question:hover .wat-faq__question-text {
	color: var(--color-primary, #2563eb) !important;
}

/* Wat Tabs */
.wat-tabs__nav {
	display: flex;
	width: 100%;
	gap: 0.5rem;
}
.wat-tabs__button {
	flex: 1 1 0;
	min-width: 0;
	padding: 0.75rem 1.25rem;
	border-radius: 2rem;
	font-weight: 500;
	text-align: center;
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
	border: none;
	cursor: pointer;
	background-color: var(--color-white, #fff);
	color: var(--color-primary, #0f1626);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.wat-tabs__button--active {
	background-color: var(--color-secondary, #2b8bc6) !important;
	color: var(--color-white, #fff) !important;
	box-shadow: none;
}
.wat-tabs__panel.hidden {
	display: none;
}
.wat-tabs__text--centered {
	text-align: center;
	max-width: 48rem;
	margin-left: auto;
	margin-right: auto;
}
.wat-tabs__text--centered .wat-tabs__body ul {
	display: inline-block;
	text-align: left;
}
.wat-tabs__body ul {
	list-style-type: disc;
	padding-left: 1.25rem;
	margin-top: 0.75rem;
	margin-bottom: 0.75rem;
}
.wat-tabs__body li {
	margin-bottom: 0.35rem;
}

/* Wat container selector: disabled optional product (single grond choice – rest not selectable) */
.wat-container-selector__optional-product--disabled {
	opacity: 0.6;
	pointer-events: none;
	cursor: not-allowed;
}
/* Selecteren-knop blijft klikbaar op uitgegrijsde kaarten om van grondsoort te wisselen */
.wat-container-selector__optional-product--disabled .wat-container-selector__select-button-wrap {
	pointer-events: auto;
	cursor: pointer;
}

/* Step 3: info tooltip icon (i in circle, top-right) */
.wat-container-selector__tooltip-info {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 9999px;
	background: rgba(17, 24, 39, 0.9);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	z-index: 15;
}

.wat-product-selector__tooltip-info {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 9999px;
	background: rgba(17, 24, 39, 0.9);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	z-index: 15;
}

.wat-container-selector__tooltip-info:hover::after,
.wat-container-selector__tooltip-info:focus-visible::after {
	content: attr(data-tooltip);
	position: absolute;
	right: 0;
	top: calc(100% + 10px);
	background: rgba(17, 24, 39, 0.96);
	color: #fff;
	border-radius: 0.75rem;
	padding: 0.5rem 0.75rem;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.3;
	max-width: 280px;
	width: max-content;
	white-space: normal;
	text-align: left;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
	z-index: 40;
	pointer-events: none;
}

.wat-product-selector__tooltip-info:hover::after,
.wat-product-selector__tooltip-info:focus-visible::after {
	content: attr(data-tooltip);
	position: absolute;
	right: 0;
	top: calc(100% + 10px);
	background: rgba(17, 24, 39, 0.96);
	color: #fff;
	border-radius: 0.75rem;
	padding: 0.5rem 0.75rem;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.3;
	max-width: 280px;
	width: max-content;
	white-space: normal;
	text-align: left;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
	z-index: 40;
	pointer-events: none;
}

.wat-container-selector__tooltip-info:hover::before,
.wat-container-selector__tooltip-info:focus-visible::before {
	content: "";
	position: absolute;
	right: 0.5rem;
	top: calc(100% + 4px);
	border: 6px solid transparent;
	border-bottom-color: rgba(17, 24, 39, 0.96);
	z-index: 41;
	pointer-events: none;
}

.wat-product-selector__tooltip-info:hover::before,
.wat-product-selector__tooltip-info:focus-visible::before {
	content: "";
	position: absolute;
	right: 0.5rem;
	top: calc(100% + 4px);
	border: 6px solid transparent;
	border-bottom-color: rgba(17, 24, 39, 0.96);
	z-index: 41;
	pointer-events: none;
}

/* Wat container selector: Selecteren-knop (grond) hover */
.wat-container-selector__select-grond-button {
	border: 2px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wat-product-selector__select-grond-button {
	border: 2px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wat-container-selector__select-grond-button:hover {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}
.wat-product-selector__select-grond-button:hover {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}

/* Step 3: hover card should also hover the select button */
.wat-container-selector__optional-product:hover .wat-container-selector__select-grond-button {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}
.wat-product-selector__optional-product:hover .wat-product-selector__select-grond-button {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}

.wat-product-selector__optional-product--selected {
	border-color: var(--color-primary, #000) !important;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

.wat-product-selector__quantity-minus,
.wat-product-selector__quantity-plus {
	cursor: pointer;
}

/* Step 2: hover product card should also hover the select button */
.wat-container-selector__product-card:hover .wat-container-selector__product-button {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}

/* Wat container selector: quantity locked until grond is selected (select grond first, then amount) */
.wat-container-selector__optional-product--quantity-locked .wat-container-selector__optional-quantity,
.wat-container-selector__optional-product--quantity-locked .wat-container-selector__quantity-plus,
.wat-container-selector__optional-product--quantity-locked .wat-container-selector__quantity-minus {
	opacity: 0.7;
	cursor: not-allowed;
}

/* Wat container selector: continue button hover (Tailwind hover classes from PHP may not be in frontend build) */
.wat-container-selector__continue-button {
	border: 2px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wat-container-selector__continue-button:hover {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}

/* Wat product delivery selector: continue button hover (Tailwind hover classes from PHP may not be in frontend build) */
.wat-product-delivery-selector__continue-button {
	border: 2px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wat-product-delivery-selector__continue-button:hover {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}

/* Wat categories grid: button hover */
.wat-categories-grid__button {
	border: 2px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wat-categories-grid__button:hover {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}

/* Wat posts grid: button hover (primary link, donker bij hover) */
.wat-posts-grid__button {
	transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
.wat-posts-grid__button:not(.wat-posts-grid__button--vacature):hover {
	background-color: #1f2937 !important;
	color: var(--color-white, #fff) !important;
}

.wat-posts-grid__button--vacature:hover,
.wat-posts-grid__open-application-button:hover {
	opacity: 0.9;
}

/*
 * Vacaturekaarten stapelen op telefoonbreedte.
 * De kaart is een flexrij met een shrink-0 knop van ~200px; naast de titel past
 * dat niet onder ~500px, waardoor de kaart zijn kolom uitrekte en de pagina
 * horizontaal liet scrollen. Twee klassen diep zodat dit de Tailwind
 * flex-row/items-center utilities uit de markup overschrijft zonder !important.
 */
@media (max-width: 767px) {
	.wat-posts-grid .wat-posts-grid__item--vacature,
	.wat-posts-grid .wat-posts-grid__open-application {
		flex-direction: column;
		align-items: stretch;
	}

	.wat-posts-grid .wat-posts-grid__button--vacature,
	.wat-posts-grid .wat-posts-grid__open-application-button {
		width: 100%;
	}
}

.wat-posts-grid__team-icon {
	transition: background-color 0.2s ease, color 0.2s ease;
}
.wat-posts-grid__team-icon:hover {
	background-color: var(--color-primary, #2b8bc6) !important;
	color: var(--color-white, #fff) !important;
}

.wat-posts-grid__item--team {
	perspective: 1200px;
	background: transparent;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
}
.wat-posts-grid__team-flip {
	display: grid;
	height: 100%;
	transform-style: preserve-3d;
	transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
	cursor: pointer;
}
.wat-posts-grid__team-face {
	grid-area: 1 / 1;
	display: flex;
	flex-direction: column;
	border-radius: 2rem;
	overflow: hidden;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	min-height: 100%;
	height: 100%;
}
.wat-posts-grid__team-face--front {
	position: relative;
	align-items: stretch;
	justify-content: flex-end;
	text-align: left;
	gap: 0;
	padding: 0;
	background: rgb(var(--wat-team-scrim-rgb, 15, 22, 38));
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}
.wat-posts-grid__team-photo {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.wat-posts-grid__team-photo-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}
.wat-posts-grid__team-initials {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 2.5rem;
	color: #fff;
	background: rgb(var(--wat-team-scrim-rgb, 15, 22, 38));
}
.wat-posts-grid__team-scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		to top,
		rgba(var(--wat-team-scrim-rgb, 15, 22, 38), 0.92) 0%,
		rgba(var(--wat-team-scrim-rgb, 15, 22, 38), 0.55) 42%,
		rgba(var(--wat-team-scrim-rgb, 15, 22, 38), 0) 72%
	);
}
.wat-posts-grid__team-overlay {
	position: relative;
	z-index: 2;
	width: 100%;
	display: flex;
	align-items: flex-end;
	gap: 0.75rem;
}
.wat-posts-grid__team-copy {
	flex: 1 1 auto;
	min-width: 0;
}
.wat-posts-grid__team-face--front .wat-posts-grid__title {
	color: #fff;
	font-weight: 700;
	font-size: clamp(1.15rem, 2.4vw, 1.5rem);
	line-height: 1.15;
}
.wat-posts-grid__team-face--front .wat-posts-grid__role {
	color: #fff;
	font-weight: 400;
	font-size: 0.95rem;
	margin-top: 0.2rem;
}
.wat-posts-grid__team-logo {
	display: block;
	width: 3rem;
	flex-shrink: 0;
	line-height: 0;
	margin-left: auto;
}
.wat-posts-grid__team-logo svg {
	display: block;
	width: 100%;
	height: auto;
}
.wat-posts-grid__team-flip-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: var(--color-accent, #00a87e);
	color: #fff;
	cursor: pointer;
	flex-shrink: 0;
	touch-action: manipulation;
}
.wat-posts-grid__team-flip-btn:hover {
	filter: brightness(1.05);
}
.wat-posts-grid__team-flip-btn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}
.wat-posts-grid__team-face--back {
	transform: rotateY(180deg);
	align-items: center;
	justify-content: flex-start;
	text-align: center;
	gap: 0.75rem;
	padding: 2rem;
	background: var(--wat-team-back-bg, #fff);
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	overflow-y: auto;
}
.wat-posts-grid__team-face--back .wat-posts-grid__excerpt {
	width: 100%;
}
.wat-posts-grid__team-face--back .wat-posts-grid__excerpt p {
	margin: 0 0 0.75em;
}
.wat-posts-grid__team-face--back .wat-posts-grid__excerpt p:last-child {
	margin-bottom: 0;
}
@media (hover: hover) and (pointer: fine) {
	.wat-posts-grid__item--team:hover .wat-posts-grid__team-flip {
		transform: rotateY(180deg);
	}
}
.wat-posts-grid__team-flip.is-flipped {
	transform: rotateY(180deg);
}
@media (prefers-reduced-motion: reduce) {
	.wat-posts-grid__team-flip {
		transition: none;
	}
}

/* Wat pricing plans: button hover (popular = zwart, normaal = grijs) */
.wat-pricing-plans__button {
	transition: background-color 0.2s ease, color 0.2s ease;
}
.wat-pricing-plans__button.bg-black:hover {
	background-color: #1f2937 !important;
	color: var(--color-white, #fff) !important;
}
.wat-pricing-plans__button.bg-gray-200:hover {
	background-color: #d1d5db !important;
	color: #000 !important;
}

/* Wat product delivery selector: order button hover (secondary -> wit met secondary rand) */
.wat-product-delivery-selector__order-button {
	border: 2px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wat-product-delivery-selector__order-button:hover {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-secondary, #16a34a) !important;
	border-color: var(--color-secondary, #16a34a) !important;
}

/* Wat product selector: skip button hover */
.wat-product-selector__skip-button {
	transition: border-color 0.2s ease, background-color 0.2s ease;
}
.wat-product-selector__skip-button:hover {
	border-color: var(--color-primary, #000) !important;
}

/* Wat product selector: product button (Selecteren) hover */
.wat-product-selector__product-button {
	border: 2px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wat-product-selector__product-button:hover {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}

/* Wat product selector: continue button hover */
.wat-product-selector__continue-button {
	border: 2px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wat-product-selector__continue-button:hover {
	background-color: var(--color-white, #fff) !important;
	color: var(--color-primary, #000) !important;
	border-color: var(--color-primary, #000) !important;
}

/* Wat product selector: order button hover (groen) */
.wat-product-selector__order-button {
	transition: background-color 0.2s ease;
}
.wat-product-selector__order-button:hover:not(:disabled) {
	background-color: #15803d !important;
	color: var(--color-white, #fff) !important;
}

/* Wat posts slider: spacing between items */
.wat-posts-slider__container .slick-slide {
	margin: 0 12px;
}

.wat-posts-slider__container .slick-list {
	margin: 0 -12px;
}

.wat-posts-slider__container .slick-track {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

/* Wat carousel blocks: houd de wrapper binnen de kolom, anders rekent Slick
   een trackbreedte van ~16.7M px (flex min-width: auto + unbounded parent).
   Het dragende deel is `min-width: 0` op de kolom: die is een flex-item en
   weigert met de standaard `min-width: auto` te krimpen.

   `:not(.alignfull)` is nodig omdat `:has()` de specificiteit van zijn zwaarste
   argument overneemt. Zonder de uitzondering staat deze selector op (0,2,0) en
   verslaat hij `.alignfull` (0,1,0): `width: 100vw` sneuvelt dan, terwijl de
   negatieve marge `!important` blijft staan. De sectie wordt dan naar links
   getrokken zonder breed te worden, en verliest zo zijn schermvulling. */
.wat-carousel-blocks,
.wp-block-column:has(.wat-carousel-blocks),
.wp-block-columns:has(.wat-carousel-blocks):not(.alignfull) {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.wat-carousel-blocks {
	overflow: hidden;
}

.wat-carousel-blocks__container {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.wat-carousel-blocks__container .slick-slide {
	margin: 0 12px;
}

.wat-carousel-blocks__container .slick-list {
	margin: 0 -12px;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

.wat-carousel-blocks__container .slick-track {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	display: flex !important;
	align-items: stretch;
	min-width: 0;
}

/* Slides even hoog: Slick zet .slick-slide direct op de items, dus
   height:100% en display:block uit slick.css moeten overschreven worden */
.wat-carousel-blocks__container .slick-slide.wat-carousel-blocks__item {
	display: flex !important;
	flex-direction: column;
	height: auto !important;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

/* Laat het inner block de volledige hoogte van de slide vullen */
.wat-carousel-blocks__container .wat-carousel-blocks__item > * {
	flex-grow: 1;
	min-width: 0;
	max-width: 100%;
}

/* Op smalle slides: icoon boven de tekst, anders breekt "Rapportages" in een 70px-kolom. */
@media (max-width: 767px) {
	/* Negatieve slick-list-margin wordt door overflow:hidden afgeknipt en
	   duwt de actieve kaart naar links. Gelijke inset houdt de slide in het midden. */
	.wat-carousel-blocks__container .slick-list {
		margin: 0;
	}

	.wat-carousel-blocks__container .slick-slide {
		margin: 0 16px;
	}

	.wat-carousel-blocks .wat-feature {
		flex-direction: column !important;
		align-items: center !important;
		text-align: center;
	}

	.wat-carousel-blocks .wat-feature__icon-container,
	.wat-carousel-blocks .wat-feature__icon-wrap {
		align-self: center;
	}

	.wat-carousel-blocks .wat-feature__content-wrapper,
	.wat-carousel-blocks .wat-feature__title,
	.wat-carousel-blocks .wat-feature__subtitle,
	.wat-carousel-blocks .wat-feature__content {
		min-width: 0;
		max-width: 100%;
		overflow-wrap: break-word;
		word-break: normal;
		text-align: center;
	}
}

/* Wat reviews block: gelijke kolomhoogte + slider vult kolom */
.wat-reviews-block .grid {
	align-items: stretch;
}

/* Eerste kolom rekt mee met grid */
.wat-reviews-block__intro-col {
	min-height: 0;
}

/* Tweede kolom: flex zodat slider 100% hoogte kan nemen */
.wat-reviews-block__slider-col {
	align-self: stretch;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

/* Slider container vult beschikbare kolomhoogte */
.wat-reviews-slider__container {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

.wat-reviews-slider__container .slick-slide {
	margin: 0 12px;
	height: auto;
	align-self: stretch;
	display: flex !important;
}

.wat-reviews-slider__container .slick-slide > div {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
	min-height: 0;
}

.wat-reviews-slider__container .slick-list {
	margin: 0 -12px;
	flex: 1;
	min-height: 0;
}

.wat-reviews-slider__container.slick-initialized .slick-list {
	height: 100% !important;
}

.wat-reviews-slider__container .slick-track {
	display: flex !important;
	align-items: stretch;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	min-height: 0;
}

.wat-reviews-slider__container.slick-initialized {
	height: 100%;
}

.wat-reviews-slider__item {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
	min-height: 280px;
}

.wat-reviews-slider__quote,
.wat-reviews-slider__avatar {
	flex: 0 0 3rem;
	width: 3rem;
	height: 3rem;
	min-width: 3rem;
	min-height: 3rem;
	max-width: 3rem;
	max-height: 3rem;
	align-self: flex-start;
}

.wat-reviews-slider__quote i {
	display: block;
	width: auto;
	height: auto;
	font-size: 1.125rem;
	line-height: 1;
}

.wat-reviews-slider__author {
	margin-top: auto;
}

/* Flex-kolommen mogen krimpen, anders blaast Slick/wide content de rij op. */
.wp-block-column {
	min-width: 0;
}

/* md:container centreren vanaf md-breakpoint */
@media (min-width: 768px) {
	.md\:container {
		margin-left: auto;
		margin-right: auto;
	}

}

/* Header: list items verbergen en titel kleiner op schermen kleiner dan tablet */
@media (max-width: 767px) {
	.wat-header-image-list-items {
		display: none !important;
	}
	.oms4b-fields.oms4b-fields--form {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
}

.oms4b-fields.oms4b-fields--form {
	display: grid;
  	grid-template-columns: auto auto;
	gap: 40px;
}
.oms4b-fields .oms4b-field.oms4b-field--details > div {
	border: 1px solid;
	border-radius:2rem;
	background: transparent;
}
.oms4b-fields .oms4b-field.oms4b-field--details div input {
	padding: 4px 8px;
}
.oms4b-fields .oms4b-field:last-child {
	background: #0082c7;
	color: white;
	text-align:center;
	padding: 8px 16px;
	border-radius: 2rem;
  grid-column: 1 / span 2;
	
}
.oms4b-fields .oms4b-field:last-child:hover {
	background: #ffffff;
	color: #0082c7;
	border: 1px solid #0082c7;
	
}

/* Block font size override: desktop only, overrides Theme Options */
@media (min-width: 1025px) {
	.wat-fs-desktop-override {
		font-size: var(--wat-fs-desktop) !important;
	}
}

/*
 * Aanraakoppervlak van de social-icons naar 44px zonder het ontwerp te wijzigen.
 * De cirkel blijft visueel 36px; een onzichtbare overlay vergroot alleen het
 * klikbare gebied. Zit binnen de link, dus een tik op de overlay activeert de link.
 */
.wat-social-media__link {
	position: relative;
}

.wat-social-media__link::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 44px;
	height: 44px;
	transform: translate(-50%, -50%);
}

/*
 * Mobiele menu-toggle van het core navigation-block is 24x24 en daarmee te klein
 * om betrouwbaar aan te tikken.
 */
.wp-block-navigation__responsive-container-open {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
}

/*
 * Navigation-block links waren 23px hoog met 36px ertussen. Hier geen onzichtbare
 * overlay: in een verticale lijst zouden overlays van buren elkaar overlappen en
 * taps van het verkeerde item opvangen. De links krijgen dus echte hoogte.
 */
.wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/*
 * Gravity Forms leesbaarheid en aanraakoppervlak.
 * Gaat via de GF CSS API (custom properties) in plaats van via de zeer lange
 * framework-selectors, zodat er geen !important nodig is. GF leidt de werkelijke
 * maten af van de -md-varianten; die moeten dus mee.
 */
.gform_wrapper.gform-theme {
	/* "(Vereist)" was 12px en de tekstteller 13px: te klein om te lezen. */
	--gf-ctrl-label-font-size-req: 14px;
	--gf-ctrl-desc-font-size: 14px;
}

/*
 * Onder 16px zoomt iOS Safari automatisch in bij focus en zoomt daarna niet
 * terug uit. 16px is daarmee een harde ondergrens, geen ontwerpkeuze.
 * 44px volgt WCAG 2.1 AA en de Apple HIG voor aanraakoppervlak.
 *
 * Criterium is het aanwijsapparaat, niet de schermbreedte: een iPad in landscape
 * is 1024px breed en zoomt evengoed in, terwijl een smal desktopvenster dat nooit
 * doet. `any-pointer` in plaats van `pointer` omdat hybride toestellen (touch-laptop,
 * Surface) hun trackpad als primair melden -- `pointer: coarse` mist die, terwijl de
 * vingers wel het scherm raken.
 */
@media (any-pointer: coarse) {
	.gform_wrapper.gform-theme {
		--gf-ctrl-font-size: 16px;
		--gf-ctrl-size: 44px;
		--gf-ctrl-size-md: 44px;
		--gf-ctrl-line-height: 44px;
		--gf-ctrl-btn-font-size: 16px;
		--gf-ctrl-btn-font-size-md: 16px;
		--gf-ctrl-btn-size: 44px;
		--gf-ctrl-btn-size-md: 44px;
	}
}

/* Theme font size utilities (no Tailwind text-* classes) */
.wat-text-small {
	font-size: 0.875rem;
}
.wat-icon-m {
	font-size: 1.25rem;
}
.wat-icon-l {
	font-size: 1.5rem;
}
.wat-icon-xl {
	font-size: 1.875rem;
}
.wat-icon-s {
	font-size: 1rem;
}
.wat-text-large {
	font-size: 1.125rem;
}

/* Container Selector: Product description formatting */
.wat-container-selector__product-description {
	line-height: 1.6;
}

.wat-container-selector__product-description p {
	margin: 0.5rem 0;
}

.wat-container-selector__product-description p:first-child {
	margin-top: 0;
}

.wat-container-selector__product-description p:last-child {
	margin-bottom: 0;
}

.wat-container-selector__product-description ul,
.wat-container-selector__product-description ol {
	margin: 0.5rem 0;
	padding-left: 1.5rem;
}

.wat-container-selector__product-description li {
	margin: 0.25rem 0;
}

.wat-container-selector__product-description h1,
.wat-container-selector__product-description h2,
.wat-container-selector__product-description h3,
.wat-container-selector__product-description h4,
.wat-container-selector__product-description h5,
.wat-container-selector__product-description h6 {
	margin: 0.75rem 0 0.5rem 0;
	font-weight: 600;
}

.wat-container-selector__product-description h1:first-child,
.wat-container-selector__product-description h2:first-child,
.wat-container-selector__product-description h3:first-child,
.wat-container-selector__product-description h4:first-child,
.wat-container-selector__product-description h5:first-child,
.wat-container-selector__product-description h6:first-child {
	margin-top: 0;
}

.wat-container-selector__product-description strong {
	font-weight: 600;
}

.wat-container-selector__product-description em {
	font-style: italic;
}

.wat-container-selector__product-description a {
	color: inherit;
	text-decoration: underline;
}

.wat-container-selector__product-description a:hover {
	opacity: 0.8;
}

/* Container Selector: Category description formatting */
.wat-container-selector__category-description {
	line-height: 1.6;
}

.wat-container-selector__category-description p {
	margin: 0.5rem 0;
}

.wat-container-selector__category-description p:first-child {
	margin-top: 0;
}

.wat-container-selector__category-description p:last-child {
	margin-bottom: 0;
}

.wat-container-selector__category-description br {
	display: block;
	margin: 0.5rem 0;
	content: "";
}

.wat-container-selector__category-description ul,
.wat-container-selector__category-description ol {
	margin: 0.5rem 0;
	padding-left: 1.5rem;
}

.wat-container-selector__category-description li {
	margin: 0.25rem 0;
}

.wat-container-selector__category-description h1,
.wat-container-selector__category-description h2,
.wat-container-selector__category-description h3,
.wat-container-selector__category-description h4,
.wat-container-selector__category-description h5,
.wat-container-selector__category-description h6 {
	margin: 0.75rem 0 0.5rem 0;
	font-weight: 600;
}

.wat-container-selector__category-description h1:first-child,
.wat-container-selector__category-description h2:first-child,
.wat-container-selector__category-description h3:first-child,
.wat-container-selector__category-description h4:first-child,
.wat-container-selector__category-description h5:first-child,
.wat-container-selector__category-description h6:first-child {
	margin-top: 0;
}

.wat-container-selector__category-description strong {
	font-weight: 600;
}

.wat-container-selector__category-description em {
	font-style: italic;
}

.wat-container-selector__category-description a {
	color: inherit;
	text-decoration: underline;
}

.wat-container-selector__category-description a:hover {
	opacity: 0.8;
}

.wat-container-selector__category-title-button {
	background-color: var(--color-primary) !important;
	color: #fff !important;
	border: 2px solid var(--color-primary) !important;
}

.wat-container-selector__category-title-button:hover {
	background-color: #fff !important;
	color: var(--color-primary) !important;
	border-color: var(--color-primary) !important;
}

.wat-container-selector__category-button:hover .wat-container-selector__category-title-button {
	background-color: #fff !important;
	color: var(--color-primary) !important;
	border-color: var(--color-primary) !important;
}

/* ── Checkout order summary: container & delivery blok ── */
.wat-checkout-container-summary,
.wat-checkout-delivery-summary {
	padding: 12px 0;
	border-top: 1px solid #e0e0e0;
	margin-top: 8px;
}

.wat-container-order-summary__row,
.wat-delivery-order-summary__row {
	display: flex;
	justify-content: space-between;
	padding: 4px 0;
	font-size: 14px;
	line-height: 1.5;
}

.wat-container-order-summary__label,
.wat-delivery-order-summary__label {
	color: #555;
	flex: 0 0 auto;
	padding-right: 12px;
}

.wat-container-order-summary__value,
.wat-delivery-order-summary__value {
	color: #111;
	font-weight: 500;
	text-align: right;
}

/* Wijzigen-knop */
.wat-container-edit-btn {
	display: inline-block;
	margin-top: 10px;
	padding: 6px 16px !important;
	background-color: var(--color-primary, #2271b1) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 4px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: opacity 0.15s ease;
}

.wat-container-edit-btn:hover {
	opacity: 0.85;
}

/* Bewerkformulier */
.wat-container-edit-form {
	padding-top: 8px;
}

.wat-container-edit-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 4px;
	font-size: 13px;
	color: #333;
}

.wat-container-edit-form input[type="date"],
.wat-container-edit-form select,
.wat-container-edit-form textarea {
	width: 100%;
	padding: 7px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 13px;
	box-sizing: border-box;
	background: #fff;
	color: #111;
}

.wat-container-edit-form input[type="date"]:focus,
.wat-container-edit-form select:focus,
.wat-container-edit-form textarea:focus {
	outline: 2px solid var(--color-primary, #2271b1);
	border-color: var(--color-primary, #2271b1);
}

.wat-container-edit-form textarea {
	resize: vertical;
}

/* Opslaan / Annuleren knoppen */
.wat-container-edit-form .wat-edit-actions {
	display: flex;
	gap: 8px;
	margin-top: 4px;
}

.wat-edit-save-btn {
	flex: 1;
	padding: 9px 14px;
	background-color: var(--color-primary, #2271b1);
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: opacity 0.15s ease;
}

.wat-edit-save-btn:disabled {
	background-color: #aaa;
	cursor: not-allowed;
}

.wat-edit-save-btn:not(:disabled):hover {
	opacity: 0.85;
}

.wat-edit-cancel-btn {
	flex: 1;
	padding: 9px 14px;
	background: #fff;
	color: #333;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 13px;
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.wat-edit-cancel-btn:not(:disabled):hover {
	border-color: #999;
	color: #111;
}

.wat-edit-cancel-btn:disabled {
	cursor: not-allowed;
	opacity: 0.6;
}

/* ── WooCommerce Blocks: "Bestelling plaatsen" knop ── */
.wc-block-components-checkout-place-order-button {
	background-color: var(--color-primary, #2271b1) !important;
	color: #fff !important;
	border: 2px solid var(--color-primary, #2271b1) !important;
	border-radius: 4px !important;
	padding: 14px 24px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	width: 100% !important;
	cursor: pointer !important;
	transition: opacity 0.15s ease, background-color 0.15s ease !important;
	letter-spacing: 0.01em;
}

.wc-block-components-checkout-place-order-button:hover:not(:disabled) {
	opacity: 0.88 !important;
}

.wc-block-components-checkout-place-order-button:disabled {
	opacity: 0.6 !important;
	cursor: not-allowed !important;
}

.wc-block-components-checkout-place-order-button__text {
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
}

/* ── Besteloverzicht: product thumbnails ── */
.wc-block-components-order-summary .wc-block-components-order-summary-item__image {
    padding: 8px 0 !important;
}
.wc-block-components-order-summary-item__image {
	position: relative !important;
	width: 74px !important;
	min-width: 64px !important;
	height: 64px !important;
	border-radius: 6px !important;
	overflow: visible !important;
	border: 1px solid #e0e0e0 !important;
	background: #f8f8f8 !important;
	flex-shrink: 0 !important;
}

.wc-block-components-order-summary-item__image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	display: block !important;
	border-radius: 5px !important;
	overflow: hidden !important;
}

.wc-block-components-order-summary-item__quantity {
	position: absolute !important;
	top: -6px !important;
	right: -6px !important;
	min-width: 22px !important;
	height: 22px !important;
	line-height: 22px !important;
	padding: 0 5px !important;
	background-color: var(--color-primary, #2271b1) !important;
	color: #fff !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	border-radius: 11px !important;
	text-align: center !important;
	z-index: 1 !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
}

.wc-block-components-order-summary-item {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	padding: 12px 0 !important;
}

.wc-block-components-order-summary-item__description {
	flex: 1 !important;
	min-width: 0 !important;
}

/* ── Cart items: "Wijzigen" knop ── */
.wat-cart-edit-btn {
	display: block;
	width: 100%;
	margin-top: 8px;
	padding: 10px 16px;
	background-color: var(--color-primary, #2271b1);
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	text-align: center;
	transition: opacity 0.15s ease;
}

.wat-cart-edit-btn:hover:not(:disabled) {
	opacity: 0.85;
}

.wat-cart-edit-btn:disabled {
	background-color: #aaa;
	cursor: not-allowed;
}

/* Floating Gravity Forms popup */
.wat-floating-gf {
	position: fixed;
	bottom: 30px;
	z-index: 9999;
}

.wat-floating-gf--right {
	right: 30px;
}

.wat-floating-gf--left {
	left: 30px;
}

.wat-floating-gf__fab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border: 0;
	border-radius: 999px;
	color: #ffffff;
	cursor: pointer;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.22);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wat-floating-gf__fab:hover,
.wat-floating-gf__fab:focus {
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25);
}

.wat-floating-gf__fab:focus {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.wat-floating-gf__icon {
	line-height: 0;
	display: inline-flex;
}

.wat-floating-gf__overlay {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(0, 0, 0, 0.6);
	z-index: 10000;
}

.wat-floating-gf__overlay.is-open {
	display: flex;
}

.wat-floating-gf__modal {
	position: relative;
	width: min(680px, 100%);
	max-height: min(90vh, 860px);
	overflow-y: auto;
	border-radius: 16px;
	box-shadow: 0 18px 38px rgba(0, 0, 0, 0.26);
	text-align: center;
}

.wat-floating-gf__close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #4b5563;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.wat-floating-gf__close:hover,
.wat-floating-gf__close:focus {
	color: #111827;
}

.wat-floating-gf__content {
	padding-top: 14px;
}

.wat-floating-gf__content .gform_title,
.wat-floating-gf__content .gform_description {
	color: #ffffff;
}

body.wat-floating-gf-modal-open {
	overflow: hidden;
}

/* WAT List with Icons: centered divider between horizontal items */
.wat-list-with-icons--horizontal.has-item-dividers .wat-list-with-icons__list {
	gap: 0;
}

.wat-list-with-icons__divider {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	list-style: none;
	padding-top: 0;
	padding-bottom: 0;
	margin: 0;
}

.wat-list-with-icons__divider-line {
	display: block;
	width: 1px;
	min-height: 3rem;
	background-color: #d1d5db;
	flex-shrink: 0;
}

a.wat-list-with-icons__link,
.wat-list-with-icons__link {
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

.wat-list-with-icons.has-link-color a,
.wat-list-with-icons.has-link-color .wat-list-with-icons__link {
	color: var(--wat-list-link-color);
}

.wat-list-with-icons__item.has-text-and-content .wat-list-with-icons__text,
.wat-list-with-icons__item.has-text-and-content .wat-list-with-icons__content,
.wat-list-with-icons__item.has-text-and-content .wat-list-with-icons__content p {
	line-height: 1;
}

.wat-list-with-icons__content > :first-child {
	margin-top: 0;
}

.wat-list-with-icons--horizontal .wat-list-with-icons__list {
	align-items: center;
}

.wat-list-with-icons--horizontal .wat-list-with-icons__row {
	align-items: center;
}

.wat-list-with-icons.text-center .wat-list-with-icons__item,
.wat-list-with-icons.text-center .wat-list-with-icons__row {
	align-items: center;
}

.wat-list-with-icons.text-center .wat-list-with-icons__row {
	justify-content: center;
}

.wat-list-with-icons.text-right .wat-list-with-icons__item {
	align-items: flex-end;
}

.wat-list-with-icons.text-right .wat-list-with-icons__row {
	justify-content: flex-end;
}

/* ==========================================================================
   Horizontale gutter (systemisch)
   --------------------------------------------------------------------------
   Probleem: de Tailwind `.container` uit het thema zet alleen width/max-width/
   margin-inline:auto en GEEN horizontale padding. Op desktop maskeert de
   auto-marge dat; op mobiel is de container 100% breed en plakt de inhoud
   tegen de rand. Eén centrale gutter lost dat op voor bestaande en nieuwe
   blokken tegelijk, zonder per-sectie hacks.

   Cascade-notitie (load order): wat-plugin-public.css laadt VOOR de
   gecompileerde app-*.css van het thema. Toch is `body .container` of
   !important hier niet nodig: die build is Tailwind v4 en zet al zijn regels
   in `@layer theme/base/utilities`. Ongelaagde CSS - zoals dit bestand - wint
   altijd van gelaagde CSS, ongeacht volgorde en specificiteit. Dat geldt ook
   voor utility-classes als `px-4`: de gutter wint daar bewust van, zodat de
   marge overal gelijk is. Wil een blok expliciet geen gutter, gebruik dan
   .wat-no-gutter (zie onder).
   ========================================================================== */
:root {
	--wat-gutter: clamp(16px, 5vw, 48px);
}

/* 1. De container krijgt de gutter. Dit fixt in één klap alles wat erin zit.
      `md:container` telt mee: onder de md-breakpoint is dat een volle-breedte
      div zonder gutter, en daarboven een gewone container. */
.container,
[class*="md:container"] {
	box-sizing: border-box;
	padding-inline: var(--wat-gutter);
}

/* 2. Bewuste opt-out. Expliciet en zichtbaar in de markup, in plaats van een
      utility-class die per ongeluk de gutter uitzet. */
.wat-no-gutter {
	padding-inline: 0;
}

/* 3. Full-bleed secties. `.alignfull` breekt bewust uit de container: de
      achtergrond moet full-width blijven, alleen de inhoud volgt de gutter.

      De breedte van zo'n sectie komt NIET van de `width:100vw` uit het thema
      (die staat in een @layer en verliest van de ongelaagde core-regel
      `.wp-block-columns{width:100%}`), maar van die 100%. Zolang de container
      geen padding had was 100% toevallig gelijk aan de viewport en viel dat
      niet op; met gutter is de ouder smaller en zou de achtergrond mee naar
      binnen krimpen.

      Oplossing: binnen een gepadde container de gutter opheffen met een
      negatieve marge en de breedte weer auto laten vullen. Bewust geen
      `width:100vw`: 100vw telt de scrollbar mee en veroorzaakt op desktop
      horizontale overflow. Het !important is hier onvermijdelijk - het thema
      zet zelf `margin:0 calc(50% - 50vw)!important` op .alignfull. Buiten een
      gepadde container blijft het gedrag van het thema ongemoeid. */
.alignfull {
	max-width: none;
}

.container:not(.wat-no-gutter) .alignfull,
[class*="md:container"]:not(.wat-no-gutter) .alignfull {
	width: auto;
	margin-inline: calc(var(--wat-gutter) * -1) !important;
}

/* 4. De inhoud van een full-bleed sectie volgt de gutter. Zit er al een
      .container in de sectie, dan zorgt die voor de marge en zou padding hier
      verdubbelen - vandaar de :has()-guard. */
.alignfull:not(:has(.container)) {
	padding-inline: var(--wat-gutter);
}

/* 5. Media blijft binnen de gutter. Bewust full-bleed alleen via
      .wat-full-bleed, nooit per ongeluk. */
.entry-content img,
.entry-content video,
.entry-content iframe,
[class*="wp-block-wat-"] img,
[class*="wp-block-wat-"] video,
[class*="wp-block-wat-"] iframe {
	max-width: 100%;
	height: auto;
}

.wat-full-bleed {
	max-width: none;
	width: 100vw;
	margin-inline: calc(50% - 50vw);
}
