/* ============================= */
/* CTA Menu Button - Helix      */
/* ============================= */

/* Variant: class op <li> of <a> */
.sp-megamenu-parent > li.menu-button > a,
.sp-megamenu-parent > li > a.menu-button {

  background-color: #009fe3 !important;
  color: #ffffff !important;

  padding: 15px 28px !important;     /* compacter boven/onder, breder links/rechts */
  border-radius: 6px !important;

  font-weight: 700 !important;
  font-size: 14px !important;

  line-height: 1.2 !important;
  display: inline-block !important;

  height: auto !important;
  min-height: 0 !important;

  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;

  transition: all 0.25s ease !important;
}

/* Hover effect */
.sp-megamenu-parent > li.menu-button > a:hover,
.sp-megamenu-parent > li > a.menu-button:hover {

  background-color: #007bb5 !important;
  color: #ffffff !important;

  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.25) !important;
  transform: translateY(-2px);
}

/* Extra ruimte links van de CTA */
.sp-megamenu-parent > li.menu-button {
    margin-left: 20px !important;
}



/* ===================================== */
/* Contactformulier - Blauwe stijl clean */
/* Alleen contactpagina (itemid-118)     */
/* ===================================== */

/* Formulier iets compacter maken */
body.p-contact form {
  max-width: 680px;
  margin: 0 auto;
  padding: 35px 40px !important;   /* boven/onder 35px, links/rechts 40px */

}

/* Minder ruimte tussen velden */
body.p-contact .form-group,
body.p-contact .sppb-form-group {
  margin-bottom: 10px !important;
}

/* Labels */
body.p-contact label {
  display: block;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 6px !important;
  color: #ffffff;
}

/* Inputs */
body.p-contact input,
body.p-contact select,
body.p-contact textarea {
  width: 80% !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  border: none !important;
  background: #efefef !important;
  font-size: 15px !important;
  transition: all .2s ease;
}

/* Textarea */
body.p-contact textarea {
  min-height: 150px !important;
}

/* Focus effect */
body.p-contact input:focus,
body.p-contact select:focus,
body.p-contact textarea:focus {
  outline: none !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.35) !important;
}

/* Recaptcha spacing */
body.p-contact .g-recaptcha {
  margin: 12px 0 !important;
}

/* Button */
body.p-contact button,
body.p-contact .btn {
  background: #ffffff !important;
  color: #000000 !important;
  border-radius: 14px !important;
  padding: 12px 28px !important;
  font-weight: 700 !important;
  border: none !important;
  transition: all .2s ease;
}

/* Hover */
body.p-contact button:hover,
body.p-contact .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
}


/* ============================= */
/* 3 kolommen Gezond Vooruit      */
/* ============================= */

/* --- Instellingen --- */
:root{
  --mdl-overlap: 56px;     /* overlap tussen vlakken (45-70px) */
  --mdl-notch: 22px;       /* hoe â€œdiepâ€ de pijl is (18-30px) */
  --mdl-minheight: 340px;  /* gelijke hoogte */
}

/* --- Row: laat overlap en schaduw zichtbaar --- */
.mdl-diagonal-row{
  overflow: visible !important;
}

/* --- SPPB: forceer flex chain zodat hoogte gelijk wordt --- */
.mdl-diagonal-row .sppb-row{
  display: flex !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
}

/* Kolommen zelf */
.mdl-diagonal-row [class*="sppb-col-"]{
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: flex !important;
  position: relative !important; /* nodig voor z-index */
}

/* Wrappers binnen SPPB (verschilt per versie, daarom meerdere) */
.mdl-diagonal-row [class*="sppb-col-"] > .sppb-column,
.mdl-diagonal-row [class*="sppb-col-"] > .sppb-column > .sppb-column-addons{
  display: flex !important;
  flex: 1 1 auto !important;
}

/* Zorg dat jouw blok echt de volledige hoogte pakt */
.mdl-diagonal-row .mdl-block-green,
.mdl-diagonal-row .mdl-block-yellow,
.mdl-diagonal-row .mdl-block-blue{
  flex: 1 1 auto !important;
  width: 100%;
  min-height: var(--mdl-minheight);
  box-sizing: border-box;

  padding: 40px 44px;
  position: relative;

  /* modern */
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
  box-shadow: 0 12px 26px rgba(0,0,0,.12);
  will-change: transform;
}

