Verzekerd vooruit.

Zekerheid is geen product, maar mensen die je kunt vertrouwen

De Hoeijmakers-experts.
Zekerheid op maat, altijd een stap vooruit.

Wij zijn Hoeijmakers. Onafhankelijk, scherp en gedreven door ons vak. Onze core business is zekerheid. Die bieden we door maatwerk te leveren – van grondige risicoanalyse tot zorgvuldig samengesteld verzekeringspakket. Altijd met uw zekerheid als prioriteit.


Uw risico’s.
Onze expertise.
Verzekerd vooruit.

Met vertrouwen de toekomst tegemoet

Achter deze belofte staan ruim 30 collega’s: experts in hun vakgebied, maar vooral betrokken mensen die luisteren, meedenken en vooruitzien. Van schadebehandelaars en acceptanten tot backoffice en verzekeringsspecialisten – samen vormen we een hecht team dat dagelijks klaarstaat voor ondernemers, gezinnen en alles daartussenin.

Als familiebedrijf combineren we inhoudelijke diepgang met een informele werksfeer. We kennen elkaar goed, versterken elkaars kwaliteiten en trekken samen op om onze klanten écht verder te helpen. Want verzekeren is voor ons geen product, maar een verantwoordelijkheid: u kunt op ons rekenen, wat er ook gebeurt.

‘Trots op hoe we bij Hoeijmakers blijven groeien zonder onze cultuur te verliezen.’


Verzekerd vooruit. Met onze 30 experts.

Anke Maessen

Mail of bel mij voor advies op maat

anke.maessen@hoeijmakers.nl

077 358 67 17

Anke Maessen

Verzekeringsspecialist Zakelijk pijl zwart

Luuk Meijboom

Mail of bel mij voor advies op maat

luuk.meijboom@hoeijmakers.nl

077 358 67 13

Luuk Meijboom

Acceptatiespecialist Particulier pijl zwart

Tom Colbers

Mail of bel mij voor advies op maat

tom.colbers@hoeijmakers.nl

077 358 67 19

Tom Colbers

Directeur pijl zwart

Maartje Crompvoets

Acceptatiespecialist Zakelijk pijl zwart

Eef Hilkens

Mail of bel mij voor advies op maat

eef.hilkens@hoeijmakers.nl

077 358 67 00

Eef Hilkens

Backoffice Specialist pijl zwart

Ronald Lemmen

Mail of bel mij voor advies op maat

ronald.lemmen@hoeijmakers.nl

077 358 67 01

Ronald Lemmen

Verzekeringsspecialist Zakelijk pijl zwart

Ruud Hoeijmakers

Directeur pijl zwart

Marian Theeuwen

Backoffice Specialist pijl zwart

Sem Grinwis

Mail of bel mij voor advies op maat

sem.grinwis@hoeijmakers.nl

077 358 67 35

Sem Grinwis

Verzekeringsspecialist Particulier pijl zwart

Luz Smits

Mail of bel mij voor advies op maat

luz.smits@hoeijmakers.nl

077 358 67 31

Luz Smits

Verzekeringsspecialist Zakelijk pijl zwart

Solaiman Dahmani

Schadespecialist pijl zwart

Rina Boll

Mail of bel mij voor advies op maat

rina.boll@hoeijmakers.nl

077 358 67 18

Rina Boll

Verzekeringsspecialist Particulier pijl zwart

Frank Hendrix

Mail of bel mij voor advies op maat

frank.hendrix@hoeijmakers.nl

077 358 67 22

Frank Hendrix

Risicospecialist pijl zwart

Maarten Driessen

Acceptatiespecialist Particulier pijl zwart

Dave Raedts

Mail of bel mij voor advies op maat

dave.raedts@hoeijmakers.nl

077 358 67 21

Dave Raedts

Schadespecialist pijl zwart

Erwin Theunissen

Risicospecialist pijl zwart

Jort Sieben

Mail of bel mij voor advies op maat

jort.sieben@hoeijmakers.nl

077 358 67 00

Jort Sieben

Backoffice Specialist pijl zwart

Gerja Everhardus

Backoffice Specialist pijl zwart

Janneke Wolters

Verzekeringsspecialist Particulier pijl zwart

Jessica Franssen

Verzekeringsspecialist Zakelijk pijl zwart

Lucie Pennings

Frontoffice Specialist pijl zwart

Ellen van Tongerlo

Backoffice Specialist pijl zwart

Marleen Claessens

Verzekeringsspecialist Particulier pijl zwart

Pauline Gubbels

Verzekeringsspecialist Particulier pijl zwart

Sven Luijpers

Mail of bel mij voor advies op maat

sven.luijpers@hoeijmakers.nl

077 358 67 33

Sven Luijpers

Verzekeringsspecialist Particulier pijl zwart

Lonneke Geelen

Backoffice Specialist pijl zwart

Wendy Peeters

Mail of bel mij voor advies op maat

wendy.peeters@hoeijmakers.nl

077 358 67 34

Wendy Peeters

