.elementor-kit-148{--e-global-color-primary:#171717;--e-global-color-secondary:#000000;--e-global-color-text:#FFFFFF;--e-global-color-accent:#00A63E;--e-global-color-57e8299:#DCFCE7;--e-global-color-e2c6248:#f8fafc;--e-global-color-49442cf:#1447E6;--e-global-color-8346b2d:#BEDBFF;--e-global-color-f3f4378:#E9D4FF;--e-global-color-d3148f0:#8200DB;--e-global-color-59a013f:#96F7E4;--e-global-color-b520c7e:#00786F;--e-global-color-235baed:#FFD6A8;--e-global-color-3d4d1e3:#CA3918;--e-global-color-0778945:#FCCEE8;--e-global-color-fca062f:#C6145F;--e-global-typography-primary-font-family:"dinosaur";--e-global-typography-primary-font-size:4rem;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:75px;--e-global-typography-primary-letter-spacing:0.26px;--e-global-typography-secondary-font-family:"dinosaur";--e-global-typography-secondary-font-size:3rem;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:60px;--e-global-typography-secondary-letter-spacing:0.35px;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-size:1.25rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:32.5px;--e-global-typography-text-letter-spacing:-0.45px;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-148 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-148{--e-global-typography-primary-font-size:3.1rem;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-size:2.5rem;--e-global-typography-secondary-line-height:1.1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-148{--e-global-typography-primary-font-size:2.48rem;--e-global-typography-secondary-font-size:2.2rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*Geen verticale scroll*/
html, body {
  overflow-x: hidden;
  width: 100%;
}


/*Standaard spacing weghalen*/
p {
    margin: 0;
    padding: 0;
}

/*SVG stijl aanpassen knoppen*/
.elementor-button-icon svg path {
    fill: white!important
}
.elementor-button-icon svg  {
    width: 30px!important;
}

/*tekst van vakjes*/
.smaller {
    font-family: Open Sans;
    font-size: 1rem;
    color: gray!important;
}

/*Styling formulier*/
[class*="uacf7"] label {
    padding-bottom: 8px!important;
    font-family: Open Sans;
    font-size: 1.25rem;
}
label .wpcf7-list-item-label {
    font-weight: 400;
}
[class*="uacf7"] input, [class*="uacf7"] select {
    margin-bottom: 20px!important;
    background-color: #F8FAFC;
    border-radius: 10px;
    border: 1px solid #e0e0e0;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.02);
}



[class*="uacf7"] input[type="submit"] {
    padding: 12px 17px;
    font-family: Open Sans;
    font-size: 1.25rem;
    color: white;
    border-radius: 38px;
    background-color: var(--e-global-color-accent);
    display: inline-flex!important;
    flex-direction: row !important; /* Dwingt ze naast elkaar */
    align-items: center !important; /* Zet ze verticaal in het midden */
}

.wpcf7-not-valid-tip {
    margin-top: -20px!important;
    margin-bottom: 16px!important;
}


/*custom styling comparison table widget*/
.ct-container {
    display: flex;
    flex-direction: column;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    background-color: #fff;
    width: 100%;
    position: relative; /* Container context for absolute lines */
    isolation: isolate; /* Create new stacking context */
}

/* 
 * ABSOLUTE POSITIONED CONTINUOUS VERTICAL LINES 
 * These pseudo-elements span the entire height of the container.
 * We use 'mix-blend-mode' or high z-index to ensure visibility.
 */
.ct-container::before,
.ct-container::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: var(--ct-divider-width, 1px);
    /* Use CSS variable for color, fallback to explicit color if variable fails */
    background-color: var(--ct-divider-color, #e2e8f0); 
    z-index: 10; /* Ensure it sits ON TOP of everything */
    pointer-events: none; /* Allow clicks through */
}

/* Position lines at exactly 33.33% and 66.66% assuming equal columns */
.ct-container::before {
    left: 33.333%;
}

.ct-container::after {
    left: 66.666%;
}

.ct-header {
    display: flex;
    flex-direction: row;
    width: 100%;
    /* Gradient is applied here via widget controls (style tab) */
    position: relative;
    z-index: 1; 
}

.ct-header-cell {
    flex: 1;
    text-align: center;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent !important; /* Ensure gradient shines through */
    z-index: 2; 
}

.ct-body {
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 1;
}

.ct-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    position: relative;
    /* Zebra striping background color is applied here via widget controls */
}

.ct-row:last-child {
    border-bottom: none !important;
}

.ct-col {
    flex: 1;
    padding: 0 15px;
    display: flex; 
    align-items: center;
    position: relative;
    z-index: 2;
}

/* Remove old dividers */
.ct-col-1::after,
.ct-col-2::after,
.ct-header-col-1::after,
.ct-header-col-2::after {
    display: none !important;
}

/* Column 1: Aspect */
.ct-col-1 {
    justify-content: flex-start;
}

.ct-aspect-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    width: 100%;
}

.ct-aspect-title {
    font-weight: 500!important;
    font-size: inherit;
    font-family: inherit;
}

.ct-status-icon svg {
    display: block;
    flex-shrink: 0;
}

.ct-aspect-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ct-aspect-icon i {
    font-size: 20px;
}

/* SVG FIXES */
.ct-aspect-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor !important; 
}

.ct-aspect-icon svg *  {
    fill: currentColor !important;
    stroke: none !important;
    height: 20px!important;
    width: 20px!important;
}

.ct-aspect-icon svg path,
.ct-aspect-icon svg rect,
.ct-aspect-icon svg circle,
.ct-aspect-icon svg polygon {
    fill: currentColor !important;
	stroke-width: 0; /* Voorkom dikke lijnen tenzij nodig */
}

/* Columns 2 & 3: Content */
.ct-content-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
}

.ct-status-icon {
    margin-top: 3px;
}

.ct-mobile-label {
    display: none;
    font-weight: bold;
    margin-bottom: 5px;
    font-size: 0.85em;
    color: #666;
}

/* Responsive Styles */
@media (max-width: 767px) {
    .ct-header {
        display: none; /* Verberg de desktop header */
    }

    .ct-container::before,
    .ct-container::after {
        display: none; /* Verberg de verticale lijnen */
    }

    .ct-row {
        flex-direction: column;
        padding: 15px !important;
        border-bottom: 8px solid #f1f5f9; /* Maak een duidelijk blok per rij */
    }

    .ct-col {
        width: 100%;
        padding: 8px 0 !important;
        display: block !important;
    }

    /* Het Aspect (Titel + Icoon) */
    .ct-col-1 {
        border-bottom: 1px solid #eee;
        margin-bottom: 10px;
        padding-bottom: 12px !important;
    }

    .ct-aspect-wrapper {
        justify-content: flex-start;
        gap: 12px;
    }

    .ct-aspect-icon {
        width: 32px; /* Iets kleiner op mobiel */
        height: 32px;
    }

    /* Labels en Content naast elkaar krijgen */
    .ct-mobile-label {
        display: block;
        margin-bottom: 4px;
    }

    .ct-content-wrapper {
        display: flex;
        align-items: center; /* Lijn icoon en tekst horizontaal uit */
        gap: 8px;
        padding-left: 0 !important; /* Verwijder de oude indent */
    }

    .ct-status-icon {
        margin-top: 0; /* Reset de desktop margin */
    }
}/* End custom CSS */