/* --- Kleuren --- */
.mdl-diagonal-row .mdl-block-green{
  background: #56af31;
  color: #ffffff;
}
.mdl-diagonal-row .mdl-block-yellow{
  background: #ffe600;
  color: #009fe3;
}
.mdl-diagonal-row .mdl-block-blue{
  background: #009fe3;
  color: #ffffff;
}

/* --- Titels --- */
.mdl-diagonal-row .mdl-block-green h3,
.mdl-diagonal-row .mdl-block-yellow h3,
.mdl-diagonal-row .mdl-block-blue h3{
  font-weight: 800;
  margin: 0 0 18px 0;
}

/* --- DUIDELIJKE pijl/chevron vorm (in alle 3) --- */
/* Linkerkant recht, rechterkant pijl */
.mdl-diagonal-row .mdl-block-green,
.mdl-diagonal-row .mdl-block-yellow,
.mdl-diagonal-row .mdl-block-blue{
  clip-path: polygon(
    0 0,
    calc(100% - var(--mdl-notch)) 0,
    100% 50%,
    calc(100% - var(--mdl-notch)) 100%,
    0 100%
  );
}

/* --- Overlap op KOLOM-niveau (dit is de key) --- */
/* 2e kolom schuift naar links over kolom 1 */
.mdl-diagonal-row [class*="sppb-col-"]:nth-child(2){
  margin-left: calc(var(--mdl-overlap) * -1) !important;
}

/* 3e kolom schuift naar links over kolom 2 */
.mdl-diagonal-row [class*="sppb-col-"]:nth-child(3){
  margin-left: calc(var(--mdl-overlap) * -1) !important;
}

/* Compenseer padding links in overlappende kolommen zodat tekst niet â€œonderâ€ overlap valt */
.mdl-diagonal-row [class*="sppb-col-"]:nth-child(2) .mdl-block-yellow,
.mdl-diagonal-row [class*="sppb-col-"]:nth-child(3) .mdl-block-blue{
  padding-left: calc(44px + (var(--mdl-overlap) * 0.8));
}

/* --- Stack order: groen boven geel boven blauw --- */
.mdl-diagonal-row [class*="sppb-col-"]:nth-child(1){ z-index: 30 !important; }
.mdl-diagonal-row [class*="sppb-col-"]:nth-child(2){ z-index: 20 !important; }
.mdl-diagonal-row [class*="sppb-col-"]:nth-child(3){ z-index: 10 !important; }

/* --- Hover: subtiel modern --- */
.mdl-diagonal-row .mdl-block-green:hover,
.mdl-diagonal-row .mdl-block-yellow:hover,
.mdl-diagonal-row .mdl-block-blue:hover{
  transform: translateY(-4px);
  box-shadow: 0 20px 44px rgba(0,0,0,.18);
  filter: saturate(1.03);
  z-index: 999; /* op hover altijd bovenop */
}

/* Optische balans: groen lijkt anders breder door overlap */
/* Geef groen links dezelfde 'verloren' ruimte als geel/blauw */
@media (min-width: 992px){
  .mdl-diagonal-row .mdl-block-green{
    padding-right: calc(44px + (var(--mdl-overlap) * 0.6));
  }
}

/* --- Responsive: mobiel onder elkaar, geen overlap --- */
@media (max-width: 991px){
  .mdl-diagonal-row .sppb-row{
    flex-wrap: wrap !important;
  }
  .mdl-diagonal-row [class*="sppb-col-"]:nth-child(2),
  .mdl-diagonal-row [class*="sppb-col-"]:nth-child(3){
    margin-left: 0 !important;
  }
  .mdl-diagonal-row [class*="sppb-col-"]:nth-child(2) .mdl-block-yellow,
  .mdl-diagonal-row [class*="sppb-col-"]:nth-child(3) .mdl-block-blue{
    padding-left: 44px;
  }
  .mdl-diagonal-row .mdl-block-green,
  .mdl-diagonal-row .mdl-block-yellow,
  .mdl-diagonal-row .mdl-block-blue{
    clip-path: none;
    min-height: auto;
  }
}