Verzekeringsspecialist Zakelijk pijl zwart

Chantal Saelmans

Verzekeringsspecialist Zakelijk pijl zwart

Rogér Geurts

Mail of bel mij voor advies op maat

roger.geurts@hoeijmakers.nl

077 399 98 17

Rogér Geurts

Acceptatiespecialist Zakelijk pijl zwart

Noud Heijnen

Mail of bel mij voor advies op maat

noud.heijnen@hoeijmakers.nl

077 358 67 12

Noud Heijnen

Risicospecialist pijl zwart

Roger Hilkens

Mail of bel mij voor advies op maat

roger.hilkens@hoeijmakers.nl

077 358 67 05

Roger Hilkens

Directeur pijl zwart

Fleur Hoeijmakers

Verzekeringsspecialist Zakelijk pijl zwart

Anke Maessen

Anke Maessen

Verzekeringsspecialist Zakelijk pijl zwart

Mail of bel mij voor advies op maat

anke.maessen@hoeijmakers.nl

077 358 67 17

Luuk Meijboom

Luuk Meijboom

Acceptatiespecialist Particulier pijl zwart

Mail of bel mij voor advies op maat

luuk.meijboom@hoeijmakers.nl

077 358 67 13

Tom Colbers

Tom Colbers

Directeur pijl zwart

Mail of bel mij voor advies op maat

tom.colbers@hoeijmakers.nl

077 358 67 19

Maartje Crompvoets

Maartje Crompvoets

Acceptatiespecialist Zakelijk pijl zwart

Mail of bel mij voor advies op maat

maartje.crompvoets@hoeijmakers.nl

077 358 67 25

Eef Hilkens

Eef Hilkens

Backoffice Specialist pijl zwart

Mail of bel mij voor advies op maat

eef.hilkens@hoeijmakers.nl

077 358 67 00

Ronald Lemmen

Ronald Lemmen

Verzekeringsspecialist Zakelijk pijl zwart

Mail of bel mij voor advies op maat

ronald.lemmen@hoeijmakers.nl

077 358 67 01

Ruud Hoeijmakers

Ruud Hoeijmakers

Directeur pijl zwart

Mail of bel mij voor advies op maat

ruud.hoeijmakers@hoeijmakers.nl

077 358 67 23

Marian Theeuwen

Marian Theeuwen

Backoffice Specialist pijl zwart

Mail of bel mij voor advies op maat

marian.theeuwen@hoeijmakers.nl

077 358 67 28

Sem Grinwis

Sem Grinwis

Verzekeringsspecialist Particulier pijl zwart

Mail of bel mij voor advies op maat

sem.grinwis@hoeijmakers.nl

077 358 67 35

Luz Smits

Luz Smits

Verzekeringsspecialist Zakelijk pijl zwart

Mail of bel mij voor advies op maat

luz.smits@hoeijmakers.nl

077 358 67 31

Solaiman Dahmani

Solaiman Dahmani

Schadespecialist pijl zwart

Mail of bel mij voor advies op maat

solaiman.dahmani@hoeijmakers.nl

077 358 67 36

Rina Boll

Rina Boll

Verzekeringsspecialist Particulier pijl zwart

Mail of bel mij voor advies op maat

rina.boll@hoeijmakers.nl

077 358 67 18

Frank Hendrix

Frank Hendrix

Risicospecialist pijl zwart

Mail of bel mij voor advies op maat

frank.hendrix@hoeijmakers.nl

077 358 67 22

Maarten Driessen

Maarten Driessen

Acceptatiespecialist Particulier pijl zwart

Mail of bel mij voor advies op maat

maarten.driessen@hoeijmakers.nl

077 358 67 16

Dave Raedts

Dave Raedts

Schadespecialist pijl zwart

Mail of bel mij voor advies op maat

dave.raedts@hoeijmakers.nl

077 358 67 21

Erwin Theunissen

Erwin Theunissen

Risicospecialist pijl zwart

Mail of bel mij voor advies op maat

erwin.theunissen@hoeijmakers.nl

077 358 67 29

Jort Sieben

Jort Sieben

Backoffice Specialist pijl zwart

Mail of bel mij voor advies op maat

jort.sieben@hoeijmakers.nl

077 358 67 00

Gerja Everhardus

Gerja Everhardus

Backoffice Specialist pijl zwart

Mail of bel mij voor advies op maat

gerja.everhardus@hoeijmakers.nl

077 358 67 26

Janneke Wolters

Janneke Wolters

Verzekeringsspecialist Particulier pijl zwart

Mail of bel mij voor advies op maat

janneke.wolters@hoeijmakers.nl

077 358 67 20

Jessica Franssen

Jessica Franssen

Verzekeringsspecialist Zakelijk pijl zwart

Mail of bel mij voor advies op maat

jessica.franssen@hoeijmakers.nl

077 358 67 11

Lucie Pennings

Lucie Pennings

Frontoffice Specialist pijl zwart

Mail of bel mij voor advies op maat

lucie.pennings@hoeijmakers.nl

