/* =========================================================
   PILL BLOCK
========================================================= */

.elementor-element p.pill-block,
.editor-styles-wrapper p.pill-block,
p.pill-block {
    display: inline-block;
    box-sizing: border-box;

    width: fit-content !important;
    max-width: 100%;
    min-width: 0;
    flex: 0 1 auto;
    vertical-align: middle;

    padding: 4px 12px 2px 12px;
    border: 0;
    border-radius: 999px;

    background-color: var(--pill-bg, #172E2C);
    color: var(--pill-text, #D5E0E0);
    box-shadow: none;

    font-family: inherit;
    font-size: 14px !important;
    font-weight: 500;
    font-style: normal;
    line-height: 18px !important;
    letter-spacing: normal;
    text-transform: none;
    text-decoration: none;

    white-space: normal;
    overflow-wrap: anywhere;
}

/* Grijs — ook de standaard zonder kleurclass */
p.pill-block {
    --pill-bg: #172E2C;
    --pill-text: #D5E0E0;
}

p.pill-block.pill-block--grey {
    --pill-bg: #172E2C;
    --pill-text: #D5E0E0;
}

/* Clever Green */
p.pill-block.pill-block--green {
    --pill-bg: #E6F4BE;
    --pill-text: #011714;
}

/* Curious Blue */
p.pill-block.pill-block--blue {
    --pill-bg: #C4EEEE;
    --pill-text: #011714;
}

/* Brave Orange */
p.pill-block.pill-block--orange {
    --pill-bg: #FFDCB3;
    --pill-text: #011714;
}

/* Champ Gold */
p.pill-block.pill-block--gold {
    --pill-bg: #FFF5B3;
    --pill-text: #011714;
}

/* =========================================================
   ACCORDION BLOCK — FRONTEND + EDITOR
========================================================= */

/* Basis + light */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block {
    --accordion-title: var(--e-global-color-2c5ae78, #011714);
    --accordion-text: var(--e-global-color-38be540, #29403D);
    --accordion-border: var(--e-global-color-9b9626f, #D6E0E0);
    --accordion-icon: #011714;

    box-sizing: border-box;
    width: 100%;
    max-width: 51rem;
    margin-inline: auto;
    padding: 0;
    background: transparent;
}

/* Dark */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block--dark {
    --accordion-title: #FFFFFF;
    --accordion-text: var(--e-global-color-4bdcffb, #9AB2AF);
    --accordion-border: var(--e-global-color-38be540, #29403D);
    --accordion-icon: #BCDC2B;
}

/* Onderdeel: 20px tot de onderste border */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-item {
    box-sizing: border-box;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 0 0 20px;
    border: 0;
    border-bottom: 1px solid var(--accordion-border);
    border-radius: 0;
    background: transparent;
}

/* 16px tussen border en volgend onderdeel */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-item+.wp-block-accordion-item {
    margin-block-start: 16px;
}

/* Heading */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;

    color: var(--accordion-title);
    font-family: inherit;
    font-size: 1.25em;
    font-weight: 500;
    line-height: 1.625rem;
    letter-spacing: normal;
    text-transform: none;
    text-decoration: none;
}

/* Native toggle-knop */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;

    color: var(--accordion-title);
    font: inherit;
    text-align: start;
    text-decoration: none;
    cursor: pointer;
}

/* Voorkom button-hoverkleuren vanuit het thema */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle:hover,
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle:focus,
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle:active {
    background: transparent;
    color: var(--accordion-title);
    box-shadow: none;
}

/* Geen underline op heading, knop of titel — ook niet bij hover */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading,
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle,
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle-title,
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle:is(:hover, :focus, :active),
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle:is(:hover, :focus, :active) .wp-block-accordion-heading__toggle-title {
    text-decoration: none !important;
}

/* Zichtbare toetsenbordfocus */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 5px;
}

/* Titel mag afbreken; icoon behoudt zijn breedte */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle-title {
    flex: 1;
    min-width: 0;
    color: inherit;
    overflow-wrap: anywhere;
}

/* Panel: 16px tussen titel en inhoud.
   De native zichtbaarheid blijft door WordPress beheerd. */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-panel {
    margin: 0;
    padding: 16px 0 0;
    border: 0;
    background: transparent;
    color: var(--accordion-text);
}

/* Paragrafen */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-panel p {
    margin: 0;
    color: var(--accordion-text);
    font-size: 1em;
    line-height: 1.5rem;
}

/* Ruimte tussen meerdere inhoudsblokken */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-panel>*+* {
    margin-block-start: 16px;
}

:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-panel p+p {
    margin-block-start: 16px;
}

:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-panel> :first-child {
    margin-block-start: 0;
}

:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-panel> :last-child {
    margin-block-end: 0;
}

/* PLUS / MIN — 10 × 10PX */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle-icon {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    flex: 0 0 10px;

    width: 10px;
    height: 10px;
    min-width: 10px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;

    color: var(--accordion-icon);
    font-size: 0;
    line-height: 0;

    /* Overschrijf ook de native rotatie bij geopende items */
    transform: none !important;
    rotate: none !important;
    transition: none !important;
}

/* Eventueel native SVG verbergen */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle-icon>svg {
    display: none;
}

/* Gemeenschappelijke opmaak van beide lijnen */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle-icon::before,
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle-icon::after {
    content: "";
    position: absolute;
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: currentColor;
    transform: none !important;
    rotate: none !important;
    transition: none;
}

/* Horizontale lijn — blijft altijd zichtbaar */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle-icon::before {
    top: 4px;
    left: 0;
    width: 10px;
    height: 2px;
    opacity: 1;
}

/* Verticale lijn — alleen zichtbaar als het item gesloten is */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle-icon::after {
    top: 0;
    left: 4px;
    width: 2px;
    height: 10px;
    opacity: 1;
}

/* Open: verticale lijn verdwijnt, horizontale min blijft */
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-item.is-open>.wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon::after,
:is(.elementor-element, .editor-styles-wrapper) .accordion-block .wp-block-accordion-heading__toggle[aria-expanded="true"] .wp-block-accordion-heading__toggle-icon::after {
    opacity: 0;
}

.elementor-element .accordion-block {
    margin-block: clamp(32px, 4vw, 48px);
}

/* Titelkleuren */
.elementor-element .accordion-block--light {
    --accordion-title: var(--e-global-color-0652222, #011714);
    --accordion-title-hover: var(--e-global-color-2c5ae78, #011714);
}

.elementor-element .accordion-block--dark {
    --accordion-title: var(--e-global-color-9b9626f, #FFFFFF);
    --accordion-title-hover: #FFFFFF;
}

.elementor-element .accordion-block .wp-block-accordion-heading__toggle {
    color: var(--accordion-title);
    transition: color 160ms ease;
}

.elementor-element .accordion-block .wp-block-accordion-heading__toggle:hover,
.elementor-element .accordion-block .wp-block-accordion-heading__toggle:focus-visible {
    color: var(--accordion-title-hover);
}

.elementor-element .accordion-block .wp-block-accordion-heading__toggle-title {
    color: inherit;
}

/* Animatie */
@supports (interpolate-size: allow-keywords) {
    @media (prefers-reduced-motion: no-preference) {

        .elementor-element .accordion-block .wp-block-accordion-panel {
            interpolate-size: allow-keywords;
        }

        .elementor-element .accordion-block .wp-block-accordion-panel:not([hidden]) {
            animation: accordion-panel-open 280ms cubic-bezier(.22, 1, .36, 1);
        }

        @keyframes accordion-panel-open {
            from {
                block-size: 0;
                padding-block-start: 0;
                opacity: 0;
                overflow: clip;
            }

            to {
                block-size: auto;
                padding-block-start: 16px;
                opacity: 1;
                overflow: clip;
            }
        }
    }
}

.accordion-block.accordion-block--full-width {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
}

.accordion-block.accordion-block--full-width .wp-block-accordion-item {
    box-sizing: border-box;
    width: 100%;
    max-width: none !important;
}

/* ===========================
   CTA block
   =========================== */

/* Base */
.elementor-element .cta-block {
    --cta-text: #011714;
    --cta-muted: var(--partner-muted, rgba(1, 23, 20, .68));
    --cta-surface: #F5F5F5;
    --cta-accent: var(--e-global-color-22755e3);

    --cta-radius: 18px;
    --cta-padding: clamp(1.5rem, 2vw, 2.5rem);
    --cta-max: 90ch;

    position: relative;
    padding: var(--cta-padding);
    border-radius: var(--cta-radius);
    background: var(--cta-surface);
    color: var(--cta-text);
    overflow: hidden;
}

.elementor-element .cta-block> :first-child {
    margin-block-start: 0 !important;
}

.elementor-element .cta-block> :last-child {
    margin-block-end: 0 !important;
}


/* Eyebrow */
.elementor-element .cta-block .cta-block__eyebrow {
    margin-block: 0 var(--blockeditor-gap, 16px);
    margin-inline: 0;
    font-size: .875rem;
    line-height: 1.125rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: rgba(1, 23, 20, .58);
}

/* Title */
.elementor-element .cta-block .cta-block__title {
    margin-block: 0 var(--blockeditor-gap, 16px);
    margin-inline: 0;
    max-width: var(--cta-max);
    font-size: clamp(24px, 1.2rem + 1vw, 36px);
    line-height: 1.15;
    letter-spacing: -.02em;
    font-weight: 650;
    color: var(--cta-text);
}

/* Text */
.elementor-element .cta-block .cta-block__text {
    margin-inline: 0;
    max-width: var(--cta-max);
    font-size: 1rem;
    line-height: 1.5;
    color: var(--cta-muted);
}

.elementor .elementor-element .cta-block .cta-block__text p {
    margin: 0 !important;
    margin-block-start: 16px;
}

/* Actions */
.elementor-element .cta-block .wp-block-buttons,
.elementor-element .cta-block .cta-block__actions {
    margin-block-start: 1.5rem;
    margin-block-end: 0;
    gap: .875rem;
}

.elementor-element .cta-block .wp-block-button {
    margin: 0;
}

.elementor-element .cta-block .wp-block-button__link {
    font-size: 1.25em;
    line-height: 24px;
    padding: 14px 22px 14px 22px;
    border-radius: 999px;
    font-weight: 500;
    text-decoration: none;
    transition:
        opacity .15s ease,
        box-shadow .15s ease,
        background-color .15s ease,
        color .15s ease,
        border-color .15s ease;
}

@media (max-width: 768px) {
    .elementor-element .cta-block .wp-block-button__link {
        padding: 10px 14px 10px 14px;
        font-size: 1em;
        line-height: 1em;
    }
}

.elementor-element .cta-block .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-2c5ae78);
    border: 2px solid var(--e-global-color-accent);
}

.elementor-element .cta-block .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.elementor-element .cta-block .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus {
    background-color: #FFBB39;
    border-color: #FFBB39;
}

.elementor .elementor-element .cta-block .wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
    color: var(--e-global-color-2c5ae78) !important;
    border: 2px solid var(--e-global-color-2c5ae78) !important;
    padding: 14px 22px 14px 22px !important;
}

.elementor .elementor-element .cta-block .wp-block-button.is-style-outline .wp-block-button__link::before,
.elementor .elementor-element .cta-block .wp-block-button.is-style-outline .wp-block-button__link::after {
    display: none !important;
}

.elementor .elementor-element .cta-block .wp-block-button.is-style-outline .wp-block-button__link:hover,
.elementor .elementor-element .cta-block .wp-block-button.is-style-outline .wp-block-button__link:focus {
    border-color: var(--e-global-color-4bdcffb) !important;
    background: transparent !important;
}

@media (max-width: 768px) {
    .elementor .elementor-element .cta-block .wp-block-button.is-style-outline .wp-block-button__link {
        padding: 10px 14px 10px 14px !important;
    }
}

/* CTA — tekstkleur per variant */
.cta-block--dark {
    --cta-paragraph-color: #9AB2AF;
}

/* Alle paragrafen, inclusief paragrafen in een geneste groep */
.elementor-element .cta-block p:not(.pill-block) {
    color: var(--cta-paragraph-color, inherit) !important;
}

/* Vet en cursief volgen de kleur van hun paragraaf */
.elementor-element .cta-block p:not(.pill-block) :is(strong, b, em, i) {
    color: inherit !important;
}

/* Meta */
.elementor-element .cta-block .cta-block__meta {
    margin-block-start: var(--blockeditor-gap, 16px);
    margin-block-end: 0;
    font-size: .875rem;
    line-height: 1.5;
    color: var(--cta-muted);
}


/* Dark */
.elementor-element .cta-block--dark {
    --cta-surface: var(--e-global-color-dea8f32);
    --cta-text: #fff;
    --cta-muted: var(--e-global-color-4bdcffb);
    --cta-accent: var(--e-global-color-4bdcffb);

    background-color: var(--cta-surface);
}

.elementor-element .cta-block--dark::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    border: 1px solid var(--e-global-color-38be540);
    border-radius: inherit;
    -webkit-mask-image: linear-gradient(to bottom right, #fff, rgba(255, 255, 255, .2));
    mask-image: linear-gradient(to bottom right, #fff, rgba(255, 255, 255, .2));
}

.elementor-element .cta-block--dark>* {
    position: relative;
    z-index: 2;
}

.elementor-element .cta-block--dark .cta-block__title {
    color: #fff;
}

.elementor-element .cta-block--dark .cta-block__text,
.elementor-element .cta-block--dark .cta-block__meta,
.elementor-element .cta-block--dark .cta-block__eyebrow,
.elementor-element .cta-block--dark .wp-block-list {
    color: var(--e-global-color-4bdcffb);
}

.elementor-element .cta-block--dark a:not(.wp-block-button__link),
.elementor-element .cta-block--dark .cta-block__meta a {
    color: var(--e-global-color-secondary) !important;
}

.elementor .elementor-element .cta-block--dark .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background: var(--e-global-color-accent);
    color: var(--e-global-color-2c5ae78);
    border: 2px solid var(--e-global-color-accent);
}

.elementor .elementor-element .cta-block--dark .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.elementor .elementor-element .cta-block--dark .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus {
    background: #FFBB39;
    border: 2px solid #FFBB39;
}

.elementor .elementor-element .cta-block--dark .wp-block-button.is-style-outline .wp-block-button__link {
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
}

.elementor .elementor-element .cta-block--dark .wp-block-button.is-style-outline .wp-block-button__link:hover,
.elementor .elementor-element .cta-block--dark .wp-block-button.is-style-outline .wp-block-button__link:focus {
    border-color: var(--e-global-color-a9a8d12) !important;
}

/* Mobile */
@media (max-width: 600px) {
    .elementor-element .cta-block {
        --cta-padding: 1.25rem;
    }

    .elementor-element .cta-block .wp-block-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .elementor-element .cta-block .wp-block-button,
    .elementor-element .cta-block .wp-block-button__link {
        width: 100%;
    }

    .elementor-element .cta-block .wp-block-button__link {
        justify-content: center;
    }
}

/* Gewone CTA binnen blockeditor-content — ruimere inhoud */
.elementor-element .blockeditor-css .cta-block:not(.cta-boxed-block) {
    --cta-max: none;
}

/* Ook Gutenbergs contentbreedte en automatische centrering opheffen */
.elementor-element .blockeditor-css .cta-block:not(.cta-boxed-block)> :is(.wp-block-heading, p, .cta-block__title, .cta-block__text) {
    width: 100%;
    max-width: none;
    margin-inline: 0 !important;
}

/* Ondersteun tekst die in een aparte groep staat */
.elementor-element .blockeditor-css .cta-block:not(.cta-boxed-block) .cta-block__text>p {
    max-width: none;
    margin-inline: 0 !important;
}

/* Media (50/50) */
.cta-block.cta-block--media:not(.cta-boxed-block):has(> .cta-block__media) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(24px, 2vw, 32px);
    align-items: center;
}

.cta-block.cta-block--media:not(.cta-boxed-block)> :is(.cta-block__content, .cta-block__media) {
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
}

.cta-block--media>.cta-block__content> :first-child {
    margin-block-start: 0;
}

.cta-block--media>.cta-block__content> :last-child {
    margin-block-end: 0;
}

.cta-block--media>.cta-block__media> :is(.wp-block-image,
    .wp-block-video) {
    width: 100%;
    max-width: none;
    margin: 0;
}

.cta-block--media>.cta-block__media .wp-block-image>a {
    display: block;
}

.cta-block--media>.cta-block__media :is(img, video) {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2 !important;
    object-fit: cover;
    border-radius: 12px;
}

.cta-block--media>.cta-block__media figcaption {
    margin-block: 12px 0;
    font-size: .875rem;
    line-height: 1.5;
    color: inherit;
}

@media (max-width: 768px) {
    .cta-block.cta-block--media:not(.cta-boxed-block):has(> .cta-block__media) {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
}

/* =========================================================
   LINK LIST
========================================================= */

.link-list-block {
    --ll-text: #29403D;
    --ll-hover: #011714;
    --ll-accent: #FF8E29;
    --ll-neutral: #CFDBDB;
    --ll-columns: 1;
    --ll-gap: clamp(24px, 3.5vw, 48px);

    padding: 0;
    background: transparent;
}

/* Grid — bestaande lijsten en nieuwe buttons */

.link-list-block .link-list-block__list {
    display: grid !important;
    grid-template-columns:
        repeat(var(--ll-columns), minmax(0, 1fr)) !important;

    column-gap: var(--ll-gap) !important;
    row-gap: 8px !important;
    align-items: stretch;

    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Items */

.link-list-block .link-list-block__list> :is(li,
    .wp-block-button) {
    box-sizing: border-box;
    display: flex;
    align-self: stretch;
    min-width: 0;
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Verwijder algemene lijstdecoratie */

.link-list-block .link-list-block__list>li::before,
.link-list-block .link-list-block__list>li::after {
    content: none !important;
    display: none !important;
}

.link-list-block .link-list-block__list>li::marker {
    content: "" !important;
}

/* Volledige klikbare rij */

.link-list-block .link-list-block__list> :is(li,
    .wp-block-button)>a {
    position: relative;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 1;

    width: 100%;
    min-width: 0;
    min-height: 76px;
    margin: 0;
    padding: 20px 48px 20px 0 !important;

    border: 0 !important;
    border-bottom: 1px solid var(--ll-neutral) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    color: var(--ll-text) !important;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: start;
    text-decoration: none !important;
    white-space: normal;
    overflow-wrap: anywhere;

    transition: color 220ms ease;
}

/* Cirkel */

.link-list-block .link-list-block__list> :is(li,
    .wp-block-button)>a::before {
    content: "";
    position: absolute;
    inset-inline-end: 0;
    top: 50%;

    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--ll-neutral);

    transform: translateY(-50%);
    transition: background-color 220ms ease;
    pointer-events: none;
}

/* Pijl */

.link-list-block .link-list-block__list> :is(li,
    .wp-block-button)>a::after {
    content: "";
    position: absolute;
    inset-inline-end: 7px;
    top: 50%;

    width: 14px;
    height: 14px;
    background: currentColor;

    -webkit-mask:
        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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;

    mask:
        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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;

    transform: translateY(-50%);
    pointer-events: none;
}

/* Ankerlinks wijzen naar beneden */

.link-list-block .link-list-block__list> :is(li,
    .wp-block-button)>a[href^="#"]::after {
    transform: translateY(-50%) rotate(90deg);
}

/* Hover en toetsenbordfocus */

.link-list-block .link-list-block__list> :is(li,
    .wp-block-button)>a:is(:hover, :focus-visible) {
    color: var(--ll-hover) !important;
}

.link-list-block .link-list-block__list> :is(li,
    .wp-block-button)>a:is(:hover, :focus-visible)::before {
    background: var(--ll-accent);
}

.link-list-block .link-list-block__list> :is(li,
    .wp-block-button)>a:focus-visible {
    outline: 2px solid var(--ll-hover);
    outline-offset: 4px;
}

/* Responsive */

@media (min-width: 600px) {
    .link-list-block {
        --ll-columns: 2;
    }
}

@media (min-width: 1024px) {
    .link-list-block {
        --ll-columns: 3;
    }
}

@media (max-width: 599px) {

    .link-list-block .link-list-block__list> :is(li,
        .wp-block-button)>a {
        min-height: 64px;
        padding-block: 16px !important;
    }
}

@media (prefers-reduced-motion: reduce) {

    .link-list-block .link-list-block__list> :is(li,
        .wp-block-button)>a,
    .link-list-block .link-list-block__list> :is(li,
        .wp-block-button)>a::before {
        transition: none;
    }
}

/* =========================================================
   LINK CARDS
========================================================= */

.link-cards-grid {
    display: grid;
    grid-template-columns:
        repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap: clamp(16px, 2vw, 32px);
    align-items: stretch;
    width: 100%;
    max-width: 1376px;
    margin-inline: auto;
}

.content-section-block>.content-section-block__inner>.link-cards-grid {
    width: 100%;
    max-width: 1376px !important;
}

.link-cards-grid>.link-card {
    width: 100%;
    max-width: none;
    margin: 0 !important;
}

.link-card {
    box-sizing: border-box;
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 24px;
    border: 1px solid #D5E0E0;
    border-radius: 12px;
    background: #FFFFFF;
    color: #172E2C;
    transition:
        background-color 220ms ease,
        border-color 220ms ease;
}

.link-card>* {
    max-width: 100%;
    margin-inline: 0 !important;
}

.link-card p.pill-block {
    align-self: flex-start;
    margin-block: 0 16px !important;
}

.elementor .link-card p.pill-block {
    background-color: var(--e-global-color-9b9626f) !important;
    color: #172E2C !important;
}

.link-card p.pill-block:empty,
.link-card p.pill-block:has(> br:only-child) {
    display: none;
}

.link-card .link-card__title {
    margin-block: 0 12px !important;
    color: #172E2C;
    font-size: 1.25rem;
    font-weight: 650;
    line-height: 1.25;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
    transition: color 220ms ease;
}

.link-card .link-card__text {
    margin-block: 0 12px !important;
    color: #29403D;
    font-size: 1rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
    transition: color 220ms ease;
}

.link-card .link-card__actions {
    justify-content: flex-start;
    margin-block: auto 0 !important;
    padding-top: 16px;
    min-height: var(--circle-arrow-cta-expanded-height, 36px);
}

.link-card .link-card__action {
    position: static;
    width: auto;
    max-width: 100%;
    margin: 0;
}

.link-card .link-card__action>.wp-block-button__link {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    max-width: 100%;
    min-height: 0;
    padding: 8px 12px;
    border: 0;
    border-radius: 999px;
    background: var(--e-global-color-accent, #FF8C24);
    color: var(--e-global-color-2c5ae78, #011714);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    box-shadow: none;
    transform: none;
}

/* De knoplink maakt de volledige card klikbaar. */
.link-card .link-card__action>.wp-block-button__link[href]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: 12px;
}

.link-card .link-card__action>.wp-block-button__link::before,
.link-card .link-card__action>.wp-block-button__link::after {
    content: none !important;
}

/* De gedeelde JS voegt de circle-arrow-cta toe. */
.link-card.is-link-card-ready .link-card__action>.wp-block-button__link {
    padding: 0 !important;
}

/* Hover bij muisgebruik */
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
    .link-card:has(.link-card__action a[href]):hover {
        background: #172E2C;
        border-color: #172E2C;
    }

    .link-card:has(.link-card__action a[href]):hover .link-card__title {
        color: #FFFFFF;
    }

    .link-card:has(.link-card__action a[href]):hover .link-card__text {
        color: #D6E0E0;
    }
}

@media (prefers-reduced-motion: reduce) {

    .link-card,
    .link-card .link-card__title,
    .link-card .link-card__text {
        transition: none;
    }
}

/* Volledige klikzone */
.link-card {
    position: relative;
    isolation: isolate;
}

.link-card .link-card__actions,
.link-card .link-card__action,
.link-card .link-card__action>.wp-block-button__link {
    position: static !important;
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    contain: none !important;
    will-change: auto !important;
}

.link-card .link-card__action>.wp-block-button__link[href]::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 10;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 12px;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto;
    cursor: pointer;
}

/* Responsive kolommen */
.wp-block-group.link-cards-grid,
.link-cards-grid>.wp-block-group__inner-container {
    grid-template-columns: minmax(0, 1fr) !important;
}

@media (min-width: 768px) {

    .wp-block-group.link-cards-grid,
    .link-cards-grid>.wp-block-group__inner-container {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1200px) {

    .wp-block-group.link-cards-grid,
    .link-cards-grid>.wp-block-group__inner-container {
        --link-card-columns: 5;

        grid-template-columns:
            repeat(var(--link-card-columns),
                minmax(0, 1fr)) !important;

        gap: 16px !important;
    }

    :is(.link-cards-grid,
        .link-cards-grid > .wp-block-group__inner-container):has(> .link-card:only-child) {
        --link-card-columns: 1;
    }

    :is(.link-cards-grid,
        .link-cards-grid > .wp-block-group__inner-container):has(> .link-card:nth-child(2):last-child) {
        --link-card-columns: 2;
    }

    :is(.link-cards-grid,
        .link-cards-grid > .wp-block-group__inner-container):has(> .link-card:nth-child(3):last-child) {
        --link-card-columns: 3;
    }

    :is(.link-cards-grid,
        .link-cards-grid > .wp-block-group__inner-container):has(> .link-card:nth-child(4):last-child),
    :is(.link-cards-grid,
        .link-cards-grid > .wp-block-group__inner-container):has(> .link-card:nth-child(6):last-child) {
        --link-card-columns: 4;
    }

    .link-cards-grid .link-card {
        padding: 20px;
    }
}

@media (min-width: 1200px) {

    .wp-block-group.link-cards-grid.link-cards-grid--cols-4:has(> .link-card:nth-child(n+4)),
    .link-cards-grid--cols-4>.wp-block-group__inner-container:has(> .link-card:nth-child(n+4)) {
        grid-template-columns:
            repeat(4, minmax(0, 1fr)) !important;
    }

    .wp-block-group.link-cards-grid.link-cards-grid--cols-3:has(> .link-card:nth-child(n+3)),
    .link-cards-grid--cols-3>.wp-block-group__inner-container:has(> .link-card:nth-child(n+3)) {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }
}

/* =========================================================
   IMAGE SLIDER — LOGO’S EN FOTO’S EN DOCUMENTEN
========================================================= */

.wp-block-gallery.image-slider-block {
    --slider-gap: clamp(16px, 2vw, 32px);
    --slider-columns: 5;

    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: var(--slider-gap);

    padding-block: 4px 16px;

    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
}

.wp-block-gallery.image-slider-block,
.image-slider-controls {
    width: 100%;
    max-width: 1376px;
    margin-inline: auto;
}

.wp-block-gallery.image-slider-block>figure.wp-block-image {
    box-sizing: border-box;
    flex: 0 0 calc((100% - (var(--slider-columns) - 1) * var(--slider-gap)) / var(--slider-columns));

    width: auto !important;
    min-width: 0;
    max-width: none;
    margin: 0 !important;

    scroll-snap-align: start;
}

.wp-block-gallery.image-slider-block>figure.wp-block-image>a {
    display: block;
    width: 100%;
}

.wp-block-gallery.image-slider-block>figure.wp-block-image img {
    box-sizing: border-box;
    display: block;
    flex: none;

    width: 100%;
    height: auto !important;
    max-width: 100%;
    aspect-ratio: 2 / 1;

    padding: clamp(16px, 2vw, 24px);
    object-fit: contain !important;
    object-position: center;
}

/* Foto’s */

.wp-block-gallery.image-slider-block--photos {
    --slider-columns: 3;
}

.wp-block-gallery.image-slider-block--photos>figure.wp-block-image img {
    aspect-ratio: 3 / 2;
    padding: 0;
    object-fit: cover !important;
    border-radius: 12px;
}

/* Captions onder het beeld, zonder Gallery-overlay */

.wp-block-gallery.image-slider-block>figure.wp-block-image>figcaption {
    position: static;
    box-sizing: border-box;

    width: 100%;
    max-height: none;
    margin: 12px 0 0;
    padding: 0;

    overflow: visible;
    background: none;
    color: inherit;
    text-align: left;
    font-size: .875rem;
    line-height: 1.5;
}

/* Tablet */

@media (max-width: 1024px) {
    .wp-block-gallery.image-slider-block {
        --slider-columns: 3;
    }

    .wp-block-gallery.image-slider-block--photos {
        --slider-columns: 2;
    }
}

/* Mobiel — volgend beeld blijft deels zichtbaar */

@media (max-width: 768px) {
    .wp-block-gallery.image-slider-block>figure.wp-block-image {
        flex-basis: calc((100% - var(--slider-gap)) / 2.25);
    }

    .wp-block-gallery.image-slider-block--photos>figure.wp-block-image {
        flex-basis: 85%;
    }
}

/* Navigatie */
.image-slider-controls {
    --slider-control-bg: #F5F5F5;
    --slider-control-hover: #EAEAEA;
    --slider-control-color: #172E2C;

    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 0;
    margin-bottom: 16px;
}

.image-slider-controls[hidden] {
    display: none;
}

.image-slider-controls .image-slider-controls__button {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;

    width: 40px;
    height: 40px;
    min-height: 0;
    padding: 0;

    border: 0;
    border-radius: 999px;
    background: var(--slider-control-bg);
    color: var(--slider-control-color);
    box-shadow: none;

    opacity: 1;
    cursor: pointer;
    transition: background-color 160ms ease;
}

.image-slider-controls .nav-chevron {
    display: block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
}

.image-slider-controls .image-slider-controls__button:not(:disabled):hover {
    background: var(--slider-control-hover);
}

.image-slider-controls .image-slider-controls__button:disabled {
    opacity: .35;
    cursor: default;
}

.image-slider-controls .image-slider-controls__button:focus-visible,
.wp-block-gallery.image-slider-block:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

/* Donkere secties */
:is(.carousel-controls--dark,
    .content-section-block-dark,
    .cta-block--dark) .image-slider-controls {
    --slider-control-bg: rgba(255, 255, 255, .10);
    --slider-control-hover: rgba(255, 255, 255, .16);
    --slider-control-color: #D5E0E0;
}

:is(.carousel-controls--dark,
    .content-section-block-dark,
    .cta-block--dark) .image-slider-controls__button:disabled {
    color: rgba(213, 224, 224, .30);
}

@media (prefers-reduced-motion: reduce) {
    .image-slider-controls .image-slider-controls__button {
        transition: none;
    }
}

/* Compact version */
.wp-block-gallery.image-slider-block--logos-compact {
    --slider-columns: 6;
}

.wp-block-gallery.image-slider-block--logos-compact>figure.wp-block-image img {
    height: 120px !important;
    aspect-ratio: auto;
    padding: 24px;
    object-fit: contain !important;
}

@media (max-width: 1024px) {
    .wp-block-gallery.image-slider-block--logos-compact {
        --slider-columns: 3;
    }
}

@media (max-width: 768px) {
    .wp-block-gallery.image-slider-block--logos-compact>figure.wp-block-image img {
        height: 100px !important;
        padding: 20px;
    }
}

/* Content section light - Compact color correction */
.content-section-block-light .image-slider-controls {
    --slider-control-bg: #E6EAE9;
    --slider-control-hover: #D5DEDB;
    --slider-control-color: #172E2C;
}

.wp-block-gallery.image-slider-block {
    scrollbar-color: #9AB2AF transparent;
}

.wp-block-gallery.image-slider-block::-webkit-scrollbar {
    height: 4px;
}

.wp-block-gallery.image-slider-block::-webkit-scrollbar-track {
    background: transparent;
}

.wp-block-gallery.image-slider-block::-webkit-scrollbar-thumb {
    background: #9AB2AF;
    border-radius: 999px;
}

.wp-block-gallery.image-slider-block {
    overflow-anchor: none;
    scroll-behavior: auto;
}

.wp-block-gallery.image-slider-block>figure.wp-block-image {
    overflow-anchor: none;
}

.wp-block-gallery.image-slider-block:not(.is-slider-ready) {
    scroll-snap-type: none;
}

.wp-block-gallery.image-slider-block.is-slider-ready {
    scroll-snap-type: x mandatory;
}

/* ===========================
   Media split block
   =========================== */

/* Grid */
.elementor-element .media-split-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 3vw, 3rem);
    align-items: center;
}

.elementor-element .media-split-block--reverse .media-split-block__media {
    order: 2;
}

.elementor-element .media-split-block--reverse .media-split-block__content {
    order: 1;
    margin: 0;
}


/* Media */
.elementor-element .media-split-block .media-split-block__media {
    border-radius: 16px;
    overflow: hidden;
}

.elementor .elementor-element .media-split-block .media-split-block__media .wp-block-image,
.elementor .elementor-element .media-split-block .media-split-block__media figure {
    margin: 0;
    width: 100%;
    height: 100%;
}

.elementor-element .media-split-block .media-split-block__media figure.wp-block-image img {
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;
    border-radius: 0;
}


/* Content */
.elementor-element .media-split-block .media-split-block__content {
    min-width: 0;
}

.elementor-element .media-split-block .media-split-block__eyebrow {
    margin-block: 0 var(--blockeditor-gap, 16px);
    margin-inline: 0;
    font-size: .875rem;
    line-height: 1.125rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: rgba(1, 23, 20, .56);
}

.elementor-element .media-split-block .media-split-block__title {
    margin-block: 0 var(--blockeditor-gap, 16px);
    margin-inline: 0;
    text-wrap: balance;
}


/* Inline arrow button */
.elementor-element .media-split-block__actions,
.elementor-element .media-split-block .wp-block-buttons {
    margin-block-start: 1.5rem;
    margin-block-end: 0;
    gap: .875rem;
}

.elementor .elementor-element .media-split-block .wp-block-buttons {
    margin: 0 !important;
}

/* Mobile */
@media (max-width: 768px) {
    .elementor-element .media-split-block {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        align-items: start;
    }

    .elementor-element .media-split-block--reverse .media-split-block__media,
    .elementor-element .media-split-block--reverse .media-split-block__content {
        order: initial;
    }

    .elementor-element .media-split-block .media-split-block__media figure.wp-block-image img {
        aspect-ratio: 3 / 2 !important;
    }

    .elementor-element .media-split-block .media-split-block__title {
        max-width: none;
    }
}

/* Alleen actief wanneer een nieuwe beeldstijl is gekozen */
.elementor-element .media-split-block:is(.media-split-block--style-portrait,
    .media-split-block--style-fill)>.media-split-block__media {
    --ms-image-ratio: 4 / 5;

    position: relative;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin-inline: 0 !important;
    aspect-ratio: var(--ms-image-ratio);
    align-self: center;
}

/* Afbeelding vult het kader */
.elementor-element .media-split-block:is(.media-split-block--style-portrait,
    .media-split-block--style-fill)>.media-split-block__media figure.wp-block-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0 !important;
}

/* Ook voor een gelinkte afbeelding */
.elementor-element .media-split-block:is(.media-split-block--style-portrait,
    .media-split-block--style-fill)>.media-split-block__media figure.wp-block-image>a {
    display: block;
    width: 100%;
    height: 100%;
}

.elementor-element .media-split-block:is(.media-split-block--style-portrait,
    .media-split-block--style-fill)>.media-split-block__media figure.wp-block-image img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    aspect-ratio: auto !important;
    object-fit: cover;
    object-position: var(--ms-image-position, 50% 50%);
    border-radius: 0;
}

/* Onderschriften verbergen bij de nieuwe beeldstijlen */
.elementor-element .media-split-block:is(.media-split-block--style-portrait,
    .media-split-block--style-fill)>.media-split-block__media figcaption {
    display: none;
}

/* Meegroeien: volgt de teksthoogte, minimaal 4:5 */
.elementor-element .media-split-block.media-split-block--style-fill>.media-split-block__media {
    align-self: stretch;
}

/* Mobiel: beide nieuwe stijlen krijgen een compact 4:3-kader */
@media (max-width: 768px) {

    .elementor-element .media-split-block:is(.media-split-block--style-portrait,
        .media-split-block--style-fill)>.media-split-block__media {
        --ms-image-ratio: 4 / 3;
        align-self: start;
    }
}

/* Foto's en documenten */
.wp-block-gallery.image-slider-block--photos {
    --slider-columns: 3;
}

.wp-block-gallery.image-slider-block--documents {
    --slider-columns: 2;
}

.wp-block-gallery.image-slider-block:is(.image-slider-block--photos,
    .image-slider-block--documents)>figure.wp-block-image {
    display: block;
    align-self: flex-start;
    flex-basis: calc((100% - (var(--slider-columns) - 1) * var(--slider-gap)) / var(--slider-columns)) !important;
}

.wp-block-gallery.image-slider-block:is(.image-slider-block--photos,
    .image-slider-block--documents)>figure.wp-block-image>.wp-lightbox-container {
    width: 100%;
    max-width: none;
}

.wp-block-gallery.image-slider-block--photos>figure.wp-block-image img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 3 / 2 !important;
    padding: 0 !important;
    border-radius: 12px;
    object-fit: cover !important;
}