/* ============================= */
/* FORCE equal height (SPPB)     */
/* ============================= */

/* zorg dat alle wrappers 100% hoogte mogen pakken */
.mdl-diagonal-row .sppb-row,
.mdl-diagonal-row [class*="sppb-col-"],
.mdl-diagonal-row [class*="sppb-col-"] > .sppb-column,
.mdl-diagonal-row [class*="sppb-col-"] > .sppb-column > .sppb-column-addons,
.mdl-diagonal-row [class*="sppb-col-"] .sppb-addon,
.mdl-diagonal-row [class*="sppb-col-"] .sppb-addon-content {
  height: 420px !important;
}

/* op desktop: geef de 3 vlakken exact dezelfde hoogte */
@media (min-width: 992px){
  .mdl-diagonal-row .mdl-block-green,
  .mdl-diagonal-row .mdl-block-yellow,
  .mdl-diagonal-row .mdl-block-blue{
    height: var(--mdl-minheight) !important; /* gebruikt jouw variabele */
    min-height: 0 !important;               /* voorkomt dat content â€˜m toch groter duwt */
  }
}

.img-kleiner img {
  max-width: 60%;
  height: auto;
}

.img-kleiner img {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.img-kleiner img:hover {
  transform: scale(1.08);
  box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}

.img-kleiner {
  position: relative;
}

.img-kleiner img {
  max-width: 60%;
  height: auto;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  z-index: 1;
}

.img-kleiner img {
  border-radius: 25px;
}

.img-kleiner img:hover {
  transform: scale(1.08);
  box-shadow: 0 15px 35px rgba(0,0,0,0.15);
  z-index: 999;
}


/* ===================================== */
/* PMO formulier styling (pagina itemid-364) */
/* ===================================== */

/* Formulier container */
body.p-pmo-en-health-checks form {
  max-width: 100%;
  margin: 40px auto;
  padding: 40px 50px;
  background: #179bd7;
  border-radius: 28px;
  box-sizing: border-box;
}

/* Labels */
body.p-pmo-en-health-checks form label {
  color: #d3d3d3 !important;
  font-weight: 600;
  margin-bottom: 6px;
  display: block;
}

/* Ruimte tussen velden */
body.p-pmo-en-health-checks .form-group,
body.p-pmo-en-health-checks .sppb-form-group {
  margin-bottom: 18px !important;
}

/* Gewone invoervelden */
body.p-pmo-en-health-checks input[type="text"],
body.p-pmo-en-health-checks input[type="email"],
body.p-pmo-en-health-checks input[type="tel"],
body.p-pmo-en-health-checks input[type="number"],
body.p-pmo-en-health-checks select,
body.p-pmo-en-health-checks textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  border-radius: 14px !important;
  border: none !important;
  background: #efefef !important;
  font-size: 15px !important;
  box-sizing: border-box !important;
}

/* Alle gewone invoervelden dezelfde hoogte */
body.p-pmo-en-health-checks input[type="text"],
body.p-pmo-en-health-checks input[type="email"],
body.p-pmo-en-health-checks input[type="tel"],
body.p-pmo-en-health-checks input[type="number"],
body.p-pmo-en-health-checks select {
  height: 54px !important;
  line-height: 54px !important;
}

/* Checkboxen normaal weergeven */
body.p-pmo-en-health-checks input[type="checkbox"] {
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 8px 0 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Tekst naast checkbox zichtbaar en netjes uitlijnen */
body.p-pmo-en-health-checks .rsform-checkbox,
body.p-pmo-en-health-checks .form-check,
body.p-pmo-en-health-checks .checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
}

body.p-pmo-en-health-checks .rsform-checkbox label,
body.p-pmo-en-health-checks .form-check label,
body.p-pmo-en-health-checks .checkbox label {
  color: #555555 !important;
  display: inline !important;
  margin: 0 !important;
  font-weight: 400 !important;
}

