/*
 * Expeditie Onderwijs — thema-CSS.
 * Kleuren, lettertypes en spacing komen uit theme.json (--wp--preset--*).
 * Hier staat alleen wat theme.json niet kan: layouts, decoraties, effecten.
 * Alle maten zijn gemeten aan de oorspronkelijke site (1440px breed) en schalen daaronder mee.
 */

:root {
	--eo-gutter: 35px;
	--eo-blue: #0052d4;
	--eo-blue-dark: #003c9e;
	--eo-green: #13b655;
	--eo-ink: #221f1b;
	--eo-slate: #586780;
	--eo-mist: #f6f9fb;
	--eo-ease: cubic-bezier(0.19, 1, 0.22, 1);
	--eo-shadow-btn: -15px 20px 40px 0 rgba(0, 82, 212, 0.25);
	--eo-shadow-field: 0 3px 10px 0 rgba(0, 0, 0, 0.09);
	--eo-shadow-photo: 0 20px 60px 0 rgba(17, 31, 61, 0.2);
}

html {
	scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}
body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility; /* kerning en ligaturen aan (de oorspronkelijke site had optimizeSpeed) */
}
.wp-site-blocks {
	overflow-x: clip;
}
.wp-site-blocks > *,
.eo-main > *,
.eo-page-content > * {
	margin-block-start: 0 !important;
}

/* Gutter: kinderen van de paginainhoud krijgen zijmarge; alignfull loopt door tot de rand. */
.eo-gutter,
.wp-block-post-content > :where(:not(.alignfull)) {
	box-sizing: border-box;
	padding-left: var(--eo-gutter);
	padding-right: var(--eo-gutter);
}
.wp-block-post-content > .alignfull {
	max-width: none;
}
.wp-block-post-content > * {
	margin-block: 0;
}
.eo-capitalize {
	text-transform: capitalize;
}
.eo-tight {
	letter-spacing: -0.3px;
}

/* =========================================================
   Iconen — Elegant Icons (lokaal) met Material Icons als back-up
   De iconen staan als lettertype in assets/fonts; kleur en maat volgen de tekst (currentColor / font-size).
   Gebruik in de editor: <span class="eo-ico">&#xe090;</span> (Elegant) of <span class="eo-mi">chat</span> (Material).
   ========================================================= */
@font-face {
	font-family: "elegant";
	src: url("../fonts/elegant/elegant.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: block;
}
@font-face {
	font-family: "Material Icons";
	src: url("../fonts/material-icons/material-icons.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: block;
}
.eo-ico {
	font-family: "elegant";
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
}
.eo-mi {
	display: inline-block;
	font-family: "Material Icons";
	font-style: normal;
	font-weight: 400;
	font-size: 24px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	font-feature-settings: "liga";
	-webkit-font-feature-settings: "liga";
	-webkit-font-smoothing: antialiased;
}

/* =========================================================
   Header — witte balk + blauw telefoonblok, zwevend over de hero
   ========================================================= */
.eo-header-wrap {
	position: absolute;
	top: 30px;
	left: 0;
	right: 0;
	z-index: 100;
	padding-left: var(--eo-gutter);
	padding-right: var(--eo-gutter);
}
.admin-bar .eo-header-wrap {
	top: 62px;
}
.eo-header {
	display: flex;
	align-items: stretch;
	gap: 0;
	height: 90px;
	max-width: 1370px;
	margin: 0 auto;
}
.eo-header > * {
	margin: 0;
}
.eo-header__main {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0;
	padding: 0 25px;
	background: #fff;
	border-radius: 10px 0 0 10px;
	box-shadow: var(--wp--preset--shadow--balk);
}
.eo-header .wp-block-site-logo {
	flex: 0 0 auto;
	margin: 0 var(--wp--preset--spacing--80) 0 0;
	line-height: 0;
}
.eo-header .wp-block-site-logo img {
	width: 164px;
	height: 54px;
	max-width: none;
	border-radius: 0;
	display: block;
}
.eo-logo-fallback a {
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--eo-blue);
}
.eo-header .wp-block-navigation {
	flex: 1 1 auto;
	font-size: 15px;
	font-weight: 600;
	justify-content: flex-start;
}
.eo-header .wp-block-navigation .wp-block-navigation__container {
	gap: 0;
	flex-wrap: nowrap;
}
.eo-header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	display: block;
	padding: 0 10px;
	font-size: 15px;
	font-weight: 600;
	line-height: 65px;
	color: var(--eo-ink);
	text-decoration: none;
	transition: color 0.2s;
}
.eo-header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content:hover,
.eo-header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--eo-blue);
}

/* Zoeken: groene ronde knop (48px) */
.eo-header .wp-block-search {
	flex: 0 0 auto;
	margin: 0 0 0 auto;
}
.eo-header .wp-block-search .wp-block-search__button {
	width: 48px;
	height: 48px;
	padding: 12px;
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 24px;
	background: var(--eo-green);
	color: #fff;
	box-shadow: none;
}
.eo-header .wp-block-search .wp-block-search__button svg {
	display: none;
}
.eo-header .wp-block-search .wp-block-search__button::before {
	content: "\55";
	font: normal 400 22px/1 "elegant";
	color: #fff;
	-webkit-font-smoothing: antialiased;
	transform: scaleX(-1); /* handvat rechtsonder, zoals in het origineel */
}
.eo-header .wp-block-search__inside-wrapper {
	border: 0 !important;
	padding: 0 !important;
	background: transparent;
}
.eo-header .wp-block-search.wp-block-search__searchfield-hidden .wp-block-search__input {
	display: none;
}
.eo-header .wp-block-search__input {
	border: 0;
	border-radius: 999px;
	padding: 0.5rem 1rem;
	font-size: 14px;
	min-width: 220px;
	box-shadow: var(--eo-shadow-field);
}

/* Telefoonblok: effen blauw, 320px */
.eo-phone {
	position: relative;
	flex: 0 0 320px;
	display: flex;
	align-items: center;
	gap: 17px;
	padding: 13px 25px;
	margin: 0 !important;
	color: #fff;
	background: var(--eo-blue);
	border-radius: 0 10px 10px 0;
}
.eo-phone::before {
	content: "\e090";
	flex: 0 0 52px;
	box-sizing: border-box;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #fff;
	border-radius: 50%;
	font: normal 400 24px/1 "elegant";
	-webkit-font-smoothing: antialiased;
}
.eo-phone__text {
	margin: 0;
}
.eo-phone p {
	margin: 0;
	color: #fff;
}
.eo-phone__hours {
	font-size: 16px;
	line-height: 16px;
	font-weight: 400;
	margin-bottom: 3px !important;
}
.eo-phone__number {
	font-size: 18px;
	line-height: 27px;
	font-weight: 600;
	white-space: nowrap;
}
.eo-phone a {
	color: #fff;
}
.eo-phone a::after {
	content: "";
	position: absolute;
	inset: 0;
}

/* =========================================================
   Knoppen — pill met pijl (↗)
   ========================================================= */
.wp-block-button .wp-block-button__link,
.wpcf7-submit,
.mailster-block-form .submit-button,
.eo-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	box-sizing: border-box;
	cursor: pointer;
	border: 0;
	text-decoration: none;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 22.5px;
	padding: 15px 45px;
	border-radius: 60px;
	background: var(--eo-blue);
	color: #fff;
	box-shadow: var(--eo-shadow-btn);
	transition: transform 0.35s var(--eo-ease), background-color 0.2s;
}
.wp-block-button:not(.is-style-zonder-pijl):not(.is-style-outline) > .wp-block-button__link::after,
button.wpcf7-submit::after {
	content: "\26";
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	font: normal 400 18px/1 "elegant";
	-webkit-font-smoothing: antialiased;
}
.wp-block-button .wp-block-button__link:hover,
.wpcf7-submit:hover,
.mailster-block-form .submit-button:hover {
	transform: translateY(-2px);
	background: var(--eo-blue-dark);
	color: #fff;
}
.wpcf7-submit {
	height: 56px;
}
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--eo-blue);
	border: 2px solid currentColor;
	box-shadow: none;
}
.wp-block-buttons {
	gap: 20px;
}

/* =========================================================
   Hero's
   ========================================================= */