.wp-block-gallery.image-slider-block--documents>figure.wp-block-image img {
    box-sizing: border-box;
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(360px, 30vw, 420px) !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    padding: 20px !important;
    border-radius: 12px;
    background: #F5F5F5;
    object-fit: contain !important;
    object-position: center;
}

.wp-block-gallery.image-slider-lightbox-on>figure.wp-block-image img {
    cursor: zoom-in;
}

@media (max-width: 1024px) {

    .wp-block-gallery.image-slider-block--photos,
    .wp-block-gallery.image-slider-block--documents {
        --slider-columns: 2;
    }
}

@media (max-width: 768px) {

    .wp-block-gallery.image-slider-block:is(.image-slider-block--photos,
        .image-slider-block--documents)>figure.wp-block-image {
        flex-basis: 85% !important;
    }

    .wp-block-gallery.image-slider-block--documents>figure.wp-block-image img {
        height: 360px !important;
        padding: 16px !important;
    }
}

/* Media split — tussentitels binnen de tekstkolom */

.elementor-element .blockeditor-css .media-split-block__content> :is(h2, h3, h4, h5, h6):not(.media-split-block__title) {
    margin-block-start: 24px;
    margin-block-end: 12px;
}

/* H3 — minder zwaar dan de hoofdtitel */

