.elementor-8255 .elementor-element.elementor-element-f3948c1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-8255 .elementor-element.elementor-element-64c7d1d > .elementor-widget-container{margin:50px 0px 0px 0px;}.elementor-8255 .elementor-element.elementor-element-2213a4a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-8255 .elementor-element.elementor-element-23e0dec{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-8255 .elementor-element.elementor-element-602c4c5 > .elementor-widget-container{margin:50px 0px 30px 0px;}.elementor-8255 .elementor-element.elementor-element-dea6675{--display:grid;--e-con-grid-template-columns:repeat(5, 1fr);--e-con-grid-template-rows:repeat(8, 1fr);--grid-auto-flow:row;--background-transition:0.3s;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:090px;--padding-left:0px;--padding-right:0px;}.elementor-8255 .elementor-element.elementor-element-dea6675:hover{border-style:solid;border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-8255 .elementor-element.elementor-element-dea6675, .elementor-8255 .elementor-element.elementor-element-dea6675::before{--border-transition:0.3s;}.elementor-8255 .elementor-element.elementor-element-dea6675 > .elementor-shape-top svg, .elementor-8255 .elementor-element.elementor-element-dea6675 > .e-con-inner > .elementor-shape-top svg{height:108px;}.elementor-widget-image .widget-image-caption{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-8255 .elementor-element.elementor-element-870c634.elementor-element{--align-self:flex-start;}.elementor-8255 .elementor-element.elementor-element-2af5896.elementor-element{--align-self:flex-start;}.elementor-8255 .elementor-element.elementor-element-35fa406.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-1884113 img{width:75%;}.elementor-8255 .elementor-element.elementor-element-aade81c img{width:72%;}.elementor-8255 .elementor-element.elementor-element-ebbfb4f.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-39e8523.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-b937360.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-839353f.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-df8223e.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-df8223e img{width:48%;}.elementor-8255 .elementor-element.elementor-element-7eec245 img{width:83%;}.elementor-8255 .elementor-element.elementor-element-7210b72.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-7210b72 img{width:71%;}.elementor-8255 .elementor-element.elementor-element-708883c.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-8ddca65.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-7dfe9b0 img{width:52%;}.elementor-8255 .elementor-element.elementor-element-8d28a63.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-fe049fc.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-bc25e7b.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-3e2779a.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-3e2779a img{width:60%;}.elementor-8255 .elementor-element.elementor-element-e6d989a.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-e6d989a img{width:60%;}.elementor-8255 .elementor-element.elementor-element-fbe7188.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-a7190f4.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-c1aba3c.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-523f3f1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-8255 .elementor-element.elementor-element-ce7cbca{--display:grid;--e-con-grid-template-columns:repeat(5, 1fr);--e-con-grid-template-rows:repeat(3, 1fr);--grid-auto-flow:row;--background-transition:0.3s;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:090px;--padding-left:0px;--padding-right:0px;}.elementor-8255 .elementor-element.elementor-element-ce7cbca:hover{border-style:solid;border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-8255 .elementor-element.elementor-element-ce7cbca, .elementor-8255 .elementor-element.elementor-element-ce7cbca::before{--border-transition:0.3s;}.elementor-8255 .elementor-element.elementor-element-ce7cbca > .elementor-shape-top svg, .elementor-8255 .elementor-element.elementor-element-ce7cbca > .e-con-inner > .elementor-shape-top svg{height:108px;}.elementor-8255 .elementor-element.elementor-element-129651b.elementor-element{--align-self:flex-start;}.elementor-8255 .elementor-element.elementor-element-e06c7c7.elementor-element{--align-self:flex-start;}.elementor-8255 .elementor-element.elementor-element-3324eb8 img{width:67%;}.elementor-8255 .elementor-element.elementor-element-35079e1.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-35079e1 img{width:68%;}.elementor-8255 .elementor-element.elementor-element-5dc79da.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-7fd654f{--display:flex;}.elementor-8255 .elementor-element.elementor-element-e137b25{--display:grid;--e-con-grid-template-columns:repeat(5, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--background-transition:0.3s;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:090px;--padding-left:0px;--padding-right:0px;}.elementor-8255 .elementor-element.elementor-element-e137b25:hover{border-style:solid;border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );--border-radius:0px 0px 0px 0px;--border-top-left-radius:0px;--border-top-right-radius:0px;--border-bottom-right-radius:0px;--border-bottom-left-radius:0px;}.elementor-8255 .elementor-element.elementor-element-e137b25, .elementor-8255 .elementor-element.elementor-element-e137b25::before{--border-transition:0.3s;}.elementor-8255 .elementor-element.elementor-element-e137b25 > .elementor-shape-top svg, .elementor-8255 .elementor-element.elementor-element-e137b25 > .e-con-inner > .elementor-shape-top svg{height:108px;}.elementor-8255 .elementor-element.elementor-element-1730002.elementor-element{--align-self:flex-start;}.elementor-8255 .elementor-element.elementor-element-0defcff.elementor-element{--align-self:flex-start;}.elementor-8255 .elementor-element.elementor-element-407a68f.elementor-element{--align-self:center;}.elementor-8255 .elementor-element.elementor-element-9ea1068.elementor-element{--align-self:center;}@media(max-width:1024px){.elementor-8255 .elementor-element.elementor-element-dea6675{--grid-auto-flow:row;}.elementor-8255 .elementor-element.elementor-element-ce7cbca{--grid-auto-flow:row;}.elementor-8255 .elementor-element.elementor-element-e137b25{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-8255 .elementor-element.elementor-element-dea6675{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-8255 .elementor-element.elementor-element-ce7cbca{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-8255 .elementor-element.elementor-element-e137b25{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS *//* =========================================================
   6Gorilla's — Logo grids (class: .logo-grid)
   Werkt op elke Elementor-container met class "logo-grid"
   ========================================================= */

/* ---- Layout: 4 kolommen + spacing ---- */
.logo-grid > .e-con-inner {
  /* design tokens */
  --card-bg: #ffffff;
  --card-border: #e7e7ee;
  --card-radius: 16px;
  --gap: clamp(12px, 1.2vw, 20px);
  --pad: clamp(14px, 1.2vw, 18px);
  --name-size: clamp(14px, 1.4vw, 16px);
  --shadow: 0 1px 2px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.06);

  /* gelijke hoogte-instellingen (tune zo nodig) */
  --logo-zone-h: clamp(90px, 12vw, 120px);
  --caption-zone-h: 2.8em; /* ~2 regels tekst */

  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: var(--gap);
  align-items: stretch;
}

/* Shape divider bovenaan: volle breedte + lucht eronder (als aanwezig) */
.logo-grid > .e-con-inner > .elementor-shape-top {
  grid-column: 1 / -1;
  margin-bottom: clamp(12px, 2vw, 24px);
}

/* ---- Kaartstijl op elke image-widget ---- */
.logo-grid .elementor-widget-image {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(8px, 1vw, 12px);
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  padding: var(--pad);
  text-align: center;
  box-shadow: var(--shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
  min-height: 160px; /* baseline */
  padding-top: 60px; /* logo iets lager; pas aan naar smaak */
}

.logo-grid .elementor-widget-image:hover,
.logo-grid .elementor-widget-image:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 2px 8px rgba(0,0,0,.08), 0 14px 36px rgba(0,0,0,.10);
  border-color: #d7d7e0;
  outline: none;
}

/* ---- Binnenwerk: vaste logo-zone + vaste caption-zone ----
   2-rijen-grid: rij 1 = logo, rij 2 = caption (blijft bestaan zonder caption) */
.logo-grid .elementor-widget-image .elementor-widget-container,
.logo-grid .elementor-widget-image figure.wp-caption {
  display: grid !important;
  grid-template-rows: var(--logo-zone-h) var(--caption-zone-h);
  align-items: center;
  justify-items: center;
  gap: clamp(8px, 1vw, 12px);
  margin: 0;
  width: 100%;
}

/* Logo correct schalen binnen rij 1 */
.logo-grid .elementor-widget-image img {
  grid-row: 1;
  max-width: 90%;
  max-height: 100%;  /* benut logo-zone, rekt kaart niet op */
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: .98;
  transition: filter .18s ease, opacity .18s ease;
}
.logo-grid .elementor-widget-image:hover img {
  filter: grayscale(10%);
  opacity: 1;
}

/* Caption (rij 2), max 2 regels, gelijke hoogte */
.logo-grid .elementor-widget-image figcaption,
.logo-grid .elementor-widget-image .widget-image-caption,
.logo-grid .elementor-widget-image .wp-caption-text {
  grid-row: 2;
  font-weight: 500;
  font-family: Outfit;
  font-size: var(--name-size);
  line-height: 1.2;
  letter-spacing: .2px;
  color: #1b1b1f;
  margin: 0;

  min-height: var(--caption-zone-h);
  max-height: var(--caption-zone-h);
  display: -webkit-box;
  -webkit-line-clamp: 2;   /* aantal regels */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Donkere sectie support (optioneel) */
.elementor-section--dark .logo-grid .elementor-widget-image {
  color: #f5f7fb;
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
}
.elementor-section--dark .logo-grid .elementor-widget-image figcaption {
  color: #f5f7fb;
}

/* ---- Responsief: 3 / 2 / 1 kolom ---- */
@media (max-width: 1024px) {
  .logo-grid > .e-con-inner { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 768px) {
  .logo-grid > .e-con-inner { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 480px) {
  .logo-grid > .e-con-inner { grid-template-columns: 1fr; }
}

/* ---- (Optioneel) Strikte vaste kaart-hoogte ----
   Gebruik alleen als je absoluut identieke kaart-hoogtes wilt. */
/*
.logo-grid .elementor-widget-image {
  height: calc(var(--logo-zone-h) + var(--caption-zone-h) + 2 * var(--pad));
  min-height: unset;
}
*/
/* ==== LOGO-GRID: forceer 4 kolommen, ook als Elementor 5 zet ==== */

/* A) Widgets direct in .logo-grid */
.logo-grid > .e-con-inner {
  display: grid !important;
  /* Elementor gebruikt vaak een var voor kolommen: overschrijf die */
  --e-con-grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
}

/* B) Eén child-container ertussen (parent .logo-grid, binnenin een .e-con met weer een .e-con-inner) */
.logo-grid > .e-con-inner > .e-con {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
}
.logo-grid > .e-con-inner > .e-con > .e-con-inner {
  display: grid !important;
  --e-con-grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: var(--gap, clamp(12px, 1.2vw, 20px));
}

/* (optioneel) Als je zeker weet dat je altijd scenario B hebt,
   kun je A uitzetten om dubbele grids te voorkomen: */
/*
.logo-grid > .e-con-inner { display: block !important; }
*/
/* ===== LOGO-GRID: auto-wrap met minimale kaartbreedte ===== */
/* Stel 1 keer in: minimale kaartbreedte */
.logo-grid { --card-min: 240px; } /* pas aan: 220–300px werkt goed */

/* A) Widgets direct in .logo-grid */
.logo-grid > .e-con-inner {
  display: grid !important;
  gap: var(--gap, clamp(12px, 1.2vw, 20px));
  /* wrap automatisch: zoveel kolommen als past, anders naar volgende rij */
  --e-con-grid-template-columns: repeat(auto-fit, minmax(var(--card-min), 1fr)) !important;
  grid-template-columns: repeat(auto-fit, minmax(var(--card-min), 1fr)) !important;
}

/* B) Eén child-container ertussen */
.logo-grid > .e-con-inner > .e-con {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
}
.logo-grid > .e-con-inner > .e-con > .e-con-inner {
  display: grid !important;
  gap: var(--gap, clamp(12px, 1.2vw, 20px));
  --e-con-grid-template-columns: repeat(auto-fit, minmax(var(--card-min), 1fr)) !important;
  grid-template-columns: repeat(auto-fit, minmax(var(--card-min), 1fr)) !important;
}

/* (optioneel) Wil je op grote schermen exact 4 kolommen? */
@media (min-width: 1200px) {
  .logo-grid > .e-con-inner,
  .logo-grid > .e-con-inner > .e-con > .e-con-inner {
    --e-con-grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  }
}
/* Volledige kaart klikbaar maken — alleen als er een link in zit */
.logo-grid .elementor-widget-image figure:has(> a) {
  position: relative;
}

.logo-grid .elementor-widget-image figure:has(> a) > a {
  position: static;
  z-index: 1;
}

.logo-grid .elementor-widget-image figure:has(> a) > a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}

/* Handcursor alleen als er een link is */
.logo-grid .elementor-widget-image figure:has(> a):hover {
  cursor: pointer;
}
.vinkjes {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem; /* standaard voor mobiel/tablet */
}

@media (min-width: 1024px) {
  .vinkjes {
    gap: 9rem; /* grote ruimte op desktop */
  }
}

.vinkjes li {
  display: inline-flex;
  align-items: center;
}

.vinkjes a {
  text-decoration: underline;
  color: inherit;
}

.vinkjes a:hover {
  text-decoration: none;
}/* End custom CSS */