/* ==========================================================================
   Dentech blokthema – stijlen (front-end + editor)
   Kleuren en lettertypes komen uit theme.json (Weergave › Editor › Stijlen),
   dus het accent aanpassen werkt overal door.
   ========================================================================== */

:root {
	--dt-ease: cubic-bezier(.2, .7, .2, 1);
	--dt-radius: 22px;
	--dt-arrow-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--dt-arrow-ink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1A2B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--dt-mask-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--dt-mask-diag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E");
	--dt-mask-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	--dt-icon-person: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E");
	--dt-icon-tool: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2.5-.5-.5-2.5z'/%3E%3C/svg%3E");
	--dt-icon-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
	--dt-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

:where(.wp-site-blocks) > * {
	margin-block-start: 0;
}

/* ---------- Hero-achtergrond ---------- */
.dt-hero-bg {
	background: var(--wp--preset--gradient--hero);
	background-size: 140% 140%;
	background-position: 0% 0%;
	color: var(--wp--preset--color--surface);
	position: relative;
	overflow: hidden;
}

.dt-hero-bg a:where(:not(.wp-element-button)) {
	color: inherit;
}

.dt-has-overlap {
	padding-bottom: 200px;
}

.dt-page-hero {
	padding-bottom: clamp(3rem, 7vw, 5.5rem);
}

.dt-page-hero .dt-page-title {
	margin-top: clamp(2.5rem, 6vw, 4.5rem);
}

/* ---------- Header ---------- */
.dt-header {
	padding-top: 16px;
}

.dt-utility {
	gap: 8px 22px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
	font-size: var(--wp--preset--font-size--small);
}

.dt-utility .wp-block-navigation {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	gap: 6px 22px;
}

.dt-utility .wp-block-navigation a {
	color: #D6E0EA;
	text-decoration: none;
}

.dt-utility .wp-block-navigation a:hover {
	color: #FFFFFF;
}

.dt-utility .wp-block-buttons {
	gap: 10px;
}

.dt-utility .wp-block-button__link {
	padding: 6px 14px;
	font-size: 14px;
	font-weight: 500;
}

.dt-mainbar {
	padding-block: 18px;
	gap: 16px 28px;
}

.dt-brand {
	gap: 12px;
}

.dt-brand .wp-block-site-logo img {
	height: auto;
	max-width: var(--dt-logo-width, 96px);
	width: 100%;
}

.dt-mainbar {
	align-items: center;
}

.dt-site-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 30px;
	letter-spacing: -0.03em;
	line-height: 1;
}

.dt-site-title a {
	text-decoration: none;
	color: inherit;
}

.dt-mainnav-wrap {
	gap: 10px 26px;
}

.dt-header .dt-mainnav a {
	text-decoration: none;
}

.dt-header .dt-mainnav .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--accent);
}

/* Uitklapmenu "Kies een dienst" als pil */
.dt-header .dt-mainnav .dt-dienst-menu > .wp-block-navigation-item__content {
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 999px;
	padding: 10px 18px;
	min-height: 44px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
}

.dt-header .dt-mainnav .dt-dienst-menu > .wp-block-navigation__submenu-icon {
	margin-left: -34px;
	margin-right: 16px;
	position: relative;
	z-index: 1;
}

.dt-header .wp-block-navigation .wp-block-navigation__submenu-container {
	background: #FFFFFF !important;
	color: var(--wp--preset--color--ink) !important;
	border: 0 !important;
	border-radius: 18px;
	padding: 10px;
	min-width: 290px !important;
	box-shadow: 0 24px 60px -20px rgba(9, 16, 30, .55);
	top: calc(100% + 10px) !important;
	transform: translateY(-8px);
	transition: opacity .25s ease, transform .25s var(--dt-ease), visibility .25s;
}

.dt-header .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
.dt-header .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container {
	transform: none;
}

.dt-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--wp--preset--color--ink);
	padding: 12px 14px 12px 42px !important;
	border-radius: 12px;
	position: relative;
	font-weight: 500;
}

.dt-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	width: 16px;
	height: 16px;
	transform: translateY(-50%);
	background: var(--dt-item-color, #2F7BEA);
	-webkit-mask: var(--dt-mask-diag) center / contain no-repeat;
	mask: var(--dt-mask-diag) center / contain no-repeat;
}

