/*
 * ctap-polish.css — uitlijning en afwerking bovenop de Elementor-opmaak.
 * Geladen als laatste stylesheet in index.html. Pas je dit bestand aan, verhoog dan
 * het versienummer (?v=…) in de <link>, anders ziet een bezoeker de oude versie (cache 1 jaar).
 * !important is alleen nodig waar de HTML inline style="…" gebruikt.
 */

/* ── Algemeen: rustig scrollen naar een sectie, titel niet onder het vaste menu ── */
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ── Sectiekoppen: gelijke, kleinere ruimte tussen kop en inhoud ── */
.elementor-14 .elementor-element.elementor-element-1289e037,
.elementor-14 .elementor-element.elementor-element-29c7559a,
.elementor-14 .elementor-element.elementor-element-15b37f0a,
.elementor-14 .elementor-element.elementor-element-72aa4c13,
.elementor-14 .elementor-element.elementor-element-1fbf4d8b,
.elementor-14 .elementor-element.elementor-element-6e266b64,
.elementor-14 .elementor-element.elementor-element-75582c82 { padding-bottom: 40px; }
.elementor-14 .elementor-top-section[id] .elementor-widget:last-child { margin-bottom: 0; }
.elementor-14 .elementor-top-section[id] p[style*="max-width:720px"] { margin-bottom: 0 !important; }
.elementor-14 .elementor-element.elementor-element-2c0f3844 p[style*="max-width:720px"] { margin-bottom: 40px !important; }

/* Events: nog geen evenementen, wel een nette melding */
.ctap-events-note {
  display: flex; align-items: center; gap: 12px;
  margin: 32px 0 0; padding: 18px 22px; max-width: 720px;
  background: #ffffff; border: 1px solid #e8eef4; border-left: 3px solid #f5a623; border-radius: 6px;
  font-size: 15px; color: #10345c; font-weight: 600;
}
.ctap-events-note svg { flex-shrink: 0; }

/* ── Kaartenrijen: gelijke kolombreedte en gelijke hoogte ── */
@media (min-width: 768px) {
  .elementor-14 .elementor-element-6b9e1c2d > .elementor-container > .elementor-column,
  .elementor-14 .elementor-element-42448bf4 > .elementor-container > .elementor-column,
  .elementor-14 .elementor-element-4b304315 > .elementor-container > .elementor-column,
  .elementor-14 .elementor-element-562f4dcb > .elementor-container > .elementor-column { width: 33.3333%; }
}
.elementor-14 .elementor-element-6b9e1c2d .elementor-widget-text-editor,
.elementor-14 .elementor-element-42448bf4 .elementor-widget-text-editor,
.elementor-14 .elementor-element-4b304315 .elementor-widget-text-editor,
.elementor-14 .elementor-element-562f4dcb .elementor-widget-text-editor,
.elementor-14 .elementor-element-3e947e88 .elementor-widget-text-editor { height: 100%; }
/* ruimte tussen de twee artikelrijen gelijk aan de ruimte tussen de kaarten */
.elementor-14 .elementor-element.elementor-element-6b9e1c2d { padding-bottom: 0; }

/* Artikelkaarten: beeldvlak boven, tekst vult de rest */
.elementor-14 .elementor-element-6b9e1c2d .elementor-widget-text-editor > div,
.elementor-14 .elementor-element-42448bf4 .elementor-widget-text-editor > div {
  height: 100%; display: flex; flex-direction: column;
}
.elementor-14 .elementor-element-6b9e1c2d .elementor-widget-text-editor > div > div:last-child,
.elementor-14 .elementor-element-42448bf4 .elementor-widget-text-editor > div > div:last-child {
  flex: 1; display: flex; flex-direction: column;
}
.elementor-14 .elementor-element-6b9e1c2d .elementor-widget-text-editor > div > div:last-child > div:last-child,
.elementor-14 .elementor-element-42448bf4 .elementor-widget-text-editor > div > div:last-child > div:last-child { margin-top: auto; }

/* Productkaarten: kop even hoog, knop altijd onderaan */
.elementor-14 .elementor-element-4b304315 .elementor-widget-text-editor > div > div:first-child { min-height: 118px; }
.elementor-14 .elementor-element-4b304315 .elementor-widget-text-editor > div > p:last-child { margin: 0; }
.elementor-14 .elementor-element-4b304315 .elementor-widget-text-editor > div > p:last-child a { transition: filter .2s ease; }
.elementor-14 .elementor-element-4b304315 .elementor-widget-text-editor > div > p:last-child a:hover { filter: brightness(1.1); }

/* Testimonials: de 'binnenkort'-kaart even hoog als de andere */
.elementor-14 .elementor-element-562f4dcb .elementor-widget-text-editor > div { height: 100%; box-sizing: border-box; }

