
/* VVZ Word Lid 1.2.0 - screenshot-matched layout */
.vvzwl-exact{--g:#075c30;--g2:#087b45;--light:#eaf7ef;--line:#dfe7e2;--text:#26332d;--muted:#66736d;width:100%;max-width:1160px;margin:0 auto;padding:0 0 38px;font-family:inherit;color:var(--text);box-sizing:border-box}
.vvzwl-exact *{box-sizing:border-box}
.vvzwl-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0 60px 16px}
.vvzwl-benefit{height:66px;border-radius:10px;background:linear-gradient(90deg,#f2faf5,#edf8f0);display:flex;align-items:center;padding:9px 22px;gap:15px}
.vvzwl-icon{width:42px;height:42px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;font-size:23px;font-weight:700;flex:0 0 auto}
.vvzwl-heart{font-size:30px}.vvzwl-people{font-size:26px}
.vvzwl-benefit strong{display:block;font-size:14px;color:#0c5432;line-height:1.2}.vvzwl-benefit span{display:block;font-size:12px;color:#65726c;margin-top:4px}
.vvzwl-main-card{display:grid;grid-template-columns:minmax(0,1fr) 350px;margin:0 0;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 5px 20px rgba(18,50,34,.07)}
.vvzwl-form-exact{padding:20px 30px 16px 30px;background:#fff}.vvzwl-form-intro h2{font-size:24px;color:var(--g);margin:0 0 3px;font-weight:800;letter-spacing:-.02em}.vvzwl-form-intro p{font-size:12px;line-height:1.45;margin:0 0 17px;color:#4f5d56}
.vvzwl-block{margin-bottom:13px}.vvzwl-block h3{font-size:16px;color:var(--g);display:flex;align-items:center;gap:10px;margin:0 0 9px;font-weight:800}.vvzwl-block-icon{font-size:15px;width:23px;display:inline-grid;place-items:center;color:var(--g)}.vvzwl-block h3 small{font-size:12px;color:#34423b;font-weight:700}.vvzwl-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.vvzwl-grid-address{display:grid;grid-template-columns:1.2fr .72fr 1fr;gap:10px 16px}.vvzwl-form-exact label{display:block;font-size:11px;font-weight:800;color:#44514b}.vvzwl-form-exact label em,.vvzwl-question em{font-style:normal;color:#d92f2f}.vvzwl-form-exact input[type=text],.vvzwl-form-exact input[type=email],.vvzwl-form-exact input[type=tel],.vvzwl-form-exact input[type=date],.vvzwl-form-exact select{width:100%;height:32px;margin-top:4px;border:1px solid #d5ded9;border-radius:6px;background:#fff;padding:0 10px;font:inherit;font-size:11px;font-weight:500;color:#6b7771;outline:0}.vvzwl-form-exact textarea{width:100%;height:45px;resize:none;margin-top:4px;border:1px solid #d5ded9;border-radius:6px;background:#fff;padding:8px 10px;font:inherit;font-size:11px;color:#6b7771;outline:0}.vvzwl-form-exact input:focus,.vvzwl-form-exact select:focus,.vvzwl-form-exact textarea:focus{border-color:#5ca47c;box-shadow:0 0 0 2px rgba(8,123,69,.08)}
.vvzwl-question{font-size:11px;font-weight:700;margin:0 0 7px}.vvzwl-membership-exact{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.vvzwl-membership-exact label{display:flex;gap:9px;align-items:flex-start;cursor:pointer}.vvzwl-membership-exact input{margin:2px 0 0;accent-color:var(--g)}.vvzwl-membership-exact b{font-size:11px;display:block;color:#303c36}.vvzwl-membership-exact small{font-size:10px;font-weight:500;color:#68746e;display:block;margin-top:2px}.vvzwl-extra{margin-bottom:7px}
.vvzwl-privacy-exact{display:flex!important;align-items:flex-start;gap:7px!important;font-size:10px!important;font-weight:500!important;line-height:1.3;margin:6px 0 8px}.vvzwl-privacy-exact input{margin:1px 0 0;accent-color:var(--g);flex:0 0 auto}.vvzwl-privacy-exact a{color:var(--g);text-decoration:underline;font-weight:700}
.vvzwl-submit-exact{height:33px;width:100%;border:0;border-radius:5px;background:var(--g);color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:13px}.vvzwl-submit-exact span{font-size:18px;line-height:0}.vvzwl-submit-exact:hover{background:var(--g2)}
.vvzwl-sidebar-exact{background:linear-gradient(180deg,#e7f6e9 0%,#ddf2df 100%);padding:22px 25px 20px;position:relative;overflow:hidden}.vvzwl-sidebar-exact h2{color:var(--g);font-size:21px;margin:0 0 19px;font-weight:800}.vvzwl-side-item{display:flex;gap:12px;margin-bottom:19px}.vvzwl-side-icon{width:26px;flex:0 0 26px;color:var(--g);font-size:20px;text-align:center}.vvzwl-side-item strong{display:block;color:#174e32;font-size:12px;margin-bottom:4px}.vvzwl-side-item p{font-size:11px;line-height:1.45;color:#506059;margin:0}.vvzwl-side-item a{color:var(--g);font-weight:800;text-decoration:underline}.vvzwl-watermark{position:absolute;right:26px;bottom:12px;width:150px;height:170px;border:5px solid rgba(255,255,255,.55);border-radius:38% 38% 44% 44%;display:grid;place-items:center;color:rgba(255,255,255,.7);font-weight:900;font-size:21px;text-align:center;line-height:1.2;transform:rotate(0deg)}.vvzwl-watermark span{font-size:16px}
.vvzwl-success-exact{width:100%;max-width:420px;margin:0 auto 16px;background:#fff;border:1px solid #e3e8e5;border-radius:10px;box-shadow:0 3px 14px rgba(18,50,34,.06);text-align:center;padding:20px}.vvzwl-check{margin:0 auto 8px;width:40px;height:40px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;font-size:23px;font-weight:800}.vvzwl-success-exact h3{margin:0;color:var(--g);font-size:14px}.vvzwl-success-exact p{margin:7px 0 3px;font-size:12px;font-weight:700}.vvzwl-success-exact small{display:block;color:#69756f;font-size:10px;line-height:1.4}.vvzwl-success-exact a{display:inline-block;margin-top:12px;background:var(--g);color:#fff;border-radius:5px;padding:7px 16px;font-size:10px;text-decoration:none;font-weight:800}.vvzwl-error-exact{margin:0 0 12px;background:#fff1f0;border:1px solid #efcbc7;color:#8b2d25;border-radius:7px;padding:10px;font-size:11px}
.vvzwl-hp{position:absolute!important;left:-99999px!important;opacity:0!important;height:0!important;overflow:hidden!important}
@media(max-width:1000px){.vvzwl-benefits{margin:0 20px 16px;gap:12px}.vvzwl-main-card{grid-template-columns:1fr}.vvzwl-sidebar-exact{min-height:330px}.vvzwl-watermark{right:30px;bottom:15px}}
@media(max-width:700px){.vvzwl-exact{padding:0 10px 30px}.vvzwl-benefits{grid-template-columns:1fr;margin:0 0 14px}.vvzwl-benefit{height:58px}.vvzwl-main-card{border-radius:8px}.vvzwl-form-exact{padding:18px 16px}.vvzwl-grid-two,.vvzwl-grid-address,.vvzwl-membership-exact{grid-template-columns:1fr}.vvzwl-sidebar-exact{padding:22px 20px}.vvzwl-watermark{opacity:.4}}

/* 1.3.0 visual refinement */
.vvzwl-icon svg{width:24px;height:24px;display:block}
.vvzwl-block-icon svg{width:17px;height:17px;display:block}
.vvzwl-side-icon svg{width:22px;height:22px;display:block;margin:0 auto}
.vvzwl-benefits{margin-left:72px;margin-right:72px;gap:18px}
.vvzwl-benefit{height:64px;padding:8px 17px}
.vvzwl-icon{width:40px;height:40px}
.vvzwl-main-card{grid-template-columns:minmax(0,1fr) 350px}
.vvzwl-form-exact{padding:19px 25px 14px}
.vvzwl-form-intro h2{font-size:23px}
.vvzwl-form-intro p{font-size:11.5px;margin-bottom:16px}
.vvzwl-block{margin-bottom:14px}
.vvzwl-block h3{font-size:15px;margin-bottom:8px}
.vvzwl-grid-two{gap:9px 14px}
.vvzwl-grid-address{gap:9px 14px}
.vvzwl-form-exact input[type=text],.vvzwl-form-exact input[type=email],.vvzwl-form-exact input[type=tel],.vvzwl-form-exact input[type=date],.vvzwl-form-exact select{height:34px}
.vvzwl-form-exact textarea{height:47px}
.vvzwl-sidebar-exact{padding:20px 23px 18px}
.vvzwl-sidebar-exact h2{font-size:20px;margin-bottom:21px}
.vvzwl-side-item{gap:10px;margin-bottom:20px}
.vvzwl-side-item strong{font-size:11.5px}
.vvzwl-side-item p{font-size:10.5px}
.vvzwl-side-icon{width:25px;flex-basis:25px}
.vvzwl-watermark{right:24px;bottom:13px;width:135px;height:165px;border:0;transform:none;background:rgba(255,255,255,.13);clip-path:polygon(50% 0,88% 17%,100% 51%,88% 84%,50% 100%,12% 84%,0 51%,12% 17%);color:rgba(255,255,255,.72);font-size:19px}
.vvzwl-watermark:before{content:"";position:absolute;inset:9px;border:3px solid rgba(255,255,255,.45);clip-path:inherit}
.vvzwl-watermark span{font-size:14px;position:relative}
.vvzwl-watermark{display:grid;align-content:center;justify-items:center}
.vvzwl-watermark::after{content:"";position:absolute;top:68px;width:65px;height:2px;background:rgba(255,255,255,.4)}
@media(max-width:1000px){.vvzwl-benefits{margin-left:20px;margin-right:20px}}
@media(max-width:700px){.vvzwl-benefits{margin-left:0;margin-right:0}}

/* 1.4.0 - supplied VVZ shield used as the actual watermark */
.vvzwl-watermark{
    position:absolute;
    right:18px;
    bottom:8px;
    width:155px;
    height:205px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    background:transparent;
    clip-path:none;
    color:transparent;
    opacity:.24;
    z-index:1;
}
.vvzwl-watermark:before,.vvzwl-watermark:after{display:none!important;content:none!important}
.vvzwl-watermark img{
    display:block;
    width:100%;
    height:auto;
    max-height:205px;
    object-fit:contain;
    object-position:center bottom;
    filter:none;
}
.vvzwl-sidebar-exact > *{position:relative;z-index:2}
.vvzwl-sidebar-exact .vvzwl-watermark{z-index:1}
@media(max-width:700px){
    .vvzwl-watermark{width:125px;height:165px;right:12px;bottom:8px}
}

/* =========================================================
   1.4.1 RESPONSIVE FIX
   Optimized for desktop, iPad portrait/landscape and phones.
   ========================================================= */

/* Prevent Elementor/Blocksy containers from creating horizontal scroll */
html, body { overflow-x: hidden; }
.vvzwl-exact,
.vvzwl-exact * { max-width: 100%; }
.vvzwl-exact img { height: auto; }

/* iPad / tablet landscape */
@media (min-width: 901px) and (max-width: 1180px) {
    .vvzwl-exact {
        padding-left: 16px;
        padding-right: 16px;
    }

    .vvzwl-benefits {
        margin-left: 20px;
        margin-right: 20px;
        gap: 12px;
    }

    .vvzwl-benefit {
        padding-left: 12px;
        padding-right: 12px;
    }

    .vvzwl-main-card {
        grid-template-columns: minmax(0, 1fr) 310px;
    }

    .vvzwl-form-exact {
        padding-left: 20px;
        padding-right: 20px;
    }

    .vvzwl-sidebar-exact {
        padding-left: 20px;
        padding-right: 20px;
    }

    .vvzwl-watermark {
        width: 125px;
        height: 165px;
        right: 10px;
    }
}

/* iPad portrait and medium tablets */
@media (min-width: 601px) and (max-width: 900px) {
    .vvzwl-exact {
        width: 100%;
        padding: 0 16px 35px;
    }

    .vvzwl-benefits {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin: 0 0 16px;
        gap: 10px;
    }

    .vvzwl-benefit {
        height: 70px;
        padding: 9px 10px;
        gap: 8px;
    }

    .vvzwl-icon {
        width: 38px;
        height: 38px;
        flex: 0 0 38px;
    }

    .vvzwl-benefit strong {
        font-size: 11px;
    }

    .vvzwl-benefit span {
        font-size: 9px;
    }

    .vvzwl-main-card {
        grid-template-columns: 1fr;
    }

    .vvzwl-form-exact {
        padding: 25px 28px 20px;
    }

    .vvzwl-form-intro h2 {
        font-size: 25px;
    }

    .vvzwl-form-intro p {
        font-size: 12px;
    }

    .vvzwl-grid-two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vvzwl-grid-address {
        grid-template-columns: 1.2fr .75fr 1fr;
    }

    .vvzwl-membership-exact {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .vvzwl-sidebar-exact {
        min-height: 330px;
        padding: 25px 28px 210px;
    }

    .vvzwl-sidebar-exact h2 {
        font-size: 24px;
    }

    .vvzwl-side-item {
        max-width: 620px;
    }

    .vvzwl-watermark {
        width: 150px;
        height: 195px;
        right: 28px;
        bottom: 10px;
    }
}

/* Phones */
@media (max-width: 600px) {
    .vvzwl-exact {
        width: 100%;
        padding: 0 10px 30px;
    }

    .vvzwl-benefits {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin: 0 0 12px;
    }

    .vvzwl-benefit {
        min-width: 0;
        width: 100%;
        height: 58px;
        padding: 7px 14px;
    }

    .vvzwl-benefit strong {
        font-size: 13px;
    }

    .vvzwl-benefit span {
        font-size: 10px;
    }

    .vvzwl-main-card {
        display: flex;
        flex-direction: column;
        width: 100%;
        border-radius: 9px;
    }

    .vvzwl-form-exact {
        width: 100%;
        padding: 20px 15px 16px;
    }

    .vvzwl-form-intro h2 {
        font-size: 22px;
        line-height: 1.15;
    }

    .vvzwl-form-intro p {
        font-size: 11px;
        line-height: 1.5;
    }

    .vvzwl-grid-two,
    .vvzwl-grid-address,
    .vvzwl-membership-exact {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .vvzwl-grid-two,
    .vvzwl-grid-address {
        gap: 10px;
    }

    .vvzwl-membership-exact {
        gap: 11px;
    }

    .vvzwl-membership-exact label {
        padding: 3px 0;
    }

    .vvzwl-form-exact input[type=text],
    .vvzwl-form-exact input[type=email],
    .vvzwl-form-exact input[type=tel],
    .vvzwl-form-exact input[type=date],
    .vvzwl-form-exact select {
        width: 100%;
        height: 39px;
        font-size: 13px;
    }

    .vvzwl-form-exact textarea {
        width: 100%;
        height: 80px;
        font-size: 12px;
    }

    .vvzwl-block {
        margin-bottom: 17px;
    }

    .vvzwl-block h3 {
        font-size: 15px;
        margin-bottom: 9px;
    }

    .vvzwl-privacy-exact {
        font-size: 10px !important;
        align-items: flex-start !important;
    }

    .vvzwl-submit-exact {
        height: 42px;
        font-size: 13px;
    }

    .vvzwl-sidebar-exact {
        width: 100%;
        min-height: 410px;
        padding: 23px 20px 185px;
    }

    .vvzwl-sidebar-exact h2 {
        font-size: 22px;
        margin-bottom: 22px;
    }

    .vvzwl-side-item {
        margin-bottom: 18px;
        max-width: 100%;
    }

    .vvzwl-side-item strong {
        font-size: 12px;
    }

    .vvzwl-side-item p {
        font-size: 10.5px;
    }

    .vvzwl-watermark {
        width: 135px;
        height: 175px;
        right: 15px;
        bottom: 5px;
    }

    .vvzwl-success-exact {
        width: 100%;
    }
}

/* Very small phones */
@media (max-width: 380px) {
    .vvzwl-exact {
        padding-left: 6px;
        padding-right: 6px;
    }

    .vvzwl-form-exact {
        padding-left: 12px;
        padding-right: 12px;
    }

    .vvzwl-benefit {
        padding-left: 10px;
        padding-right: 10px;
    }

    .vvzwl-icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
    }

    .vvzwl-form-intro h2 {
        font-size: 20px;
    }
}

/* iOS Safari: prevent zoom on form fields */
@media (max-width: 600px) {
    .vvzwl-form-exact input,
    .vvzwl-form-exact select,
    .vvzwl-form-exact textarea {
        font-size: 16px !important;
    }
}


/* 1.5.4 - center the VV Zwammerdam logo in the "Goed om te weten" sidebar */
.vvzwl-sidebar-exact .vvzwl-watermark {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: 125px;
    height: 150px;
    bottom: 8px;
}
@media (max-width: 700px) {
    .vvzwl-sidebar-exact .vvzwl-watermark {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        width: 115px;
        height: 145px;
        bottom: 8px;
    }
}

/* 1.7.0 — foutmeldingen per veld, ouder/voogd, toestemming */
.vvzwl-field-error{display:block;margin-top:4px;color:#b42318;font-size:12px;font-weight:600;line-height:1.35}
.vvzwl-exact input[aria-invalid="true"],.vvzwl-exact select[aria-invalid="true"]{border-color:#b42318!important;outline-color:#b42318}
.vvzwl-guardian[hidden]{display:none!important}
.vvzwl-guardian .vvzwl-privacy-exact{margin-top:10px}
.vvzwl-error-exact{font-size:13px;font-weight:600}
.vvzwl-exact .cf-turnstile{margin:6px 0 10px}
.vvzwl-submit-exact:disabled{opacity:.65;cursor:progress}
.vvzwl-watermark img{display:block;width:100%;height:auto;object-fit:contain}
@media (prefers-reduced-motion:reduce){.vvzwl-exact *{transition:none!important;animation:none!important}}