.eo-hero,
.eo-pagehero {
	box-sizing: border-box;
	padding: 60px var(--eo-gutter) 0;
	align-items: center;
	justify-content: flex-start;
}
.eo-hero {
	min-height: 100vh;
	min-height: 100svh;
}
.eo-pagehero {
	min-height: 550px;
}
.eo-hero .wp-block-cover__inner-container,
.eo-pagehero .wp-block-cover__inner-container {
	position: relative;
	width: 100% !important; /* WP laat deze container anders krimpen tot de inhoud */
	max-width: 1370px;
	margin: 0 auto;
}
/* De inhoud staat gecentreerd onder de 60px bovenruimte; de scroll-hint hangt onderin de hero. */
.eo-hero .wp-block-cover__inner-container {
	min-height: calc(100vh - 60px);
	min-height: calc(100svh - 60px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.eo-pagehero h1,
.eo-pagehero h2 {
	margin: 0;
	font-size: 64px;
	font-weight: 700;
	line-height: 64px;
	color: #fff;
}
.eo-hero h1 {
	max-width: 548px;
	margin: 0 0 20px;
	font-size: 48px;
	line-height: 60px;
	font-weight: 700;
	color: #fff;
}
.eo-hero p {
	max-width: 548px;
	margin: 0 0 18px;
	font-size: 18px;
	line-height: 27px;
	color: #fff;
}
.eo-hero .wp-block-buttons {
	margin-top: 22px; /* + 18px marge van de alinea erboven = 40px */
}
.eo-hero .eo-hero__scroll {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 4px;
	z-index: 2;
	max-width: none;
	margin: 0 !important;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	line-height: 24px;
}
.eo-hero__scroll a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	text-decoration: none;
}
.eo-hero__scroll a::before {
	content: "";
	width: 24px;
	height: 24px;
	background: no-repeat center / 15px 24px
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 26' fill='none' stroke='%23fff' stroke-width='1.3'%3E%3Crect x='.65' y='.65' width='13.7' height='24.7' rx='6.85'/%3E%3Cpath d='M7.5 5v5' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* =========================================================
   Home — "Waar zit de beweging?"
   ========================================================= */
.eo-diensten {
	position: relative;
	isolation: isolate;
	overflow: clip;
	padding: 134px var(--eo-gutter) 98px;
	background: #fff;
}
.eo-diensten > .wp-block-columns {
	position: relative;
	max-width: 1370px;
	margin: 0 auto;
	gap: 0;
	align-items: flex-start;
	flex-wrap: nowrap;
}
.eo-diensten > .wp-block-columns > .wp-block-column {
	flex: 1 1 0 !important;
	min-width: 0;
}
.eo-diensten__links {
	padding-top: 89px;
}
.eo-diensten__tekst {
	padding-left: 20%;
}
.eo-diensten__tekst > * {
	margin-block: 0;
}
.eo-diensten h2.eo-diensten__kop {
	font-size: 48px;
	line-height: 57.6px;
	margin: -13px 0 47px;
}
.eo-diensten__item + .eo-diensten__item {
	margin-top: 59px;
}
.eo-diensten__item > * {
	margin-block: 0;
}
.eo-diensten__item h3 {
	margin: 0;
	font-size: 32px;
	font-weight: 700;
	line-height: 48px;
	letter-spacing: -0.2px;
}
.eo-diensten__item h4 {
	margin: 2px 0 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 23.4px;
}
.eo-diensten__item p {
	margin-top: var(--wp--preset--spacing--30);
}
.eo-diensten__item h4 + p {
	margin-top: 20px;
}
.eo-diensten__item + .eo-diensten__item h4 {
	margin-top: 6px;
}
.eo-diensten__item .wp-block-buttons {
	margin-top: 38px;
}

/* Accent in kopjes: groen met penseelstreep */
.eo-underline {
	position: relative;
	display: inline-block;
	color: var(--wp--preset--color--highlight);
	background: no-repeat left bottom / 100% 0.3em
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 343 20' preserveAspectRatio='none' fill='none' stroke='%2322b355' stroke-width='5' stroke-linecap='round'%3E%3Cpath d='M3 13c60-7 190-10 337-5M18 17c80-4 180-5 290-2'/%3E%3C/svg%3E");
	padding-bottom: 0.1em;
}

/* Collage met drie foto's en vormen (maten uit het origineel, in % van 685 × 1064) */
.eo-collage {
	position: relative;
	width: 100%;
	max-width: 685px;
	aspect-ratio: 685 / 1064;
}
.eo-collage > * {
	position: absolute;
	margin: 0 !important;
}
.eo-collage .wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--kaart);
	box-shadow: var(--eo-shadow-photo);
}
.eo-collage__a {
	left: 29.9%;
	top: 0;
	width: 70.1%;
	aspect-ratio: 480 / 416;
	z-index: 9;
}
.eo-collage__b {
	left: 0.9%;
	top: 28.4%;
	width: 58.4%;
	aspect-ratio: 400 / 442;
	z-index: 9;
}
.eo-collage__c {
	left: 22%;
	top: 63.9%;
	width: 56.1%;
	aspect-ratio: 1;
	z-index: 9;
}
.eo-collage__a,
.eo-collage__b,
.eo-collage__c {
	height: auto;
}
.eo-collage__a img,
.eo-collage__b img,
.eo-collage__c img {
	height: 100%;
}
.eo-collage .eo-deco,
.eo-diensten > .eo-deco {
	z-index: 1;
	pointer-events: none;
}
.eo-collage .eo-deco img,
.eo-diensten > .eo-deco img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
	box-shadow: none;
}
.eo-deco--ring-pink {
	left: 82%;
	top: 16.4%;
	width: 24.5%;
}
.eo-deco--disc-green {
	left: -2.2%;
	top: 58.1%;
	width: 23.1%;
}
.eo-deco--ring-yellow {
	left: 60.6%;
	top: 86.1%;
	width: 17.5%;
}
.eo-deco--dots-a {
	left: 27%;
	top: 6.2%;
	width: 13.7%;
	z-index: 0 !important;
}
.eo-deco--dots-b {
	left: 0;
	top: 69.4%;
	width: 27.9%;
	z-index: 0 !important;
}
/* Lichte diagonale vorm rechtsboven */
.eo-diensten > .eo-deco--polygon {
	position: absolute;
	top: -48px;
	right: 0;
	width: 41.7%;
	max-width: 600px;
	margin: 0;
	z-index: 0;
}

/* =========================================================
   Secties op binnenpagina's (lichtblauwe achtergrond, witte kaarten)
   ========================================================= */
.eo-section {
	box-sizing: border-box;
	background: var(--eo-mist);
	padding-left: var(--eo-gutter);
	padding-right: var(--eo-gutter);
}
.eo-section > .wp-block-columns,
.eo-section > .eo-inner {
	max-width: 1370px;
	margin-left: auto;
	margin-right: auto;
}
.eo-section > .wp-block-columns {
	gap: 0 60px;
	flex-wrap: nowrap;
}
/* Kaart die tegen de linkerrand aansluit (rechterhoeken afgerond) */
.eo-card-left {
	box-sizing: border-box;
	background: #fff;
	border-radius: 0 var(--wp--custom--radius--paneel) var(--wp--custom--radius--paneel) 0;
	margin-left: calc(var(--eo-gutter) * -1) !important;
	padding: 75px 90px 90px var(--eo-gutter);
}
/* Kaart die tegen de rechterrand aansluit */
.eo-card-right {
	box-sizing: border-box;
	background: #fff;
	border-radius: var(--wp--custom--radius--paneel) 0 0 var(--wp--custom--radius--paneel);
	margin-right: calc(var(--eo-gutter) * -1) !important;
	padding: 90px 0 90px 90px;
}
.eo-card-left > *,
.eo-card-right > * {
	margin-block: 0;
}
.eo-card-left h2 {
	margin: 0 0 6px;
	font-size: 32px;
	line-height: 48px;
}
.eo-card-left h2.eo-card__title--lg {
	font-size: 33.6px;
	line-height: 33.6px;
	margin-bottom: 20px;
}
.eo-card-left h3 {
	margin: 50px 0 20px;
	font-size: 27px;
	font-weight: 600;
	line-height: 27px;
}
.eo-card-left h4,
.eo-card-left .eo-sub {
	margin: var(--wp--preset--spacing--20) 0 19px;
	font-size: 18px;
	font-weight: 600;
	line-height: 21.6px;
	color: var(--eo-blue);
}
.eo-card-left p {
	margin: 0 0 var(--wp--preset--spacing--30);
}
.eo-card-left a {
	color: var(--eo-green);
}

/* Lijst met blauwe pijl-bolletjes (icon list) */
.eo-arrows,
.eo-checks {
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--30);
	padding: 0;
}
.eo-arrows li,
.eo-checks li {
	position: relative;
	padding-left: 28px;
	margin: 0 0 10px;
}
.eo-arrows li::before,
.eo-checks li::before,
.eo-plain li::before {
	content: "\e03c"; /* pijl in cirkel (zelfde glyph als het origineel) */
	position: absolute;
	left: 0;
	top: 3px;
	width: 18px;
	height: 18px;
	font: normal 400 18px/18px "elegant";
	color: var(--eo-blue);
	-webkit-font-smoothing: antialiased;
}
.eo-arrows li strong {
	color: var(--eo-ink);
	font-weight: 600;
}
.eo-plain {
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--30);
	padding: 0;
}
.eo-plain li {
	position: relative;
	padding-left: 28px;
	margin: 0 0 10px;
}
.eo-plain li::before {
	content: "\e08a"; /* persoon */
}

.eo-card-left .eo-arrows {
	margin: 36px 0 20px;
}
.eo-over-sec .eo-card-left .eo-checks + h3 {
	margin-top: 40px;
}

/* Lichtblauw vak (brochure) */
.eo-brochure {
	box-sizing: border-box;
	margin-top: 36px;
	padding: 30px 20px;
	background: rgba(33, 150, 243, 0.2);
	border-radius: 30px;
}
.eo-brochure > * {
	margin-block: 0;
}

