.request-page{background:var(--paper);color:var(--ink)}
.request-page [hidden]{display:none!important}
.request-intro{padding:48px 0 34px;background:#fff;border-bottom:1px solid var(--line)}
.request-intro-inner{display:grid;grid-template-columns:1.25fr .75fr;gap:42px;align-items:end}
.request-kicker{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:9px}
.request-intro h1{font-size:clamp(42px,5vw,66px);line-height:1;letter-spacing:-.04em;margin:0 0 16px;color:var(--ink)}
.request-intro p{font-size:19px;max-width:720px;color:#5f5f5f;margin:0}
.request-contact-note{background:#f6f6f3;border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;gap:5px}
.request-contact-note strong{font-size:17px}.request-contact-note span{font-size:14px;color:#656565}.request-contact-note a{color:var(--red);font-weight:900}
.request-section{padding:44px 0 82px}
.request-wrap{max-width:1000px}
.notice{border-radius:15px;padding:16px 18px;margin-bottom:18px;border:1px solid;font-size:15px;background:#fff}.notice.success{background:#eef9f1;border-color:#b7dfc0}.notice.error{background:#fff1f1;border-color:#e7b0b0}
.validation-summary{background:#fff3f3;border:2px solid #d84040;border-radius:16px;padding:17px 19px;margin:0 0 18px}.validation-summary strong{font-size:18px}.validation-summary p{margin:3px 0 8px;color:#6d2b2b}.validation-summary ul{margin:0;padding-left:20px}.validation-summary li{margin:3px 0}
.bns-form{display:grid;gap:18px}.bns-form *{box-sizing:border-box}.bns-form input,.bns-form textarea,.bns-form select,.bns-form button{font:inherit}
.bns-form .card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 8px 28px rgba(0,0,0,.055);overflow:visible}.bns-form .card:hover{transform:none;box-shadow:0 8px 28px rgba(0,0,0,.055)}
.bns-form .conditional{border-left:4px solid var(--red)}
.bns-form .step{position:absolute;right:22px;top:20px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f0f0ed;border:1px solid var(--line);color:#222;font-weight:900}
.bns-form .section-title{display:grid;grid-template-columns:1fr .7fr;gap:25px;align-items:end;margin-bottom:22px;padding-right:46px}.bns-form .section-title h2{font-size:clamp(27px,3.6vw,39px);line-height:1.04;margin:5px 0 0}.bns-form .section-title p{color:#707070;margin:0}.bns-form .kicker{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.bns-form .grid{display:grid;gap:14px}.bns-form .grid.two{grid-template-columns:1fr 1fr}.bns-form .grid.three{grid-template-columns:repeat(3,1fr)}
.bns-form label{font-weight:800;font-size:13px;display:grid;gap:7px}.bns-form input[type=text],.bns-form input[type=email],.bns-form input[type=tel],.bns-form input[type=date],.bns-form input[type=number],.bns-form input:not([type]),.bns-form textarea,.bns-form select{width:100%;border:1px solid #d4d4cf;background:#fafafa;border-radius:11px;padding:12px 13px;outline:none;min-height:47px;color:#191919}.bns-form textarea{resize:vertical;min-height:96px}.bns-form input:focus,.bns-form textarea:focus,.bns-form select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(237,28,36,.09);background:#fff}
.bns-form fieldset{border:0;padding:0;margin:19px 0}.bns-form legend{font-size:16px;font-weight:900;margin-bottom:11px}.bns-form .choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bns-form .choice-row.three{grid-template-columns:repeat(3,1fr)}
.bns-form .service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.bns-form .service-grid.compact{margin-top:4px}.bns-form .service,.bns-form .choice{display:flex;align-items:flex-start;gap:10px;border:1px solid #d9d9d4;border-radius:13px;padding:13px 14px;cursor:pointer;background:#fafafa;transition:.15s}.bns-form .service:hover,.bns-form .choice:hover{border-color:#aaa}.bns-form .service:has(input:checked),.bns-form .choice:has(input:checked){border-color:var(--red);background:#fff7f7;box-shadow:0 0 0 1px rgba(237,28,36,.08)}.bns-form .service input,.bns-form .choice input{margin-top:4px;accent-color:var(--red);flex:0 0 auto}.bns-form .service span{display:grid}.bns-form .service strong{font-size:16px}.bns-form .service small,.bns-form .choice small{font-weight:500;color:#6f6f6f;margin-top:2px;line-height:1.3}
.bns-form .subcard{margin:20px 0 4px;padding:19px;border:1px solid var(--line);border-radius:16px;background:#fbfbfa}.bns-form .subcard-title{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end;margin-bottom:12px}.bns-form .subcard-title strong{font-size:20px}.bns-form .subcard-title span{font-size:13px;color:#717171}
.bns-form .warning{padding:14px 16px;border:1px solid #e4bd7d;background:#fff8e9;border-radius:13px;margin:12px 0 17px;color:#6a4c13}.bns-form .warning.strong{border-color:#e3abab;background:#fff0f0;color:#741b1b}.bns-form .warning.info{border-color:#bfcdd5;background:#f3f7f9;color:#34434d}
.bns-form .subfield{margin-top:15px}.bns-form .unit-input{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid #d4d4cf;background:#fafafa;border-radius:11px;overflow:hidden}.bns-form .unit-input input{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.bns-form .unit-input>span{padding:0 13px;color:#6e6e6e;font-weight:800}.bns-form .hint{color:#707070;font-weight:600;font-size:11px}.bns-form .label-optional{font-weight:400;color:#777}.bns-form .locked-choice{background:#f3f7f4!important;border-color:#c9d9ce!important}.bns-form .locked-choice input{accent-color:#198754}
.bns-form .address-fields{grid-column:1/-1}.bns-form .address-inputs{display:grid;grid-template-columns:1.1fr .7fr .8fr;gap:12px}.bns-form .address-result{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin-top:12px;padding:13px;border:1px solid #cfe2d6;background:#f5fbf7;border-radius:13px}.bns-form .address-result input[readonly]{background:#fff;color:#18231c}.bns-form .hint.good{color:#1d6c42}.bns-form .hint.bad{color:#a31919}
.bns-form .location-check{margin-top:17px;border:1px solid var(--line);border-radius:13px;padding:13px 15px;background:#f7f7f5}.bns-form .location-check>div{display:grid;gap:3px}.bns-form .location-check strong{font-size:14px}.bns-form .location-check span{font-size:13px;color:#6d6d6d;font-weight:650}.bns-form .location-check.ok{border-color:#a8d0b1;background:#eef9f1}.bns-form .location-check.ok span{color:#2e693d}.bns-form .location-check.bad{border-color:#e2aaaa;background:#fff0f0}.bns-form .location-check.bad span{color:#8a2323}.bns-form .location-check.busy{border-color:#b9c6cf;background:#f3f7f9}
.bns-form .setup-figure{width:100%;max-width:100%;margin:20px 0 24px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#f1f1ef}.bns-form .setup-figure img{display:block;width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}.bns-form .setup-figure figcaption{padding:13px 15px;color:#5f5f5f;font-size:13px;background:#fff}
.bns-form .consent{display:flex;gap:10px;align-items:flex-start;margin-top:17px;font-weight:700}.bns-form .consent input{margin-top:4px;accent-color:var(--red)}.bns-form .submit-row{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-top:20px}.bns-form .btn{border:0;border-radius:999px;background:var(--red);color:#fff;font-weight:900;padding:14px 20px;cursor:pointer}.bns-form .btn:hover{background:#cf1118}.bns-form .send-note{font-size:12px;color:#777;max-width:430px;text-align:right}
.bns-form .field-error{display:none;color:#a60008;font-weight:800;font-size:13px;margin-top:10px}.bns-form .field-error.show{display:block}.bns-form .blocker-error{padding:13px 15px;border-radius:12px;background:#fff0f0;border:1px solid #efb4b4;margin-top:17px}.bns-form .hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.bns-form .is-missing{border-color:#d84040!important;background:#fff6f6!important;box-shadow:0 0 0 2px rgba(216,64,64,.08)}.bns-form label.is-missing{padding:9px;border:1px solid #d84040;border-radius:11px}.bns-form fieldset.is-missing{padding:12px;border:1px solid #d84040;border-radius:13px;background:#fff6f6}.bns-form input[aria-invalid=true],.bns-form textarea[aria-invalid=true],.bns-form select[aria-invalid=true]{border-color:#d84040!important;background:#fffafa!important}.bns-form .subcard.is-missing{border:2px solid #d84040;background:#fffafa}
.bns-form .size-grid{align-items:end}.bns-form .inline-fieldset{margin:0}.bns-form .standalone-choice{margin:8px 0 20px}
.contact-card p{color:#676767;font-size:14px;margin:10px 0 0}
@media(max-width:820px){.request-intro-inner,.bns-form .section-title,.bns-form .grid.two,.bns-form .grid.three,.bns-form .subcard-title,.bns-form .address-inputs,.bns-form .address-result{grid-template-columns:1fr}.bns-form .service-grid,.bns-form .choice-row,.bns-form .choice-row.three{grid-template-columns:1fr}.bns-form .section-title{gap:8px;padding-right:42px}.bns-form .card{padding:22px 18px}.bns-form .submit-row{align-items:stretch;flex-direction:column}.bns-form .send-note{text-align:left}.request-intro{padding:38px 0 28px}}
@media(max-width:520px){.request-intro h1{font-size:42px}.request-intro p{font-size:17px}.request-section{padding-top:28px}.bns-form .setup-figure{border-radius:12px}.bns-form .setup-figure img{width:100%;height:auto;object-fit:contain}}

/* Duidelijke validatie van verplichte velden */
.bns-form .is-missing{border-color:#e31b23!important;background:#fff0f1!important;box-shadow:0 0 0 3px rgba(227,27,35,.13)!important}
.bns-form label.is-missing{padding:10px 11px;border:2px solid #e31b23!important;border-radius:12px;background:#fff0f1!important}
.bns-form fieldset.is-missing{padding:14px;border:2px solid #e31b23!important;border-radius:14px;background:#fff0f1!important}
.bns-form input[aria-invalid=true],.bns-form textarea[aria-invalid=true],.bns-form select[aria-invalid=true]{border:2px solid #e31b23!important;background:#fff7f7!important;box-shadow:0 0 0 3px rgba(227,27,35,.10)!important}
.bns-form .validation-inline-message{display:block;margin-top:7px;color:#b40009;font-size:12px;line-height:1.3;font-weight:900}
.bns-form fieldset>.validation-inline-message{margin:10px 0 0}
.bns-form .validation-summary{box-shadow:0 0 0 3px rgba(216,64,64,.08)}