.elementor-element .blockeditor-css .media-split-block__content>h3:not(.media-split-block__title) {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

/* Geen bovenruimte wanneer de tussentitel als eerste staat */

.elementor-element .blockeditor-css .media-split-block__content> :is(h2, h3, h4, h5, h6):not(.media-split-block__title):first-child {
    margin-block-start: 0;
}

/* Mobiel */

@media (max-width: 768px) {
    .elementor-element .blockeditor-css .media-split-block__content>h3:not(.media-split-block__title) {
        font-size: 20px;
    }
}



/* =========================================================
   MEDIA SPLIT — BREEDTE BINNEN LICHTE CONTENT SECTION
========================================================= */

.elementor-element .content-section-block>.content-section-block__inner {
    box-sizing: border-box;
    width: 100%;
    max-width: 1376px !important;
    margin-inline: auto !important;
}

.elementor-element .content-section-block>.content-section-block__inner>.media-split-block,
.elementor-element .content-section-block>.media-split-block {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    max-width: none !important;
    margin-inline: 0 !important;
}

.elementor-element .content-section-block .media-split-block> :is(.media-split-block__media, .media-split-block__content) {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: none !important;
    margin-inline: 0 !important;
}


/* ===========================
   Feature grid block
   =========================== */

/* Basisinstellingen */
.feature-grid-block {
    --feature-columns: 1;
    --feature-item-columns: 5;
    --feature-min-width: 0px;

    --feature-gap: clamp(16px, 2vw, 32px);
    --feature-card-gap: 16px;
    --feature-card-padding: 1.4rem 1.35rem 1.5rem;
    --feature-card-radius: 20px;
}

/* Bestaande varianten behouden hun minimale kaartbreedte */
.feature-grid-block.feature-grid-block_large-columns {
    --feature-min-width: 20rem;
}

.feature-grid-block.feature-grid-block_extra-large-columns {
    --feature-min-width: 30rem;
}

/* Grid */
.wp-block-group.feature-grid-block,
.feature-grid-block>.wp-block-group__inner-container {
    --feature-visible-columns:
        min(var(--feature-columns), var(--feature-item-columns));

    display: grid !important;

    grid-template-columns: repeat(auto-fit,
            minmax(min(100%,
                    max(var(--feature-min-width),
                        calc((100% - (var(--feature-visible-columns) - 1) * var(--feature-gap)) / var(--feature-visible-columns)))),
                1fr)) !important;

    gap: var(--feature-gap);
    align-items: stretch;
    align-content: start;

    margin-block: 0;
    padding-block: 1em;
}

/* Oudere WordPress group-wrapper */
.feature-grid-block>.wp-block-group__inner-container {
    grid-column: 1 / -1;

    width: 100%;
    min-width: 0;
    max-width: none !important;

    margin: 0 !important;
    padding: 0;
}

/* Cards — gelijke hoogte binnen iedere rij */
.feature-grid-block .feature-grid-block__item {
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: stretch;
    align-self: stretch;
    justify-content: flex-start;
    gap: var(--feature-card-gap);

    width: 100%;
    min-width: 0;
    max-width: none !important;
    height: auto;

    margin: 0 !important;
    padding: var(--feature-card-padding);

    border: 1px solid var(--e-global-color-9b9626f, #D5E0E0);
    border-radius: var(--feature-card-radius);
}

/* Oudere WordPress wrapper binnen een card */
.feature-grid-block .feature-grid-block__item>.wp-block-group__inner-container {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: stretch;
    gap: var(--feature-card-gap);

    width: 100%;
    padding: 0;
}

/* Directe kinderen: gap verzorgt alle onderlinge spacing */
.feature-grid-block .feature-grid-block__item>*,
.feature-grid-block .feature-grid-block__item>.wp-block-group__inner-container>* {
    min-width: 0;
    max-width: none !important;

    margin: 0 !important;
}

/* Headings */
.feature-grid-block .feature-grid-block__item :is(.wp-block-heading, h1, h2, h3, h4, h5, h6) {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.5rem;
    letter-spacing: 0;
}

/* Paragrafen */
.feature-grid-block .feature-grid-block__item p {
    font-size: 1rem;
    line-height: 1.5;
}

/* Lijsten */
.feature-grid-block .feature-grid-block__item :is(ul, ol) {
    margin-block: 0;
    gap: 0;
}

.feature-grid-block .feature-grid-block__item ul {
    padding-inline-start: 16px;
}

.feature-grid-block .feature-grid-block__item ol {
    padding-inline-start: 1.1rem;
}

.feature-grid-block .feature-grid-block__item li {
    margin-block: 0 8px;
    font-size: 1rem;
    line-height: 1.5;
}

.feature-grid-block .feature-grid-block__item li:last-child {
    margin-block-end: 0;
}

/* Afbeeldingen */
.feature-grid-block .feature-grid-block__item figure {
    min-width: 0;
    max-width: 100%;
}

.feature-grid-block .feature-grid-block__item figure img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Inline Arrow Link — links onderaan */
.feature-grid-block .feature-grid-block__item>.inline-arrow-link-block,
.feature-grid-block .feature-grid-block__item>.wp-block-group__inner-container>.inline-arrow-link-block {
    margin-block-start: auto !important;
    align-self: flex-start;
    justify-content: flex-start;
}

/* Eén tot drie items vullen samen de beschikbare breedte */
:is(.feature-grid-block,
    .feature-grid-block > .wp-block-group__inner-container):has(> .feature-grid-block__item:only-child) {
    --feature-item-columns: 1;
}

:is(.feature-grid-block,
    .feature-grid-block > .wp-block-group__inner-container):has(> .feature-grid-block__item:nth-child(2):last-child) {
    --feature-item-columns: 2;
}

:is(.feature-grid-block,
    .feature-grid-block > .wp-block-group__inner-container):has(> .feature-grid-block__item:nth-child(3):last-child) {
    --feature-item-columns: 3;
}

/* Vier items: vier kolommen. Zes items: vier + twee. */
:is(.feature-grid-block,
    .feature-grid-block > .wp-block-group__inner-container):has(> .feature-grid-block__item:nth-child(4):last-child),
:is(.feature-grid-block,
    .feature-grid-block > .wp-block-group__inner-container):has(> .feature-grid-block__item:nth-child(6):last-child) {
    --feature-item-columns: 4;
}

/* Tablet */
@media (min-width: 768px) {
    .feature-grid-block {
        --feature-columns: 3;
    }
}

/* Desktop */
@media (min-width: 1200px) {
    .feature-grid-block {
        --feature-columns: 5;
    }

    .feature-grid-block.feature-grid-block--cols-4 {
        --feature-columns: 4;
    }

    .feature-grid-block.feature-grid-block--cols-3 {
        --feature-columns: 3;
    }
}

/* Typografie tablet */
@media (max-width: 1024px) {
    .feature-grid-block .feature-grid-block__item :is(.wp-block-heading, h1, h2, h3, h4, h5, h6) {
        font-size: 1.125rem;
        line-height: 1.375rem;
    }
}

/* Typografie mobiel */
@media (max-width: 767px) {
    .feature-grid-block .feature-grid-block__item :is(.wp-block-heading, h1, h2, h3, h4, h5, h6) {
        font-size: 1rem;
        line-height: 1.25rem;
    }
}

/* Compactere cards op kleine schermen */
@media (max-width: 600px) {
    .feature-grid-block {
        --feature-card-padding: 1.15rem 1.1rem 1.2rem;
        --feature-card-radius: 18px;
    }
}

/* Dark content section — zachte borders rond feature-cards */

.elementor-element .content-section-block-dark .feature-grid-block__item {
    border-color: rgba(154, 178, 175, .30);
}


/* ===========================
   Pricing grid block
   =========================== */

/* Flow reset */
.elementor-element .pricing-grid-block.is-layout-flow>*,
.elementor-element .pricing-grid-block.is-layout-constrained>*,
.elementor-element .pricing-grid-block__item.is-layout-flow>*,
.elementor-element .pricing-grid-block__item.is-layout-constrained>* {
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline: 0 !important;
    max-width: none;
}


/* Grid */
.elementor-element .pricing-grid-block {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
    gap: 1.5rem;
    margin-block: 2em;
    align-items: stretch;
}


/* Item */
.elementor-element .pricing-grid-block__item {
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: clamp(1.35rem, 2vw, 2rem);
    border: 1px solid var(--e-global-color-9b9626f);
    border-radius: 20px;
    background: #fff;
}

.elementor-element .pricing-grid-block__item> :first-child {
    margin-block-start: 0 !important;
}

.elementor-element .pricing-grid-block__item> :last-child {
    margin-block-end: 0 !important;
}


/* Title */
.elementor-element .pricing-grid-block .pricing-grid-block__title {
    margin-block: 0 var(--blockeditor-gap, 16px);
    margin-inline: 0;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.5rem;
    letter-spacing: 0;
}


/* Text */
.elementor-element .pricing-grid-block .pricing-grid-block__text {
    margin-block: 0 var(--blockeditor-gap, 16px);
    margin-inline: 0;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--partner-muted, rgba(1, 23, 20, .68));
}


/* Price */
.elementor-element .pricing-grid-block .pricing-grid-block__price {
    margin-block-start: .25rem;
    margin-block-end: 1.25rem;
    margin-inline: 0;
    font-size: clamp(2rem, 1.5rem + 1.5vw, 3rem);
    line-height: 1;
    letter-spacing: -.04em;
    font-weight: 650;
}


/* Lists */
.elementor-element .pricing-grid-block .pricing-grid-block__item ul,
.elementor-element .pricing-grid-block .pricing-grid-block__item ol {
    margin-block: 0;
    margin-inline: 0;
    gap: 0;
}

.elementor-element .pricing-grid-block .pricing-grid-block__item ul {
    padding-inline-start: 0;
}

.elementor-element .pricing-grid-block .pricing-grid-block__item ol {
    padding-inline-start: 1.1rem;
}

.elementor-element .pricing-grid-block .pricing-grid-block__item li {
    margin-block-start: 0;
    margin-block-end: 8px;
    font-size: 1rem;
    line-height: 1.5;
}

.elementor-element .pricing-grid-block .pricing-grid-block__item li:last-child {
    margin-block-end: 0;
}


/* Actions */
.elementor-element .pricing-grid-block__item .wp-block-buttons,
.elementor-element .pricing-grid-block .pricing-grid-block__actions {
    margin-block-start: auto !important;
    margin-block-end: 0;
    padding-block-start: 1.35rem;
}

.elementor-element .pricing-grid-block__item .wp-block-button__link {
    min-height: 48px;
    padding: .875rem 1.3125rem;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
}


/* Tablet */
@media (max-width: 1024px) {
    .elementor-element .pricing-grid-block .pricing-grid-block__title {
        font-size: 1.125rem;
        line-height: 1.375rem;
    }
}


/* Mobile */
@media (max-width: 768px) {
    .elementor-element .pricing-grid-block .pricing-grid-block__title {
        font-size: 1rem;
        line-height: 1.25rem;
    }
}

@media (max-width: 600px) {
    .elementor-element .pricing-grid-block {
        gap: 1rem;
    }

    .elementor-element .pricing-grid-block__item {
        border-radius: 18px;
    }

    .elementor-element .pricing-grid-block__item .wp-block-button,
    .elementor-element .pricing-grid-block__item .wp-block-button__link {
        width: 100%;
    }
}

.pricing-grid-block>.pricing-grid-block__item:only-child,
.pricing-grid-block>.wp-block-group__inner-container>.pricing-grid-block__item:only-child {
    box-sizing: border-box;
    grid-column: 1 / -1;
    justify-self: center;
    width: 100% !important;
    max-width: 760px !important;
    min-width: 0;
    margin-inline: auto !important;
}


/* ===========================
   Comparison table block
   =========================== */

/* Base */
.elementor-element .comparison-table-block,
.editor-styles-wrapper .comparison-table-block {
    width: 100%;
    margin-block: 2em;
    overflow-x: auto;
}

.elementor-element .comparison-table-block table,
.editor-styles-wrapper .comparison-table-block table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border: 0;
    border-radius: 0 !important;
}