077 358 67 00

Ellen van Tongerlo

Ellen van Tongerlo

Backoffice Specialist pijl zwart

Mail of bel mij voor advies op maat

ellen.van.tongerlo@hoeijmakers.nl

077 358 67 03

Marleen Claessens

Marleen Claessens

Verzekeringsspecialist Particulier pijl zwart

Mail of bel mij voor advies op maat

marleen.claessens@hoeijmakers.nl

077 473 81 51

Pauline Gubbels

Pauline Gubbels

Verzekeringsspecialist Particulier pijl zwart

Mail of bel mij voor advies op maat

pauline.gubbels@hoeijmakers.nl

077 358 67 27

Sven Luijpers

Sven Luijpers

Verzekeringsspecialist Particulier pijl zwart

Mail of bel mij voor advies op maat

sven.luijpers@hoeijmakers.nl

077 358 67 33

Lonneke Geelen

Lonneke Geelen

Backoffice Specialist pijl zwart

Mail of bel mij voor advies op maat

lonneke.geelen@hoeijmakers.nl

077 358 67 39

Wendy Peeters

Wendy Peeters

Verzekeringsspecialist Zakelijk pijl zwart

Mail of bel mij voor advies op maat

wendy.peeters@hoeijmakers.nl

077 358 67 34

Chantal Saelmans

Chantal Saelmans

Verzekeringsspecialist Zakelijk pijl zwart

Mail of bel mij voor advies op maat

chantal.saelmans@hoeijmakers.nl

077 358 67 15

Rogér Geurts

Rogér Geurts

Acceptatiespecialist Zakelijk pijl zwart

Mail of bel mij voor advies op maat

roger.geurts@hoeijmakers.nl

077 399 98 17

Noud Heijnen

Noud Heijnen

Risicospecialist pijl zwart

Mail of bel mij voor advies op maat

noud.heijnen@hoeijmakers.nl

077 358 67 12

Roger Hilkens

Roger Hilkens

Directeur pijl zwart

Mail of bel mij voor advies op maat

roger.hilkens@hoeijmakers.nl

077 358 67 05

Fleur Hoeijmakers

Fleur Hoeijmakers

Verzekeringsspecialist Zakelijk pijl zwart

Mail of bel mij voor advies op maat

fleur.hoeijmakers@hoeijmakers.nl

077 358 67 07

<?php
$ly_tekst_id = get_sub_field('ovz_anker');
if (!empty($ly_tekst_id)) :
    echo '<div id="' . esc_attr($ly_tekst_id) . '"></div>';
endif;

$selected_items = get_sub_field('ovz_overzicht');
$random_experts = is_array($selected_items) ? $selected_items : array();
shuffle($random_experts);

$grid_aantal_items = get_sub_field('ovz_aantal_items');
$class_name = '';
switch ($grid_aantal_items) {
    case '2': $class_name = 'twee-items'; break;
    case '3': $class_name = 'drie-items'; break;
    case '4': $class_name = 'vier-items'; break;
    default: $class_name = 'default-class';
}

$top_afstand = get_sub_field('ly_ovz_bovenruimte');
$class_name_top = '';
switch ($top_afstand) {
    case '0': $class_name_top = 'ge-top'; break;
    case '1': $class_name_top = 'k-top'; break;
    case '2': $class_name_top = 'm-top'; break;
    case '3': $class_name_top = 'gr-top'; break;
    default: $class_name_top = 'default-class';
}

$bottom_afstand = get_sub_field('ly_ovz_onderruimte');
$class_name_bottom = '';
switch ($bottom_afstand) {
    case '0': $class_name_bottom = 'ge-bottom'; break;
    case '1': $class_name_bottom = 'k-bottom'; break;
    case '2': $class_name_bottom = 'm-bottom'; break;
    case '3': $class_name_bottom = 'gr-bottom'; break;
    default: $class_name_bottom = 'default-class';
}

$section_background_color = get_sub_field('ly_ovz_cp');
$show_cta_block = get_sub_field('ly_ovz_cta_vak');
$show_line = get_sub_field('ly_ovz_lijn_boven_blok');
$svg_icon = '/wp-content/uploads/2025/05/pijl-hm-1.svg';
$svg_icon_white = '/wp-content/uploads/2025/05/pijl-hm-wit.svg';

