*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

[hidden]{
    display:none !important;
}

body{
    background:#f8f9fb;
    color:#3C3C3C;
    caret-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

input, textarea {
    caret-color: auto;
}

.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

img {
    pointer-events: none;
}

/* ================= HEADER ================= */

header{
    background:#F5F5F5;
    padding:20px 0;
}

.nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

/* Hamburger basis */
.hamburger{
    display:none;
    width:32px;
    height:24px;
    position:relative;
    cursor:pointer;
    z-index:1001;
}

/* De 3 lijnen */
.hamburger span{
    position:absolute;
    left:0;
    width:100%;
    height:4px;
    background:#F18701;
    border-radius:3px;
    transition:all 0.3s ease;
}

/* Positie van de 3 lijnen */
.hamburger span:nth-child(1){
    top:0;
}

.hamburger span:nth-child(2){
    top:10px;
}

.hamburger span:nth-child(3){
    top:20px;
}


/* ===== ANIMATIE NAAR X ===== */
.hamburger.active span:nth-child(1){
    top:10px;
    transform:rotate(45deg);
}

.hamburger.active span:nth-child(2){
    opacity:0;
}

.hamburger.active span:nth-child(3){
    top:10px;
    transform:rotate(-45deg);
}
/* ===== MOBILE view ===== */
@media(max-width:900px){

    /* Hamburger zichtbaar */
    .hamburger{
        display:block;
        order:3;
    }

    /* Toggle vóór hamburger, rechts uitgelijnd */
    .theme-toggle{
        order:2;
        margin-left:auto;
        margin-right:14px;
    }

    /* Overlay achtergrond */
    .menu-overlay{
        position:fixed;
        inset:0;
        background:rgba(0,0,0,0.45);
        -webkit-backdrop-filter:blur(2px);
        backdrop-filter:blur(2px);
        opacity:0;
        visibility:hidden;
        transition:0.3s ease;
        z-index:998;
    }

    .menu-overlay.active{
        opacity:1;
        visibility:visible;
    }

    /* Full-screen mobiel menu */
    .nav-links{
        position:fixed;
        inset:0;
        display:flex;
        transform:translateY(-100%);
        flex-direction:column;
        justify-content:center;
        align-items:flex-start;
        gap:18px;
        background:linear-gradient(155deg, #111 0%, #171717 50%, #0f2933 100%);
        padding:110px 28px 42px;
        opacity:0;
        visibility:hidden;
        transition:0.35s ease;
        z-index:999;
    }

    .nav-links a{
        color:#F5F5F5;
        margin-left:0;
        width:100%;
        font-size:clamp(1.6rem, 5.5vw, 2.2rem);
        padding:12px 0;
        border-bottom:1px solid rgba(245,245,245,.14);
        letter-spacing:.01em;
    }

    .nav-links.active{
        opacity:1;
        visibility:visible;
        transform:translateY(0);
    }

    body.menu-open .theme-toggle,
    body.menu-open .cookie-banner,
    body.menu-open .whatsapp-float{
        visibility:hidden;
        pointer-events:none;
    }

    body.menu-open{
        overflow:hidden;
    }


}

/*    */

.logo{
    display:flex;
    align-items:center;
    text-decoration:none;
}

.logo img{
    height:45px;   /* pas aan indien nodig */
    width:auto;
    display:block;
}

nav a{
    color:#3C3C3C;
    text-decoration:none;
    margin-left:25px;
    font-weight:600;
    letter-spacing:0.01em;
    transition:color 0.18s ease;
}

header .nav-links a{
    color:#3C3C3C;
}

nav a:hover,
nav a.is-current{
    color:#F18701;
}

/* ================= HERO ================= */

.hero{
    background:#3C3C3C;
    color:#F5F5F5;
    padding:120px 0;
}

.hero-content{
    display:flex;
    align-items:center;
    gap:60px;
    flex-wrap:wrap;
}

.hero-text{
    flex:1;
}

.hero-text span{
    color:#F18701;
}

.hero-image{
    flex:1;
}

.hero-image img{
    width:100%;
    border-radius:20px;
    box-shadow:0 20px 40px rgba(0,0,0,.3);
}

/* ================= BUTTON ================= */

.btn{
    display:inline-block;
    background:#018ec3;
    color:#fff;
    padding:14px 30px;
    text-decoration:none;
    border:none;
    cursor:pointer;
    transition:0.3s ease;
}

.btn:hover{
    background:#F18701;
}

/* Alleen in hero ruimte erboven */
.hero .btn{
    margin-top:40px;
}

.extra-hero{
    padding:120px 0;
}

.consistent-title{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}

.consistent-title h2{
    font-size:1.5em;
    line-height:1.2;
    margin-bottom:16px;
}

/* ================= SERVICES ================= */

.services{
    padding:100px 0;
    text-align:center;
}

.grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
    margin-top:50px;
}

.card{
    background:#fff;
    padding:30px;
    border-radius:15px;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.card img{
    width:100%;
    border-radius:10px;
    margin-bottom:20px;
}

/* ================= CONTENT SECTIONS ================= */

.content-section{
    padding:100px 0;
}

.alt-surface{
    background:linear-gradient(180deg, rgba(1,142,195,0.05), rgba(60,60,60,0.03));
}

.section-heading{
    max-width:760px;
    margin-bottom:40px;
}

.section-kicker{
    display:inline-block;
    margin-bottom:14px;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(1,142,195,.12);
    color:#018ec3;
    font-size:0.82rem;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
}

.section-heading h2{
    font-size:clamp(2rem, 4vw, 3rem);
    line-height:1.1;
    margin-bottom:16px;
}

.section-heading h2 span{
    color:#F18701;
}

.section-heading.consistent-title h2{
    font-size:1.5em;
    line-height:1.2;
    margin-bottom:16px;
}

.section-heading p{
    font-size:1.05rem;
    line-height:1.8;
    color:#666;
}

.content-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:24px;
}

.content-card{
    background:#fff;
    border-radius:22px;
    padding:28px;
    box-shadow:0 18px 40px rgba(0,0,0,.06);
    border:1px solid rgba(60,60,60,.06);
}

.content-card h3{
    margin-bottom:16px;
    font-size:1.25rem;
}

.content-card p{
    line-height:1.75;
    color:#5f5f5f;
}

.accent-card{
    background:linear-gradient(180deg, rgba(1,142,195,0.12), rgba(241,135,1,0.12));
    border-color:rgba(1,142,195,.12);
}

.list-clean{
    list-style:none;
    padding:0;
    margin:0;
}

.list-clean li{
    position:relative;
    padding-left:22px;
    margin-bottom:12px;
    line-height:1.6;
}

.list-clean li::before{
    content:"";
    position:absolute;
    left:0;
    top:0.62em;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#F18701;
    box-shadow:0 0 0 4px rgba(241,135,1,.14);
}

.card-note{
    margin-top:18px;
    font-size:0.96rem;
    color:#4b4b4b;
}

.pricing-grid{
    margin-bottom:28px;
}

.pricing-overview{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    margin-bottom:28px;
}

.pricing-plan{
    background:transparent;
    border-radius:0;
    padding:28px;
    border-bottom:1px solid rgba(60,60,60,.08);
    box-shadow:none;
}

.featured-plan{
    background:transparent;
    transform:none;
}

.plan-label{
    display:inline-block;
    margin-bottom:12px;
    color:#018ec3;
    font-size:0.8rem;
    font-weight:700;
    letter-spacing:0.05em;
    text-transform:uppercase;
}

.plan-price{
    margin:10px 0 14px;
    font-size:1.4rem;
    font-weight:700;
    color:#F18701;
}

.pricing-table-wrap{
    margin-bottom:42px;
    overflow:auto;
    background:#fff;
    border-radius:24px;
    padding:16px;
    box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.pricing-table{
    width:100%;
    border-collapse:collapse;
    min-width:760px;
}

.pricing-table th,
.pricing-table td{
    padding:18px 16px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid rgba(60,60,60,.04);
}

.pricing-table th{
    font-size:0.9rem;
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:#666;
}

.tarief-badge{
    display:inline-flex;
    align-items:center;
    padding:0;
    border-radius:0;
    background:transparent;
    color:#018ec3;
    font-size:0.9rem;
    font-weight:700;
    white-space:nowrap;
}

.tarief-badge-accent{
    background:transparent;
    color:#b86100;
}

.pricing-disclaimer{
    padding:14px 8px 2px;
    color:#666;
    line-height:1.7;
}

.highlight-panel{
    border-radius:28px;
    padding:34px;
    background:#3C3C3C;
    color:#F5F5F5;
    box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.highlight-panel h3{
    font-size:1.7rem;
    margin:12px 0;
}

.highlight-panel p{
    color:rgba(245,245,245,.86);
    line-height:1.8;
}

.maintenance-panel{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:30px;
    align-items:start;
}

.maintenance-panel .card-note{
    color:#8bd6f2;
}

.two-column-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 18px;
}

.story-layout{
    display:grid;
    gap:32px;
}

.story-heading{
    margin-bottom:0;
}

.story-content{
    display:grid;
    grid-template-columns:1.4fr 0.8fr;
    gap:24px;
}

.story-panel{
    border-radius:24px;
    padding:32px;
    background:#fff;
    box-shadow:0 18px 40px rgba(0,0,0,.06);
}

.large-panel p + p{
    margin-top:16px;
}

.side-panel{
    background:#3C3C3C;
    color:#F5F5F5;
}

.side-panel h3{
    margin-bottom:16px;
}

.kb-accordion{
    display:grid;
    gap:16px;
}

.kb-split{
    display:grid;
    grid-template-columns:320px 1fr;
    gap:24px;
    align-items:start;
}

.kb-sidebar{
    position:sticky;
    top:110px;
    max-height:calc(100vh - 140px);
    overflow-y:auto;
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:12px;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.kb-topic{
    border:none;
    background:#f4f8fa;
    color:#3C3C3C;
    text-align:left;
    padding:12px 14px;
    border-radius:12px;
    font:inherit;
    cursor:pointer;
    transition:background 0.18s ease, color 0.18s ease;
}

.kb-topic:hover,
.kb-topic.is-active{
    background:#018ec3;
    color:#F5F5F5;
}

.kb-preview-wrap{
    position:sticky;
    top:110px;
    max-height:calc(100vh - 140px);
    overflow-y:auto;
}

.kb-preview{
    display:none;
    background:#fff;
    border-radius:22px;
    padding:28px;
    box-shadow:0 18px 40px rgba(0,0,0,.06);
}

.kb-preview.is-active{
    display:block;
}

.kb-preview h3{
    margin-bottom:14px;
}

.kb-preview p{
    line-height:1.75;
    margin-bottom:14px;
}

.kb-item{
    background:#fff;
    border:1px solid rgba(60,60,60,.08);
    border-radius:22px;
    box-shadow:0 18px 40px rgba(0,0,0,.06);
    overflow:hidden;
}

.kb-item summary{
    list-style:none;
    cursor:pointer;
    padding:24px 28px;
    font-size:1.15rem;
    font-weight:700;
    position:relative;
}

.kb-item summary::-webkit-details-marker{
    display:none;
}

.kb-item summary::after{
    content:"+";
    position:absolute;
    right:28px;
    top:50%;
    transform:translateY(-50%);
    font-size:1.8rem;
    line-height:1;
    color:#F18701;
}

.kb-item[open] summary::after{
    content:"-";
}

.kb-body{
    padding:0 28px 24px;
}

.kb-body p{
    color:#5f5f5f;
    line-height:1.8;
    margin-bottom:16px;
}

.terms-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
}

.terms-toolbar p{
    color:#666;
}

.btn-print{
    font-size:0.95rem;
    border-radius:999px;
}

.terms-document{
    background:#018ec3;
    border-radius:28px;
    padding:24px;
    box-shadow:0 18px 40px rgba(0,0,0,.06);
}

.legal-article{
    display:grid;
    grid-template-columns:68px 1fr;
    gap:20px;
    padding:24px 0;
    border-bottom:1px solid rgba(60,60,60,.08);
}

.legal-article:last-child{
    border-bottom:none;
}

.article-number{
    width:52px;
    height:52px;
    border-radius:16px;
    background:#F18701;
    color:#F5F5F5;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:1.15rem;
    box-shadow:none;
}

.article-content h3{
    margin-bottom:12px;
    font-size:1.2rem;
}

.article-content p{
    line-height:1.8;
    color:#5f5f5f;
}

.terms-document .article-content h3,
.terms-document .article-content p,
.terms-document .legal-list li{
    color:#F5F5F5;
}

.legal-list{
    margin:0;
    padding-left:20px;
}

.legal-list li{
    margin-bottom:10px;
    line-height:1.75;
    color:#4b4b4b;
}


/* ================= CONTACT ================= */

.contact{
    background:#3C3C3C;
    padding:100px 0;
    color:#F5F5F5;
}

/* Bovenste rij */
.contact-top{
    display:flex;
    gap:80px;
    align-items:flex-start;
    flex-wrap:wrap;
}

/* FOTO */
.contact-image{
    flex:0 0 350px;
    min-width:320px;
}

.contact-image img{
    width:100%;
    max-width:350px;
    height:500px;
    object-fit:cover;
    border-radius:20px;
    box-shadow:0 20px 40px rgba(0,0,0,.3);
}

/* FORMULIER */
.contact-form{
    flex:1;
    min-width:320px;
    max-width:620px;
    margin-right:0;
}

form{
    margin-top:30px;
}

input, textarea{
    width:100%;
    padding:15px;
    margin:10px 0;
    border-radius:8px;
    border:1px solid #ddd;
}

/* Captcha + Button */
.form-actions{
    width:100%;
}


/* ONDERSTE INFO BLOK */
/* ONDERSTE INFO BLOK */

.contact-info-full{
    margin-top:100px;
}

.contact.contact-info-only .contact-info-full{
    margin-top:0;
}

.terms-print-contact{
    display:none;
}

@media screen{
    .terms-print-contact{
        display:none !important;
    }
}

.info-logo{
    margin-bottom:20px;
}

.info-logo img{
    height:13px;
    width:auto;
}

.info-row{
    display:flex;
    justify-content:space-between;
    gap:60px;
    flex-wrap:wrap;
}

.info-col{
    flex:1;
    min-width:250px;
}

.info-col h3{
    font-size:22px;
    margin-bottom:15px;
}

.info-col h4{
    color:#F18701;
    margin-bottom:15px;
}

.info-col p{
    line-height:1.6;
    margin-bottom:15px;
}

/* ================= FEEDBACK ================= */

.success{
    background:#2d5f2f;
    border-left:4px solid #4CAF50;
    color:#90EE90;
    padding:12px 15px;
    margin-bottom:15px;
    border-radius:6px;
    font-weight:600;
    font-size:0.95rem;
}

.error{
    background:#5f2d2d;
    border-left:4px solid #ff4d4d;
    color:#ff8888;
    padding:12px 15px;
    margin-bottom:15px;
    border-radius:6px;
    font-weight:600;
    font-size:0.95rem;
}

/* ================= FOOTER ================= */

footer{
    background:#F5F5F5;
    color:#3C3C3C;
    padding:30px;
    text-align:center;
}

.donkey-link{
    color:#ff5a5f;
    font-weight:700;
    text-decoration:none;
    display:inline-block;
    transition:color 0.18s ease, text-shadow 0.18s ease, filter 0.18s ease;
}

.donkey-link:hover{
    text-decoration:none;
    color:#ff7478;
    filter:brightness(1.12);
    text-shadow:0 0 10px rgba(255,90,95,.35);
}

.voorwaarden-link{
    color:#F18701;
    font-weight:700;
    text-decoration:none;
    display:inline-block;
    transition:color 0.18s ease, text-shadow 0.18s ease, filter 0.18s ease;
}

.voorwaarden-link span{
    color:#018ec3;
    transition:color 0.18s ease, text-shadow 0.18s ease;
}

.voorwaarden-link:hover{
    text-decoration:none;
    color:#ff9c2e;
    filter:brightness(1.12);
    text-shadow:0 0 10px rgba(241,135,1,.32);
}

.voorwaarden-link:hover span{
    color:#30b8eb;
    text-shadow:0 0 10px rgba(1,142,195,.3);
}

.cookiebeleid-link{
    color:#3c3c3c;
    transition:color 0.18s ease, text-shadow 0.18s ease, filter 0.18s ease;
}

.cookiebeleid-link:hover{
    color:#3c3c3c;
    filter:none;
    text-shadow:0 0 8px rgba(60,60,60,.25);
}

body.dark footer .donkey-link{
    color:#ff5a5f;
}

body.dark footer .voorwaarden-link{
    color:#F18701;
}

body.dark footer .voorwaarden-link span{
    color:#4db6de;
}

body.dark footer .cookiebeleid-link{
    color:#cfcfcf;
}

body.dark footer .cookiebeleid-link:hover{
    color:#f5f5f5;
    text-shadow:0 0 8px rgba(245,245,245,.2);
}

.footer-cookie-btn{
    display:inline-block;
    margin-left:4px;
    padding:8px 12px;
    background:#018ec3;
    color:#fff;
    border:none;
    text-decoration:none;
    font-weight:700;
    font-size:.82rem;
    line-height:1;
    transition:0.2s ease;
}

.footer-cookie-btn:hover{
    background:#F18701;
    color:#fff;
    text-decoration:none;
}

body.dark footer .footer-cookie-btn{
    color:#fff;
}

.cookie-banner{
    position:fixed;
    left:14px;
    right:14px;
    bottom:26px;
    z-index:1200;
    pointer-events:none;
}

.cookie-content{
    max-width:840px;
    margin:0 auto;
    background:rgba(1,142,195,.96);
    color:#F5F5F5;
    border-radius:12px;
    padding:10px 12px;
    display:flex;
    flex-direction:column;
    gap:0;
    box-shadow:0 12px 24px rgba(0,0,0,.2);
    pointer-events:auto;
}

.cookie-main{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.cookie-preferences{
    width:100%;
    margin-top:8px;
    padding-top:8px;
    border-top:none;
    background:transparent;
}

.cookie-content p{
    flex:1;
    margin:0;
    font-size:.88rem;
    line-height:1.45;
}

.cookie-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.cookie-content .btn{
    margin-top:0;
    white-space:nowrap;
    padding:8px 12px;
    font-size:.82rem;
    border-radius:0;
}

#cookie-accept-all{
    background:#F18701;
}

#cookie-accept-all:hover{
    background:#ff9c2e;
}

#cookie-save{
    background:#F18701;
}