.elementor-element .comparison-table-block table thead,
.editor-styles-wrapper .comparison-table-block table thead {
    border-bottom: 1px solid rgba(1, 23, 20, .12) !important;
}


/* Cells */
.elementor-element .comparison-table-block th,
.elementor-element .comparison-table-block td,
.editor-styles-wrapper .comparison-table-block th,
.editor-styles-wrapper .comparison-table-block td {
    padding: 1.05rem 1.25rem;
    border: 0;
    border-bottom: 1px solid rgba(1, 23, 20, .08);
    text-align: center;
    vertical-align: middle;
    font-size: 1rem;
    line-height: 1.5;
    color: #011714;
    background: transparent;
    border-radius: 0 !important;
}


/* Header */
.elementor-element .comparison-table-block thead th,
.editor-styles-wrapper .comparison-table-block thead th {
    position: relative;
    padding-top: 1.35rem;
    padding-bottom: 1.35rem;
    font-size: clamp(1.1rem, 1rem + .2vw, 1.3rem);
    line-height: 1.2;
    font-weight: 650;
    letter-spacing: -.02em;
    color: #011714;
    background: rgba(1, 23, 20, .035);
    border-top: 1px solid rgba(1, 23, 20, .04);
    border-bottom: 1px solid rgba(1, 23, 20, .12);
}