if (!empty($random_experts)): ?>
<section class="brxe-section s-ovz <?php echo $class_name_top; ?> <?php echo $class_name_bottom; ?>" style="background-color: <?php echo esc_attr($section_background_color); ?>;">
    <div class="brxe-container c-ovz">
        <?php if ($show_line): ?><hr><?php endif; ?>
        <?php
        $titel = get_sub_field('ovz_titel', false);
        if (!empty($titel)): ?>
            <div class="ovz-team-titel ovz-titel">
                <?php echo wp_kses_post($titel); ?>
            </div>
        <?php endif; ?>

        <!-- Desktop grid -->
        <div class="bm-ovz-container <?php echo $class_name; ?>">
            <?php foreach ($random_experts as $related_item):
                $related_id = is_object($related_item) ? $related_item->ID : $related_item;
                $title = get_the_title($related_id);
                $mobile_featured_image = get_field('uitgelichte_afbeelding_mobiel', $related_id);
                $image = $mobile_featured_image['url'] ?? get_the_post_thumbnail_url($related_id) ?: 'https://placehold.co/200x200';
                $tags = get_the_terms($related_id, 'post_tag');
                $tag_list = $tags && !is_wp_error($tags) ? implode(', ', wp_list_pluck($tags, 'name')) : '';
                $telefoon = get_field('ex_telefoonnummer', $related_id);
                $email = get_field('ex_email', $related_id);
            ?>
            <a href="/contact" class="bm-ovz-block">
                <div class="bm-ovz-img-wrapper">
                    <img class="bm-ovz-img" src="<?php echo esc_url($image); ?>" alt="<?php echo esc_attr($title); ?>">
                    <div class="bm-ovz-hover-overlay">
                    <div class="bm-ovz-hover-inner">
    <!-- <h4 style="color:white;">Persoonlijk contact met onze expert</h4> -->
    <p><strong><span class='underline'>Mail</span> of <span class='underline'>bel</span> mij voor advies op maat</strong></p>
    <p class='bm-ovz-team-contact'>-</p>
    <?php if ($email): ?>
        <p class='bm-ovz-team-contact'><?php echo esc_html($email); ?></p>
    <?php endif; ?>
    <?php if ($telefoon): ?>
        <p class='bm-ovz-team-contact'><?php echo esc_html($telefoon); ?></p>
    <?php endif; ?>
</div>

                    </div>
                </div>
                <div class="bm-ovz-content">
                    <h3 class="bm-ovz-title"><?php echo esc_html($title); ?></h3>
                    <p class="bm-ovz-excerpt ter-cta">
                        <?php echo esc_html($tag_list); ?>
                        <span class="button-icon">
                            <img class="team-pijl" src="<?php echo esc_url($svg_icon); ?>" alt="pijl zwart" width="24" height="13">
                        </span>
                    </p>
                </div>
            </a>
            <?php endforeach; ?>

            <?php if ($show_cta_block): ?>
            <a href="/contact" class="bm-ovz-block fixed-block ovz-team-cta-block">
                <div class="bm-ovz-img-wrapper"><h2>Kom in contact met onze experts</h2></div>
                <div class="bm-ovz-cta-content">
                    <span class="ovz-cta-icon">
                        <img class="team-pijl-cta" src="<?php echo esc_url($svg_icon); ?>" alt="pijl zwart">
                    </span>
                </div>
            </a>
            <?php endif; ?>
        </div>

        <!-- Mobile/tablet GSAP-slider -->
        <div class="bm-ovz-slider-gsap-outer">
            <div class="bm-ovz-slider-gsap-track">
                <?php foreach ($random_experts as $related_item):
                    $related_id = is_object($related_item) ? $related_item->ID : $related_item;
                    $title = get_the_title($related_id);
                    $mobile_featured_image = get_field('uitgelichte_afbeelding_mobiel', $related_id);
                    $image = $mobile_featured_image['url'] ?? get_the_post_thumbnail_url($related_id) ?: 'https://placehold.co/200x200';
                    $tags = get_the_terms($related_id, 'post_tag');
                    $tag_list = $tags && !is_wp_error($tags) ? implode(', ', wp_list_pluck($tags, 'name')) : '';
                    $telefoon = get_field('ex_telefoonnummer', $related_id);
                    $email = get_field('ex_email', $related_id);
                ?>
                <div class="bm-ovz-slide">
                    <div class="bm-ovz-block overlay-open">
                        <div class="bm-ovz-img-wrapper">
                            <img class="bm-ovz-img" src="<?php echo esc_url($image); ?>" alt="<?php echo esc_attr($title); ?>">
                            <div class="bm-ovz-hover-overlay">
                                <div class="bm-ovz-hover-inner">
                                    <p><strong>Mail of bel mij voor advies op maat</strong></p>
                                    <?php if ($telefoon): ?>
                                        <p><?php echo esc_html($telefoon); ?></p>
                                    <?php endif; ?>
                                    <?php if ($email): ?>
                                        <p><?php echo esc_html($email); ?></p>
                                    <?php endif; ?>
                                </div>
                            </div>
                        </div>
                        <div class="bm-ovz-content">
                            <h3 class="bm-ovz-title"><?php echo esc_html($title); ?></h3>
                            <p class="bm-ovz-excerpt ter-cta">
                                <?php echo esc_html($tag_list); ?>
                                <span class="button-icon">
                                    <img class="team-pijl" src="<?php echo esc_url($svg_icon); ?>" alt="pijl zwart" width="24" height="13">
                                </span>
                            </p>
                        </div>
                                    </div>
                </div>
                <?php endforeach; ?>
            </div>
        </div>
    </div>