/* Kleuren volgen de zes pijlers (zelfde volgorde als het schema in de hero) */
.dt-header .wp-block-navigation__submenu-container > li:nth-child(6n+1) { --dt-item-color: #1BA8A0; }
.dt-header .wp-block-navigation__submenu-container > li:nth-child(6n+2) { --dt-item-color: #2F7BEA; }
.dt-header .wp-block-navigation__submenu-container > li:nth-child(6n+3) { --dt-item-color: #6C5CE0; }
.dt-header .wp-block-navigation__submenu-container > li:nth-child(6n+4) { --dt-item-color: #5A9E2B; }
.dt-header .wp-block-navigation__submenu-container > li:nth-child(6n+5) { --dt-item-color: #D9435E; }
.dt-header .wp-block-navigation__submenu-container > li:nth-child(6n+6) { --dt-item-color: #E0812F; }

.dt-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: #EEF1EC;
	color: var(--wp--preset--color--ink);
}

/* Mobiel menu */
.dt-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--night) !important;
	color: #FFFFFF !important;
	padding: 32px 24px;
}

.dt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	color: inherit !important;
	box-shadow: none;
	transform: none;
}

.dt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #D6E0EA;
}

/* ---------- Knoppen (blokstijlen) ---------- */
.wp-block-button .wp-block-button__link {
	transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.wp-block-button .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px -14px rgba(14, 26, 43, .6);
}

.wp-block-button.is-style-dt-accent .wp-block-button__link {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--ink);
}

.wp-block-button.is-style-dt-light .wp-block-button__link {
	background: #FFFFFF;
	color: var(--wp--preset--color--ink);
}

.wp-block-button.is-style-dt-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ink);
	border: 1.5px solid currentColor;
}

.wp-block-button.is-style-dt-outline-light .wp-block-button__link {
	background: transparent;
	color: #FFFFFF;
	border: 1px solid rgba(255, 255, 255, .35);
}

.wp-block-button.is-style-dt-outline-light .wp-block-button__link:hover {
	background: rgba(255, 255, 255, .1);
}

.wp-block-button.is-style-dt-arrow-light .wp-block-button__link,
.wp-block-button.is-style-dt-arrow-dark .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 6px 24px 6px 6px;
}

.wp-block-button.is-style-dt-arrow-light .wp-block-button__link {
	background: #FFFFFF;
	color: var(--wp--preset--color--ink);
}

.wp-block-button.is-style-dt-arrow-dark .wp-block-button__link {
	background: var(--wp--preset--color--ink);
	color: #FFFFFF;
}

.wp-block-button.is-style-dt-arrow-light .wp-block-button__link::before,
.wp-block-button.is-style-dt-arrow-dark .wp-block-button__link::before {
	content: "";
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--wp--preset--color--ink) var(--dt-arrow-white) center / 16px no-repeat;
	transition: transform .3s ease;
}

.wp-block-button.is-style-dt-arrow-dark .wp-block-button__link::before {
	background: var(--wp--preset--color--accent) var(--dt-arrow-ink) center / 16px no-repeat;
}

.wp-block-button.is-style-dt-arrow-light .wp-block-button__link:hover::before,
.wp-block-button.is-style-dt-arrow-dark .wp-block-button__link:hover::before {
	transform: translateX(3px);
}

.wp-block-button.is-style-dt-text-arrow .wp-block-button__link {
	background: transparent;
	color: inherit;
	padding: 10px 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.wp-block-button.is-style-dt-text-arrow .wp-block-button__link:hover {
	box-shadow: none;
}

.wp-block-button.is-style-dt-text-arrow .wp-block-button__link::after {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--dt-mask-diag) center / contain no-repeat;
	mask: var(--dt-mask-diag) center / contain no-repeat;
	transition: transform .3s ease;
}

.wp-block-button.is-style-dt-text-arrow .wp-block-button__link:hover::after {
	transform: translate(3px, -3px);
}

/* ---------- Hero ---------- */
.dt-hero {
	padding-top: clamp(3rem, 6vw, 4.5rem);
	gap: 40px 72px;
	align-items: flex-end;
}

.dt-hero-title {
	flex: 1 1 560px;
	min-width: 0;
	margin: 0;
	line-height: .96 !important;
	letter-spacing: -0.045em !important;
}

.dt-hero-intro {
	flex: 1 1 380px;
	min-width: 0;
	padding-bottom: 14px;
}

.dt-hero-intro > p {
	max-width: 500px;
	line-height: 1.6;
}