.elementor-element .comparison-table-block thead th:first-child:empty,
.editor-styles-wrapper .comparison-table-block thead th:first-child:empty {
    color: transparent;
    background: transparent;
    border-bottom: 1px solid rgba(1, 23, 20, .12);
}


/* Rows */
.elementor-element .comparison-table-block tbody tr:nth-child(even) td,
.editor-styles-wrapper .comparison-table-block tbody tr:nth-child(even) td {
    background: rgba(1, 23, 20, .018);
}

.elementor-element .comparison-table-block tbody tr,
.editor-styles-wrapper .comparison-table-block tbody tr {
    transition: background-color .18s ease;
}

.elementor-element .comparison-table-block tbody tr:hover td {
    background: rgba(1, 23, 20, .04);
}

.elementor-element .comparison-table-block tbody td:first-child,
.editor-styles-wrapper .comparison-table-block tbody td:first-child {
    text-align: left;
    font-weight: 500;
}


/* Values */
.elementor-element .comparison-table-block__yes,
.editor-styles-wrapper .comparison-table-block__yes {
    color: #12967D;
    font-weight: 700;
}

.elementor-element .comparison-table-block__no,
.editor-styles-wrapper .comparison-table-block__no {
    color: #E23B2E;
    font-weight: 700;
}


/* ===========================
   Content section block
   =========================== */

/* Elementor container reset */
.solution-content-section:has(> .e-con-inner > .elementor-element:first-child .content-section-block)>.e-con-inner {
    padding: 0;
}

.solution-content-section>.e-con-inner>.elementor-element:first-child .content-section-block {
    margin-block-start: 0;
}

/* Section-container behoudt de maximale websitebreedte */
.elementor-element .content-section-block>.content-section-block__inner {
    width: 100%;
    max-width: 1376px;
    margin-inline: auto !important;
}

/* Binnenliggende blocks niet beperken tot WP-contentbreedte */
.elementor-element .content-section-block__inner> :not(.content-section-block__intro) {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-inline: 0 !important;
}


/* Base block */
.elementor-element .content-section-block {
    width: 100%;
    margin-block: 2em;
    padding: 80px 0;
}


/* Light / dark full width */
.elementor-element .content-section-block-light,
.elementor-element .content-section-block-dark {
    width: 100vw;
    max-width: 100vw;
    margin-inline: calc(50% - 50vw);
    padding: 80px 64px;
}

.elementor-element .content-section-block-light {
    color: var(--e-global-color-38be540);
    background: #F5F5F5;
}

.elementor-element .content-section-block-dark {
    color: var(--e-global-color-4bdcffb);
    background-color: var(--e-global-color-2c5ae78);
}

.elementor-element .content-section-block-dark .wp-block-heading {
    color: #fff;
}


/* Gutenberg spacing reset */
.elementor-element .content-section-block__grid.is-layout-constrained>* {
    margin-block-start: 0;
    margin-block-end: 0;
}


/* Inner */
.elementor-element .content-section-block__inner {
    width: 100%;
    max-width: 1376px;
    margin-inline: auto;
}


/* Intro */
.elementor-element .content-section-block__intro {
    max-width: 760px;
    margin-block-start: 0;
    margin-block-end: clamp(2.5rem, 4vw, 5rem);
    margin-inline: auto;
    text-align: center;
}

.elementor-element .content-section-block__intro> :first-child,
.elementor-element .content-section-block__item> :first-child {
    margin-block-start: 0 !important;
}

.elementor-element .content-section-block__intro> :last-child,
.elementor-element .content-section-block__item> :last-child {
    margin-block-end: 0 !important;
}


/* Intro heading */
.elementor .elementor-element .content-section-block .content-section-block__intro>h2 {
    margin-block-start: 0;
    margin-block-end: 1.5rem;
    margin-inline: 0;
    font-size: 3rem;
    line-height: 1.1;
    letter-spacing: -.96px;
    text-wrap: balance;
    text-align: center;
}


/* Intro text */
.elementor .elementor-element .content-section-block .content-section-block__intro>p.content-section-block__text {
    margin-block: 0;
    margin-inline: 0;
    font-size: 1.125em;
    line-height: 1.333;
    text-wrap: balance;
    text-align: center;
    color: var(--e-global-color-38be540);
}

.elementor .elementor-element .content-section-block-dark .content-section-block__intro>p.content-section-block__text,
.elementor .elementor-element .content-section-block-dark p.content-section-block__eyebrow {
    color: var(--e-global-color-4bdcffb);
}


/* General text */
.elementor-element .content-section-block__text {
    margin: 0;
    color: var(--partner-muted, rgba(1, 23, 20, .68));
    line-height: 1.5;
}


/* Grid */
.elementor-element .content-section-block__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1.5rem, 3vw, 3rem);
    max-width: none;
}

.elementor-element .content-section-block__item {
    min-width: 0;
}


/* Item headings */
.elementor .elementor-element .content-section-block__item .wp-block-heading {
    margin-block-start: 0;
    margin-block-end: var(--blockeditor-gap, 16px);
    margin-inline: 0;
    line-height: 1.2;
    letter-spacing: -.02em;
}


/* Item text */
.elementor-element .content-section-block .content-section-block__item p {
    margin-block-start: 0;
    margin-block-end: var(--blockeditor-gap, 16px);
    margin-inline: 0;
    line-height: 1.5;
}


/* Lists */
.elementor-element .content-section-block .content-section-block__item ul,
.elementor-element .content-section-block .content-section-block__item ol {
    margin-block-start: var(--blockeditor-gap, 16px);
    margin-block-end: var(--blockeditor-gap, 16px);
    margin-inline: 0;
    gap: 0;
}

.elementor-element .content-section-block .content-section-block__item ul {
    padding-inline-start: 0;
}

.elementor-element .content-section-block .content-section-block__item ol {
    padding-inline-start: 1.15rem;
}

.elementor-element .content-section-block .content-section-block__item li {
    margin-block-start: 0;
    margin-block-end: 8px;
    line-height: 1.5;
}

.elementor-element .content-section-block .content-section-block__item li:last-child {
    margin-block-end: 0;
}


/* Eyebrow */
.content-section-block .content-section-block__intro>p.content-section-block__eyebrow {
    display: flex;
    width: fit-content;
    margin: 0 0 24px;
    padding: 2px 12px;
    border: 1px solid var(--e-global-color-a9a8d12);
    border-radius: 16px;
    font-size: .875em;
    font-weight: 700;
    line-height: 1.125rem;
    color: var(--e-global-color-0652222);
}


/* Tablet */
@media (max-width: 1024px) {

    .elementor-element .content-section-block-light,
    .elementor-element .content-section-block-dark {
        padding: 64px;
    }
}


