/* ==========================================================================
   Webdesign in Helmond — aanvullende CSS
   Alles wat niet uit theme.json kan komen: filters, clip-paths, decoraties.
   ========================================================================== */

:root {
	--wdh-accent: var(--wp--preset--color--accent, #F94F0A);
	--wdh-dark: var(--wp--preset--color--contrast, #11161E);
	--wdh-clip: 34px; /* grootte van de afgesneden hoek */
}

/* --------------------------------------------------------------------------
   Bovenkopje: oranje, hoofdletters, ruim gespatieerd
   "WEBSITE LATEN MAKEN IN HELMOND"
   -------------------------------------------------------------------------- */
.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(12px, 1.6vw, 16px);
	font-weight: 400;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: var(--wdh-accent);
	line-height: 1.4;
	margin-bottom: 0.9em;
}

/* --------------------------------------------------------------------------
   Hero: foto ontzadigd en verduisterd, zoals in de Elementor-opzet
   (grayscale + brightness 30% + contrast 120%)
   -------------------------------------------------------------------------- */
.wp-block-cover.is-style-photo-noir .wp-block-cover__image-background,
.wp-block-cover.is-style-photo-noir video.wp-block-cover__video-background {
	filter: grayscale(1) brightness(0.55) contrast(1.15);
}

.wp-block-cover.is-style-photo-noir {
	--wdh-stripe: rgba(255, 255, 255, 0.03);
}

/* Diagonale strepen, subtiel over de hero heen */
.wp-block-cover.is-style-photo-noir::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: repeating-linear-gradient(
		115deg,
		transparent 0 38px,
		var(--wdh-stripe) 38px 78px
	);
	z-index: 1;
}

.wp-block-cover.is-style-photo-noir > .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
}

/* --------------------------------------------------------------------------
   Knop met plusje ervoor
   -------------------------------------------------------------------------- */
.wp-block-button.is-style-plus .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0;
	padding-left: 0;
}

.wp-block-button.is-style-plus .wp-block-button__link::before {
	content: "+";
	display: grid;
	place-items: center;
	align-self: stretch;
	width: 56px;
	margin-right: 26px;
	font-size: 22px;
	font-weight: 300;
	line-height: 1;
	background: rgba(0, 0, 0, 0.12);
}

.wp-block-button.is-style-plus .wp-block-button__link:hover::before {
	background: rgba(255, 255, 255, 0.12);
}

/* --------------------------------------------------------------------------
   Vinkjeslijst met scheidingslijnen (sectie "kost je klanten")
   -------------------------------------------------------------------------- */
.wp-block-list.is-style-checks,
.wp-block-list.is-style-features {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

.wp-block-list.is-style-checks > li,
.wp-block-list.is-style-features > li {
	position: relative;
	padding-left: 42px;
	color: var(--wdh-dark);
	line-height: 1.5;
}

.wp-block-list.is-style-checks > li::before,
.wp-block-list.is-style-features > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.25em;
	width: 22px;
	height: 14px;
	background: var(--wdh-accent);
	clip-path: polygon(9% 44%, 0 56%, 37% 100%, 100% 16%, 90% 0, 36% 74%);
}

/* Variant mét lijnen ertussen */
.wp-block-list.is-style-checks > li {
	padding-top: 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--wp--preset--color--line-dark, rgba(17, 22, 30, 0.1));
}

.wp-block-list.is-style-checks > li:last-child {
	border-bottom: 0;
}

/* Compacte variant zonder lijnen, voor de pakketten */
.wp-block-list.is-style-features > li + li {
	margin-top: 14px;
}

/* --------------------------------------------------------------------------
   Witte kaart (diensten, pakketten)
   -------------------------------------------------------------------------- */