.dt-hero-intro .wp-block-buttons {
	margin-top: 32px;
	gap: 14px 22px;
}

.dt-network {
	margin-top: 56px !important;
}

.dt-network svg {
	display: block;
	width: 100%;
	height: auto;
}

/* ---------- Secties ---------- */
.dt-section {
	padding-block: clamp(4.5rem, 9vw, 7.5rem);
}

.dt-section-head {
	gap: 20px 64px;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.dt-section-head > * {
	flex: 1 1 340px;
	min-width: 0;
	margin: 0 !important;
}

.dt-section-head > h2 {
	flex: 1 1 520px;
}

.dt-section-head > p {
	max-width: 460px;
}

.is-style-dt-eyebrow {
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 700;
}

.dt-overlap {
	margin-top: -150px !important;
	position: relative;
	z-index: 2;
}

/* ---------- Kaarten ---------- */
.is-style-dt-panel {
	background: #FFFFFF;
	color: var(--wp--preset--color--ink);
	border-radius: 28px;
	padding: clamp(28px, 4vw, 52px);
	box-shadow: var(--wp--preset--shadow--panel);
}

.is-style-dt-card-dark,
.is-style-dt-card-light,
.is-style-dt-card-white,
.is-style-dt-card-accent {
	position: relative;
	border-radius: var(--dt-radius);
	display: flex;
	flex-direction: column;
	transition: transform .4s var(--dt-ease), box-shadow .4s ease, border-color .3s ease;
}

.is-style-dt-card-dark {
	background: var(--wp--preset--color--navy-soft);
	color: #FFFFFF;
	border: 1px solid rgba(255, 255, 255, .12);
	overflow: hidden;
}

.is-style-dt-card-dark:hover {
	transform: translateY(-8px);
	border-color: color-mix(in srgb, var(--wp--preset--color--accent) 55%, transparent);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .7);
}

.is-style-dt-card-light {
	background: var(--wp--preset--color--base);
	padding: 28px;
}

.is-style-dt-card-white {
	background: #FFFFFF;
	padding: 30px 28px 28px;
}

.is-style-dt-card-accent {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--navy);
	padding: 36px 32px 28px;
}

.is-style-dt-card-light:hover,
.is-style-dt-card-white:hover,
.is-style-dt-card-accent:hover {
	transform: translateY(-6px);
	box-shadow: var(--wp--preset--shadow--soft);
}

.is-style-dt-card-dark > *,
.is-style-dt-card-white > *,
.is-style-dt-card-light > *,
.is-style-dt-card-accent > * {
	min-width: 0;
}

/* Beeldvlak bovenin donkere kaart */
.dt-card-visual {
	margin: 0 !important;
	border-radius: 0;
	padding: 0 !important;
	overflow: hidden;
}

.dt-card-visual .wp-block-cover__inner-container {
	display: flex;
	align-items: center;
	justify-content: center;
}

.dt-card-visual svg {
	width: 84px;
	height: 84px;
	transition: transform .6s var(--dt-ease);
}

.dt-card-visual img.wp-block-cover__image-background {
	transition: transform .8s var(--dt-ease);
}

.is-style-dt-card-dark:hover .dt-card-visual svg {
	transform: scale(1.08) rotate(-4deg);
}

.is-style-dt-card-dark:hover .dt-card-visual img.wp-block-cover__image-background {
	transform: scale(1.06);
}

.dt-card-body {
	padding: 28px;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	margin: 0 !important;
}

.dt-card-body > :nth-last-child(2) {
	margin-bottom: 34px;
}

.dt-card-body h3,
.is-style-dt-card-accent h3 {
	margin: 0;
}

/* Kaartlink: hele kaart klikbaar + ronde pijlknop op een lijn */
.dt-card-link {
	margin-top: auto !important;
	border-top: 2px solid rgba(255, 255, 255, .14);
	padding-top: 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
}

.dt-card-link a {
	color: inherit;
	text-decoration: none;
}

:where(body:not(.editor-styles-wrapper)) .dt-card-link a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.dt-card-link::after {
	content: "";
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent) var(--dt-arrow-ink) center / 18px no-repeat;
	transition: transform .35s ease;
}

.is-style-dt-card-light .dt-card-link,
.is-style-dt-card-white .dt-card-link {
	border-top-color: var(--wp--preset--color--line);
}