#cookie-save:hover{
    background:#ff9c2e;
}

.cookie-btn-secondary{
    background:#5a5a5a;
}

.cookie-btn-secondary:hover{
    background:#6a6a6a;
}

.cookie-option{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:8px 0;
    border-top:none;
}

.cookie-option label{
    font-weight:600;
    font-size:.92rem;
}

.cookie-option input{
    width:auto;
    margin:0;
    accent-color:#F18701;
}

.cookie-toggle{
    position:relative;
    display:inline-block;
    width:40px;
    height:22px;
    flex-shrink:0;
    cursor:pointer;
}

.cookie-toggle input{
    opacity:0;
    width:0;
    height:0;
    position:absolute;
}

.cookie-toggle-track{
    position:absolute;
    inset:0;
    background:#5a5a5a;
    border-radius:22px;
    transition:background .2s;
}

.cookie-toggle-track::before{
    content:'';
    position:absolute;
    width:16px;
    height:16px;
    left:3px;
    top:3px;
    background:#fff;
    border-radius:50%;
    transition:transform .2s;
    box-shadow:0 1px 4px rgba(0,0,0,.25);
}

.cookie-toggle input:checked + .cookie-toggle-track{
    background:#F18701;
}

.cookie-toggle input:checked + .cookie-toggle-track::before{
    transform:translateX(18px);
}