.wp-block-group.is-style-card {
	background: var(--wp--preset--color--base, #fff);
	padding: 40px 34px;
	height: 100%;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wp-block-group.is-style-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 40px rgba(17, 22, 30, 0.1);
}

/* --------------------------------------------------------------------------
   Afbeelding met afgesneden hoek (fotocollage)
   -------------------------------------------------------------------------- */
.wp-block-image.is-style-clipped img {
	clip-path: polygon(
		0 0,
		calc(100% - var(--wdh-clip)) 0,
		100% var(--wdh-clip),
		100% 100%,
		var(--wdh-clip) 100%,
		0 calc(100% - var(--wdh-clip))
	);
}

/* --------------------------------------------------------------------------
   Oranje balkje onder een kop (scheidingslijn_F94F0A)
   -------------------------------------------------------------------------- */
.wp-block-separator.is-style-accent-bar {
	height: 9px;
	max-width: 370px;
	border: 0;
	background: var(--wdh-accent);
	opacity: 1;
	margin-left: 0;
}

/* --------------------------------------------------------------------------
   Fotocollage met de grote V op de achtergrond
   -------------------------------------------------------------------------- */
.wdh-collage {
	position: relative;
	min-height: 420px;
}

.wdh-collage::before {
	content: "";
	position: absolute;
	inset: -16% 12% -8% -24%;
	background: var(--wdh-collage-mark, none) left center / contain no-repeat;
	z-index: 0;
	pointer-events: none;
}

.wdh-collage > * {
	position: relative;
	z-index: 1;
}

/* De kleinere foto overlapt de grote, links onderin */
.wdh-collage .wdh-collage__front {
	margin-top: -14%;
	margin-left: 18%;
	max-width: 62%;
}

@media (max-width: 781px) {
	.wdh-collage .wdh-collage__front {
		margin-top: -10%;
		margin-left: 10%;
		max-width: 72%;
	}
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.wdh-header {
	position: relative;
	z-index: 20;
	background: var(--wdh-dark);
}

/* Diagonale strepen links in de balk, zoals in het ontwerp */
.wdh-header::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: min(420px, 34%);
	background-image: repeating-linear-gradient(
		115deg,
		rgba(255, 255, 255, 0.05) 0 26px,
		transparent 26px 58px
	);
	pointer-events: none;
}

.wdh-header > * {
	position: relative;
}

.wdh-header .wp-block-navigation a {
	color: #fff;
}

.wdh-header .wp-block-navigation .current-menu-item > a {
	color: var(--wdh-accent);
}

.wdh-header .wp-block-navigation a:hover {
	color: var(--wdh-accent);
	text-decoration: none;
}

/* Onderstreping onder het actieve menu-item */
.wdh-header .wp-block-navigation .current-menu-item {
	position: relative;
}

.wdh-header .wp-block-navigation .current-menu-item::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -34px;
	height: 2px;
	background: var(--wdh-accent);
}

/* Oranje telefoonvlak rechts */
.wdh-phone-block {
	align-self: stretch;
	background: var(--wdh-accent);
	display: grid;
	place-items: center;
	width: 124px;
}

.wdh-phone-block svg {
	width: 40px;
	height: 40px;
	fill: none;
	stroke: #fff;
	stroke-width: 1.6;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.wdh-footer {
	background: var(--wdh-dark);
	color: var(--wp--preset--color--footer-text, rgba(255, 255, 255, 0.6));
}

.wdh-footer :where(h1, h2, h3, h4, h5, h6) {
	color: #fff;
}

.wdh-footer a {
	color: var(--wp--preset--color--footer-text, rgba(255, 255, 255, 0.6));
}

.wdh-footer a:hover {
	color: var(--wdh-accent);
	text-decoration: none;
}

.wdh-footer .wp-block-separator {
	border-color: var(--wp--preset--color--line-light, rgba(255, 255, 255, 0.1));
}

/* --------------------------------------------------------------------------
   Portfolio-rij
   -------------------------------------------------------------------------- */
.wdh-portfolio-item {
	position: relative;
	overflow: hidden;
}

.wdh-portfolio-item img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.5s ease;
}

.wdh-portfolio-item:hover img {
	transform: scale(1.06);
}

.wdh-portfolio-item figcaption,
.wdh-portfolio-caption {
	padding: 20px 22px 0;
}

/* --------------------------------------------------------------------------
   Terug-naar-boven knop
   -------------------------------------------------------------------------- */
.wdh-to-top {
	position: fixed;
	right: 0;
	bottom: 24px;
	z-index: 50;
	width: 52px;
	height: 52px;
	display: grid;
	place-items: center;
	background: var(--wdh-accent);
	color: #fff;
	text-decoration: none;
	font-size: 20px;
	line-height: 1;
}

.wdh-to-top:hover {
	background: var(--wdh-dark);
	color: #fff;
}

/* --------------------------------------------------------------------------
   Kleine correcties
   -------------------------------------------------------------------------- */
/* Koppen op donkere vlakken wit maken */
.has-contrast-background-color :where(h1, h2, h3, h4, h5, h6),
.has-black-background-color :where(h1, h2, h3, h4, h5, h6),
.wp-block-cover :where(h1, h2, h3, h4, h5, h6) {
	color: #fff;
}

/* Lopende tekst in een donker vlak */
.wp-block-cover p:not(.is-style-eyebrow) {
	color: rgba(255, 255, 255, 0.75);
}

img {
	max-width: 100%;
	height: auto;
}

/* --------------------------------------------------------------------------
   Header: de oranje telefoonblok moet de volle hoogte van de balk vullen
   -------------------------------------------------------------------------- */
.wdh-header__bar {
	align-items: center;
	gap: clamp(20px, 3vw, 48px);
}

.wdh-header__phone {
	align-items: center;
	gap: 0;
	align-self: stretch;
	margin: -22px 0; /* compenseert de padding van de header, zodat het vlak doorloopt */
}

.wdh-header__phone > .wp-block-group {
	justify-content: center;
}

.wdh-header .wdh-logo {
	margin: 0;
	flex: 0 0 auto;
}

.wdh-header .wp-block-navigation {
	flex: 1 1 auto;
}