.is-style-dt-card-light .dt-card-link::after,
.is-style-dt-card-white .dt-card-link::after {
	background: var(--wp--preset--color--ink) var(--dt-arrow-white) center / 18px no-repeat;
}

.is-style-dt-card-accent .dt-card-link {
	border-top-color: rgba(15, 24, 48, .2);
	font-weight: 700;
}

.is-style-dt-card-accent .dt-card-link::after {
	background: var(--wp--preset--color--navy) var(--dt-arrow-white) center / 18px no-repeat;
}

:is(.is-style-dt-card-dark, .is-style-dt-card-light, .is-style-dt-card-white, .is-style-dt-card-accent):hover .dt-card-link::after {
	transform: rotate(-45deg);
}

/* Persona-kaarten */
.dt-persona {
	min-height: 200px;
	gap: 22px !important;
}

.dt-persona > p:first-child {
	margin: 0;
}

.dt-persona h3 {
	margin: 0;
	flex-grow: 1;
	font-size: clamp(1.2rem, 1.8vw, 1.45rem) !important;
	line-height: 1.25 !important;
}

.dt-persona .dt-card-link {
	border-top: 0;
	padding-top: 0;
}

mark.dt-hl {
	background-color: transparent;
	color: inherit;
	background-image: linear-gradient(transparent 62%, color-mix(in srgb, var(--wp--preset--color--accent) 80%, transparent) 62%);
	background-size: 0% 100%;
	background-repeat: no-repeat;
	transition: background-size .5s ease;
}

.dt-persona:hover mark.dt-hl {
	background-size: 100% 100%;
}

/* Kerncijfers */
.dt-stats {
	padding-block: 64px 56px;
}

.dt-stat {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 2.75rem;
	letter-spacing: -0.04em;
	line-height: 1.1;
	margin: 0 !important;
}

.dt-stats p:not(.dt-stat) {
	margin-top: 4px !important;
}

/* ---------- Waarom Dentech ---------- */
.dt-why {
	gap: 48px 80px !important;
	align-items: center;
}

.dt-why > * {
	flex: 1 1 440px;
	min-width: 0;
}

.dt-why-visual {
	flex-basis: 480px;
	border-radius: 28px;
	padding: 32px !important;
	align-items: flex-end !important;
	justify-content: flex-start !important;
	overflow: hidden;
}

.dt-why-visual .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
	color: var(--wp--preset--color--ink);
}

.dt-badge {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	width: fit-content;
	background: var(--wp--preset--color--ink);
	color: #FFFFFF;
	border-radius: 999px;
	padding: 10px 18px;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	margin: 0 !important;
}

.dt-badge::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
}

.dt-quote-card {
	background: #FFFFFF;
	color: var(--wp--preset--color--ink);
	border-radius: 20px;
	padding: 26px !important;
	max-width: 380px;
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6);
	margin: 0 !important;
}

.dt-quote-card p {
	margin: 0;
}

.dt-quote-card cite {
	display: block;
	margin-top: 14px;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 600;
	color: var(--wp--preset--color--muted);
}

/* USP-lijst met iconen */
.wp-block-list.is-style-dt-usp {
	list-style: none;
	padding: 0;
	margin: 0 0 36px;
	display: flex;
	flex-direction: column;
	gap: 26px;
}

.is-style-dt-usp li {
	position: relative;
	padding-left: 72px;
	min-height: 52px;
	color: var(--wp--preset--color--muted);
}

.is-style-dt-usp li strong {
	display: block;
	color: var(--wp--preset--color--ink);
	font-size: 1.1875rem;
	margin-bottom: 4px;
}

.is-style-dt-usp li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: var(--wp--preset--color--ink);
}

.is-style-dt-usp li::after {
	content: "";
	position: absolute;
	left: 14px;
	top: 14px;
	width: 24px;
	height: 24px;
	background: var(--wp--preset--color--accent);
	-webkit-mask: var(--dt-icon-check) center / contain no-repeat;
	mask: var(--dt-icon-check) center / contain no-repeat;
}

.is-style-dt-usp li:nth-child(3n+1)::after { -webkit-mask-image: var(--dt-icon-person); mask-image: var(--dt-icon-person); }
.is-style-dt-usp li:nth-child(3n+2)::after { -webkit-mask-image: var(--dt-icon-tool); mask-image: var(--dt-icon-tool); }
.is-style-dt-usp li:nth-child(3n+3)::after { -webkit-mask-image: var(--dt-icon-shield); mask-image: var(--dt-icon-shield); }