.cookie-toggle input:disabled + .cookie-toggle-track{
    opacity:.5;
    cursor:not-allowed;
}

.cookie-modal-actions{
    margin-top:16px;
    display:flex;
    justify-content:flex-end;
}

body.dark .cookie-content{
    background:rgba(1,142,195,.96);
}

body.dark .cookie-preferences{
    border-top:1px solid rgba(255,255,255,.14);
}

body.dark .cookie-btn-secondary{
    background:#2f2f2f;
}

body.dark .cookie-btn-secondary:hover{
    background:#3a3a3a;
}

body.dark .cookie-option{
    border-top:none;
}

/* ================= WHATSAPP ================= */

.whatsapp-float{
    position:fixed;
    bottom:25px;
    right:25px;
    z-index:1300;
    width:60px;
    height:60px;
    background:#F18701;
    color:#F5F5F5;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    box-shadow:0 10px 25px rgba(0,0,0,.2);
    transition:0.3s ease;
    animation:whatsappPulse 2.5s infinite;
}

.whatsapp-float:hover{
    transform:scale(1.08);
    box-shadow:0 15px 35px rgba(0,0,0,.3);
}

/* Subtiele premium pulse */
@keyframes whatsappPulse{
    0%{
        box-shadow:0 0 0 0 rgba(241,135,1,0.5);
    }
    70%{
        box-shadow:0 0 0 12px rgba(241,135,1,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(241,135,1,0);
    }
}

/* ================= MOBILE ================= */

@media(max-width:768px){

    .content-section{
        padding:72px 0;
    }

    .pricing-overview,
    .legal-article,
    .terms-toolbar{
        grid-template-columns:1fr;
        display:grid;
    }

    .terms-toolbar{
        justify-content:stretch;
    }

    .kb-item summary,
    .kb-body,
    .pricing-plan,
    .terms-document{
        padding-left:20px;
        padding-right:20px;
    }

    .content-card,
    .story-panel,
    .highlight-panel{
        padding:24px;
    }

    .kb-split{
        grid-template-columns:1fr;
    }

    .cookie-main{
        flex-direction:column;
        align-items:flex-start;
    }

    .cookie-banner{
        bottom:14px;
    }

    .cookie-actions{
        width:100%;
        justify-content:flex-start;
    }

    .cookie-content .btn{
        width:auto;
        text-align:center;
    }

    .whatsapp-float{
        bottom:150px;
        right:16px;
        width:54px;
        height:54px;
    }

    .kb-sidebar,
    .kb-preview-wrap{
        position:static;
        max-height:none;
        overflow:visible;
    }

    .maintenance-panel,
    .story-content,
    .two-column-list{
        grid-template-columns:1fr;
    }

    .hero-content{
        flex-direction:column;
        text-align:center;
    }

    .form-actions{
        flex-direction:column;
        align-items:flex-start;
        gap:20px;
    }

    .contact-top{
        flex-direction:column;
        gap:60px;
    }

    .contact-image{
        flex:1;
        min-width:auto;
    }

    .contact-image img{
        height:350px;
        max-width:100%;
        object-fit:cover;
    }

    .contact-form{
        flex:1;
        min-width:auto;
    }

    .info-grid{
        flex-direction:column;
        gap:40px;
    }

    .info-row{
        flex-direction:column;
        gap:40px;
    }

    .form-actions{
        flex-direction:column;
        align-items:flex-start;
    }
}

/* ================= MODERNE SCROLLBAR ================= */

/* Chrome, Edge, Safari */
::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#F5F5F5;
}