/* ── Resources: eerste kaart gelijk aan de andere drie ── */
.elementor-14 .elementor-element-3e947e88 .elementor-widget-text-editor > div > p { margin: 0; display: flex; }
.elementor-14 .elementor-element-3e947e88 h4 a { color: inherit; text-decoration: none; }
.elementor-14 .elementor-element-3e947e88 h4 a:hover { color: #1a8bc8; }

/* ── Certificeringspad: F, A en E even groot, tekst op één lijn ── */
.elementor-14 .elementor-element-3e629f24 .elementor-widget-text-editor > div > div:first-child {
  width: 52px !important; height: 52px !important; box-sizing: border-box;
}

/* ── 'Ready to start?'-knoppen: tekst midden, pijl rechts, duidelijke hover ── */
.elementor-14 .elementor-element-33e85ab1 a {
  min-height: 48px; box-sizing: border-box; transition: background-color .2s ease, border-color .2s ease;
}
.elementor-14 .elementor-element-33e85ab1 a .ctap-arrow { color: #f5a623; margin-left: 12px; transition: transform .2s ease; }
.elementor-14 .elementor-element-33e85ab1 a:hover {
  background: rgba(255,255,255,0.12) !important; border-color: #f5a623 !important;
}
.elementor-14 .elementor-element-33e85ab1 a:hover .ctap-arrow { transform: translateX(4px); }

/* ── Vergelijkingstabel: lichtere tekst beter leesbaar ── */
.elementor-14 .elementor-element-399df187 td[style*="0.3)"] { color: rgba(255,255,255,0.6) !important; }

/* ── Partnerlogo's: netjes gecentreerd, op mobiel geen overloop ── */
.elementor-14 .elementor-element-2c0f3844 [style*="grid-template-columns"] p { margin: 0; text-align: center; line-height: 1.2; }
.elementor-14 .elementor-element-2c0f3844 .ctap-partner-logo { display: block; }
.elementor-14 .elementor-element-2c0f3844 [style*="grid-template-columns"] > div { justify-content: center !important; }
@media (max-width: 767px) {
  .elementor-14 .elementor-element-2c0f3844 [style*="grid-template-columns"] { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ── 'Apply for AEP status'-knop ── */
.elementor-14 .elementor-element-40ed6913 a { transition: background-color .2s ease, border-color .2s ease; }
.elementor-14 .elementor-element-40ed6913 a:hover { background: #dc8f0c !important; border-color: #dc8f0c !important; }
.elementor-14 .elementor-element-40ed6913 p { margin: 0; }

/* ── Footer: logo zonder wit blok ──
   Het logo is een JPG met witte achtergrond. De SVG-filter #ctap-logo-on-dark (vlak boven <footer>
   in index.html) maakt wit transparant en kleurt de rest CTAP-oranje. */
.elementor-117 .elementor-widget-image img { filter: url(#ctap-logo-on-dark); clip-path: inset(0 0 2px 0); }
.elementor-117 a { transition: color .2s ease; }
.elementor-117 a:hover { color: #f5a623 !important; }

/* ── Hero: 'Become certified' en 'Explore products' naast elkaar, links uitgelijnd met de tekst ── */
.elementor-14 .elementor-element-f87da4d > .elementor-container { justify-content: flex-start; flex-wrap: wrap; gap: 12px; }
.elementor-14 .elementor-element-f87da4d > .elementor-container > .elementor-column { width: auto; }
.elementor-14 .elementor-element-f87da4d .elementor-widget-wrap { padding: 0; }
.elementor-14 .elementor-element-f87da4d .elementor-widget-button { text-align: left; }
/* cijfers onder de hero-tekst op dezelfde lijn als de tekst */
.elementor-14 .elementor-element-39e15632 .elementor-widget-wrap { padding-left: 0; }

/* ── Mobiel ── */
@media (max-width: 767px) {
  /* Bovenbalk: alleen de taalknoppen, naast elkaar */
  .elementor-112 .elementor-element-92059c6 { display: none; }
  .elementor-112 .elementor-element-4902023f,
  .elementor-112 .elementor-element-39030c17 { width: 50%; }
  .elementor-112 .elementor-element-4902023f .elementor-widget-wrap,
  .elementor-112 .elementor-element-39030c17 .elementor-widget-wrap { padding: 0 4px; }

  /* Vast menu: logo boven, menu als één veegbare rij i.p.v. een lange lijst */
  .elementor-112 .elementor-element.elementor-element-59e729c { padding: 10px 16px 0; }
  .elementor-112 .elementor-element-55125951 .elementor-widget-image img { max-width: 110px; }
  .elementor-112 .elementor-element-4a3620dd > .elementor-container {
    flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; gap: 4px;
    padding: 6px 0 10px; scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .elementor-112 .elementor-element-4a3620dd > .elementor-container::-webkit-scrollbar { display: none; }
  .elementor-112 .elementor-element-4a3620dd > .elementor-container > .elementor-column { width: auto; flex: 0 0 auto; }
  .elementor-112 .elementor-element-4a3620dd .elementor-button { padding: 10px 10px; min-height: 40px; display: inline-flex; align-items: center; }
  html { scroll-padding-top: 130px; }

  /* Vergelijkingstabel past op het scherm */
  .elementor-14 .elementor-element-399df187 [style*="padding:40px"] { padding: 24px 16px !important; }
  .elementor-14 .elementor-element-399df187 th,
  .elementor-14 .elementor-element-399df187 td { padding: 9px 6px !important; font-size: 13px !important; }
  .elementor-14 .elementor-element-399df187 th { font-size: 10px !important; letter-spacing: 1px !important; }

  /* 'About': waardenblokken onder elkaar, niet te smal */
  .elementor-14 .elementor-element-4fa11254 [style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }

  /* Footer-onderbalk gecentreerd */
  .elementor-117 .elementor-element-4bbe4439 p { text-align: center !important; line-height: 1.8; }

  /* Knoppen groot genoeg om aan te tikken */
  .elementor-14 .elementor-element-40ed6913 a { display: block !important; }
  .elementor-14 .elementor-element-40ed6913 [style*="padding: 48px"] { padding: 32px 24px !important; gap: 24px !important; }
  .elementor-14 .elementor-element-33e85ab1 [style*="padding: 40px"] { padding: 28px 22px !important; }
}