</section>
<?php endif; ?>
/* Desktop: toon grid, verberg slider */
@media (min-width: 1025px) {
  .bm-ovz-container {
    display: grid;
  }

  .bm-ovz-slider-gsap-outer {
    display: none;
  }
}

/* Mobiel/tablet: verberg grid, toon slider */
@media (max-width: 1024px) {
  .bm-ovz-container {
    display: none;
   
  }

  .bm-ovz-slider-gsap-outer {
    display: block;
    overflow: hidden;
    width: 100%;
    position: relative;
  }

  .bm-ovz-slider-gsap-track {
    display: flex;
    gap: 16px;
    will-change: transform;
  }

  .bm-ovz-slide {
    flex: 0 0 auto;
    width: 75vw; /* of bijvoorbeeld 300px */
    padding: 2rem;
    border-radius: 8px;
  }
  
.bm-ovz-hover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.c-ovz{
   padding-right:0;
}

}

/* Swipe support (optioneel voor touch devices)
.splide__track {
  overflow: visible !important;
  -webkit-overflow-scrolling: touch;
}

.splide__slide {
  touch-action: pan-y;
  min-width: 0;
  box-sizing: border-box;
} */



/* Op desktop: overlay verschijnt bij hover */
@media (hover: hover) and (pointer: fine) {
  .bm-ovz-block:hover .bm-ovz-hover-overlay {
    opacity: 1;
    pointer-events: auto;
  }

  /* Verberg overlay standaard */
.bm-ovz-hover-overlay {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
}

/* Op mobiel: overlay wordt zichtbaar met JS door klasse .overlay-open */
.bm-ovz-block.overlay-open .bm-ovz-hover-overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}


.underline{
  text-decoration: underline; 
}

.bm-ovz-team-contact{
  font-size:26px !important;
  font-weight: 400 !important;
}

.bm-ovz-slide{
  padding-left:0px;
  gap:16px;
}


document.querySelectorAll('.bm-ovz-block').forEach(block => {
  block.addEventListener('click', function(e) {
    if (window.matchMedia('(max-width: 1024px)').matches) {
      e.preventDefault();
      this.classList.toggle('overlay-open');
    }
  });
});
<?php
$ly_tekst_id = get_sub_field('ovz_anker');
if (!empty($ly_tekst_id)) :
    echo '<div id="' . esc_attr($ly_tekst_id) . '"></div>';
endif;

$selected_items = get_sub_field('ovz_overzicht');
$random_experts = is_array($selected_items) ? $selected_items : array();
shuffle($random_experts);

$grid_aantal_items = get_sub_field('ovz_aantal_items');
$class_name = '';
switch ($grid_aantal_items) {
    case '2': $class_name = 'twee-items'; break;
    case '3': $class_name = 'drie-items'; break;
    case '4': $class_name = 'vier-items'; break;
    default: $class_name = 'default-class';
}

$top_afstand = get_sub_field('ly_ovz_bovenruimte');
$class_name_top = '';
switch ($top_afstand) {
    case '0': $class_name_top = 'ge-top'; break;
    case '1': $class_name_top = 'k-top'; break;
    case '2': $class_name_top = 'm-top'; break;
    case '3': $class_name_top = 'gr-top'; break;
    default: $class_name_top = 'default-class';
}

$bottom_afstand = get_sub_field('ly_ovz_onderruimte');
$class_name_bottom = '';
switch ($bottom_afstand) {
    case '0': $class_name_bottom = 'ge-bottom'; break;
    case '1': $class_name_bottom = 'k-bottom'; break;
    case '2': $class_name_bottom = 'm-bottom'; break;
    case '3': $class_name_bottom = 'gr-bottom'; break;
    default: $class_name_bottom = 'default-class';
}

$section_background_color = get_sub_field('ly_ovz_cp');
$show_cta_block = get_sub_field('ly_ovz_cta_vak');
$show_line = get_sub_field('ly_ovz_lijn_boven_blok');
$svg_icon = '/wp-content/uploads/2025/05/pijl-hm-1.svg';
$svg_icon_white = '/wp-content/uploads/2025/05/pijl-hm-wit.svg';