::-webkit-scrollbar-thumb{
    background:#F18701;
    border-radius:10px;
    border:2px solid #F5F5F5;
}

::-webkit-scrollbar-thumb:hover{
    background:#d96f00; 
}


/* ================= DEFINITIEVE MODERNE TOGGLE ================= */

.theme-toggle{
    position:relative;
    width:72px;
    height:36px;
    margin-left:20px;
}

.theme-toggle input{
    display:none;
}

.toggle-track{
    position:relative;
    width:100%;
    height:100%;
    background:#e6e6e6;
    border-radius:50px;
    cursor:pointer;
    transition:background 0.3s ease;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 10px;
}

/* Icon basis */
.icon{
    width:16px;
    height:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:1;
    opacity:0.4;
    transition:0.3s ease;
}

.icon svg{
    width:100%;
    height:100%;
    stroke:#3C3C3C;
    stroke-width:2;
}

/* Knob */
.toggle-knob{
    position:absolute;
    width:28px;
    height:28px;
    background:#ffffff;
    border-radius:50%;
    top:4px;
    left:4px;
    box-shadow:0 4px 12px rgba(0,0,0,0.2);
    transition:transform 0.3s ease;
    z-index:2;
}

/* Checked state */
.theme-toggle input:checked + .toggle-track{
    background:#F18701;
}