/* Contactlijst met ronde blauwe icoontjes */
.eo-contact-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 15px;
}
.eo-contact-list li {
	display: flex;
	align-items: center;
	margin: 0;
	min-height: 38px;
	color: var(--eo-green);
}
.eo-contact-list li::before {
	content: "";
	flex: 0 0 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 38px;
	margin-right: 15px;
	border-radius: 20px;
	background-color: var(--eo-blue);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px;
	color: #fff;
	font: normal 400 18px/1 "elegant";
	-webkit-font-smoothing: antialiased;
}
.eo-contact-list a {
	color: var(--eo-green);
}
/* WhatsApp is een merklogo dat in geen van beide icoonsets zit: eigen SVG (glyph uit Font Awesome Free 5, CC BY 4.0). */
.eo-contact-list .eo-ic-wa::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 448' fill='%23fff'%3E%3Cpath d='M381 65Q413 97 430.5 137.5Q448 178 448 222Q448 282 417.5 333Q387 384 335.5 414Q284 444 224 444Q166 444 118 417L0 448L31 333Q2 281 2 221.5Q2 162 32 111Q62 60 113 30Q164 0 224 0Q268 0 309 17Q350 34 381 65ZM224 407Q274 407 317 382Q360 357 385.5 314.5Q411 272 411 222Q411 186 396 152.5Q381 119 354.5 92.5Q328 66 294.5 51.5Q261 37 224 37Q174 37 131.5 62Q89 87 64 129.5Q39 172 39 222Q39 276 68 320L72 327L53 395L123 377L130 381Q173 407 224 407ZM325 268Q333 272 336 275Q337 277 336 285Q335 293 332 302Q329 311 317 318.5Q305 326 295 328Q280 330 268 327Q253 325 228 314Q203 303 180 282Q162 267 147 248Q137 235 134 230Q129 225 121 210Q111 190 111 173Q111 146 130 127Q136 120 145 120H157Q161 120 163.5 121.5Q166 123 168 129L185 170Q188 175 186 180Q181 189 173 198Q169 202 168.5 204Q168 206 170 210Q185 236 203 251Q217 262 245 276Q250 278 252.5 278Q255 278 257 275L263 268Q273 257 275 253.5Q277 250 280 249.5Q283 249 286.5 250.5Q290 252 314 263Z'/%3E%3C/svg%3E");
}
.eo-contact-list .eo-ic-tel::before {
	content: "\e090";
}
.eo-contact-list .eo-ic-mail::before {
	content: "\e010";
}
.eo-contact-list .eo-ic-pin::before {
	content: "\e01d";
}

/* =========================================================
   Team (Over ons) — foto's met naam; bio verschijnt bij hover
   ========================================================= */
.eo-team-section {
	padding-top: 90px;
	padding-bottom: 90px;
}
.eo-team-layout {
	display: grid;
	grid-template-columns: 25% 75%;
	max-width: 1370px;
	margin: 0 auto;
}
.eo-team-layout > h2 {
	margin: 0;
	padding: 157px 60px 0 0;
	font-size: 36px;
	font-weight: 600;
	line-height: 43.2px;
	text-align: end;
	align-self: start;
}
.eo-team {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px 29.5px;
	margin: 0;
}
.eo-team > * {
	margin: 0 !important;
}
.eo-teamcard {
	position: relative;
	height: 400px;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--kaart);
	background: #ccd5e0 center / cover no-repeat;
	isolation: isolate;
}
.eo-teamcard > .wp-block-image,
.eo-teamcard > figure {
	position: absolute;
	inset: 0;
	margin: 0;
	z-index: 0;
}
.eo-teamcard > * {
	margin: 0 !important; /* WordPress zet anders 1rem blokafstand boven elk vervolgblok */
}
.eo-teamcard > .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	box-shadow: none;
	display: block;
	transition: transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.eo-teamcard h3 {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	margin: 0;
	padding: 40px 30px 15px;
	box-sizing: border-box;
	font-size: 24px;
	font-weight: 600;
	line-height: 36px;
	text-align: center;
	color: #fff;
	background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.45));
	transition: opacity 0.3s cubic-bezier(0.77, 0, 0.175, 1), transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.eo-teamcard__bio {
	position: absolute;
	inset: 0;
	z-index: 1;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 30px;
	background: rgba(0, 82, 212, 0.9);
	border-radius: var(--wp--custom--radius--kaart);
	opacity: 0;
	transition: opacity 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.eo-teamcard__bio p {
	margin: 0;
	font-size: 14px;
	line-height: 21px;
	text-align: left;
	color: #fff;
	opacity: 0;
	transform: translateY(27px);
	transition: opacity 0.3s cubic-bezier(0.77, 0, 0.175, 1), transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
/* Bio tonen: hover (alleen apparaten die echt kunnen "hoveren"), tik (.is-open, zie effects.js) en toetsenbord (:focus-visible).
   Foto zoomt, blauw vlak komt in beeld, bio schuift omhoog, naam schuift weg. */
.eo-teamcard {
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.eo-teamcard:focus {
	outline: none;
}
.eo-teamcard:focus-visible {
	outline: 3px solid var(--eo-blue);
	outline-offset: 3px;
}
.eo-teamcard.is-open > .wp-block-image img,
.eo-teamcard:focus-visible > .wp-block-image img {
	transform: scale(1.5);
}
.eo-teamcard.is-open .eo-teamcard__bio,
.eo-teamcard:focus-visible .eo-teamcard__bio {
	opacity: 1;
}
.eo-teamcard.is-open .eo-teamcard__bio p,
.eo-teamcard:focus-visible .eo-teamcard__bio p {
	opacity: 1;
	transform: none;
}
.eo-teamcard.is-open h3,
.eo-teamcard:focus-visible h3 {
	opacity: 0;
	transform: translateY(27px);
}
@media (hover: hover) {
	.eo-teamcard:hover > .wp-block-image img {
		transform: scale(1.5);
	}
	.eo-teamcard:hover .eo-teamcard__bio {
		opacity: 1;
	}
	.eo-teamcard:hover .eo-teamcard__bio p {
		opacity: 1;
		transform: none;
	}
	.eo-teamcard:hover h3 {
		opacity: 0;
		transform: translateY(27px);
	}
}
@media (prefers-reduced-motion: reduce) {
	.eo-teamcard > .wp-block-image img,
	.eo-teamcard h3,
	.eo-teamcard__bio,
	.eo-teamcard__bio p {
		transition: none;
	}
	.eo-teamcard.is-open > .wp-block-image img,
	.eo-teamcard:focus-visible > .wp-block-image img,
	.eo-teamcard:hover > .wp-block-image img {
		transform: none;
	}
}
.eo-team-hint {
	grid-column: 1 / -1;
	margin: -4px 0 0 !important;
	text-align: center;
	font-size: 15px;
	line-height: 24px;
	color: #444;
}
.eo-hint-touch {
	display: none;
}
.eo-team-hint::before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-right: 10px;
	vertical-align: middle;
	background: no-repeat center / 15px 24px
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 26' fill='none' stroke='%23444' stroke-width='1.3'%3E%3Crect x='.65' y='.65' width='13.7' height='24.7' rx='6.85'/%3E%3Cpath d='M7.5 5v5' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* =========================================================
   Formulieren (Contact Form 7 + Mailster)
   ========================================================= */
.wpcf7 form p {
	margin: 0 0 var(--wp--preset--spacing--40);
}
.wpcf7 form > p:last-of-type {
	margin-bottom: 0;
}
.wpcf7-form-control-wrap {
	display: block;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7 select,
.mailster-block-form input[type="email"],
.mailster-block-form input[type="text"] {
	display: block;
	width: 100%;
	height: 45px;
	box-sizing: border-box;
	padding: 15px 30px;
	border: 0;
	border-radius: 23px;
	background: #fff;
	color: #444;
	font: inherit;
	font-size: 16px;
	box-shadow: var(--eo-shadow-field);
	transition: box-shadow 0.2s;
}
.wpcf7 textarea {
	height: 240px;
	padding: 30px;
	border-radius: 20px;
	resize: vertical;
}
.wpcf7 ::placeholder,
.mailster-block-form ::placeholder {
	color: #757575;
	font-size: 15px;
	opacity: 1;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.mailster-block-form input:focus {
	outline: none;
	box-shadow: var(--eo-shadow-field), 0 0 0 3px rgba(0, 82, 212, 0.25);
}
.wpcf7-not-valid-tip {
	color: var(--wp--preset--color--pink);
	font-size: 14px;
	margin-top: 6px;
}
.wpcf7 form .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 14px 20px;
	border-radius: 14px;
	border-width: 1px;
	font-size: 15px;
}

/* Nieuwsbrief (Mailster): invoer en knop onder elkaar, 510px breed */
.mailster-block-form-inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
	max-width: 510px;
	margin: 0 auto;
}
.mailster-block-form .mailster-label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}
.mailster-block-form input[type="email"] {
	height: 45px;
	border: 2px solid #e4e4e4;
	border-radius: 60px;
}
.mailster-block-form .submit-button {
	width: 100%;
	height: 53px;
	border: 0;
	border-radius: 60px;
	font-size: 15px;
}
.mailster-block-form .mailster-wrapper-type-submit {
	margin: 0;
}

/* =========================================================
   Footer: logopaneel + nieuwsbrief + contactgegevens
   ========================================================= */
.eo-footer {
	/* De footer begint --eo-lift hoger dan de inhoud, zodat de vormen die in het origineel boven de
	   footer uitsteken (blauwe cirkel en groene vorm op home) binnen het afgeknipte vlak vallen. */
	--eo-lift: 50px;
	position: relative;
	isolation: isolate;
	overflow: clip; /* knipt de decoratieve vormen af, zodat ze de pagina niet verlengen */
	margin-top: calc(var(--eo-lift) * -1) !important;
	padding-top: calc(var(--eo-lift) + 53px);
	background: linear-gradient(to bottom, transparent var(--eo-lift), var(--eo-mist) var(--eo-lift));
	pointer-events: none; /* het doorzichtige stuk boven de footer blokkeert geen klikken op de pagina erboven */
}
.eo-footer > .eo-logos,
.eo-footer > .eo-footer__dark {
	pointer-events: auto;
}
.home .eo-footer {
	background: linear-gradient(to bottom, transparent var(--eo-lift), #fff var(--eo-lift));
}
.eo-footer > * {
	margin-block: 0;
}
.eo-logos {
	position: relative;
	z-index: 3;
	box-sizing: border-box;
	width: calc(100% - 70px);
	max-width: 1370px;
	margin: 0 auto !important;
	height: 267px;
	padding: 68.5px;
	background: var(--eo-blue);
	border-radius: var(--wp--custom--radius--paneel);
	box-shadow: var(--wp--preset--shadow--paneel);
	overflow: hidden;
	container-type: inline-size;
}
.eo-logos::before,
.eo-logos::after {
	content: "";
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 0;
	width: 60px;
	pointer-events: none;
}
.eo-logos::before {
	left: 0;
	background: linear-gradient(to right, var(--eo-blue), rgba(0, 82, 212, 0));
}
.eo-logos::after {
	right: 0;
	background: linear-gradient(to left, var(--eo-blue), rgba(0, 82, 212, 0));
}
/* Galerij met logo's schuift rustig heen en weer; geen duplicaten of JS nodig. */
.eo-logos .wp-block-gallery {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center;
	gap: 0 !important;
	width: max-content;
	height: 100%;
	margin: 0;
	animation: eo-logo-slide 170s linear infinite alternate;
}
.eo-logos .wp-block-gallery:hover,
.eo-logos:focus-within .wp-block-gallery {
	animation-play-state: paused;
}
.eo-logos .wp-block-gallery .wp-block-image {
	flex: 0 0 auto !important;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20cqw !important;
	height: 100%;
	margin: 0 !important;
	padding: 0 2cqw;
	box-sizing: border-box;
}
.eo-logos .wp-block-gallery .wp-block-image img {
	width: 100% !important;
	height: 100% !important;
	max-height: 130px;
	object-fit: contain !important;
	border-radius: 0;
	box-shadow: none;
	filter: brightness(0) invert(1);
}
@keyframes eo-logo-slide {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(-100% + 100cqw));
	}
}
@media (prefers-reduced-motion: reduce) {
	.eo-logos .wp-block-gallery {
		animation: none;
	}
}

.eo-footer__dark {
	position: relative;
	/* geen eigen stapelcontext: de vage vormen (z-index 1) liggen zo boven de donkere verloop, onder de tekst (z-index 2) */
	z-index: auto;
	box-sizing: border-box;
	margin-top: -169px !important;
	padding: 300px var(--eo-gutter) 0;
	background: linear-gradient(25deg, #000000 0%, #343434 100%);
	color: #fff;
}
.eo-footer__dark > * {
	position: relative;
	z-index: 2;
}
.single-post .eo-footer__dark {
	padding-top: 320px; /* op artikelpagina's staat de nieuwsbrief in het origineel 20px lager */
}
.eo-newsletter {
	max-width: 510px;
	margin: 0 auto 0 !important;
	text-align: center;
}
.eo-newsletter h2 {
	max-width: 480px;
	margin: 0;
	font-size: 36px;
	font-weight: 600;
	line-height: 43.2px;
	color: #fff;
}
.eo-newsletter p {
	margin: 20px 0 var(--wp--preset--spacing--60);
	font-size: 16px;
	line-height: 24px;
	color: #fff;
}
.eo-contact-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	max-width: 1370px;
	margin: 0 auto !important;
	padding-top: 165px;
	text-align: center;
	font-size: 21px;
	line-height: 31.5px;
}
.eo-contact-row p {
	margin: 0;
}
.eo-contact-row a {
	color: var(--eo-green);
}
.eo-contact-row a:hover {
	color: #fff;
}
.eo-footer__copy {
	max-width: 1370px;
	margin: 0 auto !important;
	padding: 36px 0 26px;
	text-align: center;
	font-size: 16px;
	line-height: 24px;
	color: #7a7a7a;
}
.eo-footer__copy a {
	color: var(--eo-green);
}
.eo-footer__line.wp-block-separator {
	width: 100% !important;
	max-width: 1370px;
	margin: 47px auto 0 !important;
	border: 0;
	border-top: 1px solid #707070;
	height: 0;
	background: none;
	opacity: 1;
}
/* Decoratieve vormen in de footer */
.eo-footer > .eo-deco {
	position: absolute;
	z-index: 2;
	margin: 0 !important;
	pointer-events: none;
}
.eo-footer > .eo-deco img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
	box-shadow: none;
}