/* Selectvelden fix */
body.p-pmo-en-health-checks select {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Textarea */
body.p-pmo-en-health-checks textarea {
  min-height: 140px !important;
  resize: vertical;
}

/* Focus effect */
body.p-pmo-en-health-checks input:focus,
body.p-pmo-en-health-checks select:focus,
body.p-pmo-en-health-checks textarea:focus {
  outline: none !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.35) !important;
}

/* Recaptcha */
body.p-pmo-en-health-checks .g-recaptcha {
  margin: 10px 0 18px !important;
}

/* Button */
body.p-pmo-en-health-checks button,
body.p-pmo-en-health-checks .btn,
body.p-pmo-en-health-checks input[type="submit"] {
  background: #ffffff !important;
  color: #000 !important;
  border-radius: 16px !important;
  padding: 12px 32px !important;
  font-weight: 700 !important;
  border: none !important;
  min-height: 54px !important;
  transition: all .2s ease;
}

/* Button hover */
body.p-pmo-en-health-checks button:hover,
body.p-pmo-en-health-checks .btn:hover,
body.p-pmo-en-health-checks input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
}

/* Titel "Voorkeur pakket" groter en wit maken */
body.p-pmo-en-health-checks .rsform-block-voorkeur strong{
    color:#ffffff !important;
    font-size:22px !important;
    font-weight:700 !important;
}

/* oude inline font-size overschrijven */
body.p-pmo-en-health-checks .rsform-block-voorkeur span{
    font-size:24px !important;
}

/* ============================= */
/* Submit knop rechts uitlijnen  */
/* ============================= */

/* Submit blok */
body.p-pmo-en-health-checks .rsform-block-submitbutton {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
}


/* Knop zelf */
body.p-pmo-en-health-checks .rsform-submit-button,
body.p-pmo-en-health-checks input[type="submit"] {
    display: inline-flex !important;
    width: auto !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    float: none !important;
    position: static !important;
}


/* Extra wrapper (soms aanwezig in RSForm) */
body.p-pmo-en-health-checks .rsform-block-submitbutton p,
body.p-pmo-en-health-checks .rsform-block-submitbutton div {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
}

/* ===================================== */
/* PMO formulier - contact keuzevakjes   */
/* ===================================== */

/* Witte vlak volledig verwijderen */
body.p-pmo-en-health-checks .rsform-block-type-contact,
body.p-pmo-en-health-checks .rsform-block-type-contact .formControls,
body.p-pmo-en-health-checks .rsform-block-type-contact .formBody {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
}

/* FormBody zelf gewoon volledige breedte */
body.p-pmo-en-health-checks .rsform-block-type-contact .formBody {
    display: block !important;
    width: 100% !important;
}

/* De opties gewoon onder elkaar laten staan */
body.p-pmo-en-health-checks .rsform-block-type-contact .formBody > span {
    display: block !important;
    width: 100% !important;
}

/* Checkbox en tekst op dezelfde regel */
body.p-pmo-en-health-checks .rsform-block-type-contact input[type="checkbox"] {
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    min-height: 0 !important;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

/* Tekst direct naast checkbox */
body.p-pmo-en-health-checks .rsform-block-type-contact .formBody label {
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
}

/* Kleine ruimte tussen de drie regels */
body.p-pmo-en-health-checks .rsform-block-type-contact .formBody br {
    display: block !important;
    content: "";
    margin-bottom: 8px !important;
}

/* Checkbox */
body.p-pmo-en-health-checks .rsform-block-type-contact input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: normal !important;
}

/* Tekst naast checkbox */
body.p-pmo-en-health-checks .rsform-block-type-contact .formBody label {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}

/* Hele keuzevraag compact houden */
body.p-pmo-en-health-checks .rsform-block-type-contact {
    margin: 12px 0 20px 0 !important;
}

/* ============================= */
/* Verstuur knop verbeteren      */
/* ============================= */

body.p-pmo-en-health-checks .rsform-submit-button,
body.p-pmo-en-health-checks input[type="submit"] {
    padding: 14px 40px !important;   /* meer ruimte links en rechts */
    min-width: 160px !important;
    text-shadow: none !important;    /* dubbele tekst weghalen */
    letter-spacing: 0.3px;
}