if (!empty($random_experts)): ?>
<section class="brxe-section s-ovz <?php echo $class_name_top; ?> <?php echo $class_name_bottom; ?>" style="background-color: <?php echo esc_attr($section_background_color); ?>;">
    <div class="brxe-container c-ovz">
        <?php if ($show_line): ?><hr><?php endif; ?>
        <?php
        $titel = get_sub_field('ovz_titel', false);
        if (!empty($titel)): ?>
            <div class="ovz-team-titel ovz-titel">
                <?php echo wp_kses_post($titel); ?>
            </div>
        <?php endif; ?>

        <!-- Desktop grid -->
        <div class="bm-ovz-container <?php echo $class_name; ?>">
            <?php foreach ($random_experts as $related_item):
                $title = get_the_title($related_item->ID);
                $mobile_featured_image = get_field('uitgelichte_afbeelding_mobiel', $related_item->ID);
                $image = $mobile_featured_image['url'] ?? get_the_post_thumbnail_url($related_item->ID) ?: 'https://placehold.co/200x200';
                $tags = get_the_terms($related_item->ID, 'post_tag');
                $tag_list = $tags && !is_wp_error($tags) ? implode(', ', wp_list_pluck($tags, 'name')) : '';
            ?>
            <a href="/contact" class="bm-ovz-block">
                <div class="bm-ovz-img-wrapper">
                    <img class="bm-ovz-img" src="<?php echo esc_url($image); ?>" alt="<?php echo esc_attr($title); ?>">
                    <div class="bm-ovz-hover-overlay">
                        <div class="bm-ovz-hover-inner">
                            <p>Kom in contact voor advies op maat.</p>
                            <span class="button-icon">
                                <img class="team-pijl-wit" src="<?php echo esc_url($svg_icon_white); ?>" alt="pijl wit">
                            </span>
                        </div>
                    </div>
                </div>
                <div class="bm-ovz-content">
                    <h3 class="bm-ovz-title"><?php echo esc_html($title); ?></h3>
                    <p class="bm-ovz-excerpt ter-cta">
                        <?php echo esc_html($tag_list); ?>
                        <span class="button-icon">
                            <img class="team-pijl" src="<?php echo esc_url($svg_icon); ?>" alt="pijl zwart" width="24" height="13">
                        </span>
                    </p>
                </div>
            </a>
            <?php endforeach; ?>

            <?php if ($show_cta_block): ?>
            <a href="/contact" class="bm-ovz-block fixed-block ovz-team-cta-block">
                <div class="bm-ovz-img-wrapper"><h2>Kom in contact met onze experts</h2></div>
                <div class="bm-ovz-cta-content">
                    <span class="ovz-cta-icon">
                        <img class="team-pijl-cta" src="<?php echo esc_url($svg_icon); ?>" alt="pijl zwart">
                    </span>
                </div>
            </a>
            <?php endif; ?>
        </div>

        <!-- Mobile/tablet GSAP-slider -->
<div class="bm-ovz-slider-gsap-outer">
  <div class="bm-ovz-slider-gsap-track">
    <?php foreach ($random_experts as $related_item):
      $title = get_the_title($related_item->ID);
      $mobile_featured_image = get_field('uitgelichte_afbeelding_mobiel', $related_item->ID);
      $image = $mobile_featured_image['url'] ?? get_the_post_thumbnail_url($related_item->ID) ?: 'https://placehold.co/200x200';
      $tags = get_the_terms($related_item->ID, 'post_tag');
      $tag_list = $tags && !is_wp_error($tags) ? implode(', ', wp_list_pluck($tags, 'name')) : '';
    ?>
    <div class="bm-ovz-slide">
      <a href="/contact" class="bm-ovz-block">
        <div class="bm-ovz-img-wrapper">
          <img class="bm-ovz-img" src="<?php echo esc_url($image); ?>" alt="<?php echo esc_attr($title); ?>">
          <div class="bm-ovz-hover-overlay">
            <div class="bm-ovz-hover-inner">
              <p>Kom in contact voor advies op maat.</p>
              <span class="button-icon">
                <img class="team-pijl" src="<?php echo esc_url($svg_icon_white); ?>" alt="pijl wit" width="24" height="13">
              </span>
            </div>
          </div>
        </div>
        <div class="bm-ovz-content">
          <h3 class="bm-ovz-title"><?php echo esc_html($title); ?></h3>
          <p class="bm-ovz-excerpt ter-cta">
            <?php echo esc_html($tag_list); ?>
            <span class="button-icon">
              <img class="team-pijl" src="<?php echo esc_url($svg_icon); ?>" alt="pijl zwart" width="24" height="13">
            </span>
          </p>
        </div>
      </a>
    </div>
    <?php endforeach; ?>
  </div>
</div>

    </div>
</section>
<?php endif; ?>
/* Desktop: toon grid, verberg slider */
@media (min-width: 1025px) {
  .bm-ovz-container {
    display: grid;
  }

  .bm-ovz-slider-gsap-outer {
    display: none;
  }
}

/* Mobiel/tablet: verberg grid, toon slider */
@media (max-width: 1024px) {
  .bm-ovz-container {
    display: none;
  }

  .bm-ovz-slider-gsap-outer {
    display: block;
    overflow: hidden;
    width: 100%;
    position: relative;
  }

  .bm-ovz-slider-gsap-track {
    display: flex;
    gap: 16px;
    will-change: transform;
  }

  .bm-ovz-slide {
    flex: 0 0 auto;
    width: 75vw; /* of bijvoorbeeld 300px */
    padding: 2rem;
    border-radius: 8px;
  }
}

/* Swipe support (optioneel voor touch devices) */
.splide__track {
  overflow: visible !important;
  -webkit-overflow-scrolling: touch;
}

.splide__slide {
  touch-action: pan-y;
  min-width: 0;
  box-sizing: border-box;
}