.theme-toggle input:checked + .toggle-track .toggle-knob{
    transform:translateX(36px);
}

/* Active icon highlight */
body.dark .moon{
    opacity:1;
}

body:not(.dark) .sun{
    opacity:1;
}

/* ================= DARK MODE ================= */

body.dark{
    background:#121212;
    color:#EAEAEA;
}

body.dark header{
    background:#1c1c1c;
}

body.dark nav a{
    color:#EAEAEA;
}

body.dark nav a:hover,
body.dark nav a.is-current{
    color:#F18701;
}

body.dark .hero{
    background:#181818;
}

body.dark .card{
    background:#1e1e1e;
}

body.dark footer{
    background:#1c1c1c;
    color:#AAAAAA;
}

body.dark footer p,
body.dark footer a{
    color:#AAAAAA;
}

/* Contact sectie donkerder in dark mode */
body.dark .contact{
    background:#111111;
}

/* Formulier inputs in dark mode */
body.dark input,
body.dark textarea{
    background:#1e1e1e;
    color:#EAEAEA;
    border-color:#444;
}

/* Kaartjes: tekst expliciet licht */
body.dark .card h3,
body.dark .card p{
    color:#EAEAEA;
}

body.dark .alt-surface{
    background:linear-gradient(180deg, rgba(1,142,195,0.08), rgba(20,20,20,0.5));
}

