/* KVW Kinderinschrijving: eigen, afgebakende stijl; geïnspireerd op de leidinginschrijving. */
.kvwk-form-wrap{
  --kvwk-navy:#0b2942;--kvwk-blue:#1478b9;--kvwk-yellow:#ffd92f;--kvwk-sky:#dff5ff;
  --kvwk-cream:#fff9df;--kvwk-line:#dbe4ea;--kvwk-muted:#536b7a;
  max-width:980px;margin:8px auto 28px;padding:0;border:1px solid #e2e9ed;border-radius:15px;
  box-shadow:0 7px 25px rgba(11,41,66,.06);background:#fff;overflow:visible;
  color:var(--kvwk-navy);font-family:inherit;font-size:15px;line-height:1.5;
}
.kvwk-form-wrap *{box-sizing:border-box}
.kvwk-form-wrap [hidden]{display:none!important}
.kvwk-intro{padding:17px 26px 15px;border-radius:14px 14px 0 0;background:linear-gradient(135deg,#fff9df 0%,#fff 78%);border-bottom:1px solid var(--kvwk-line)}
.kvwk-eyebrow{margin:0 0 3px!important;color:var(--kvwk-blue);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.kvwk-intro h1{margin:0 0 5px!important;color:var(--kvwk-navy);font-size:clamp(21px,2.2vw,25px);font-weight:750;line-height:1.18}
.kvwk-intro>p:last-child{margin:0!important;max-width:680px;color:#466175;font-size:14px;line-height:1.55}
.kvwk-test-banner{margin:0;padding:10px 28px;background:#fff7dd;border-bottom:1px solid #f2e2b1;color:#574b26;font-size:12px;line-height:1.55}
.kvwk-test-banner strong{font-size:12px}
.kvwk-test-banner code{font-size:12px;padding:0 3px}
.kvwk-progress{position:sticky;top:0;z-index:8;padding:9px 26px 8px;background:#fff;border-bottom:1px solid var(--kvwk-line);box-shadow:0 3px 8px rgba(11,41,66,.03)}
.kvwk-progress-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}
.kvwk-progress-cost{margin:0!important;font-size:12px;color:#506879;white-space:nowrap}
.kvwk-progress-cost strong{color:var(--kvwk-navy);font-size:14px}
.kvwk-progress-status{margin:0!important;font-size:12px;font-weight:800;color:var(--kvwk-blue)}
.kvwk-progress ol{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;list-style:none;margin:0!important;padding:0!important}
.kvwk-progress li{position:relative;display:flex;gap:5px;align-items:center;flex-direction:column;color:#728692;font-size:12px;font-weight:700;text-align:center;line-height:1.3}
.kvwk-progress li:before{content:"";height:2px;position:absolute;top:14px;left:-52%;right:50%;background:#e1e9ed}
.kvwk-progress li:first-child:before{display:none}
.kvwk-progress-number{display:grid;place-items:center;position:relative;z-index:1;width:30px;height:30px;border:2px solid #d7e1e6;border-radius:50%;background:#fff;color:#627b88;font-weight:800;font-size:13px}
.kvwk-progress li.is-current{color:var(--kvwk-navy)}
.kvwk-progress li.is-current .kvwk-progress-number{border-color:var(--kvwk-yellow);background:var(--kvwk-yellow);color:var(--kvwk-navy);box-shadow:0 0 0 3px rgba(255,217,47,.2)}
.kvwk-progress li.is-done .kvwk-progress-number{border-color:var(--kvwk-yellow);background:#fff7c9;color:var(--kvwk-navy)}
.kvwk-progress li.is-done:before,.kvwk-progress li.is-current:before{background:var(--kvwk-yellow)}
.kvwk-form{display:block;padding:0}
.kvwk-section{margin:0!important;padding:19px 26px 14px!important;min-width:0;border:0!important;border-radius:0!important;background:#fff!important;color:var(--kvwk-navy)}
.kvwk-section>legend{display:table;float:none;padding:0!important;margin:0 0 5px!important;border:0!important;color:var(--kvwk-navy);font-size:21px!important;line-height:1.25;font-weight:750}
/* De stapkop krijgt via JS programmacontrole-focus (tabindex=-1) voor voorleessoftware.
   Voorkom de donkere browser-focusrand om de kop; de focusranden van invoervelden en knoppen blijven staan. */
.kvwk-section>legend:focus{outline:none!important;box-shadow:none!important;border:0!important}
.kvwk-step-help{margin:0 0 14px!important;color:var(--kvwk-muted);font-size:14px;line-height:1.5}
.kvwk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:8px}
.kvwk-field{display:flex;flex-direction:column;gap:5px;margin:0 0 12px!important;color:var(--kvwk-navy);font-size:14px;font-weight:680;line-height:1.45}
.kvwk-field>span{color:var(--kvwk-navy)}.kvwk-field b{color:#a92d38}
.kvwk-field input:not([type=radio]):not([type=checkbox]),.kvwk-field select,.kvwk-field textarea{
  width:100%;max-width:100%;min-height:43px;margin:0!important;padding:9px 11px!important;border:1.5px solid #bacbd4;border-radius:9px;
  background:#fff;color:var(--kvwk-navy);font-family:inherit;font-size:15px;font-weight:400;line-height:1.4;
}
.kvwk-field textarea{min-height:70px;resize:vertical}
.kvwk-field input:focus-visible,.kvwk-field select:focus-visible,.kvwk-field textarea:focus-visible,.kvwk-back:focus-visible,.kvwk-next:focus-visible,.kvwk-submit:focus-visible{outline:3px solid rgba(20,120,185,.27);outline-offset:2px;border-color:var(--kvwk-blue)}
.kvwk-field input::placeholder,.kvwk-field textarea::placeholder{color:#7b8e9b}
.kvwk-field .kvwk-inline-error{display:block;margin-top:1px;color:#a3222c;font-size:12.5px;font-weight:600;line-height:1.4}
.kvwk-field .kvwk-inline-error[hidden]{display:none!important}
.kvwk-field input[aria-invalid="true"]{border-color:#b52b39!important;box-shadow:0 0 0 1px rgba(181,43,57,.12)}
fieldset.kvwk-field{border:0!important;padding:0!important;margin:0 0 12px!important;display:flex;flex-direction:row;flex-wrap:wrap;gap:11px 16px}
fieldset.kvwk-field legend{width:100%;float:none;margin:0 0 3px!important;padding:0!important;font-size:14px;font-weight:680;line-height:1.45}
fieldset.kvwk-field label{display:inline-flex;gap:7px;align-items:center;min-width:85px;padding:8px 11px;border:1px solid var(--kvwk-line);border-radius:9px;font-size:14px;font-weight:500;cursor:pointer;background:#fbfcfd}
fieldset.kvwk-field input{width:17px;height:17px;accent-color:var(--kvwk-blue);margin:0}
.kvwk-help{grid-column:1/-1;margin:0 0 12px!important;color:var(--kvwk-muted);font-size:12.5px;line-height:1.5}
.kvwk-subheading{margin:8px 0 12px!important;font-size:15px;font-weight:800;color:var(--kvwk-navy)}
.kvwk-address-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px 14px}
.kvwk-address-street{grid-column:1/-1}.kvwk-address-number{grid-column:1/3}.kvwk-address-extra{grid-column:3/5}
.kvwk-address-postcode{grid-column:1/3}.kvwk-address-city{grid-column:3/7}.kvwk-address-country{grid-column:1/4}
.kvwk-grid .kvwk-other{grid-column:1/-1;max-width:440px}
.kvwk-medical-fields{display:grid;gap:4px}
.kvwk-consent{display:flex!important;align-items:flex-start;gap:10px;padding:11px 13px;margin:9px 0!important;border:1px solid var(--kvwk-line);border-radius:11px;background:#fbfcfd;color:var(--kvwk-navy);font-size:14px;font-weight:470;line-height:1.5;cursor:pointer}
.kvwk-consent input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:var(--kvwk-blue)}
.kvwk-school-pays{padding:13px 15px;margin:0 0 15px;border:1px solid #bde0ca;border-radius:11px;background:#f0faf1;color:#174c35;font-size:14px}
.kvwk-school-pays strong{display:block}.kvwk-school-pays p{margin:5px 0 0!important;font-size:13px}
.kvwk-parent-pays{margin:0 0 17px;padding:12px 14px;border:1px solid var(--kvwk-line);border-radius:11px;background:#f3f9fc}
.kvwk-parent-pays .kvwk-subheading{margin:0 0 9px!important}
.kvwk-payment-options{display:flex;flex-wrap:wrap;gap:10px}
.kvwk-payment-options label{display:flex;gap:9px;align-items:center;padding:10px 12px;border:1px solid #d0dee6;border-radius:10px;background:#fff;font-size:14px;cursor:pointer}
.kvwk-payment-options input{width:17px;height:17px;accent-color:var(--kvwk-blue)}
.kvwk-leergeld{margin:11px 0 0!important;background:#fff!important}
.kvwk-consents{margin:15px 0}.kvwk-privacy{font-size:13px;color:var(--kvwk-muted);margin:12px 0!important}
.kvwk-form-bottom{position:static;border-top:1px solid var(--kvwk-line);border-radius:0 0 21px 21px;background:rgba(255,255,255,.98);box-shadow:0 -7px 20px rgba(11,41,66,.05)}
.kvwk-total{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 26px 7px}
.kvwk-total>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}
.kvwk-total-label{font-size:13px;font-weight:700;color:#4a6172}
.kvwk-total strong{font-size:19px;color:var(--kvwk-navy);line-height:1.2;white-space:nowrap}
.kvwk-total-context{max-width:48%;text-align:right;margin:0!important;font-size:12px;color:var(--kvwk-muted);line-height:1.35}
.kvwk-nav{display:none;gap:12px;padding:8px 26px 13px;align-items:center;justify-content:space-between;border-top:1px solid #f0f3f5}
.kvwk-enhanced .kvwk-nav{display:flex}
.kvwk-nav-spacer{flex:1}.kvwk-next,.kvwk-back,.kvwk-submit{min-height:42px;padding:10px 20px;border:1px solid transparent;border-radius:999px;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:filter .15s,transform .15s}
.kvwk-next,.kvwk-submit{background:var(--kvwk-yellow);color:var(--kvwk-navy);box-shadow:0 3px 10px rgba(11,41,66,.06)}
.kvwk-back{background:#fff;color:var(--kvwk-navy);border-color:#c7d4db}
.kvwk-next:hover,.kvwk-submit:hover{filter:brightness(.975);transform:translateY(-1px)}
.kvwk-submit{margin:14px 0 10px;min-width:240px}
.kvwk-test-banner,.kvwk-success,.kvwk-error,.kvwk-notice{box-sizing:border-box}
.kvwk-success,.kvwk-error,.kvwk-notice{padding:11px 28px;margin:0!important;font-size:13px;line-height:1.55}
.kvwk-success{background:#effaf1;color:#255438}.kvwk-error{background:#fff0ee;color:#7d3131}.kvwk-notice{background:#f2f6fa}
.kvwk-hp{position:absolute!important;left:-10000px!important;opacity:0!important;width:1px!important;height:1px!important;overflow:hidden!important}
.kvwk-public-closed{max-width:820px;margin:26px auto;padding:24px 27px;background:#fff9df;border:1px solid #eedfa3;border-radius:16px;color:#0b2942;font-size:15px;line-height:1.55}
.kvwk-public-closed strong{display:block;font-size:18px}.kvwk-public-closed p{margin:7px 0 0}
@media(max-width:680px){
  .kvwk-form-wrap{border-radius:16px;margin:12px auto 25px;box-shadow:0 5px 22px rgba(11,41,66,.05)}
  .kvwk-intro{padding:17px 17px 15px;border-radius:15px 15px 0 0}.kvwk-intro h1{font-size:22px}
  .kvwk-test-banner{padding:9px 17px}.kvwk-progress{padding:10px 15px 9px}
  .kvwk-progress li{font-size:10px;gap:4px}.kvwk-progress-number{width:26px;height:26px;font-size:12px}
  .kvwk-progress li:before{top:12px}.kvwk-section{padding:19px 17px 14px!important}
  .kvwk-section>legend{font-size:20px!important}
  .kvwk-grid{grid-template-columns:1fr;gap:1px}
  .kvwk-field input:not([type=radio]):not([type=checkbox]),.kvwk-field select,.kvwk-field textarea{font-size:16px}
  .kvwk-address-grid{column-gap:11px}
  .kvwk-address-city{grid-column:3/7}.kvwk-address-country{grid-column:1/-1}
  .kvwk-total{padding:10px 16px 5px;display:block}
  .kvwk-total>div{gap:7px}.kvwk-total strong{font-size:18px}
  .kvwk-total-context{max-width:none;text-align:left;margin-top:3px!important;font-size:11px}
  .kvwk-nav{padding:8px 16px 10px}.kvwk-next,.kvwk-back{min-height:43px;padding:9px 15px}
  .kvwk-submit{width:100%}.kvwk-public-closed{padding:16px}
}
@media(max-width:390px){.kvwk-progress-name{font-size:10px}.kvwk-address-number{grid-column:1/4}.kvwk-address-extra{grid-column:4/7}.kvwk-address-postcode{grid-column:1/4}.kvwk-address-city{grid-column:4/7}}
@media(prefers-reduced-motion:reduce){.kvwk-next,.kvwk-back,.kvwk-submit{transition:none}}

/* Enkel de pagina met het kinderformulier: haal de grote thema-titel en loze bovenruimte weg.
   De shortcode toont zelf één compacte titel. :has() wordt ondersteund door moderne browsers;
   WordPress page-id 11879 is een extra vangnet voor de huidige staging-testpagina. */
body:has(.kvwk-form-wrap) main#wp--skip-link--target,
body.page-id-11879 main#wp--skip-link--target{margin-block-start:0!important;margin-top:0!important}
body:has(.kvwk-form-wrap) main#wp--skip-link--target>.wp-block-group,
body.page-id-11879 main#wp--skip-link--target>.wp-block-group{
  padding-block-start:8px!important;padding-top:8px!important;
  padding-block-end:26px!important;padding-bottom:26px!important;
}
body:has(.kvwk-form-wrap) .wp-block-post-title,
body.page-id-11879 .wp-block-post-title{display:none!important}
/* De standaard WordPress-contentkolom is ca. 650px. Het formulier mag op desktop
   breder zijn, maar blijft gecentreerd en nooit breder dan het scherm. */
@media(min-width:701px){
  body:not(.wp-admin) .kvwk-form-wrap{
    width:min(980px,calc(100vw - 48px));max-width:none!important;
    position:relative;left:50%;transform:translateX(-50%);
    margin:4px 0 28px!important;
  }
}
@media(max-width:700px){
  body:not(.wp-admin) .kvwk-form-wrap{width:min(100%,calc(100vw - 24px));max-width:100%;position:relative;left:50%;transform:translateX(-50%);margin:4px 0 24px!important}
  body:has(.kvwk-form-wrap) main#wp--skip-link--target>.wp-block-group,
  body.page-id-11879 main#wp--skip-link--target>.wp-block-group{padding-top:4px!important}
}

/* Leeftijd 13: vriendelijk signaleren, geen foutmelding of extra akkoord. */
.kvwk-age-warning{grid-column:1/-1;display:block;margin:0 0 12px;padding:11px 13px;border:1px solid #e6bf45;border-left:4px solid #efbf26;border-radius:9px;background:#fff8df;color:#4b3c16;font-size:13px;line-height:1.5}
.kvwk-age-warning[hidden]{display:none!important}
.kvwk-age-warning strong{display:block;font-size:13px;margin-bottom:3px;color:#4b3c16}

/* v0.2.8 - Heldere, vaste volgorde in stap 3: conditionele schoolnaam schuift
   bestaande velden nooit naar een andere kolom. */
.kvwk-school-line,
.kvwk-choice-line{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:10px;align-items:start}
.kvwk-school-line{margin:7px 0 16px}
.kvwk-school-line .kvwk-field{margin-bottom:8px!important}
.kvwk-school-choice,.kvwk-shirt-choice,.kvwk-choice-panel{min-width:0}
.kvwk-school-choice .kvwk-other{margin:6px 0 0}
.kvwk-school-choice .kvwk-other .kvwk-field{margin:0 0 7px!important}
.kvwk-choice-panel{padding:12px 13px 12px;border:1px solid var(--kvwk-line);border-radius:11px;background:#f8fbfd}
.kvwk-choice-panel fieldset.kvwk-field{margin:0 0 8px!important}
.kvwk-choice-panel fieldset.kvwk-field legend{margin-bottom:8px!important}
.kvwk-choice-panel .kvwk-option-help{margin:8px 0 0!important}
.kvwk-friend-panel{margin:16px 0 14px;padding:13px 15px;border:1px solid var(--kvwk-line);border-radius:11px;background:#fff}
.kvwk-friend-panel>.kvwk-field{max-width:450px;margin-bottom:8px!important}
.kvwk-friend-panel .kvwk-option-help{margin:0!important}
.kvwk-practical{margin:0 0 3px!important}

/* Informatietekst moet zelfstandig leesbaar zijn, zonder lichte microletters. */
.kvwk-form-wrap{font-size:16px;line-height:1.55}
.kvwk-field,fieldset.kvwk-field legend,fieldset.kvwk-field label{font-size:15.5px;line-height:1.5}
.kvwk-field input:not([type=radio]):not([type=checkbox]),.kvwk-field select,.kvwk-field textarea{font-size:16px}
.kvwk-step-help{font-size:16px;line-height:1.6;color:#314f62;margin:5px 0 18px!important}
.kvwk-option-help{font-size:15.5px;line-height:1.55;color:#243e50;font-weight:450}
.kvwk-option-help a,.kvwk-leergeld-explain a,.kvwk-privacy a{color:#005d9b;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.kvwk-info-panel{background:#eff7fc;border:1px solid #cbdfe9;border-left:4px solid var(--kvwk-blue);border-radius:9px;padding:14px 16px;margin:12px 0 20px;font-size:16px;line-height:1.55;color:#1b3b50}
.kvwk-info-panel strong{display:block;font-size:16.5px;margin:0 0 5px}
.kvwk-info-panel p{margin:0!important;font-size:16px;line-height:1.6;color:#1b3b50}
.kvwk-medical-privacy{margin:13px 0 5px!important;padding:11px 14px;background:#f8fbfd;border-radius:9px;border:1px solid var(--kvwk-line)}
.kvwk-consent{font-size:16px;line-height:1.55}
.kvwk-parent-pays{padding:17px 18px}
.kvwk-parent-pays .kvwk-subheading{font-size:17px;margin:0 0 12px!important}
.kvwk-payment-options label{font-size:16px;line-height:1.5;padding:11px 15px}
.kvwk-school-pays,.kvwk-school-pays p{font-size:16px;line-height:1.55}
.kvwk-leergeld-explain{margin-top:14px;padding:12px 14px;background:#fff;border:1px solid #d3e3ec;border-left:4px solid var(--kvwk-blue);border-radius:9px;color:#233f50;font-size:15.5px;line-height:1.55}
.kvwk-leergeld-explain strong{font-size:16px}
.kvwk-leergeld-explain p{font-size:15.5px;line-height:1.55;margin:5px 0 0!important}
.kvwk-leergeld-details{padding:12px 14px;margin:13px 0 0;border:1px solid #cbdfe9;background:#eaf5fc;border-radius:9px;color:#233f50}
.kvwk-leergeld-details p{font-size:15.5px;line-height:1.55;margin:0!important}
.kvwk-privacy{font-size:15px;color:#233f50}
.kvwk-total-label{font-size:15px}
.kvwk-total-context{font-size:14.5px;line-height:1.5;color:#374e60}
.kvwk-next,.kvwk-back,.kvwk-submit{font-size:15.5px;min-height:46px}
.kvwk-progress-status,.kvwk-progress-cost{font-size:14px}
.kvwk-progress-cost strong{font-size:16px}
.kvwk-progress li{font-size:13px}
.kvwk-progress-number{font-size:14px}
@media(max-width:680px){
 .kvwk-school-line,.kvwk-choice-line{grid-template-columns:minmax(0,1fr);gap:10px}
 .kvwk-school-line{margin-bottom:10px}
 .kvwk-choice-panel{padding:13px}
 .kvwk-friend-panel{margin-top:12px}
 .kvwk-option-help,.kvwk-step-help,.kvwk-leergeld-explain,.kvwk-leergeld-explain p,.kvwk-leergeld-details p{font-size:15.5px}
 .kvwk-progress li{font-size:11px}
 .kvwk-progress-status,.kvwk-progress-cost{font-size:13px}
 .kvwk-total-context{font-size:14px}
}

/* v0.2.9: leesbare uitleg bij toestemming voor herkenbare foto’s, zonder extra akkoordvak. */
.kvwk-photo-permission{margin:0 0 18px}
.kvwk-photo-permission .kvwk-consent{margin-bottom:7px!important}
.kvwk-photo-permission .kvwk-photo-consent-note{margin:0 0 0 30px!important;font-size:15.5px;line-height:1.5;color:#243e50}
@media(max-width:680px){.kvwk-photo-permission .kvwk-photo-consent-note{margin-left:0!important}}

/* v0.3.0 — Leesbaar controleoverzicht, zoals de leidinginschrijving. */
.kvwk-review-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 12px}
.kvwk-review-card{position:relative;min-width:0;background:#f8fbfd;border:1px solid #d3e1e9;border-radius:12px;padding:16px 17px}
.kvwk-review-card h3{font-size:17px!important;line-height:1.3;margin:0 88px 13px 0!important;color:var(--kvwk-navy);font-weight:800}
.kvwk-review-edit{position:absolute;right:13px;top:12px;padding:7px 12px;border:1px solid #aacada;background:#fff;border-radius:9px;color:#065f9c;font:inherit;font-size:14px;font-weight:750;cursor:pointer}
.kvwk-review-edit:focus-visible{outline:3px solid rgba(20,120,185,.36);outline-offset:2px}
.kvwk-review-card dl{display:grid;grid-template-columns:minmax(110px,40%) minmax(0,1fr);gap:8px 12px;margin:0!important;font-size:14.5px;line-height:1.5}
.kvwk-review-card dt{font-weight:650;color:#405b6a}.kvwk-review-card dd{margin:0!important;overflow-wrap:anywhere;color:#0b2942}
.kvwk-review-card.kvwk-review-wide{grid-column:1/-1}
.kvwk-submit-error{margin:13px 26px 0;padding:13px 16px;background:#fff0ee;border:1px solid #e6b0a8;border-radius:9px;color:#872c2c;font-size:15px;line-height:1.5}
.kvwk-review-return-note{font-size:14px;color:#4c6475;margin:9px 0 0!important}
.kvwk-submit:disabled{opacity:.65;cursor:wait;transform:none!important}
.kvwk-success.kvwk-ajax-success{padding:20px 26px;border-radius:12px;margin:18px 26px!important;font-size:17px}
@media(max-width:700px){
 .kvwk-review-summary{grid-template-columns:minmax(0,1fr);gap:12px}
 .kvwk-review-card.kvwk-review-wide{grid-column:auto}
 .kvwk-review-card{padding:14px}
 .kvwk-review-card h3{font-size:16px!important}
 .kvwk-review-card dl{grid-template-columns:minmax(0,1fr);gap:2px;font-size:15px}
 .kvwk-review-card dd{margin-bottom:8px!important}
 .kvwk-review-edit{font-size:13px;padding:6px 9px}
 .kvwk-progress li{font-size:10px}
 .kvwk-progress-number{width:26px;height:26px;font-size:12px}
 .kvwk-progress ol{gap:0}
 .kvwk-progress li:before{left:-50%}
 .kvwk-submit-error{margin:12px 16px 0}
}
@media(max-width:370px){.kvwk-progress-name{font-size:9px}}

/* Op kleinere telefoons tonen we de stapnamen alleen bij de actieve stap.
   De titel erboven noemt altijd het huidige onderdeel en voorkomt overlap. */
@media(max-width:680px){
 .kvwk-progress li{min-height:47px}
 .kvwk-progress-name{display:none}
 .kvwk-progress li.is-current .kvwk-progress-name{display:block;font-size:10px;white-space:nowrap}
}

/* v1.2.26.1: één kleur voor alle verplichte velden, ook selecties en toestemmingen. */
.kvwk-form .kvwk-required{color:#a92d38!important;font-weight:700!important}


/* v1.2.26.2 — Paginabrede, duidelijke eindcontrole zonder extra invoervelden. */
.kvwk-review-summary > .kvwk-review-special{grid-column:1/-1;background:#fff;border:1px solid #bdcfdb;padding:22px 24px}
.kvwk-review-special-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px 22px;flex-wrap:wrap;margin:0 0 18px}
.kvwk-review-special .kvwk-review-special-header h3{font-size:21px!important;line-height:1.35;margin:0!important;color:#143d67}
.kvwk-review-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.kvwk-review-special .kvwk-review-actions .kvwk-review-edit{position:static;inset:auto;padding:9px 12px;min-height:42px;font-size:14px;line-height:1.35}
.kvwk-review-route{padding:16px 18px;border:1px solid #bad6e8;border-left:5px solid #174f80;background:#edf6fc;border-radius:9px;color:#1b3c52;margin-bottom:19px}
.kvwk-review-route-title{display:block;font-size:20px;line-height:1.4;color:#143d67;margin-bottom:5px}
.kvwk-review-route.kvwk-review-route-leergeld{background:#fff0eb;border:1px solid #e6ada1;border-left:5px solid #b74334;color:#562a25}
.kvwk-review-route.kvwk-review-route-leergeld .kvwk-review-route-title{color:#842e23;font-size:19px}
.kvwk-review-route.kvwk-review-route-leergeld p{color:#542e29}
.kvwk-review-route p{margin:0!important;font-size:15.5px;line-height:1.6;color:#20435c}
.kvwk-review-subtitle{font-size:17px!important;font-weight:750;color:#153c60;margin:0 0 7px!important}
.kvwk-review-costs{border:1px solid #d1dfe6;border-radius:9px;overflow:hidden}
.kvwk-review-cost-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid #e1e9ef;font-size:15.5px;line-height:1.5}
.kvwk-review-cost-row:nth-child(2n){background:#f8fbfd}
.kvwk-review-cost-name{min-width:0;color:#1d3d50;font-weight:600}
.kvwk-review-choice{display:inline-block;margin-left:9px;color:#3d5669;font-weight:500;white-space:nowrap}
.kvwk-review-cost-value{font-variant-numeric:tabular-nums;color:#102e48;white-space:nowrap;font-size:16px}
.kvwk-review-cost-total{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eaf3fa;padding:14px 15px;color:#102f50;font-size:17px}
.kvwk-review-cost-total strong:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.kvwk-review-due{margin-top:13px;padding:18px 20px;border:1px solid #e3bd47;border-left:5px solid #dfb421;background:#fff9e7;border-radius:9px;color:#263a4a}
.kvwk-review-due-label{display:block;font-size:15px;font-weight:700;color:#253e55}
.kvwk-review-due-amount{display:block;font-size:29px;line-height:1.3;font-weight:800;font-variant-numeric:tabular-nums;color:#123d65;margin:3px 0 6px}
.kvwk-review-due-help{font-size:15.5px;line-height:1.55;margin:0!important}
.kvwk-review-consent-intro{font-size:15.5px;line-height:1.55;margin:0 0 10px!important;color:#2e4d61}
.kvwk-review-consent-rows{border:1px solid #d1dfe6;border-radius:9px;overflow:hidden}
.kvwk-review-consent-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 18px;padding:13px 15px;border-bottom:1px solid #e1e9ef;font-size:15.5px;line-height:1.55}
.kvwk-review-consent-row:last-child{border-bottom:0}
.kvwk-review-consent-row:nth-child(2n){background:#f8fbfd}
.kvwk-review-consent-name{color:#173e55;min-width:0}
.kvwk-review-consent-answer{min-width:48px;text-align:center;border-radius:6px;padding:4px 9px;font-size:14px;border:1px solid #bdcbd7;background:#f5f7f9;color:#33485b}
.kvwk-review-consent-answer.is-yes{background:#edf7f0;border-color:#b1d2bd;color:#205d38}
/* 'Nee' bij optionele fototoestemming is geen fout, dus geen rode waarschuwingskleur. */
.kvwk-review-consent-note{margin:12px 0 0!important;color:#3c5565;font-size:14.5px;line-height:1.55}
@media(max-width:700px){
 .kvwk-review-summary>.kvwk-review-special{padding:17px 15px}
 .kvwk-review-special-header{gap:10px}
 .kvwk-review-special .kvwk-review-special-header h3{font-size:19px!important}
 .kvwk-review-actions{width:100%}
 .kvwk-review-special .kvwk-review-actions .kvwk-review-edit{flex:1 1 180px}
 .kvwk-review-route{padding:13px 14px}
 .kvwk-review-route-title{font-size:18px}
 .kvwk-review-due{padding:15px}
 .kvwk-review-due-amount{font-size:27px}
 .kvwk-review-cost-row,.kvwk-review-consent-row{padding:12px}
 .kvwk-review-choice{display:block;margin-left:0;font-size:14px}
}

/* v1.3.5: dubbel ingeschreven is informatie, geen technische fout. */
.kvwk-submit-error.kvwk-submit-info{background:#eff6fb;border-color:#a8cadf;color:#123f62}
.kvwk-submit-error.kvwk-submit-info p{margin:10px 0 0!important}
.kvwk-submit-error.kvwk-submit-info a{color:#005e99;font-weight:750;text-decoration:underline}