/* Mobile */
@media (max-width: 768px) {
    .elementor-element .content-section-block {
        padding: 64px 0;
    }

    .elementor-element .content-section-block-light,
    .elementor-element .content-section-block-dark {
        padding: 64px 16px;
    }

    .elementor-element .content-section-block__intro {
        margin-inline: 0;
        text-align: left;
    }

    .elementor .elementor-element .content-section-block .content-section-block__intro>h2 {
        font-size: 1.75rem;
        line-height: 1.1;
        letter-spacing: -.56px;
    }

    .elementor .elementor-element .content-section-block .content-section-block__intro>p.content-section-block__text {
        font-size: 1em;
        line-height: 1.5;
    }

    .elementor-element .content-section-block__grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* Section-inhoud op websitebreedte */
.elementor-element .content-section-block>.content-section-block__inner {
    box-sizing: border-box;
    width: 100%;
    max-width: 1376px;
    margin-inline: auto !important;
}

/* Beide grids vullen hun container binnen een section */
.elementor-element .content-section-block :is(.content-grid-block, .feature-grid-block) {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-inline: 0 !important;
}

/* Grids rechtstreeks in de section behouden de websitebreedte */
.elementor-element .content-section-block> :is(.content-grid-block, .feature-grid-block) {
    max-width: 1376px;
    margin-inline: auto !important;
}

.content-section-block .content-section-heading-block {
    margin-block: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.content-section-block .content-section-heading-block .content-section-block__inner {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
}

/* Ruimte tussen de sectie-introductie en het content-grid */
.content-section-heading-block+.wp-block-group.content-grid-block,
.content-section-block .content-section-heading-block+.content-grid-block {
    margin-block-start: clamp(40px, 4vw, 80px) !important;
}

/* Content Section Dark — tekstlinks */
.elementor-element .content-section-block-dark :is(p, li) a:not(.wp-block-button__link) {
    color: var(--e-global-color-secondary) !important;
    text-decoration: underline;
    text-underline-offset: .15em;
}

/* Hover en toetsenbordfocus */
.elementor-element .content-section-block-dark :is(p, li) a:not(.wp-block-button__link):is( :hover,
    :focus-visible) {
    color: var(--e-global-color-secondary) !important;
}


/* ===========================
   Post grid block
   =========================== */

/* Base */
.elementor-element .post-grid-block {
    color: var(--e-global-color-2c5ae78);
    container: post-grid / inline-size;
    margin-block: 2em;
}

/* Losse post grid — standaard buitenruimte */

.elementor-element .blockeditor-css>.post-grid-block {
    margin-block: 80px;
}

@media (width < 1024px) {
    .elementor-element .blockeditor-css>.post-grid-block {
        margin-block: 64px;
    }
}

.elementor-element .post-grid-block-dark {
    color: var(--e-global-color-text);
}

.elementor .elementor-element .post-grid-block li {
    list-style: none;
    padding-inline-start: 0px
}

.elementor-element .post-grid-block.is-layout-flow>*,
.elementor-element .post-grid-block.is-layout-constrained>*,
.elementor-element .post-grid-block__header.is-layout-constrained>*,
.elementor-element .post-grid-block__item.is-layout-constrained>* {
    margin-block-start: 0;
    margin-block-end: 0;
}


/* Heading */
.elementor .elementor-element .post-grid-block h2.post-grid-block__heading {
    margin-block-start: 0;
    margin-block-end: clamp(3rem, 4vw, 4rem);
    margin-inline: 0;
    color: inherit;
    font-size: 2rem;
    line-height: 1.2;
    letter-spacing: -.8px;
    text-wrap: balance;
    text-align: center;
}


/* Grid */
.elementor .elementor-element .post-grid-block .wp-block-post-template {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 32px);
    padding-inline-start: 0;
}

.elementor .elementor-element .post-grid-block .wp-block-post-template>li,
.elementor .elementor-element .post-grid-block .wp-block-post-template .wp-block-post-excerpt__excerpt {
    margin: 0;
}

.elementor .elementor-element .post-grid-block .wp-block-post-template>li::before {
    content: none;
    display: none;
}


/* Image */
.elementor-element .post-grid-block__image {
    margin-block-start: 0;
    margin-block-end: 24px !important;
    margin-inline: 0;
}

.elementor-element .post-grid-block__image img {
    width: 100%;
    min-height: 7.5em;
    max-height: 18.625em;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    border-radius: 16px;
}


/* Title */
.elementor .elementor-element .post-grid-block__item h3.post-grid-block__title {
    margin-block-start: 0;
    margin-block-end: var(--blockeditor-gap, 16px);
    margin-inline: 0;
    font-size: 1.25em;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
    color: var(--e-global-color-2c5ae78);
}

.elementor .elementor-element .post-grid-block-dark .post-grid-block__item h3.post-grid-block__title,
.elementor-element .post-grid-block-dark .post-grid-block__title {
    color: var(--e-global-color-text);
}

.elementor .elementor-element .post-grid-block__item .post-grid-block__title a {
    text-decoration: none !important;
    color: var(--e-global-color-2c5ae78) !important;
}

.elementor .elementor-element .post-grid-block-dark .post-grid-block__item .post-grid-block__title a {
    color: #ffffff !important;
}


/* Excerpt */
.elementor-element .post-grid-block__excerpt {
    margin: 0;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    color: var(--e-global-color-3fae99f);
}

.elementor-element .post-grid-block__excerpt p {
    margin: 0;
}

.elementor-element .post-grid-block-dark .post-grid-block__excerpt {
    color: var(--e-global-color-4bdcffb);
}


/* Responsive grid */
@container post-grid (max-width: 900px) {
    .elementor .elementor-element .post-grid-block .wp-block-post-template {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px;
    }
}

@container post-grid (max-width: 600px) {
    .elementor .elementor-element .post-grid-block .wp-block-post-template {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .elementor .elementor-element .post-grid-block h2.post-grid-block__heading {
        font-size: 1.75rem;
        letter-spacing: -.56px;
    }

    .elementor .elementor-element .post-grid-block__item h3.post-grid-block__title {
        font-size: 1.125em;
        line-height: 1.375rem;
    }
}


/* ===========================
   CTA contact block
   =========================== */

/* Contact */
.elementor-element .cta-contact-block {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--blockeditor-gap, 16px);
    width: fit-content;
    max-width: 100%;
    color: var(--e-global-color-2c5ae78);
}

.elementor-element .cta-contact-block.is-layout-constrained * {
    margin: 0 !important;
}


/* Image */
.elementor-element .cta-contact-block__image {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    margin: 0;
    border-radius: 999px;
    overflow: hidden;
}

.elementor-element .cta-contact-block__image img {
    width: 64px;
    height: 64px;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover;
    display: block;
    border-radius: 999px;
}


/* Content */
.elementor-element .cta-contact-block__content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    width: fit-content;
    max-width: 100%;
}

.elementor-element .cta-contact-block .cta-contact-block__name {
    margin: 0;
    font-size: 1em;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0;
    color: var(--e-global-color-2c5ae78);
}

.elementor-element .cta-contact-list-block-dark .cta-contact-block__name {
    color: var(--e-global-color-9b9626f);
}

.elementor-element .cta-contact-block .cta-contact-block__meta {
    margin: 0;
    font-size: .875em;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0;
    color: var(--e-global-color-38be540);
}

.elementor .elementor-element .cta-contact-list-block-dark .cta-contact-block__meta {
    color: var(--e-global-color-4bdcffb);
}

.elementor .elementor-element .cta-contact-list-block-dark .cta-contact-block__meta a {
    color: var(--e-global-color-secondary) !important;
}


/* Links */
.elementor-element .cta-contact-block__meta a {
    color: inherit;
    text-decoration: none;
}

.elementor-element .cta-contact-block__meta a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* Contact list */
.elementor-element .cta-contact-list-block {
    display: flex;
    flex-wrap: wrap;
    column-gap: 32px;
    row-gap: 24px;
    align-items: flex-start;
}

.elementor-element .cta-contact-list-block.is-layout-constrained>* {
    max-width: none !important;
    margin: 0 !important;
}


/* Mobile */
@media (max-width: 768px) {
    .elementor-element .cta-contact-block {
        flex-direction: column;
        align-items: center;
        gap: 12px;
        text-align: center;
        width: fit-content;
        max-width: 100%;
        margin-inline: auto !important;
    }

    .elementor-element .cta-contact-block__content {
        align-items: center;
    }

    .elementor-element .cta-contact-list-block {
        justify-content: center;
    }
}

:is(.content-section-block__item,
    .content-grid-block__item,
    .wp-block-column) .cta-contact-block,
:is(.content-section-block__item,
    .content-grid-block__item,
    .wp-block-column) .cta-contact-list-block {
    justify-content: flex-start !important;
    justify-self: start;
    margin-inline: 0 !important;
    text-align: left;
}

:is(.content-section-block__item,
    .content-grid-block__item,
    .wp-block-column) .cta-contact-block>.cta-contact-block__image,
:is(.content-section-block__item,
    .content-grid-block__item,
    .wp-block-column) .cta-contact-block>.cta-contact-block__content {
    margin-inline: 0 !important;
}

/* =========================================================
   CONTENT SECTION HEADING BLOCK
========================================================= */

.elementor-element .content-section-heading-block .content-section-block__intro {
    margin-block-end: 0;
}

.elementor-element .content-section-heading-block {
    margin-block: 0;
}

.elementor .elementor-element .content-section-heading-block .wp-block-buttons {
    margin-bottom: 0 !important;
}

/* =========================================================
   FULL IMAGE BLOCK - IMAGE DUO BLOCK
========================================================= */

.elementor-element :is(.image-full-block, .image-duo-block) {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-block: clamp(40px, 6vw, 88px);
    margin-inline: auto;
    padding: 0;
}

.elementor-element .image-duo-block {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2.2vw, 32px);
}

.elementor-element :is(.image-full-block, .image-duo-block)>.wp-block-image {
    min-width: 0;
    width: 100%;
    max-width: none;
    margin: 0;
}

.elementor-element :is(.image-full-block, .image-duo-block) .wp-block-image>a {
    display: block;
}

.elementor .elementor-element .editorial-story-content :is(.image-full-block, .image-duo-block) img {
    display: block;
    width: 100%;
    max-width: 100%;
    object-fit: cover;
    object-position: var(--image-position, 50% 50%);
    border-radius: 12px;
}

.elementor .elementor-element .editorial-story-content .image-full-block img {
    border-radius: 0;
}

.elementor .elementor-element .editorial-story-content .image-full-block img {
    height: auto;
    aspect-ratio: 16 / 10;
}

.elementor .elementor-element .editorial-story-content .image-duo-block img {
    height: auto;
    aspect-ratio: 4 / 5;
}

.elementor .elementor-element :is(.image-full-block, .image-duo-block) figcaption {
    margin: 12px 0 0;
    padding-inline: 16px;
    font-size: .875rem;
    line-height: 1.5;
    text-align: center;
}

body:not(.single-post) .editorial-story-canvas {
    container-type: inline-size;
}

@supports (width: 1cqw) {

    /* Only top-level blocks in the marked Post Content widget may break out. */
    body:not(.single-post) .editorial-story-canvas .editorial-story-content>.image-full-block {
        width: 100cqw;
        max-width: none;
        margin-inline: calc(50% - 50cqw);
    }

    body:not(.single-post) .editorial-story-canvas .editorial-story-content>.image-full-block img {
        height: min(90vh, 1000px);
        height: min(90svh, 1000px);
        aspect-ratio: auto;
    }

    body:not(.single-post) .editorial-story-canvas .editorial-story-content>.image-duo-block {
        width: min(1120px, calc(100cqw - 64px));
        max-width: none;
        margin-inline: calc((100% - min(1120px, calc(100cqw - 64px))) / 2);
    }
}

@media (max-width: 768px) {
    .elementor-element .image-duo-block {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    @supports (width: 1cqw) {
        body:not(.single-post) .editorial-story-canvas .editorial-story-content>.image-full-block img {
            height: min(72vh, 640px);
            height: min(72svh, 640px);
        }

        body:not(.single-post) .editorial-story-canvas .editorial-story-content>.image-duo-block {
            width: calc(100cqw - 40px);
            margin-inline: calc((100% - (100cqw - 40px)) / 2);
        }
    }
}

.elementor-element:has(> .longform-content > .image-full-block:last-child) {
    padding-bottom: 0 !important;
}

/* =========================================================
   INLINE ARROW LINK
========================================================= */

.elementor-element .wp-block-button.inline-arrow-link {
    margin: 0;
}

.elementor-element .wp-block-button.inline-arrow-link .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;

    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;

    font-size: 1em;
    font-weight: 600 !important;
    line-height: 1.5rem;
    text-decoration: none;
    color: var(--e-global-color-22755e3) !important;
}

.elementor-element .wp-block-button.inline-arrow-link .wp-block-button__link::after {
    content: "";
    width: 1.5em;
    height: 1.5em;
    flex: 0 0 1.5em;
    display: inline-block;
    background-color: currentColor;

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;

    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6.58578L16.7071 11.2929C17.0977 11.6834 17.0977 12.3166 16.7071 12.7071L12 17.4142L10.5858 16L14.5858 12L10.5858 8L12 6.58578Z' fill='black'/%3E%3C/svg%3E");

    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6.58578L16.7071 11.2929C17.0977 11.6834 17.0977 12.3166 16.7071 12.7071L12 17.4142L10.5858 16L14.5858 12L10.5858 8L12 6.58578Z' fill='black'/%3E%3C/svg%3E");
}

/* Dark content section — limegroene inline-arrow-links */

.elementor-element .content-section-block-dark .inline-arrow-link-block .wp-block-button__link,
.elementor-element .content-section-block-dark .inline-arrow-link .wp-block-button__link {
    color: var(--e-global-color-secondary) !important;
}

.elementor-element .content-section-block-dark .inline-arrow-link-block .wp-block-button__link:is(:hover, :focus-visible),
.elementor-element .content-section-block-dark .inline-arrow-link .wp-block-button__link:is(:hover, :focus-visible) {
    color: var(--e-global-color-secondary) !important;
}

/* Pijl volgt de tekstkleur */

.elementor-element .content-section-block-dark .inline-arrow-link-block .wp-block-button__link::after,
.elementor-element .content-section-block-dark .inline-arrow-link .wp-block-button__link::after {
    color: inherit;
}


/* =========================================================
   CTA BLOCK BOXED
========================================================= */

.elementor-element .cta-boxed-block {
    --cta-padding:
        clamp(4rem, 6vw, 6rem) clamp(1.5rem, 4vw, 4rem);

    text-align: center;
}

.elementor-element .cta-boxed-block.is-layout-constrained>* {
    width: 100%;
    max-width: 50rem !important;
    margin-inline: auto !important;
}

.elementor-element .cta-boxed-block .cta-block__title {
    max-width: 22ch;
    margin-inline: auto;
    text-wrap: balance;
}

.elementor-element .cta-boxed-block__copy {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    width: 100%;
    max-width: 60ch;
    margin-inline: auto !important;
}

.elementor-element .cta-boxed-block__copy.is-layout-constrained>* {
    margin-block-start: 0;
    margin-block-end: 0;
}

.elementor-element .cta-boxed-block .cta-block__text {
    margin-inline: auto;
}