body.dark .section-heading p,
body.dark .content-card p,
body.dark .card-note{
    color:#C8C8C8;
}

body.dark .content-card,
body.dark .story-panel{
    background:#1a1a1a;
    border-color:#2e2e2e;
    box-shadow:none;
}

body.dark .pricing-plan,
body.dark .pricing-table-wrap,
body.dark .kb-item,
body.dark .terms-document{
    background:transparent;
    border-color:#2e2e2e;
    box-shadow:none;
}

body.dark .kb-sidebar,
body.dark .kb-preview{
    background:#1a1a1a;
    box-shadow:none;
}

body.dark .kb-topic{
    background:#242424;
    color:#EAEAEA;
}

body.dark .kb-topic:hover,
body.dark .kb-topic.is-active{
    background:#018ec3;
    color:#F5F5F5;
}

body.dark .terms-document{
    background:#018ec3;
}

body.dark .content-card h3,
body.dark .story-panel h3,
body.dark .content-card li,
body.dark .story-panel li,
body.dark .content-card p,
body.dark .story-panel p{
    color:#EAEAEA;
}

body.dark .pricing-plan p,
body.dark .kb-body p,
body.dark .terms-toolbar p,
body.dark .article-content p,
body.dark .legal-list li,
body.dark .pricing-table th,
body.dark .pricing-table td,
body.dark .kb-item summary{
    color:#EAEAEA;
}