/* ---------- Werkwijze ---------- */
.dt-step {
	padding-bottom: 58px !important;
}

.dt-step h3 {
	margin: 0;
}

.dt-step::before,
.dt-step::after {
	content: "";
	position: absolute;
	left: 28px;
	right: 28px;
	bottom: 28px;
	height: 2px;
	background: var(--wp--preset--color--line);
}

.dt-step::after {
	background: var(--wp--preset--color--ink);
	transform: scaleX(1);
	transform-origin: left;
	transition: transform 1.2s var(--dt-ease) .3s;
}

.is-style-dt-card-dark.dt-step {
	padding: 30px 28px 58px;
	border: 0;
	background: var(--wp--preset--color--ink);
}

.is-style-dt-card-dark.dt-step::before {
	background: rgba(255, 255, 255, .18);
}

.is-style-dt-card-dark.dt-step::after {
	background: var(--wp--preset--color--accent);
}

.dt-step-num {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	margin: 0 0 4px !important;
}

/* ---------- Kennismaken (gesplitst blok) ---------- */
.dt-split {
	border-radius: 28px;
	overflow: hidden;
	gap: 0 !important;
	background: var(--wp--preset--color--ink);
}

.dt-split > * {
	flex: 1 1 440px;
	min-width: 0;
	margin: 0 !important;
}

.dt-split-text {
	background: #FFFFFF;
	padding: clamp(36px, 5vw, 72px) !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.dt-split-text h2 {
	margin: 0;
}

.dt-split-visual {
	min-height: 360px;
	padding: 40px !important;
}

.dt-person-card {
	background: rgba(255, 255, 255, .95);
	color: var(--wp--preset--color--ink);
	border-radius: 20px;
	padding: 22px 24px !important;
	max-width: 340px;
	margin-inline: auto;
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6);
}

.dt-person-card p {
	margin: 0;
}

/* ---------- Nieuws ---------- */
.dt-news-card {
	padding: 0 !important;
	overflow: hidden;
}

.dt-news-card .wp-block-post-featured-image {
	margin: 0;
	overflow: hidden;
	background: var(--wp--preset--gradient--sky);
	aspect-ratio: 16 / 10;
}

.dt-news-card .wp-block-post-featured-image img {
	transition: transform .6s var(--dt-ease);
}

.dt-news-card:hover .wp-block-post-featured-image img {
	transform: scale(1.05);
}

.dt-news-card .dt-card-body {
	gap: 10px;
}

.dt-news-card .dt-card-body > :nth-last-child(2) {
	margin-bottom: 0;
}

.dt-news-card .wp-block-post-terms {
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--wp--preset--color--muted);
}

.dt-news-card .wp-block-post-terms a {
	color: inherit;
	text-decoration: none;
	position: relative;
	z-index: 2;
}

.dt-news-card .wp-block-post-title {
	margin: 0;
	font-size: 1.3rem;
	line-height: 1.3;
	letter-spacing: -0.015em;
}

.dt-news-card .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