/* Cloudflare Turnstile (zoals in het oude child-thema): geen extra regeleinde of negatieve marge eronder, en op
   kleine schermen verkleind zodat de widget (300px) in de kolom past. */
.wpcf7-form .cf7-cf-turnstile {
	margin-bottom: 0 !important;
}
.wpcf7-form .cf-turnstile-br {
	display: none !important;
}
@media (max-width: 480px) {
	.cf-turnstile {
		transform: scale(0.7);
		transform-origin: 0 0;
		height: 46px;
	}
}

/* =========================================================
   Blog (overzicht)
   ========================================================= */
.eo-blog {
	padding: 120px var(--eo-gutter) 75px;
	background: var(--eo-mist);
}
.eo-posts {
	max-width: 1370px;
	margin: 0 auto;
}
.eo-posts .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	margin: 0;
	padding: 0;
}
.eo-posts .wp-block-post-template > li {
	margin: 0;
}
.eo-post-card {
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding-top: 99px;
}
.eo-post-card > .wp-block-post-featured-image {
	position: absolute;
	top: 0;
	left: 30px;
	right: 30px;
	z-index: 2;
	margin: 0;
	height: 174px;
}
.eo-post-card > .wp-block-post-featured-image img {
	width: 100%;
	height: 174px;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--kaart);
	box-shadow: none;
	display: block;
}
.eo-post-card > *,
.eo-post-card__box > * {
	margin-block: 0;
}
.eo-post-card__box {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	background: #fff;
	border: 2px solid #e2e2e2;
	border-radius: 20px;
}
.eo-post-card__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	position: relative;
	padding: 105px 45px 100px;
}
.eo-post-card__body > * {
	margin-block: 0;
}
.eo-post-card__body .wp-block-post-title {
	margin: 0 0 20px;
	font-size: 24px;
	font-weight: 600;
	line-height: 36px;
}
.eo-post-card__body .wp-block-post-title a {
	color: var(--eo-ink);
	text-decoration: none;
}
.eo-post-card__body .wp-block-post-excerpt {
	flex: 1 1 auto;
	display: block;
	margin: 0 0 30px;
	font-size: 16px;
	line-height: 24px;
	color: #444;
}
.eo-post-card__body .wp-block-post-excerpt__excerpt {
	margin: 0;
}
.eo-post-card__body .wp-block-post-excerpt__more-text {
	position: absolute;
	left: 45px;
	bottom: 45px;
	margin: 0;
}
.eo-post-card__body .wp-block-post-excerpt__more-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-top: 0;
	height: 56px;
	padding: 0 45px;
	box-sizing: border-box;
	border-radius: 60px;
	background: var(--eo-blue);
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	text-decoration: none;
	box-shadow: var(--eo-shadow-btn);
}
.eo-post-card__body .wp-block-post-excerpt__more-link::after {
	content: "\26";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	font: normal 400 18px/1 "elegant";
	-webkit-font-smoothing: antialiased;
}
.eo-post-card__meta {
	box-sizing: border-box;
	gap: 4px;
	margin: 0 !important;
	padding: 15px 45px 19.5px;
	border-top: 1px solid #e2e2e2;
	font-size: 13px;
	line-height: 19.5px;
	color: #757575;
}
.eo-post-card__meta > * {
	margin: 0;
	font-size: 13px;
	line-height: 19.5px;
	color: #757575;
}
.eo-post-card__meta a {
	color: #757575;
	text-decoration: none;
}
.wp-block-query-pagination {
	margin-top: 40px;
	gap: var(--wp--preset--spacing--20);
	justify-content: center;
}
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	padding: var(--wp--preset--spacing--20) 15px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 600;
}
.wp-block-query-pagination .page-numbers.current {
	background: var(--eo-blue);
	color: #fff;
}

/* =========================================================
   Blog (artikel)
   ========================================================= */