body.dark .pricing-table th,
body.dark .pricing-table td,
body.dark .legal-article,
body.dark .pricing-table-wrap,
body.dark .kb-item{
    border-color:#2e2e2e;
}

body.dark .plan-label{
    color:#7fd0ef;
}

body.dark .tarief-badge{
    background:transparent;
    color:#7fd0ef;
}

body.dark .tarief-badge-accent{
    background:transparent;
    color:#ffb764;
}

body.dark .side-panel,
body.dark .highlight-panel{
    background:#101010;
}

body.dark .section-kicker{
    background:rgba(127,208,239,.14);
    color:#7fd0ef;
}

body.dark .article-number{
    background:#F18701;
    color:#F5F5F5;
}

@media print{
    header,
    .hero,
    #diensten,
    #tarieven,
    #overons,
    #kennisbank,
    #contact,
    footer,
    .whatsapp-float,
    .theme-toggle,
    .hamburger,
    .menu-overlay,
    .nav-links,
    .terms-toolbar .btn-print{
        display:none !important;
    }

    .cookie-banner{
        display:none !important;
    }


    body,
    body.dark{
        background:#fff !important;
        color:#3C3C3C !important;
    }

    .content-section,
    .alt-surface,
    .terms-document,
    .legal-article,
    .article-content p,
    .legal-list li{
        background:#fff !important;
        color:#3C3C3C !important;
        box-shadow:none !important;
    }

    .terms-section{
        padding:0;
    }

    .terms-document{
        padding:0;
        border-radius:0;
    }

    .legal-article{
        break-inside:avoid;
    }

    #voorwaarden .kb-sidebar{
        display:none !important;
    }

    #voorwaarden .kb-preview-wrap{
        position:static !important;
        min-height:0 !important;
        max-height:none !important;
        overflow:visible !important;
    }

    #voorwaarden .kb-preview{
        display:block !important;
        background:#fff !important;
        box-shadow:none !important;
        border-radius:0 !important;
        padding:0 !important;
        margin-bottom:18px !important;
    }

    .contact.contact-info-only .info-row{
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:18px !important;
    }

    body[data-route='voorwaarden'] #global-contact-info{
        display:none !important;
    }

    .terms-print-contact{
        display:block !important;
        background:#fff !important;
        color:#3C3C3C !important;
        padding:0 !important;
    }

    .contact.contact-info-only .info-col:first-child{
        grid-column:1 / -1;
    }
}