.elementor-element .cta-boxed-block .cta-block__actions {
    justify-content: center;
}

.elementor-element .blockeditor-css .cta-boxed-block a:not(.wp-block-button__link) {
    color: var(--e-global-color-secondary) !important;
    text-decoration: underline;
    text-underline-offset: 0.18em;
    text-decoration-thickness: 1px;
    transition: color .15s ease, text-decoration-thickness .15s ease;
}

.elementor-element .blockeditor-css .cta-boxed-block a:not(.wp-block-button__link):hover,
.elementor-element .blockeditor-css .cta-boxed-block a:not(.wp-block-button__link):focus {
    text-decoration-thickness: 2px;
}

.elementor-element .longform-content .wp-block-button:not(.inline-arrow-link) .wp-block-button__link,
.elementor-element .cta-boxed-block .wp-block-button__link {
    position: relative;

    min-height: 0;
    padding: 12px 48px 12px 16px;

    border: 0 !important;
    border-radius: 999px;

    background: var(--e-global-color-accent) !important;
    color: var(--e-global-color-2c5ae78);

    font-size: 1em;
    font-weight: 500;
    line-height: 1em;
    text-decoration: none;

    transition: all .2s ease-in-out;
}

/* Hover / focus */
.elementor-element .longform-content .wp-block-button:not(.inline-arrow-link) .wp-block-button__link:hover,
.elementor-element .cta-boxed-block .wp-block-button__link:hover,
.elementor-element .cta-boxed-block .cta-block__actions .wp-block-button__link:focus {
    background: #FFBB39 !important;
    color: var(--e-global-color-2c5ae78);
}

.elementor-element .longform-content .wp-block-button:not(.inline-arrow-link) .wp-block-button__link:visited,
.elementor-element .cta-boxed-block .wp-block-button__link:visited {
    color: var(--e-global-color-2c5ae78);
}


/* Arrow – mobile/default */
.elementor-element .longform-content .wp-block-button:not(.inline-arrow-link) .wp-block-button__link::after,
.elementor-element .cta-boxed-block .wp-block-button__link::after {
    content: "";
    position: absolute;
    top: 15px;
    right: 19px;

    width: 10px;
    height: 10px;
    margin: 0;

    opacity: 1;

    background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 11L11 1' stroke='%23011714' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M1 1H11V11' stroke='%23011714' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}


/* Desktop */
@media (min-width: 769px) {

    .elementor-element .longform-content .wp-block-button:not(.inline-arrow-link) .wp-block-button__link,
    .elementor-element .cta-boxed-block .wp-block-button__link {
        padding: 16px 64px 16px 24px;

        font-size: 1.25em;
        line-height: 24px;
    }


    /* Beide arrows */
    .elementor-element .longform-content .wp-block-button:not(.inline-arrow-link) .wp-block-button__link::before,
    .elementor-element .longform-content .wp-block-button:not(.inline-arrow-link) .wp-block-button__link::after,
    .elementor-element .cta-boxed-block .wp-block-button__link::before,
    .elementor-element .cta-boxed-block .cta-block__actions .wp-block-button__link::after {
        content: "";
        position: absolute;
        top: 22px;

        width: 12px;
        height: 12px;

        background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 11L11 1' stroke='%23011714' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M1 1H11V11' stroke='%23011714' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }


    /* Arrow links – verborgen */
    .elementor-element .longform-content .wp-block-button:not(.inline-arrow-link) .wp-block-button__link::before,
    .elementor-element .cta-boxed-block .wp-block-button__link::before {
        left: 30px;

        opacity: 0;
        transform: translate(-150%, 150%);

        transition:
            opacity .3s ease-in-out,
            transform .3s ease-in-out;
    }


    /* Arrow rechts – zichtbaar */
    .elementor-element .longform-content .wp-block-button:not(.inline-arrow-link) .wp-block-button__link::after,
    .elementor-element .cta-boxed-block .wp-block-button__link::after {
        right: 30px;

        opacity: 1;
        transform: translate(0, 0);

        transition:
            opacity .3s ease-in-out,
            transform .3s ease-in-out;
    }

    /* Tekst schuift bij hover */
    .elementor-element .longform-content .wp-block-button:not(.inline-arrow-link) .wp-block-button__link:hover,
    .elementor-element .cta-boxed-block .wp-block-button__link:hover {
        padding-right: 24px;
        padding-left: 64px;
    }


    /* Rechter arrow eruit */
    .elementor-element .longform-content .wp-block-button:not(.inline-arrow-link) .wp-block-button__link:hover::after,
    .elementor-element .cta-boxed-block .wp-block-button__link:hover::after {
        opacity: 0;
        transform: translate(150%, -150%);
    }


    /* Linker arrow erin */
    .elementor-element .longform-content .wp-block-button:not(.inline-arrow-link) .wp-block-button__link:hover::before,
    .elementor-element .cta-boxed-block .wp-block-button__link:hover::before {
        opacity: 1;
        transform: translate(0, 0);
    }
}

.elementor-element .cta-boxed-block .cta-contact-list-block {
    justify-content: center;
    margin-block-start: 1.5rem !important;
    margin-block-end: 0 !important;
}

.elementor-element .cta-boxed-block .cta-contact-block__content {
    text-align: left;
}


@media (max-width: 768px) {
    .elementor-element .cta-boxed-block {
        --cta-padding: 3rem 1.25rem;
    }

    .elementor-element .cta-boxed-block .cta-contact-block__content {
        text-align: center;
    }
}

/* =========================================================
   CONTENT GRID BLOCK
========================================================= */
.elementor-element .content-grid-block {
    --cg-columns: 2;
    --cg-gap: clamp(1.5rem, 3vw, 3rem);
    --cg-cell-min: 280px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, max(var(--cg-cell-min),
                        calc((100% - (var(--cg-columns) - 1) * var(--cg-gap)) / var(--cg-columns)))), 1fr));
    gap: var(--cg-gap);
    align-items: start;
    min-width: 0;
    padding: 0;
    margin-block: 2em;
}

.elementor .elementor-element .content-grid-block h2,
.elementor .elementor-element .content-grid-block h3 {

    font-weight: 600;
}

.elementor-element .content-grid-block.content-grid-block--cols-3 {
    --cg-columns: 3;
}

.elementor-element .content-grid-block.content-grid-block--cols-4 {
    --cg-columns: 4;
}

.elementor-element .content-grid-block.content-grid-block--cols-5 {
    --cg-columns: 5;
}

.elementor-element .content-grid-block.content-grid-block--cols-6 {
    --cg-columns: 6;
}

.elementor-element .content-grid-block:is(.content-grid-block--cols-3, .content-grid-block--cols-4,
    .content-grid-block--cols-5, .content-grid-block--cols-6) {
    --cg-gap: clamp(16px, 2vw, 32px);
    --cg-cell-min: 180px;
}

/* Verwijder Gutenberg-breedtebeperkingen en automatische zijmarges. */
.elementor-element .content-grid-block>.content-grid-block__item {
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0 !important;
    overflow-wrap: anywhere;
}

.elementor-element .content-grid-block>.content-grid-block__item> :first-child {
    margin-block-start: 0;
}

.elementor-element .content-grid-block>.content-grid-block__item> :last-child {
    margin-block-end: 0;
}

/* Zelfde mobiele gap als media-split bij de tweekolomsinstelling. */
@media (max-width: 768px) {

    .elementor-element .content-grid-block:not(:is(.content-grid-block--cols-3, .content-grid-block--cols-4,
            .content-grid-block--cols-5, .content-grid-block--cols-6)) {
        --cg-gap: 1.5rem;
    }
}