:where(body:not(.editor-styles-wrapper)) .dt-news-card .wp-block-post-title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* ---------- Partners (lopende band) ---------- */
.dt-marquee {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.dt-marquee-track {
	flex-wrap: nowrap !important;
	gap: 64px !important;
	width: max-content;
	padding-right: 64px;
}

.dt-marquee-track > * {
	margin: 0 !important;
	white-space: nowrap;
	flex: 0 0 auto;
}

.dt-marquee-track p {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 1.625rem;
	color: #5C6A77;
}

.dt-marquee-track img {
	height: 44px;
	width: auto;
	filter: grayscale(1);
	opacity: .75;
	transition: filter .3s ease, opacity .3s ease;
}

.dt-marquee-track img:hover {
	filter: none;
	opacity: 1;
}

/* ---------- Werken bij ---------- */
.dt-jobs {
	border-radius: 28px;
	padding: clamp(36px, 5vw, 72px) !important;
	gap: 32px 56px !important;
}

.dt-jobs > .wp-block-group {
	flex: 1 1 480px;
	min-width: 0;
}

.dt-jobs h2 {
	margin-top: 0;
}

/* ---------- Footer ---------- */
.dt-footer {
	padding-top: clamp(4.5rem, 9vw, 6.25rem);
	padding-bottom: 40px;
}

.dt-footer a {
	color: #FFFFFF;
	text-decoration: none;
}

.dt-footer a:hover {
	color: var(--wp--preset--color--accent);
}

.dt-footer-top {
	gap: 48px 72px !important;
	padding-bottom: 64px;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.dt-footer-top > * {
	flex: 1 1 440px;
	min-width: 0;
}

.dt-footer-cta h2 {
	color: #FFFFFF;
	line-height: .98;
	letter-spacing: -0.045em;
	margin: 0 0 30px;
}

.dt-footer-cols {
	gap: 32px !important;
}

.dt-footer-cols h3 {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 700;
	color: #8E9DAD;
	margin: 0 0 12px;
}

.dt-footer-cols p {
	margin: 0;
	color: #FFFFFF;
}

.dt-footer-bottom {
	padding-top: 28px;
	gap: 12px 28px;
	font-size: var(--wp--preset--font-size--small);
	color: #8E9DAD;
}

.dt-footer-bottom a {
	color: #8E9DAD;
	text-decoration: underline;
}

.dt-footer-bottom p {
	margin: 0;
}

/* ---------- Pagina's en berichten ---------- */
.dt-content {
	padding-block: clamp(3rem, 7vw, 6rem);
}

.dt-content .wp-block-post-featured-image {
	border-radius: 24px;
	overflow: hidden;
	margin-bottom: 3rem;
}

.dt-post-meta {
	gap: 8px 18px;
	color: #D6E0EA;
	font-size: var(--wp--preset--font-size--small);
}

.dt-post-meta a {
	color: inherit;
}

.wp-block-query-pagination {
	margin-top: 3rem;
	gap: 12px;
}

/* ==========================================================================
   Animaties
   Alleen actief als JavaScript draait én de bezoeker geen "minder beweging"
   heeft ingesteld (zie functions.php). In de editor staat alles stil.
   ========================================================================== */

html.dt-js .dt-hero-bg {
	animation: dt-drift 18s ease-in-out infinite alternate;
}

html.dt-js .dt-rise {
	opacity: 0;
	transform: translateY(32px);
	animation: dt-rise 1s var(--dt-ease) forwards;
}

html.dt-js .dt-d2 { animation-delay: .18s; }
html.dt-js .dt-d3 { animation-delay: .32s; }
html.dt-js .dt-d4 { animation-delay: .46s; }
html.dt-js .dt-d5 { animation-delay: .62s; }

html.dt-js .dt-hero-title mark {
	display: inline-block;
	opacity: 0;
	transform: translateY(24px);
	animation: dt-rise .9s var(--dt-ease) .4s forwards;
}

/* Scroll-reveal (klasse is-visible wordt door theme.js gezet) */
html.dt-js .dt-reveal,
html.dt-js .dt-stagger > * {
	/* "translate" i.p.v. "transform", zodat hover-effecten (transform) blijven werken */
	opacity: 0;
	translate: 0 48px;
	transition: opacity .9s var(--dt-ease) var(--dt-delay, 0s), translate .9s var(--dt-ease) var(--dt-delay, 0s), transform .4s var(--dt-ease), box-shadow .4s ease, border-color .3s ease;
}

html.dt-js .dt-reveal.is-visible,
html.dt-js .dt-stagger > .is-visible {
	opacity: 1;
	translate: none;
}

html.dt-js .dt-slide-left {
	opacity: 0;
	translate: -80px 0;
	transition: opacity 1s var(--dt-ease), translate 1s var(--dt-ease);
}

html.dt-js .dt-slide-left.is-visible {
	opacity: 1;
	translate: none;
}

html.dt-js .dt-step::after {
	transform: scaleX(0);
}

html.dt-js .dt-step.is-visible::after {
	transform: scaleX(1);
}

html.dt-js .dt-float {
	animation: dt-float 6s ease-in-out infinite;
}

html.dt-js .dt-float-alt {
	animation: dt-float 7s ease-in-out 1.5s infinite;
}

html.dt-js .dt-badge::before {
	animation: dt-pulse 2.2s ease-out infinite;
}

html.dt-js .dt-marquee-track.is-running {
	animation: dt-marquee 40s linear infinite;
}

html.dt-js .dt-marquee:hover .dt-marquee-track {
	animation-play-state: paused;
}

/* Netwerk-illustratie in de hero */
html.dt-js .dt-flow {
	stroke-dasharray: 6 10;
	animation: dt-flow 1.6s linear infinite;
}

html.dt-js .dt-node {
	transform-box: fill-box;
	transform-origin: center;
	animation: dt-breathe 3.2s ease-in-out infinite;
}

html.dt-js .dt-node.dt-n2 { animation-delay: .8s; }
html.dt-js .dt-node.dt-n3 { animation-delay: 1.6s; }
html.dt-js .dt-node.dt-n4 { animation-delay: 2.4s; }
html.dt-js .dt-node.dt-n5 { animation-delay: .4s; }
html.dt-js .dt-node.dt-n6 { animation-delay: 2s; }

html.dt-js .dt-ring {
	transform-box: fill-box;
	transform-origin: center;
	animation: dt-ring 3s ease-out infinite;
}

@keyframes dt-drift { to { background-position: 100% 100%; } }
@keyframes dt-rise { to { opacity: 1; transform: none; } }
@keyframes dt-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes dt-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--wp--preset--color--accent) 65%, transparent); } 80%, 100% { box-shadow: 0 0 0 10px transparent; } }
@keyframes dt-marquee { to { transform: translateX(-50%); } }
@keyframes dt-flow { to { stroke-dashoffset: -32; } }
@keyframes dt-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.07); } }
@keyframes dt-ring { 0% { transform: scale(.8); opacity: .7; } 100% { transform: scale(1.7); opacity: 0; } }