.eo-article {
	box-sizing: border-box;
	padding: 240px var(--eo-gutter) 17px;
	background: var(--eo-mist);
}
.eo-article > .wp-block-columns {
	max-width: 1370px;
	margin: 0 auto;
	gap: 0 90px;
	flex-wrap: nowrap;
	align-items: flex-start;
}
.eo-article__side {
	box-sizing: border-box;
	margin: 16px 0 0 calc(var(--eo-gutter) * -1) !important;
	padding: 90px 90px 80px var(--eo-gutter);
	background: #fff;
	border-radius: 0 var(--wp--custom--radius--paneel) var(--wp--custom--radius--paneel) 0;
}
.eo-article__side > * {
	margin-block: 0;
}
.eo-article__side .eo-side-label {
	margin: var(--wp--preset--spacing--50) 0 10px;
	font-size: 22px;
	font-weight: 600;
	line-height: 22px;
	color: var(--eo-ink);
}
.eo-article__side .eo-side-label--author {
	margin-top: 40px;
	margin-bottom: var(--wp--preset--spacing--30);
}
.eo-article__side .eo-side-label--terms {
	margin-top: 26px;
}
.eo-article__side .eo-side-label--date {
	margin-top: 27px;
}
.eo-article__side .eo-side-label--share {
	margin-top: 41px;
}
.eo-article__side .eo-share {
	margin-top: 14px;
}
.eo-article__side .wp-block-search {
	margin: 0;
}
.eo-article__side .wp-block-search__inside-wrapper {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	box-sizing: border-box;
	height: 50px;
	padding: 0;
	background: #f1f2f3;
	border: 0;
	border-radius: 60px;
}
.eo-article__side .wp-block-search__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 50px;
	padding: 0 16.7px 0 0;
	border: 0;
	border-radius: 0 60px 60px 0;
	background: transparent;
	box-shadow: none;
	font-size: 15px;
	color: #757575;
}
.eo-article__side .wp-block-search__button {
	flex: 0 0 32px;
	width: 32px;
	height: 50px;
	padding: 0 0 0 18px;
	margin: 0;
	border: 0;
	background: transparent;
	color: #888;
	box-shadow: none;
}
.eo-article__side .wp-block-search__button svg {
	display: none;
}
.eo-article__side .wp-block-search__button::before {
	content: "\55";
	font: normal 400 16px/1 "elegant";
	-webkit-font-smoothing: antialiased;
	transform: scaleX(-1);
}
.eo-article__side .wp-block-post-author-name,
.eo-article__side .wp-block-post-terms,
.eo-article__side .wp-block-post-date {
	position: relative;
	font-size: 16px;
	line-height: 24px;
}
.eo-article__side .wp-block-post-author-name,
.eo-article__side .wp-block-post-terms {
	padding-left: 23px;
}
.eo-article__side .wp-block-post-date {
	padding-left: 23px;
	top: 5px;
	color: var(--eo-slate);
}
.eo-article__side .wp-block-post-author-name::before,
.eo-article__side .wp-block-post-terms::before,
.eo-article__side .wp-block-post-date::before {
	content: var(--eo-glyph);
	position: absolute;
	left: 0;
	top: 4px;
	width: 18px;
	height: 18px;
	font: normal 400 18px/18px "elegant";
	color: var(--eo-slate);
	-webkit-font-smoothing: antialiased;
}
.eo-article__side .wp-block-post-author-name {
	--eo-glyph: "\e08a";
}
.eo-article__side .wp-block-post-author-name::before {
	color: var(--eo-green);
}
.eo-article__side .wp-block-post-terms {
	--eo-glyph: "\e017";
}
.eo-article__side .wp-block-post-date {
	--eo-glyph: "\e023";
}
.eo-share {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 4px;
}
.eo-share .wp-block-buttons {
	gap: 10px;
}
.eo-article__main h1 {
	margin: 47px 0 60px;
	font-size: 45px;
	font-weight: 600;
	line-height: 54px;
}
.eo-article__main .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--wp--custom--radius--kaart);
	box-shadow: none;
}
.eo-article__main .wp-block-post-content {
	margin-top: 50px;
	text-rendering: optimizeLegibility; /* net als in het origineel: de artikeltekst gebruikt wel kerning */
}
.eo-article__main .wp-block-post-content div > p {
	margin: 0 0 var(--wp--preset--spacing--30);
}
.eo-article__main .wp-block-post-content > * {
	padding-left: 0;
	padding-right: 0;
	max-width: none;
}
.eo-article__main .wp-block-post-content > * + * {
	margin-top: var(--wp--preset--spacing--30);
}
.eo-article__main h3 {
	margin: var(--wp--preset--spacing--40) 0 0;
	font-size: 27px;
	line-height: 48.6px;
}

/* Gerelateerde blogs: horizontale slider */
.eo-related {
	box-sizing: border-box;
	padding: 120px var(--eo-gutter) 95px;
	background: var(--eo-mist);
}
.eo-related > .wp-block-columns {
	max-width: 1370px;
	margin: 0 auto;
	gap: 0 45px;
	flex-wrap: nowrap;
	align-items: flex-start;
}
.eo-related .wp-block-heading {
	margin: 5px 0 0;
	font-size: 36px;
	font-weight: 600;
	line-height: 54px;
}
.eo-related__track .wp-block-post-template {
	scroll-padding-left: 15px;
	display: flex;
	gap: 29.5px;
	margin: 0;
	padding: 0 15px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.eo-related__track .wp-block-post-template::-webkit-scrollbar {
	display: none;
}
.eo-related__track .wp-block-post-template > li {
	flex: 0 0 313px;
	margin: 0;
	scroll-snap-align: start;
}
.eo-tile {
	position: relative;
	height: 300px;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--kaart);
	background: #ccd5e0;
	isolation: isolate;
}
.eo-tile .wp-block-post-featured-image {
	position: absolute;
	inset: 0;
	margin: 0;
	height: 100%;
}
.eo-tile .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	box-shadow: none;
}
.eo-tile .wp-block-post-title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	margin: 0;
	padding: 40px 30px 15px;
	box-sizing: border-box;
	font-size: 24px;
	font-weight: 600;
	line-height: 36px;
	text-align: center;
	background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.45));
}
.eo-tile .wp-block-post-title a {
	color: #fff;
	text-decoration: none;
}
.eo-slider-nav {
	display: flex;
	gap: 15px;
	margin-top: 36px;
}
.eo-slider-nav .wp-block-buttons {
	gap: 15px;
	flex-wrap: nowrap;
}
.eo-slider-nav .wp-block-button .wp-block-button__link {
	display: block;
	width: 48px;
	height: 48px;
	padding: 0;
	border-radius: 50%;
	background: var(--eo-blue) no-repeat center / 18px;
	box-shadow: var(--eo-shadow-btn);
	font-size: 0;
	line-height: 0;
}
.eo-slider-nav .wp-block-button .wp-block-button__link::before {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	font: normal 400 34px/1 "elegant";
	color: #fff;
	-webkit-font-smoothing: antialiased;
}
.eo-slider-nav .eo-prev .wp-block-button__link::before {
	content: "\34";
}
.eo-slider-nav .eo-next .wp-block-button__link::before {
	content: "\35";
}

/* =========================================================
   Pagina-opbouw (nieuwe klassen)
   ========================================================= */
.eo-main > .wp-block-cover.eo-pagehero {
	background: var(--eo-blue);
}
@media (min-width: 1025px) {
	.eo-page-contact .eo-main > .eo-pagehero {
		margin: -10px 0 10px !important; /* alleen de hero staat 10px hoger; de inhoud blijft staan */
		min-height: 550px;
	}
}
.eo-pagehero .wp-block-cover__image-background {
	object-fit: cover;
}
/* Uitsnede van de hero-afbeelding per pagina (zoals ingesteld op de oorspronkelijke site) */
.eo-page-over-ons .eo-pagehero .wp-block-cover__image-background {
	object-position: 0% 50%;
}
.eo-page-school-op-koers .eo-pagehero .wp-block-cover__image-background,
.eo-page-schoolplan-nieuwe-stijl .eo-pagehero .wp-block-cover__image-background {
	object-position: 0% 33%;
}
.eo-page-contact .eo-pagehero .wp-block-cover__image-background {
	object-position: 0% 60%;
}
.blog .eo-pagehero .wp-block-cover__image-background {
	object-position: 50% 0%;
}
/* Pagina's zonder eigen secties (gewone tekst) krijgen wat lucht */
.eo-page-content:not(:has(> .wp-block-post-content > .alignfull)) {
	padding: 60px 0 80px;
}
.wp-block-columns.are-vertically-aligned-center {
	align-items: center;
}
.wp-block-columns.are-vertically-aligned-top {
	align-items: flex-start;
}
.wp-block-columns.are-vertically-aligned-bottom {
	align-items: flex-end;
}
.eo-section > .wp-block-columns > .wp-block-column {
	flex-grow: 0;
	min-width: 0;
}
.eo-section > .wp-block-columns.are-vertically-aligned-center {
	align-items: center;
}
.eo-programma {
	padding-top: 90px;
	padding-bottom: 60px;
}
.eo-over-sec {
	padding-top: 0;
	padding-bottom: 60px;
}
.eo-over-sec > .wp-block-columns {
	gap: 0 60px;
}
.eo-contact {
	padding-top: 110px;
	padding-bottom: 151px;
}
.eo-contact > .wp-block-columns {
	gap: 0 90px;
	align-items: flex-start;
}
.eo-formcol > * {
	margin-block: 0;
}
.eo-programma .eo-formcol {
	padding-bottom: 30px;
}
.eo-sub {
	font-size: 18px;
	font-weight: 600;
	line-height: 23.4px;
	color: var(--eo-blue);
}
.eo-center {
	text-align: center;
}
.eo-over-sec .eo-formcol h3 {
	margin: 0 0 20px;
	text-align: center;
	font-size: 27px;
	font-weight: 600;
	line-height: 27px;
}
.eo-over-sec .eo-formcol {
	padding-bottom: 30px;
}
.eo-arrow-down {
	height: 40px;
	margin: 30px 0 20px !important;
	background: no-repeat center / 42px 40px
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 40' fill='none' stroke='%2313b655' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 3v33M5 21l16 16 16-16'/%3E%3C/svg%3E");
}
.eo-over-sec .eo-card-left .eo-checks {
	margin-bottom: var(--wp--preset--spacing--40);
}
.eo-over-sec .eo-card-left .eo-checks li {
	padding-left: 28px;
}
.eo-over-sec .eo-card-left .eo-plain {
	margin: 36px 0 var(--wp--preset--spacing--30);
}
.eo-over-sec .eo-card-left h3 {
	margin-top: 36px;
}