/* Op mobiel krijgt de content één kolom. */
@media (max-width: 600px) {
    .elementor-element .content-grid-block {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Afbeeldingen binnen gridcellen */
.elementor-element .blockeditor-css .content-grid-block__item>.wp-block-image {
    margin-block-end: 0;
}

/* Eén tussenruimte tussen afbeelding en volgende inhoud */
.elementor-element .blockeditor-css .content-grid-block__item>.wp-block-image+ :not(.wp-block-spacer) {
    margin-block-start: 16px;
}

.elementor .content-grid-block>.content-grid-block__item:only-child,
.elementor .content-grid-block>.wp-block-group__inner-container>.content-grid-block__item:only-child {
    grid-column: 1 / -1;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
}

/* Automatische kolommen */
.wp-block-group.content-grid-block,
.content-grid-block>.wp-block-group__inner-container {
    --content-grid-columns: 1;

    display: grid !important;
    grid-template-columns:
        repeat(var(--content-grid-columns),
            minmax(0, 1fr)) !important;

    gap: clamp(16px, 2vw, 32px);
    align-items: start;
}

.content-grid-block>.wp-block-group__inner-container {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
}

.content-grid-block>.content-grid-block__item,
.content-grid-block>.wp-block-group__inner-container>.content-grid-block__item {
    width: 100%;
    min-width: 0;
    max-width: none !important;
    margin: 0 !important;
}

.content-grid-block>.content-grid-block__item:only-child,
.content-grid-block>.wp-block-group__inner-container>.content-grid-block__item:only-child {
    grid-column: 1 / -1;
}

@media (min-width: 768px) {

    .wp-block-group.content-grid-block,
    .content-grid-block>.wp-block-group__inner-container {
        --content-grid-columns: 3;
    }

    :is(.content-grid-block,
        .content-grid-block > .wp-block-group__inner-container):has(> .content-grid-block__item:only-child) {
        --content-grid-columns: 1;
    }

    :is(.content-grid-block,
        .content-grid-block > .wp-block-group__inner-container):has(> .content-grid-block__item:nth-child(2):last-child) {
        --content-grid-columns: 2;
    }
}

@media (min-width: 1200px) {

    .wp-block-group.content-grid-block,
    .content-grid-block>.wp-block-group__inner-container {
        --content-grid-columns: 5;
    }

    :is(.content-grid-block,
        .content-grid-block > .wp-block-group__inner-container):has(> .content-grid-block__item:nth-child(3):last-child) {
        --content-grid-columns: 3;
    }

    :is(.content-grid-block,
        .content-grid-block > .wp-block-group__inner-container):has(> .content-grid-block__item:nth-child(4):last-child),
    :is(.content-grid-block,
        .content-grid-block > .wp-block-group__inner-container):has(> .content-grid-block__item:nth-child(6):last-child) {
        --content-grid-columns: 4;
    }

    /* Gekozen maximum, wanneer er voldoende items zijn. */

    .content-grid-block--cols-4:has(> .content-grid-block__item:nth-child(n+4)),
    .content-grid-block--cols-4>.wp-block-group__inner-container:has(> .content-grid-block__item:nth-child(n+4)) {
        grid-template-columns:
            repeat(4, minmax(0, 1fr)) !important;
    }

    .content-grid-block--cols-3:has(> .content-grid-block__item:nth-child(n+3)),
    .content-grid-block--cols-3>.wp-block-group__inner-container:has(> .content-grid-block__item:nth-child(n+3)) {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }

    /* Oude expliciete keuzes blijven werken. */

    .content-grid-block--cols-2,
    .content-grid-block--cols-2>.wp-block-group__inner-container {
        --content-grid-columns: 2 !important;
    }

    .content-grid-block--cols-5,
    .content-grid-block--cols-5>.wp-block-group__inner-container {
        --content-grid-columns: 5 !important;
    }

    .content-grid-block--cols-6,
    .content-grid-block--cols-6>.wp-block-group__inner-container {
        --content-grid-columns: 6 !important;
    }
}

/* Content Grid — één kolom */
.wp-block-group.content-grid-block.content-grid-block--cols-1,
.content-grid-block--cols-1>.wp-block-group__inner-container,
.content-grid-block--cols-1>.block-editor-inner-blocks>.block-editor-block-list__layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
}

/* Content grid — compacte ruimte tussen pill en heading */

.elementor-element .content-grid-block__item .pill-block:has(+ .wp-block-heading) {
    margin-block-end: 0 !important;
}

.elementor-element .content-grid-block__item .pill-block+.wp-block-heading {
    margin-block-start: 16px !important;
}

/* Content-grid — logo in grijs kader */
.elementor-element .blockeditor-css .content-grid-block .wp-block-image.content-grid-block__media--logo {
    position: relative;
    box-sizing: border-box;
    display: block;
    float: none;

    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    padding: 0;
    margin-inline: 0;
    overflow: hidden;

    border: 0;
    border-radius: 16px;
    background: #F5F5F5;
}

/* Een gelinkt logo behoudt dezelfde positionering */
.elementor-element .blockeditor-css .content-grid-block .wp-block-image.content-grid-block__media--logo>a {
    position: absolute;
    inset: 0;
    display: block;
    border-radius: inherit;
}

/* Logo gecentreerd, zonder vervorming of uitsnede */
.elementor-element .blockeditor-css .content-grid-block .wp-block-image.content-grid-block__media--logo img {
    position: absolute;
    inset: 0;
    display: block;

    width: 55% !important;
    height: 55% !important;
    max-width: 55% !important;
    max-height: 55% !important;

    margin: auto !important;
    padding: 0;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center;

    border: 0;
    border-radius: 0 !important;
    box-shadow: none;
}

/* Bijschriften worden in logomodus niet getoond */
.elementor-element .blockeditor-css .content-grid-block .wp-block-image.content-grid-block__media--logo figcaption {
    display: none;
}

/* =========================================================
   BLOCK FLOW — SPACING TUSSEN OPEENVOLGENDE BLOCKS
========================================================= */

/* Shared block margins */
.elementor-element>.cta-block,
.elementor-element>.media-split-block {
    margin-block: 2em;
}

.elementor-element .blockeditor-css {
    --block-flow-spacing: 80px;
    --block-flow-edge-spacing: 80px;
    --content-grid-flow-spacing: 80px;
}

@media (width < 1024px) {
    .elementor-element .blockeditor-css {
        --block-flow-spacing: 64px;
        --block-flow-edge-spacing: 64px;
        --content-grid-flow-spacing: 64px;
    }
}

/* Heading → block — bestaande reset van bovenpadding */

.elementor-element .content-section-heading-block+ :is(.accordion-block,
    .feature-grid-block,
    .media-split-block,
    .post-grid-block,
    .image-full-block,
    .image-duo-block) {
    margin-block-start: 0;
    padding-block-start: 0;
}

/* Oorspronkelijke content-section-grid — breedte en zijmarges */

.elementor-element .content-section-block__grid.is-layout-constrained>.content-section-block__item {
    max-width: none;
    margin-inline: 0 !important;
}

/* Volledige content sections — buitenruimte */

.elementor-element .blockeditor-css>.content-section-block:not(.content-section-heading-block) {
    margin-block: var(--block-flow-spacing);
}

/* Het block vóór een volledige section voegt geen ondermarge toe */

.elementor-element .blockeditor-css> :has(+ .content-section-block:not(.content-section-heading-block)) {
    margin-block-end: 0;
}

/* Het block na een volledige section voegt geen bovenmarge toe */

.elementor-element .blockeditor-css>.content-section-block:not(.content-section-heading-block)+ :not(.content-section-block) {
    margin-block-start: 0;
}

/* Twee volledige sections na elkaar — één tussenruimte */

.elementor-element .blockeditor-css>.content-section-block:not(.content-section-heading-block):has(+ .content-section-block:not(.content-section-heading-block)) {
    margin-block-end: 0;
}

/* Volledige section aan het begin of einde van de inhoud */

.elementor-element .blockeditor-css>.content-section-block:not(.content-section-heading-block):first-child {
    margin-block-start: 0;
}

.elementor-element .blockeditor-css>.content-section-block:not(.content-section-heading-block):last-child {
    margin-block-end: 0;
}

/* Paragraaf → block — het volgende block bepaalt de tussenruimte */

.elementor-element .blockeditor-css>p:not(.pill-block):has(+ :is(.media-split-block,
        .feature-grid-block,
        .pricing-grid-block,
        .post-grid-block,
        .cta-block,
        .accordion-block,
        .image-full-block,
        .image-duo-block)) {
    margin-block-end: 0;
}

.elementor-element .blockeditor-css>p:not(.pill-block)+ :is(.media-split-block,
    .feature-grid-block,
    .pricing-grid-block,
    .post-grid-block,
    .cta-block,
    .accordion-block,
    .image-full-block,
    .image-duo-block) {
    margin-block-start: var(--block-flow-spacing);
}

/* Block → section of heading — basisregel vóór de uitzonderingen */

.elementor-element .blockeditor-css> :is(.media-split-block,
    .feature-grid-block,
    .pricing-grid-block,
    .post-grid-block,
    .cta-block,
    .accordion-block,
    .image-full-block,
    .image-duo-block):has(+ .content-section-block) {
    margin-block-end: 0;
}

.elementor-element .blockeditor-css> :is(.media-split-block,
    .feature-grid-block,
    .pricing-grid-block,
    .post-grid-block,
    .cta-block,
    .accordion-block,
    .image-full-block,
    .image-duo-block)+.content-section-block {
    margin-block-start: 0;
}

/* Paragraaf → feature grid — compactere aansluiting */

.elementor-element .blockeditor-css>p:not(.pill-block)+.feature-grid-block {
    margin-block-start: 32px;
    padding-block-start: 0;
}

/* Media split → light/dark section */

.elementor-element .blockeditor-css>.media-split-block+.content-section-block:is(.content-section-block-light,
    .content-section-block-dark) {
    margin-block-start: var(--block-flow-spacing);
}

/* Eerste block — bovenruimte, behalve bij content sections */

.elementor-element .blockeditor-css> :first-child:not(.elementor-menu-anchor):not(.content-section-block):not(.wp-block-table),
.elementor-element .blockeditor-css>.elementor-menu-anchor:first-child+ :not(.content-section-block):not(.wp-block-table) {
    margin-block-start: var(--block-flow-edge-spacing) !important;
}

/* Paragraaf → content grid — compactere aansluiting */

.elementor-element .blockeditor-css>p:not(.pill-block):has(+ .content-grid-block) {
    margin-block-end: 0;
}

.elementor-element .blockeditor-css>p:not(.pill-block)+.content-grid-block {
    margin-block-start: 32px;
}

/* Content grid → section of heading */

.elementor-element .blockeditor-css>.content-grid-block:has(+ .content-section-block) {
    margin-block-end: 0;
}

.elementor-element .blockeditor-css>.content-grid-block+.content-section-block {
    margin-block-start: 0;
}

/* Content grid → light/dark section */

.elementor-element .blockeditor-css>.content-grid-block+.content-section-block:is(.content-section-block-light,
    .content-section-block-dark) {
    margin-block-start: var(--block-flow-spacing);
}

/* Media split → content grid */

.elementor-element .blockeditor-css>.media-split-block:has(+ .content-grid-block) {
    margin-block-end: 0;
}

.elementor-element .blockeditor-css>.media-split-block+.content-grid-block {
    margin-block-start: var(--block-flow-spacing);
}

/* Laatste block — sections, spacers en anchors behouden hun eigen spacing */

.elementor-element .blockeditor-css> :last-child:not(.content-section-block):not(.wp-block-spacer):not(.elementor-menu-anchor) {
    margin-block-end: var(--block-flow-edge-spacing) !important;
}

/* Post grid → volledige section */

.elementor-element .blockeditor-css>.post-grid-block:has(+ .content-section-block:not(.content-section-heading-block)) {
    margin-block-end: 0;
}

.elementor-element .blockeditor-css>.post-grid-block+.content-section-block:not(.content-section-heading-block) {
    margin-block-start: var(--block-flow-edge-spacing);
}

/* Marketingformulier binnen de oorspronkelijke content-section-grid */

.elementor-element .blockeditor-css .content-section-block .content-section-block__grid form.marketingForm>div {
    margin: 0 !important;
}

/* Volledige section → losse heading */

.elementor-element .blockeditor-css>.content-section-block:not(.content-section-heading-block):has(+ .content-section-heading-block) {
    margin-block-end: 0;
}

.elementor-element .blockeditor-css>.content-section-block+.content-section-heading-block {
    margin-block-start: 0;
}

/* Content grid → volgend element, behalve sections, spacers en anchors */

.elementor-element .blockeditor-css>.content-grid-block:has(+ :not(.content-section-block):not(.wp-block-spacer):not(.elementor-menu-anchor)) {
    margin-block-end: var(--content-grid-flow-spacing);
}

.elementor-element .blockeditor-css>.content-grid-block+ :not(.content-section-block):not(.wp-block-spacer):not(.elementor-menu-anchor) {
    margin-block-start: 0;
}

/* Feature grid → media split */

.elementor-element .blockeditor-css>.feature-grid-block:has(+ .media-split-block) {
    padding-block-end: 0;
    margin-block-end: 0;
}

.elementor-element .blockeditor-css>.feature-grid-block+.media-split-block {
    margin-block-start: var(--block-flow-spacing);
}

/* Media split → media split/CTA en CTA → media split */

.elementor-element .blockeditor-css>.media-split-block:has(+ :is(.media-split-block, .cta-block)),
.elementor-element .blockeditor-css>.cta-block:has(+ .media-split-block) {
    margin-block-end: 0;
}

.elementor-element .blockeditor-css>.media-split-block+ :is(.media-split-block, .cta-block),
.elementor-element .blockeditor-css>.cta-block+.media-split-block {
    margin-block-start: var(--block-flow-spacing);
}

/* Feature/content grid → volledige section — bestaande gerichte override */

.elementor-element.blockeditor-css :is(.feature-grid-block, .content-grid-block):has(+ .content-section-block:not(.content-section-heading-block)) {
    margin-block-end: 0 !important;
}

.elementor-element.blockeditor-css :is(.feature-grid-block, .content-grid-block)+.content-section-block:not(.content-section-heading-block) {
    margin-block-start: 80px !important;
}

@media (width < 1024px) {
    .elementor-element.blockeditor-css :is(.feature-grid-block, .content-grid-block)+.content-section-block:not(.content-section-heading-block) {
        margin-block-start: 64px !important;
    }
}

/* Losse CTA of image slider → light/dark content section */

.elementor-element .blockeditor-css> :is(.cta-block, .image-slider-block):has(+ .content-section-block:is(.content-section-block-light,
        .content-section-block-dark):not(.content-section-heading-block)) {
    margin-block-end: 0;
}

.elementor-element .blockeditor-css> :is(.cta-block, .image-slider-block)+.content-section-block:is(.content-section-block-light,
    .content-section-block-dark):not(.content-section-heading-block) {
    margin-block-start: var(--block-flow-spacing);
}

/* Binnen volledige content sections — ruimte vóór een CTA */

.elementor-element .content-section-block:not(.content-section-heading-block) {
    --section-inner-spacing: 80px;
}

@media (width < 1024px) {
    .elementor-element .content-section-block:not(.content-section-heading-block) {
        --section-inner-spacing: 64px;
    }
}

/* Voorgaande inhoud draagt geen extra ondermarge bij aan de CTA-afstand */

.elementor-element .content-section-block:not(.content-section-heading-block) :not(.content-section-heading-block):not(.wp-block-spacer):not(.elementor-menu-anchor):has(+ .cta-block) {
    margin-block-end: 0 !important;
}

/* Heading, spacer en anchor behouden hun eigen aansluiting op de CTA */

.elementor-element .content-section-block:not(.content-section-heading-block) :not(.content-section-heading-block):not(.wp-block-spacer):not(.elementor-menu-anchor) + .cta-block {
    margin-block-start: var(--section-inner-spacing) !important;
}

/* Heading-block — vaste onderruimte, zowel los als binnen sections */

.elementor-element .blockeditor-css .content-section-heading-block {
    margin-block-end: var(--block-flow-spacing) !important;
    padding-block-end: 0 !important;
}

/* Heading-block bepaalt de afstand; het volgende block voegt geen bovenmarge toe */

.elementor-element .blockeditor-css .content-section-heading-block+* {
    margin-block-start: 0 !important;
}

/* Opeenvolgende grids — dezelfde tussenruimte als tussen de cards */

.elementor-element .blockeditor-css :is(.content-grid-block, .feature-grid-block):has(+ :is(.content-grid-block, .feature-grid-block)) {
    margin-block-end: 0 !important;
    padding-block-end: 0 !important;
}

.elementor-element .blockeditor-css :is(.content-grid-block, .feature-grid-block) + :is(.content-grid-block, .feature-grid-block) {
    margin-block-start: clamp(16px, 2vw, 32px) !important;
    padding-block-start: 0 !important;
}

.wp-block-esc-carousel .wp-block-image.aligncenter {
    margin-right: auto !important;
    margin-left: auto !important;
}