@media (max-width: 900px) {
	.wdh-header__bar {
		gap: 16px;
	}
	.wdh-header__phone > .wp-block-group {
		display: none; /* op mobiel alleen het oranje icoon */
	}
	.wdh-phone-block {
		width: 72px;
	}
	.wdh-header .wp-block-navigation .current-menu-item::after {
		display: none;
	}
}

/* De grote oranje/zwarte V achter de fotocollage */
.wdh-collage {
	--wdh-collage-mark: url(/wp-content/uploads/2026/06/w-683x1024.png);
}

/* ==========================================================================
   Correcties na de eerste visuele controle
   ========================================================================== */

/* WordPress' cover-stylesheet forceert color:inherit op alle tekst binnen een
   cover met (0,2,1) specificiteit, en laadt ná dit bestand. Daarom hier hoger. */
.wp-block-cover .wp-block-cover__inner-container .is-style-eyebrow,
.wp-block-cover .wp-block-cover__inner-container p.is-style-eyebrow {
	color: var(--wdh-accent);
}

/* De diensten-links onderin de hero zijn wit, niet oranje */
.wp-block-cover .wp-block-cover__inner-container .wdh-hero-links a {
	color: #fff;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 16px;
	font-weight: 400;
	text-decoration: none;
}

.wp-block-cover .wp-block-cover__inner-container .wdh-hero-links a:hover {
	color: var(--wdh-accent);
}

/* Geen diagonale strepen over de hero-foto: die horen alleen in de balk bovenin */
.wp-block-cover.is-style-photo-noir::after {
	content: none;
}

/* Footer: linklijsten zonder opsommingstekens */
.wdh-footer .wp-block-list {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

/* Footer: knop compacter, past in de smalle kolom */
.wdh-footer .wp-block-button.is-style-plus .wp-block-button__link {
	font-size: 14px;
	padding-top: 18px;
	padding-bottom: 18px;
	padding-right: 24px;
}

.wdh-footer .wp-block-button.is-style-plus .wp-block-button__link::before {
	width: 44px;
	margin-right: 18px;
	font-size: 18px;
}

/* Mobiel: logo, telefoonvlak en hamburger op één regel */
@media (max-width: 900px) {
	.wdh-header__bar {
		flex-wrap: nowrap;
	}
	.wdh-header .wdh-logo {
		order: 1;
		flex: 1 1 auto;
		min-width: 0;
	}
	.wdh-header .wdh-logo img {
		max-width: 100%;
		width: auto !important;
		max-height: 44px;
	}
	.wdh-header__phone {
		order: 2;
		flex: 0 0 auto;
	}
	.wdh-header .wp-block-navigation {
		order: 3;
		flex: 0 0 auto;
	}
}

/* Mobiel: de dienstenlinks onderin de hero staan al in het menu en liepen
   achter de terug-naar-boven-knop; daarom weglaten op kleine schermen. */
@media (max-width: 781px) {
	.wdh-hero-links {
		display: none;
	}
}

/* --------------------------------------------------------------------------
   Uitgelichte uitspraak (blockquote-achtig, met oranje balk ervoor)
   -------------------------------------------------------------------------- */
.wdh-quote {
	border-left: 5px solid var(--wdh-accent);
	padding: 6px 0 6px 30px;
}

.wdh-quote p {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(20px, 2.6vw, 28px);
	font-weight: 300;
	line-height: 1.45;
	color: var(--wdh-dark);
	margin: 0;
}

/* --------------------------------------------------------------------------
   Linklijst in kolommen (klantenlijst op de portfoliopagina)
   -------------------------------------------------------------------------- */
.wdh-linklist {
	columns: 3;
	column-gap: 40px;
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

.wdh-linklist > li {
	break-inside: avoid;
	padding: 9px 0;
	border-bottom: 1px solid var(--wp--preset--color--line-dark, rgba(17, 22, 30, 0.1));
	font-size: 15px;
}

.wdh-linklist > li a {
	color: var(--wdh-dark);
	text-decoration: none;
}

.wdh-linklist > li a:hover {
	color: var(--wdh-accent);
}

@media (max-width: 900px) {
	.wdh-linklist { columns: 2; }
}

@media (max-width: 600px) {
	.wdh-linklist { columns: 1; }
}

/* --------------------------------------------------------------------------
   Reviewkaarten
   -------------------------------------------------------------------------- */
.wdh-stars {
	color: var(--wdh-accent);
	font-size: 17px;
	letter-spacing: 3px;
	line-height: 1;
	margin: 0 0 16px;
}

.wdh-review {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.wdh-review__text {
	font-size: 15px;
	line-height: 1.75;
	margin: 0 0 20px;
	flex: 1 1 auto;
}

.wdh-review__name {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 16px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wdh-dark);
	margin: 0;
}

.wdh-review__source {
	font-size: 13px;
	color: var(--wp--preset--color--grey, #b0b0b0);
	margin: 2px 0 0;
}

.wdh-rating {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 14px;
}

.wdh-rating__score {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 44px;
	font-weight: 700;
	line-height: 1;
	color: var(--wdh-dark);
}