/* ---------- Mobiel ---------- */
@media (max-width: 781px) {
	.dt-has-overlap {
		padding-bottom: 170px;
	}

	.dt-network {
		margin-top: 40px !important;
	}

	.dt-utility {
		justify-content: flex-start !important;
	}
}

/* ---------- Aanvullingen ---------- */
/* Pijltje in de "Kies een dienst"-pil */
.dt-header .dt-mainnav .dt-dienst-menu > .wp-block-navigation__submenu-icon {
	display: none;
}

.dt-header .dt-mainnav .dt-dienst-menu > .wp-block-navigation-item__content::after {
	content: "";
	width: 14px;
	height: 14px;
	margin-left: 10px;
	background: currentColor;
	-webkit-mask: var(--dt-mask-chevron) center / contain no-repeat;
	mask: var(--dt-mask-chevron) center / contain no-repeat;
	transition: transform .25s ease;
}

.dt-header .dt-mainnav .dt-dienst-menu:hover > .wp-block-navigation-item__content::after {
	transform: rotate(180deg);
}

/* Nieuwskaart zonder uitgelichte afbeelding: kleurvlak als plaatshouder */
.dt-news-card:not(:has(.wp-block-post-featured-image))::before {
	content: "";
	display: block;
	aspect-ratio: 16 / 10;
	background: var(--wp--preset--gradient--sky);
}

.dt-footer-bottom a + a {
	margin-left: 18px;
}

@media (max-width: 600px) {
	.dt-network {
		display: none;
	}

	.dt-has-overlap {
		padding-bottom: 150px;
	}
}

/* Taalwissel NL/EN in de bovenbalk */
.dt-utility .wp-block-navigation .dt-lang a {
	color: #FFFFFF;
	font-weight: 700;
	letter-spacing: .04em;
}

/* Logo: kleiner op mobiel */
@media (max-width: 781px) {
	.dt-brand { --dt-logo-width: 64px; }
}

/* Logo in de netwerk-illustratie ademt mee */
html.dt-js .dt-net-logo {
	transform-box: fill-box;
	transform-origin: center;
	animation: dt-breathe 4s ease-in-out infinite;
}

/* Brede accent-balk onder de dienstkaarten */
.dt-card-wide {
	grid-column: 1 / -1;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 48px;
	align-items: end;
	padding: clamp(28px, 4vw, 44px) !important;
}

.dt-card-wide > * {
	grid-column: 1;
	margin-block: 0 !important;
}

.dt-card-wide > * + * {
	margin-top: 10px !important;
}

.dt-card-wide > .dt-card-link {
	grid-column: 2;
	grid-row: 1 / span 3;
	align-self: center;
	border-top: 0;
	padding-top: 0;
	margin-top: 0 !important;
	white-space: nowrap;
}

@media (max-width: 781px) {
	.dt-card-wide {
		grid-template-columns: minmax(0, 1fr);
	}

	.dt-card-wide > .dt-card-link {
		grid-column: 1;
		grid-row: auto;
		margin-top: 24px !important;
		padding-top: 18px;
		border-top: 2px solid rgba(15, 24, 48, .2);
	}
}