/* Footer-vormen (decoratief) — posities en beweging gemeten aan het origineel.
   Blauwe cirkel en groene vorm (f-blue, f-green) staan in het origineel alleen op de homepage;
   de boog en halve cirkel (f-arch, f-pill) op elke pagina. */
body:not(.home) .eo-footer > .eo-deco--f-blue,
body:not(.home) .eo-footer > .eo-deco--f-green {
	display: none;
}
.eo-footer > .eo-deco--f-blue {
	--eo-dx: -32px;
	left: 0;
	top: calc(var(--eo-lift) - 50px);
	width: 90px;
}
.eo-footer > .eo-deco--f-green {
	--eo-dx: -38px;
	left: calc(89.6% + 30px);
	top: calc(var(--eo-lift) + 128px);
	width: 180px;
}
.eo-footer > .eo-deco--f-arch {
	--eo-dx: -50px;
	left: calc(11.46% + 50px);
	bottom: -36px;
	width: 31.25%;
	z-index: 1;
}
.eo-footer > .eo-deco--f-pill {
	--eo-dx: 60px;
	left: calc(95% - 70px);
	bottom: -24px;
	width: 12.85%;
	z-index: 1;
}

/* Artikel: deelknoppen met icoon */
.eo-share .wp-block-button .wp-block-button__link {
	gap: 12px;
	height: 45px;
	padding: 0 15px;
	font-size: 15px;
	font-weight: 700;
	line-height: 22.5px;
}
.eo-share .wp-block-button .wp-block-button__link::before {
	content: var(--eo-glyph);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	font: normal 400 18px/1 "elegant";
	-webkit-font-smoothing: antialiased;
}
.eo-share-fb {
	--eo-glyph: "\e0aa";
}
.eo-share-tw {
	--eo-glyph: "\e094";
}
.eo-share-li {
	--eo-glyph: "\e0cb";
}
.eo-article__main .wp-block-buttons {
	margin: 0;
}
.eo-article__main .wp-block-post-content figure {
	margin: var(--wp--preset--spacing--50) 0;
}
.eo-article__main .wp-block-post-content h4 {
	margin: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--40);
	font-size: 22px;
	line-height: 25.3px;
	color: var(--eo-ink);
}
.eo-back .wp-block-button__link {
	gap: 10px;
}
.eo-back .wp-block-button__link::before {
	content: "\25";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	font: normal 400 20px/1 "elegant";
	-webkit-font-smoothing: antialiased;
}

/* Gerelateerde tegels: bij hover (muis), tik (aanraakscherm, .is-open via effects.js) of toetsenbord-focus zoomt de
   foto, komt een blauw vlak in beeld en schuiven uittreksel en knop 27px omhoog (zoals op de huidige site). */