/* Scrollbar in dark mode */
body.dark ::-webkit-scrollbar-track{
    background:#1c1c1c;
}

body.dark .toggle-track{
    background:#333;
}



.icon.moon {
    transform: translateX(-4px);
}

.icon.moon {
    display: flex;          /* of inline-flex */
    align-items: center;
    justify-content: center;
    width: 20px;            /* bepaalt de grootte van het icoon */
    height: 20px;
	fill:#3C3C3C;
}

.icon.sun {
    transform: translateX(2px);
}

.icon.sun {
    display: flex;          /* of inline-flex */
    align-items: center;
    justify-content: center;
    width: 20px;            /* bepaalt de grootte van het icoon */
    height: 20px;
	fill:#F18701;
}

.icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ================= CAPTCHA ================= */

.captcha-wrap {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin: 10px 0 12px;
    width: 100%;
}

.captcha-image-col {
    flex: 0 0 auto;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.captcha-input-col {
    flex: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
}

.captcha-wrap img {
    display: block;
    height: 52px;
    width: auto;
    border-radius: 8px;
    border: 1px solid #ccc;
    pointer-events: auto;
    cursor: pointer;
    transition: opacity 0.15s ease, box-shadow 0.15s ease;
}

.captcha-wrap img:hover {
    opacity: 0.82;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

.captcha-image-col small {
    display: block;
    font-size: 0.67rem;
    color: #999;
    position: absolute;
    bottom: calc(100% + 6px);
    left: 0;
    margin: 0;
    text-align: left;
    line-height: 1.3;
    white-space: nowrap;
}

.captcha-label {
    position: absolute;
    top: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.78rem;
    color: #666;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin: 0;
    white-space: nowrap;
}

.captcha-input-col input {
    margin: 0;
    width: 100%;
    max-width: 280px;
    height: 52px;
    letter-spacing: 0.15em;
    font-size: 1rem;
    text-transform: uppercase;
}

.captcha-submit {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    flex: 0 0 auto;
    min-width: 150px;
    padding-top: 2px;
}

.captcha-submit .btn {
    margin: 0;
    height: 52px;
    padding: 0 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.dark .captcha-wrap {
    border-color: #444;
    background: #1a1a1a;
}

body.dark .captcha-wrap img {
    border-color: #555;
}

body.dark .captcha-image-col small {
    color: #777;
}

body.dark .captcha-label {
    color: #aaa;
}

@media (max-width: 700px) {
    .captcha-wrap {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: flex-start;
        column-gap: 6px;
        row-gap: 4px;
    }

    .captcha-image-col {
        display: contents;
    }

    .captcha-input-col {
        order: 3;
        flex: 1 1 calc(100% - 122px);
        min-width: 0;
        align-items: flex-start;
    }

    .captcha-image-col small {
        position: static;
        order: 1;
        margin-top: 0;
        margin-bottom: 6px;
        flex: 0 0 100%;
        max-width: none;
        font-size: 0.62rem;
        line-height: 1.2;
        white-space: normal;
    }

    .captcha-image-col img {
        order: 2;
        flex: 0 0 116px;
        width: 116px;
        height: 52px;
    }

    .captcha-label {
        display:none;
    }

    .captcha-input-col input {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .captcha-submit {
        order: 3;
        flex: 0 0 100%;
        display: flex;
        justify-content: flex-end;
        min-width: 0;
        padding-top: 4px;
    }
}