/* Verberg overlay standaard */
.bm-ovz-hover-overlay {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* Op desktop: overlay verschijnt bij hover */
@media (hover: hover) and (pointer: fine) {
  .bm-ovz-block:hover .bm-ovz-hover-overlay {
    opacity: 1;
    pointer-events: auto;
  }
}

/* Op mobiel: overlay wordt zichtbaar met JS door klasse .overlay-open */
.bm-ovz-block.overlay-open .bm-ovz-hover-overlay {
  opacity: 1;
  pointer-events: auto;
}
document.querySelectorAll('.bm-ovz-block').forEach(block => {
  block.addEventListener('click', function(e) {
    if (window.matchMedia('(max-width: 1024px)').matches) {
      e.preventDefault();
      this.classList.toggle('overlay-open');
    }
  });
});
<?php
$ly_tekst_id = get_sub_field("ovz_anker");
if (!empty($ly_tekst_id)):
    echo '<div id="' . esc_attr($ly_tekst_id) . '"></div>';
endif;

$selected_items = get_sub_field("ovz_overzicht");
$random_experts = is_array($selected_items) ? $selected_items : [];
shuffle($random_experts);

$max_display = 5;
$limited_experts = array_slice($random_experts, 0, $max_display);


$grid_aantal_items = get_sub_field("ovz_aantal_items");
$class_name = match ($grid_aantal_items) {
    "2" => "twee-items",
    "3" => "drie-items",
    "4" => "vier-items",
    default => "default-class"
};

$top_afstand = get_sub_field("ly_ovz_bovenruimte");
$class_name_top = match ($top_afstand) {
    "0" => "ge-top",
    "1" => "k-top",
    "2" => "m-top",
    "3" => "gr-top",
    default => "default-class"
};

$bottom_afstand = get_sub_field("ly_ovz_onderruimte");
$class_name_bottom = match ($bottom_afstand) {
    "0" => "ge-bottom",
    "1" => "k-bottom",
    "2" => "m-bottom",
    "3" => "gr-bottom",
    default => "default-class"
};

$section_background_color = get_sub_field("ly_ovz_cp");
$show_cta_block = get_sub_field("ly_ovz_cta_vak");
$show_line = get_sub_field("ly_ovz_lijn_boven_blok");
$svg_icon = "/wp-content/uploads/2025/05/pijl-hm-1.svg";

if (!empty($random_experts)): ?>
<section class="brxe-section s-ovz <?php echo $class_name_top; ?> <?php echo $class_name_bottom; ?>" style="background-color: <?php echo esc_attr($section_background_color); ?>;">
    <div class="brxe-container c-ovz">
        <?php if ($show_line): ?><hr><?php endif; ?>
        <?php if ($titel = get_sub_field("ovz_titel", false)): ?>
            <div class="ovz-team-titel ovz-titel">
                <?php echo wp_kses_post($titel); ?>
            </div>
        <?php endif; ?>

        <div class="bm-ovz-container <?php echo $class_name; ?>">
            <?php foreach ($random_experts as $related_item):
                $related_id = is_object($related_item) ? $related_item->ID : $related_item;
                $title = get_the_title($related_id);
                $mobile_featured_image = get_field("uitgelichte_afbeelding_mobiel", $related_id);
                $image = $mobile_featured_image["url"] ?? get_the_post_thumbnail_url($related_id) ?: "https://placehold.co/200x200";
                $tags = get_the_terms($related_id, "post_tag");
                $tag_list = $tags && !is_wp_error($tags) ? implode(", ", wp_list_pluck($tags, "name")) : "";

                $telefoon = get_field("ex_telefoonnummer", $related_id);
                $telefoon_link = get_field("ex_telefoonnummer_link", $related_id);
                $email = get_field("ex_email", $related_id);
                $email_link = get_field("ex_email_link", $related_id);
                ?>
            <div class="bm-ovz-block">
                <div class="bm-ovz-img-wrapper">
                    <img class="bm-ovz-img" src="<?php echo esc_url($image); ?>" alt="<?php echo esc_attr($title); ?>">
                    <div class="bm-ovz-hover-overlay">
                        <div class="bm-ovz-hover-inner">
                            <p class="hover-cta-text">
                                <?php if ($email_link): ?>
                                    <a class="underline" href="<?php echo esc_attr($email_link); ?>" title="Mail">Mail</a>
                                <?php else: ?>
                                    <span class="underline">Mail</span>
                                <?php endif; ?>
                                of
                                <?php if ($telefoon_link): ?>
                                    <a class="underline" href="<?php echo esc_attr($telefoon_link); ?>" title="Bel">bel</a>
                                <?php else: ?>
                                    <span class="underline">bel</span>
                                <?php endif; ?>
                                mij voor advies op maat
                            </p>
                            <?php if ($email && $email_link): ?>
                                <p class='bm-ovz-team-contact'>
                                    <a href="<?php echo esc_attr($email_link); ?>"><?php echo esc_html($email); ?></a>
                                </p>
                            <?php endif; ?>
                            <?php if ($telefoon && $telefoon_link): ?>
                                <p class='bm-ovz-team-contact'>
                                    <a href="<?php echo esc_attr($telefoon_link); ?>"><?php echo esc_html($telefoon); ?></a>
                                </p>
                            <?php endif; ?>
                        </div>
                    </div>
                </div>
                <div class="bm-ovz-content">
                    <h3 class="bm-ovz-title"><?php echo esc_html($title); ?></h3>
                    <p class="bm-ovz-excerpt ter-cta">
                        <?php echo esc_html($tag_list); ?>
                        <span class="button-icon">
                            <img class="team-pijl" src="<?php echo esc_url($svg_icon); ?>" alt="pijl zwart" width="24" height="13">
                        </span>
                    </p>
                </div>
            </div>
            <?php endforeach; ?>

            <?php
            $cta_link = get_sub_field("ly_ovz_cta_link");
            $cta_title = $cta_link["title"] ?? '';
            $cta_url = $cta_link["url"] ?? '#';
            $cta_target = $cta_link["target"] ?? '_self';
            ?>

            <?php if ($show_cta_block && $cta_title && $cta_url): ?>
                <a href="<?php echo esc_url($cta_url); ?>" target="<?php echo esc_attr($cta_target); ?>" class="bm-ovz-block fixed-block ovz-team-cta-block">
                    <div class="bm-ovz-img-wrapper">
                        <h2><?php echo esc_html($cta_title); ?></h2>
                    </div>
                    <div class="bm-ovz-cta-content">
                        <span class="ovz-cta-icon">
                            <img class="team-pijl-cta"
                                 src="<?php echo esc_url($svg_icon); ?>"
                                 alt="pijl zwart"
                                 data-default-src="<?php echo esc_url($svg_icon); ?>"
                                 data-hover-src="/wp-content/uploads/2025/05/pijl-hm-1-wit.svg">
                        </span>
                    </div>
                </a>
            <?php endif; ?>
        </div>

                <!-- Mobile/tablet GSAP-slider -->
        <div class="bm-ovz-slider-gsap-outer">
            <div class="bm-ovz-slider-gsap-track">
                <?php foreach ($limited_experts as $related_item):
                    $related_id = is_object($related_item) ? $related_item->ID : $related_item;
                    $title = get_the_title($related_id);
                    $mobile_featured_image = get_field('uitgelichte_afbeelding_mobiel', $related_id);
                    $image = $mobile_featured_image['url'] ?? get_the_post_thumbnail_url($related_id) ?: 'https://placehold.co/200x200';
                    $tags = get_the_terms($related_id, 'post_tag');
                    $tag_list = $tags && !is_wp_error($tags) ? implode(', ', wp_list_pluck($tags, 'name')) : '';
                    $telefoon = get_field('ex_telefoonnummer', $related_id);
                    $email = get_field('ex_email', $related_id);
                ?>
                <div class="bm-ovz-slide">
                    <div class="bm-ovz-block overlay-open">
                        <div class="bm-ovz-img-wrapper">
                            <img class="bm-ovz-img" src="<?php echo esc_url($image); ?>" alt="<?php echo esc_attr($title); ?>">
                            <div class="bm-ovz-hover-overlay">
                                <div class="bm-ovz-hover-inner">
                                    <p><strong>Mail of bel mij voor advies op maat</strong></p>
                                    <?php if ($telefoon): ?>
                                        <p><?php echo esc_html($telefoon); ?></p>
                                    <?php endif; ?>
                                    <?php if ($email): ?>
                                        <p><?php echo esc_html($email); ?></p>
                                    <?php endif; ?>
                                </div>
                            </div>
                        </div>
                        <div class="bm-ovz-content">
                            <h3 class="bm-ovz-title"><?php echo esc_html($title); ?></h3>
                            <p class="bm-ovz-excerpt ter-cta">
                                <?php echo esc_html($tag_list); ?>
                                <span class="button-icon">
                                    <img class="team-pijl" src="<?php echo esc_url($svg_icon); ?>" alt="pijl zwart" width="24" height="13">
                                </span>
                            </p>
                        </div>
                                    </div>
                </div>
                <?php endforeach; ?>
            </div>
        </div>


    </div>
</section>

<?php endif; ?>
document.querySelectorAll('.bm-ovz-block').forEach(block => {
  block.addEventListener('click', function(e) {
    if (window.matchMedia('(max-width: 1024px)').matches) {
      e.preventDefault();
      this.classList.toggle('overlay-open');
    }
  });
});

document.addEventListener('DOMContentLoaded', function () {
    const hoverBlocks = document.querySelectorAll('.bm-ovz-block.fixed-block');

    hoverBlocks.forEach(block => {
        const icon = block.querySelector('.team-pijl-cta');
        if (!icon) return;

        const defaultSrc = icon.getAttribute('data-default-src');
        const hoverSrc = icon.getAttribute('data-hover-src');

        block.addEventListener('mouseenter', () => {
            icon.src = hoverSrc;
        });

        block.addEventListener('mouseleave', () => {
            icon.src = defaultSrc;
        });
    });
});