.eo-tile > * {
	margin: 0 !important; /* WordPress zet anders 1rem blokafstand boven elk vervolgblok */
}
.eo-tile {
	cursor: pointer;
}
.eo-tile .wp-block-post-featured-image img {
	transition: transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.eo-tile .wp-block-post-title {
	transition: opacity 0.3s cubic-bezier(0.77, 0, 0.175, 1), transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.eo-tile__over {
	position: absolute;
	inset: 0;
	z-index: 3;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0 30px;
	background: rgba(0, 82, 212, 0.9);
	border-radius: var(--wp--custom--radius--kaart);
	opacity: 0;
	transition: opacity 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.eo-tile__over .wp-block-post-excerpt {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 29px;
	margin: 0;
	text-align: center;
	color: #fff;
	font-size: 15px;
	line-height: 22.5px;
}
.eo-tile__over .wp-block-post-excerpt__excerpt,
.eo-tile__over .wp-block-post-excerpt__more-text {
	margin: 0;
	color: #fff;
	opacity: 0;
	transform: translateY(27px);
	transition: opacity 0.3s cubic-bezier(0.77, 0, 0.175, 1), transform 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.eo-tile__over .wp-block-post-excerpt__more-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 56px;
	padding: 0 45px;
	border-radius: 60px;
	background: var(--eo-green);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}
.eo-tile__over .wp-block-post-excerpt__more-link::after {
	content: "\26";
	display: inline-block;
	width: 18px;
	height: 15px;
	font: normal 400 18px/15px "elegant";
	-webkit-font-smoothing: antialiased;
}
.eo-tile.is-open .wp-block-post-featured-image img,
.eo-tile:focus-within .wp-block-post-featured-image img {
	transform: scale(1.5);
}
.eo-tile.is-open .eo-tile__over,
.eo-tile:focus-within .eo-tile__over {
	opacity: 1;
}
.eo-tile.is-open .eo-tile__over .wp-block-post-excerpt__excerpt,
.eo-tile.is-open .eo-tile__over .wp-block-post-excerpt__more-text,
.eo-tile:focus-within .eo-tile__over .wp-block-post-excerpt__excerpt,
.eo-tile:focus-within .eo-tile__over .wp-block-post-excerpt__more-text {
	opacity: 1;
	transform: none;
}
.eo-tile.is-open .wp-block-post-title,
.eo-tile:focus-within .wp-block-post-title {
	opacity: 0;
	transform: translateY(27px);
}
@media (hover: hover) {
	.eo-tile:hover .wp-block-post-featured-image img {
		transform: scale(1.5);
	}
	.eo-tile:hover .eo-tile__over {
		opacity: 1;
	}
	.eo-tile:hover .eo-tile__over .wp-block-post-excerpt__excerpt,
	.eo-tile:hover .eo-tile__over .wp-block-post-excerpt__more-text {
		opacity: 1;
		transform: none;
	}
	.eo-tile:hover .wp-block-post-title {
		opacity: 0;
		transform: translateY(27px);
	}
}
@media (prefers-reduced-motion: reduce) {
	.eo-tile .wp-block-post-featured-image img,
	.eo-tile .wp-block-post-title,
	.eo-tile__over,
	.eo-tile__over .wp-block-post-excerpt__excerpt,
	.eo-tile__over .wp-block-post-excerpt__more-text {
		transition: none;
	}
	.eo-tile.is-open .wp-block-post-featured-image img,
	.eo-tile:focus-within .wp-block-post-featured-image img,
	.eo-tile:hover .wp-block-post-featured-image img {
		transform: none;
	}
}
.eo-post-card__body .wp-block-post-excerpt {
	display: flex;
	flex-direction: column;
}
.eo-post-card__body .wp-block-post-excerpt__more-text {
	position: absolute;
	left: 45px;
	bottom: 45px;
	margin: 0;
}

/* =========================================================
   Overige bouwstenen
   ========================================================= */
.eo-sticky {
	position: sticky;
	top: 2rem;
}

/* Blokstijlen (kiesbaar in de editor) */
.is-style-kaart.wp-block-group {
	background: #fff;
	border-radius: var(--wp--custom--radius--kaart);
	box-shadow: var(--eo-shadow-photo);
	padding: 30px;
}
.is-style-paneel-blauw.wp-block-group {
	background: var(--eo-blue);
	color: #fff;
	border-radius: var(--wp--custom--radius--paneel);
	padding: 40px;
}
.is-style-paneel-blauw.wp-block-group :is(h1, h2, h3, h4, p, li, a) {
	color: #fff;
}
.is-style-paneel-licht.wp-block-group {
	background: rgba(33, 150, 243, 0.2);
	border-radius: 30px;
	padding: 30px 20px;
}
.wp-block-image.is-style-kaart img {
	box-shadow: var(--eo-shadow-photo);
}
.wp-block-image.is-style-rond img {
	border-radius: 50%;
	aspect-ratio: 1;
	object-fit: cover;
}

/* =========================================================
   Effecten: onthullen + meebewegen (zie assets/js/effects.js)
   ========================================================= */
.eo-reveal--up {
	--eo-from: translate3d(0, 27px, 0);
}
.eo-reveal--left {
	--eo-from: translate3d(-50px, 0, 0);
}
.eo-reveal--right {
	--eo-from: translate3d(50px, 0, 0);
}
.eo-reveal--zoom {
	--eo-from: scale(0.92);
}
.eo-delay-1 {
	--eo-delay-n: 1;
}
.eo-delay-2 {
	--eo-delay-n: 2;
}
.eo-delay-3 {
	--eo-delay-n: 3;
}
.eo-delay-4 {
	--eo-delay-n: 4;
}
.eo-js .eo-reveal {
	opacity: 0;
}
.eo-js .eo-reveal.is-visible {
	opacity: 1;
	animation: eo-reveal 1s var(--eo-ease) backwards;
	animation-delay: calc(var(--eo-delay-n, 0) * 0.15s);
}
@keyframes eo-reveal {
	from {
		opacity: 0;
		transform: var(--eo-from, translate3d(0, 27px, 0));
	}
	to {
		opacity: 1;
	}
}
@media (prefers-reduced-motion: reduce) {
	.eo-js .eo-reveal {
		opacity: 1;
	}
	.eo-js .eo-reveal.is-visible {
		animation: none;
	}
}

/* Meebewegen met scrollen — losse CSS-eigenschappen translate/rotate botsen niet met transform. */
.eo-scroll {
	will-change: translate, rotate;
	/* --eo-p loopt van +1 (nog onder beeld) via 0 (midden) naar -1 (boven uit beeld);
	   met -1 vermenigvuldigen zodat "omlaag" echt omlaag t.o.v. de pagina is en
	   draaien met de klok mee gaat tijdens het omlaag scrollen. */
	translate: calc((var(--eo-p, 0) - var(--eo-p0, 0)) * var(--eo-dx, 0px) * -1)
		calc((var(--eo-p, 0) - var(--eo-p0, 0)) * var(--eo-dist, 0px) * -1);
	rotate: calc((var(--eo-p, 0) - var(--eo-p0, 0)) * var(--eo-rot, 0deg) * -1);
}
.eo-scroll--down {
	--eo-dist: 80px;
}
.eo-scroll--up {
	--eo-dist: -80px;
}
.eo-scroll--rotate {
	--eo-rot: 90deg;
}
.eo-scroll--spin {
	--eo-dist: 80px;
	--eo-rot: 90deg;
}
@media (prefers-reduced-motion: reduce) {
	.eo-scroll {
		translate: none;
		rotate: none;
	}
}

/* Terug naar boven */
.eo-totop {
	position: fixed;
	z-index: 90;
	right: 20px;
	bottom: 20px;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--eo-blue);
	color: #fff;
	font: normal 400 38px/52px "elegant";
	text-align: center;
	box-shadow: var(--eo-shadow-btn);
	cursor: pointer;
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.3s, transform 0.3s var(--eo-ease), background-color 0.2s;
}
.eo-totop::before {
	content: "\32";
}
.eo-totop.is-shown {
	opacity: 1;
	transform: none;
}
.eo-totop:hover {
	background-color: var(--eo-blue-dark);
}
.eo-totop[hidden] {
	display: none;
}
@media (prefers-reduced-motion: reduce) {
	.eo-totop {
		transition: none;
	}
}

/* =========================================================
   Responsive — tablet (≤1024px) en mobiel (≤767px)
   Maten gemeten aan de oorspronkelijke site op 768px en 390px.
   ========================================================= */
.eo-header .wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg {
	display: none;
}
.eo-header .wp-block-navigation__responsive-container-open::before {
	content: "\61";
	font: normal 400 32px/1 "elegant";
	-webkit-font-smoothing: antialiased;
}
.wp-block-navigation__responsive-container-close::before {
	content: "\4d";
	font: normal 400 30px/1 "elegant";
	-webkit-font-smoothing: antialiased;
}
.eo-header .wp-block-navigation__responsive-container-open {
	color: var(--eo-ink);
}

/* Geopend menu (telefoon/tablet): beeldvullend wit scherm, items gecentreerd, rond sluitknopje boven in het midden. */
.wp-block-navigation__responsive-container.is-menu-open {
	padding: 0;
	z-index: 110000;
	background-color: rgba(255, 255, 255, 0.98) !important;
	color: var(--eo-ink) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	display: block !important;
	width: 100%;
	padding: 0 !important;
	margin: 0;
	gap: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
	display: block !important;
	width: 100%;
	margin: 0;
	padding: 0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation-item__content {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 65px;
	text-align: center;
	text-decoration: none;
	color: var(--eo-ink);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--eo-blue);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: 15px;
	left: 50%;
	right: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin: 0 0 0 -15px;
	padding: 0;
	border: 1px solid #707070;
	border-radius: 50%;
	background: transparent;
	color: #444;
}

@media (max-width: 1024px) {
	/* ----- header ----- */
	.eo-header {
		height: 100px;
	}
	.eo-header .wp-block-site-logo {
		margin: 0 auto 0 0;
	}
	.eo-header .wp-block-site-logo img {
		width: 182px;
		height: 60px;
	}
	.eo-header .wp-block-navigation {
		flex: 0 0 auto;
		margin: 0 var(--wp--preset--spacing--30) 0 0;
	}
	.eo-header .wp-block-navigation .wp-block-navigation__responsive-container-open {
		display: flex;
	}
	.eo-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}
	.eo-header .wp-block-search {
		margin-left: 0;
	}

	/* ----- hero's ----- */
	.eo-hero {
		padding-top: 0;
	}
	.eo-hero .wp-block-cover__inner-container {
		min-height: 100vh;
		min-height: 100svh;
	}
	.eo-hero {
		min-height: 100vh !important;
		min-height: 100svh !important;
	}
	.eo-hero h1,
	.eo-hero p {
		max-width: none;
	}
	.eo-pagehero {
		min-height: 400px !important;
		padding-top: 90px;
	}
	.eo-pagehero h1,
	.eo-pagehero h2 {
		font-size: 48px;
		line-height: 48px;
	}

	/* ----- home: diensten ----- */
	.eo-diensten {
		padding-top: 95px;
		padding-bottom: 172px;
	}
	.eo-phone::before {
		flex-basis: 48px;
		height: 48px;
	}
	.wp-block-button .wp-block-button__link {
		padding: 15px 50px 15px 40px;
	}
	.eo-diensten > .wp-block-columns {
		flex-wrap: wrap;
	}
	.eo-diensten > .wp-block-columns > .wp-block-column {
		flex: 0 0 100% !important;
	}
	.eo-diensten__links {
		padding-top: 0;
	}
	.eo-diensten > .wp-block-columns .eo-diensten__tekst {
		padding-left: 0;
		margin-top: 117px;
	}
	.eo-diensten h2.eo-diensten__kop {
		margin: 0 0 46px;
	}
	.eo-diensten__item h3 {
		font-size: 30px;
		line-height: 45px;
	}
	.eo-diensten > .eo-deco--polygon {
		top: -66px;
		width: 78.125%;
	}
	.eo-collage {
		max-width: none;
		aspect-ratio: 698 / 864;
	}
	.eo-collage__a {
		left: 31.23%;
		width: 68.77%;
	}
	.eo-collage__b {
		left: 11.32%;
		top: 24.88%;
		width: 57.31%;
	}
	.eo-collage__c {
		left: 37.54%;
		top: 55.56%;
		width: 55.01%;
	}
	.eo-deco--ring-pink {
		left: 85.39%;
		top: 37.04%;
		width: 24.07%;
	}
	.eo-deco--disc-green {
		left: 3.44%;
		top: 50.23%;
		width: 22.64%;
	}
	.eo-deco--ring-yellow {
		left: 82.23%;
		top: 92.13%;
		width: 17.19%;
	}
	.eo-deco--dots-a {
		left: 18.05%;
		top: 28.47%;
		width: 9.46%;
	}
	.eo-deco--dots-b {
		left: 0;
		top: 77.31%;
		width: 19.2%;
	}

	/* ----- pagina's: witte kaarten verdwijnen, kolommen stapelen ----- */
	.eo-card-left,
	.eo-card-right {
		background: transparent;
		border-radius: 0;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 0;
	}
	.eo-section > .wp-block-columns,
	.eo-contact > .wp-block-columns,
	.eo-over-sec > .wp-block-columns {
		flex-wrap: wrap !important;
		gap: 40px 0;
	}
	.eo-section.eo-over-sec > .wp-block-columns {
		gap: var(--wp--preset--spacing--70) 0;
	}
	.eo-section > .wp-block-columns > .wp-block-column {
		flex: 0 0 100% !important;
	}
	.eo-programma {
		padding-top: 60px;
		padding-bottom: 30px;
	}
	.eo-programma .eo-formcol,
	.eo-over-sec .eo-formcol {
		padding-bottom: 0;
	}
	.eo-card-left h2 {
		font-size: 30px;
		line-height: 45px;
	}
	.eo-card-left h2.eo-card__title--lg {
		font-size: 33.6px;
		line-height: 33.6px;
	}
	.eo-card-left .eo-arrows {
		margin-top: 38px;
	}
	.eo-contact {
		padding-top: 90px;
		padding-bottom: 76px;
	}
	.eo-contact > .wp-block-columns {
		flex-direction: column-reverse;
		gap: 60px 0;
	}

	/* ----- team ----- */
	.eo-team-section {
		padding-top: 90px;
		padding-bottom: 30px;
	}
	.eo-team-layout {
		grid-template-columns: 75% 25%;
	}
	.eo-team-layout > h2 {
		grid-column: 2;
		grid-row: 1;
		padding: var(--wp--preset--spacing--90) 0 0 30px;
		font-size: 30px;
		line-height: 36px;
		text-align: start;
	}
	.eo-team {
		grid-column: 1;
		grid-row: 1;
		grid-template-columns: 1fr;
	}
	.eo-team-hint {
		grid-column: 1;
		margin: -10px 0 0 !important;
		height: 30px;
		line-height: 30px;
	}
	.eo-hint-muis {
		display: none;
	}
	.eo-hint-touch {
		display: inline;
	}
	.eo-team-hint::before {
		/* aanraakscherm: handje-met-tik uit Material Icons (Elegant heeft geen tik-icoon) */
		content: "touch_app";
		background: none;
		font: normal 400 24px/24px "Material Icons";
		font-feature-settings: "liga";
		-webkit-font-feature-settings: "liga";
		-webkit-font-smoothing: antialiased;
		color: #444;
	}
	.eo-over-sec {
		padding-bottom: 30px;
	}
	.eo-arrow-down {
		margin: 25px 0 15px !important;
	}

	/* ----- blog ----- */
	.eo-blog {
		padding: 90px var(--eo-gutter);
	}
	.eo-posts .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr);
	}

	/* ----- artikel ----- */
	.eo-article {
		padding: 222px var(--eo-gutter) 17px;
	}
	.eo-article > .wp-block-columns {
		flex-wrap: wrap !important;
	}
	.eo-article > .wp-block-columns > .wp-block-column {
		flex: 0 0 100% !important;
	}
	.eo-article > .wp-block-columns {
		flex-direction: column-reverse;
		align-items: stretch;
		gap: 62px 0;
	}
	.eo-article > .wp-block-columns > .wp-block-column,
	.eo-related > .wp-block-columns > .wp-block-column {
		flex: 0 0 auto !important;
		width: 100%;
		min-width: 0;
	}
	.eo-article {
		padding-bottom: 90px;
	}
	.eo-article__side {
		margin: 0 !important;
		padding: 0;
		background: #fff;
		border-radius: 0;
	}
	.eo-post-card {
		padding-top: 109px;
	}
	.eo-post-card > .wp-block-post-featured-image,
	.eo-post-card > .wp-block-post-featured-image img {
		height: 184px;
	}
	.eo-article__main .wp-block-buttons {
		justify-content: center;
	}
	.eo-article__main h1 {
		margin: 45px 0 60px;
		text-align: center;
	}
	.eo-related > .wp-block-columns {
		flex-wrap: wrap !important;
		flex-direction: column-reverse;
		align-items: stretch;
		gap: 36px 0;
	}
	.eo-related .wp-block-heading {
		font-size: 30px;
		line-height: 45px;
		margin-top: 0;
	}
	.eo-slider-nav {
		justify-content: center;
		margin-top: 35px;
	}
	.eo-slider-nav .wp-block-buttons {
		justify-content: center;
	}
	.eo-related > .wp-block-columns > .wp-block-column {
		flex: 0 0 100% !important;
	}

	/* ----- footer ----- */
	.eo-footer {
		--eo-lift: 170px;
		padding-top: calc(var(--eo-lift) + 45px);
	}
	.eo-logos {
		height: 200px;
		padding: 34.9px;
	}
	.eo-logos .wp-block-gallery .wp-block-image {
		width: 33.333cqw !important;
	}
	.eo-footer__dark {
		margin-top: -94px !important;
		padding-top: 375px;
	}
	.single-post .eo-footer__dark {
		padding-top: 395px;
	}
	.eo-contact-row {
		padding-top: 112px;
		font-size: 15px;
		line-height: 22.5px;
	}
	.eo-footer__line.wp-block-separator {
		margin-top: 41px !important;
	}
	.eo-footer > .eo-deco--f-green {
		left: calc(76.56% + 30px);
		top: calc(var(--eo-lift) - 166px);
	}
	.eo-footer > .eo-deco--f-arch {
		left: 1px;
		width: 450px;
	}
	.eo-footer > .eo-deco--f-pill {
		left: calc(100% - 72px);
		width: 185px;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.eo-diensten__kop br {
		display: none;
	}
}