/* ============================= */
/* Tekst in verstuur knop       */
/* ============================= */

body.p-pmo-en-health-checks .rsform-submit-button,
body.p-pmo-en-health-checks input[type="submit"] {
    text-align: center !important;
    font-size: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* ===================================== */
/* PMO pakketkaarten                     */
/* ===================================== */

/* Kolommen in de rij even hoog maken */
.pmo-kaarten-rij .sppb-row {
    display: flex !important;
    align-items: stretch !important;
}

/* Buitenste kolom-wrapper */
.pmo-kaarten-rij .sppb-row > [class*="sppb-col-"] {
    display: flex !important;
}

/* De complete pakketkaart */
.mijn-kolom-box {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;

    background-color: #ffffff !important;
    border: 1px solid #009fe3 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

/* Alle addons onder elkaar zetten */
.mijn-kolom-box .sppb-column-addons {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
}

/* Prijs naar de onderkant duwen */
.mijn-kolom-box .pmo-prijsblok {
    margin-top: auto !important;
}

/* ===================================== */
/* PMO pakketkaarten - Mobiele fix       */
/* ===================================== */
@media (max-width: 767px) {
  .pmo-kaarten-rij .sppb-row {
    flex-wrap: wrap !important;
  }

  .pmo-kaarten-rij .sppb-row > [class*="sppb-col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 20px !important; /* ruimte tussen de kaarten */
  }
}

@media (max-width: 767px) {
  /* De rij zelf: geen zijmarge */
  .pmo-kaarten-rij {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .pmo-kaarten-rij .sppb-row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* De kolom: padding helemaal naar 0 */
  .pmo-kaarten-rij .sppb-row > [class*="sppb-col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* De column-wrapper die SP Page Builder er zelf in stopt */
  .pmo-kaarten-rij .sppb-column,
  .pmo-kaarten-rij .sppb-column-addons {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  /* De kaart zelf iets binnenpadding geven, anders plakt de tekst tegen de rand */
  .mijn-kolom-box {
    width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

@media (max-width: 767px) {
  .pmo-kaarten-rij .sppb-column-addons > .sppb-section {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* ===================================== */
/* Waarom PMO PAGO van MDL - Mobiele fix */
/* ===================================== */

.pmo-voordeel-kaart {
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 767px) {
  /* Kolommen: volledige breedte + ruimte tussen kaarten */
  .pmo-voordelen-rij .sppb-row > [class*="sppb-col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 50px !important;
  }

  /* Laatste kaart heeft geen extra ruimte nodig */
  .pmo-voordelen-rij .sppb-row > [class*="sppb-col-"]:last-child {
    margin-bottom: 0 !important;
  }

  /* Kaart zelf: breder + hoogte laten meegroeien */
  .pmo-voordeel-kaart {
    max-width: 100% !important;
    height: auto !important;
    min-height: 200px !important;
  }

  /* Sectie: geen zijpadding */
  .pmo-voordelen-rij {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Buitenste kolom-wrapper: volledige breedte */
  .pmo-voordelen-rij .sppb-column {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* NIEUW: container-inner: volledige breedte */
  .pmo-voordelen-rij .sppb-container-inner {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  .sppb-col-md-12 {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
}

@media (max-width: 767px) {
  .pmo-voordelen-sectie {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
}


/* ===================================== */
/* PMO voor ploegendienst - kolommen       */
/* ===================================== */

.kolom-met-rand {
    border: 1px solid #dddddd;
    border-radius: 10px;
    box-sizing: border-box;
    padding: 20px !important;
}

.kolom-met-rand2 {
    border: 1px solid #009fe3;
    border-radius: 10px;
    box-sizing: border-box;
    padding: 20px !important;
}

.tekstblok {
    border-left: 3px solid #00a9e0;
    padding: 20px !important;
}

.tekstblok-groen {
    border-left: 3px solid #56af31;
    padding: 20px !important;
}

.screening {
    border-top: 3px solid #56af31;
    padding: 20px 0px !important;
}

.screening-blauw {
    border-top: 3px solid #00a9e0;
    padding: 20px 0px !important;
}