@media (max-width: 767px) {
	/* ----- header ----- */
	.eo-header-wrap {
		top: 10px;
	}
	.admin-bar .eo-header-wrap {
		top: 56px;
	}
	.eo-header {
		height: 70px;
	}
	.eo-header__main {
		border-radius: 10px;
	}
	.eo-header .wp-block-site-logo img {
		width: 120px;
		height: 51px;
	}
	.eo-phone {
		display: none !important;
	}
	.eo-header .wp-block-search .wp-block-search__button {
		width: 37px;
		height: 37px;
		padding: var(--wp--preset--spacing--20);
	}
	.eo-header .wp-block-search .wp-block-search__button::before {
		font-size: 19px;
	}

	/* ----- hero's ----- */
	.eo-hero .eo-hero__scroll {
		display: none;
	}
	.eo-hero h1 {
		font-size: 42px;
		line-height: 48px;
	}
	.eo-hero p {
		font-size: 16px;
		line-height: 24px;
	}
	.eo-pagehero {
		padding-top: 46px;
	}

	/* ----- home: diensten ----- */
	.eo-diensten {
		padding-top: 78px;
		padding-bottom: 141px;
	}
	.eo-diensten > .wp-block-columns .eo-diensten__tekst {
		margin-top: 65px;
	}
	.eo-diensten__item + .eo-diensten__item h4 {
		margin-top: 2px;
	}
	.eo-brochure {
		padding-bottom: 60px;
	}
	.eo-diensten h2.eo-diensten__kop {
		font-size: 36px;
		line-height: 43.2px;
	}
	.eo-collage {
		aspect-ratio: 320 / 469;
	}
	.eo-collage__a {
		left: 30%;
		width: 70%;
	}
	.eo-collage__b {
		left: 5%;
		top: 20.68%;
		width: 70%;
	}
	.eo-collage__c {
		left: 30%;
		top: 52.24%;
		width: 70%;
	}
	.eo-deco--ring-pink {
		left: 68.13%;
		top: 25.6%;
		width: 52.5%;
	}
	.eo-deco--disc-green {
		left: -1.88%;
		top: 3.84%;
		width: 49.4%;
	}
	.eo-deco--ring-yellow {
		left: 61.25%;
		top: 81.02%;
		width: 37.5%;
	}
	.eo-deco--dots-a {
		left: 18.1%;
		top: 28.57%;
		width: 20.6%;
	}
	.eo-deco--dots-b {
		left: 0;
		top: 71.4%;
		width: 41.9%;
	}
	.eo-diensten > .eo-deco--polygon {
		top: -73px;
		width: 100%;
	}
	.eo-tight {
		font-size: 16px;
		line-height: 24px;
	}
	/* Lopende tekst en hulpteksten minimaal 16px op een telefoon */
	.eo-teamcard__bio p,
	.eo-team-hint {
		font-size: 16px;
		line-height: 24px;
	}
	.wpcf7 ::placeholder,
	.mailster-block-form ::placeholder,
	.wpcf7 form .wpcf7-response-output,
	.wpcf7-not-valid-tip {
		font-size: 16px;
	}
	.wpcf7-submit {
		font-size: 14px;
		line-height: 21px;
		padding: 15px 30px;
		height: 55px;
	}

	/* ----- pagina's ----- */
	.eo-programma {
		padding-bottom: 62px;
	}
	.eo-contact {
		padding-top: 60px;
	}
	.eo-over-sec {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.eo-team-section {
		padding-top: 60px;
		padding-bottom: 0;
	}
	.eo-team-layout {
		grid-template-columns: 1fr;
	}
	.eo-team-layout > h2 {
		grid-column: 1;
		grid-row: 1;
		padding: 0 0 30px;
		text-align: center;
	}
	.eo-team {
		grid-row: 2;
	}
	.eo-teamcard {
		height: 500px;
	}

	/* ----- blog ----- */
	.eo-posts .wp-block-post-template {
		grid-template-columns: 1fr;
	}
	.eo-article {
		padding-top: 142px;
	}
	.eo-article__main h1 {
		font-size: 36px;
		line-height: 43.2px;
		margin: 45px 0 40px;
	}
	.eo-article__main .wp-block-post-content {
		margin-top: 70px;
	}
	.eo-article__side {
		margin: 0 calc(var(--eo-gutter) * -1) !important;
		padding: 0 var(--eo-gutter);
	}
	.eo-post-card {
		padding-top: 99px;
	}
	.eo-post-card > .wp-block-post-featured-image,
	.eo-post-card > .wp-block-post-featured-image img {
		height: 174px;
	}
	.eo-related {
		padding-top: 90px;
	}
	.eo-related .wp-block-heading {
		font-size: 24px;
		line-height: 36px;
	}
	.eo-slider-nav {
		margin-top: 50px;
	}

	/* ----- footer ----- */
	.eo-footer {
		--eo-lift: 90px;
		padding-top: var(--eo-lift);
	}
	.eo-footer > .eo-deco--f-green {
		left: calc(69.23% + 30px);
		top: calc(var(--eo-lift) - 86px);
	}
	.eo-footer > .eo-deco--f-arch {
		left: -85px;
		width: 320px;
	}
	.eo-footer > .eo-deco--f-pill {
		display: none; /* staat in het origineel net buiten beeld */
	}
	.eo-logos {
		width: 100%;
		height: 208px;
		padding: 39px;
		border-radius: 0;
		box-shadow: none;
	}
	.eo-logos .wp-block-gallery .wp-block-image {
		width: 100cqw !important;
	}
	.eo-footer__dark {
		margin-top: 0 !important;
		padding-top: 150px;
	}
	.single-post .eo-footer__dark {
		padding-top: 170px;
	}
	.eo-newsletter {
		max-width: none;
	}
	.eo-contact-row {
		grid-template-columns: 1fr;
		gap: 15px;
		padding-top: 81px;
		font-size: 18px;
		line-height: 27px;
	}
	.eo-footer__line.wp-block-separator {
		margin-top: 44px !important;
	}
}
