.kvw-form-wrap{
  --kvw-navy:#0b2942;
  --kvw-blue:#1478b9;
  --kvw-yellow:#ffd92f;
  --kvw-red:#ef3f45;
  --kvw-pink:#fde7ec;
  --kvw-sky:#dff5ff;
  --kvw-cream:#fff9df;
  --kvw-line:#dbe4ea;
  --kvw-muted:#5d7180;
  max-width:920px;
  margin:0 auto;
  padding:0;
  border:1px solid #e2e9ed;
  border-radius:26px;
  background:#fff;
  color:var(--kvw-navy);
  box-shadow:0 18px 50px rgba(11,41,66,.10);
  overflow:hidden;
}
.kvw-form-wrap *{box-sizing:border-box}
.kvw-form-intro{padding:28px 34px 24px;background:linear-gradient(135deg,#fff9df 0%,#fff 72%);border-bottom:1px solid var(--kvw-line)}
.kvw-form-eyebrow{margin:0 0 7px;color:var(--kvw-blue);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.kvw-form-intro h2{margin:0;color:var(--kvw-navy);font-size:clamp(1.6rem,2.4vw,2rem);line-height:1.12}
.kvw-form-lead{max-width:700px;margin:10px 0 0;font-size:1rem;line-height:1.55;color:#29475c}
.kvw-intro-points{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:16px;color:#405b6d;font-size:.88rem}
.kvw-intro-points span{display:inline-flex;align-items:center;gap:5px}

.kvw-progress{padding:20px 34px 18px;background:#fff;border-bottom:1px solid var(--kvw-line);overflow-x:auto}
.kvw-progress ol{display:grid;grid-template-columns:repeat(6,minmax(88px,1fr));gap:6px;min-width:670px;margin:0;padding:0;list-style:none}
.kvw-progress-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;color:#7a8d99;text-align:center;font-size:.78rem;font-weight:700}
.kvw-progress-step:before{content:"";position:absolute;top:15px;left:-50%;right:50%;height:2px;background:#e3eaee;z-index:0}
.kvw-progress-step:first-child:before{display:none}
.kvw-progress-number{position:relative;z-index:1;display:grid;place-items:center;width:31px;height:31px;border:2px solid #d5dfe5;border-radius:50%;background:#fff;color:#617887;font-weight:800}
.kvw-progress-step.is-active{color:var(--kvw-navy)}
.kvw-progress-step.is-active .kvw-progress-number{border-color:var(--kvw-yellow);background:var(--kvw-yellow);color:var(--kvw-navy);box-shadow:0 0 0 5px rgba(255,217,47,.22)}
.kvw-progress-step.is-done{color:#36566b}
.kvw-progress-step.is-done:before,.kvw-progress-step.is-active:before{background:var(--kvw-yellow)}
.kvw-progress-step.is-done .kvw-progress-number{border-color:var(--kvw-yellow);background:#fff8c7;color:var(--kvw-navy)}

.kvw-registration-form{padding:26px 34px 32px;font-size:16px;line-height:1.5}
.kvw-step{scroll-margin-top:20px}
.kvw-step-heading{margin-bottom:22px;padding-bottom:15px;border-bottom:1px solid #edf1f3}
.kvw-step-label{color:var(--kvw-blue);font-size:.8rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
.kvw-step h3{margin:4px 0 6px;color:var(--kvw-navy);font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.2}
.kvw-step-heading p{max-width:720px;margin:0;color:var(--kvw-muted);line-height:1.6}
.kvw-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 16px}
.kvw-registration-form label,.kvw-registration-form fieldset{display:block;margin:0 0 16px;font-size:16px;font-weight:700;color:var(--kvw-navy)}
.kvw-registration-form fieldset{padding:0;border:0}
.kvw-registration-form legend{padding:0;font-size:16px;font-weight:800}
.kvw-required-text{color:#6e5360;font-size:.82rem;font-weight:600;white-space:nowrap}
.kvw-registration-form input[type=text],.kvw-registration-form input[type=email],.kvw-registration-form input[type=tel],.kvw-registration-form input[type=date],.kvw-registration-form select,.kvw-registration-form textarea{
  width:100%;min-height:46px;margin-top:6px;padding:10px 12px;border:1.5px solid #b9c7d0;border-radius:9px;background:#fff;color:var(--kvw-navy);font-family:inherit;font-size:16px;font-weight:400;line-height:1.3;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease
}
.kvw-registration-form textarea{min-height:88px;resize:vertical}
.kvw-registration-form input:focus,.kvw-registration-form select:focus,.kvw-registration-form textarea:focus{outline:0;border-color:var(--kvw-blue);box-shadow:0 0 0 4px rgba(20,120,185,.12)}
.kvw-registration-form input::placeholder,.kvw-registration-form textarea::placeholder{color:#8495a0}
.kvw-registration-form small,.kvw-help{display:block;margin-top:5px;color:var(--kvw-muted);font-size:.83rem;font-weight:400;line-height:1.45}
.kvw-field-intro{margin:4px 0 9px;color:var(--kvw-muted);font-size:.88rem;font-weight:400}

.kvw-under16-message,.kvw-coleader-required-note{grid-column:1/-1;margin:0 0 2px;padding:13px 15px;border-radius:11px;background:var(--kvw-cream);border:1px solid #f1df8c;color:#5a4a13;font-size:.92rem;font-weight:650;line-height:1.5}
.kvw-parent-email[hidden],.kvw-under16-message[hidden],.kvw-payment-test-note[hidden],.kvw-coleader-required-note[hidden]{display:none!important}
.kvw-subsection{margin:6px 0 4px;padding:18px;border-radius:15px;background:#f7fafb;border:1px solid #e3eaee}
.kvw-subsection h4,.kvw-info-card h4,.kvw-clothing-summary h4{margin:0 0 5px;font-size:1.08rem;color:var(--kvw-navy)}
.kvw-subsection>p,.kvw-info-card>p,.kvw-clothing-summary>p{margin:0 0 16px;color:var(--kvw-muted);line-height:1.55}
.kvw-optional{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#e9eff3;color:#5b6f7d;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}

.kvw-option-group{margin-top:4px!important;padding:17px!important;border:1px solid var(--kvw-line)!important;border-radius:14px!important;background:#fbfcfd}
.kvw-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.kvw-choice-grid--two{max-width:390px}
.kvw-choice{position:relative;margin:0!important;font-weight:600!important;cursor:pointer}
.kvw-choice input{position:absolute;opacity:0;pointer-events:none}
.kvw-choice span{display:block;padding:10px 12px;border:1.5px solid #c5d1d8;border-radius:10px;background:#fff;color:#26485e;transition:.15s ease}
.kvw-choice input:checked+span{border-color:var(--kvw-blue);background:#edf8ff;box-shadow:inset 0 0 0 1px var(--kvw-blue);color:var(--kvw-navy)}
.kvw-choice input:focus-visible+span{outline:3px solid rgba(20,120,185,.18);outline-offset:2px}

.kvw-info-card{margin-bottom:14px;padding:18px 19px;border:1px solid var(--kvw-line);border-radius:15px;background:#fbfcfd}
.kvw-info-card:nth-of-type(1){background:#f2faff}
.kvw-info-card a{font-weight:750}
.kvw-consent{display:flex!important;align-items:flex-start;gap:10px;margin:12px 0 0!important;padding:12px 13px;border-radius:10px;background:#fff;border:1px solid #d8e2e8;font-weight:500!important;line-height:1.45;cursor:pointer}
.kvw-consent input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:var(--kvw-blue)}
.kvw-consent small{margin-top:4px!important}
.kvw-final-confirm{margin-top:20px!important;background:var(--kvw-cream)}

.kvw-clothing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.kvw-clothing-card{padding:16px;border:1px solid var(--kvw-line);border-radius:15px;background:#fbfcfd}
.kvw-clothing-card label{margin:0!important}
.kvw-clothing-title{display:block;font-size:1.02rem;font-weight:800}
.kvw-clothing-card small{min-height:42px;margin-bottom:8px}
.kvw-clothing-summary{margin:22px 0 0;padding:20px 22px;border-radius:17px;background:var(--kvw-cream);border:1px solid #f0df91}
.kvw-clothing-summary[hidden]{display:none!important}
.kvw-clothing-summary p{margin:8px 0}
.kvw-clothing-line{display:flex;justify-content:space-between;gap:16px;padding:6px 0;color:#344f61}
.kvw-clothing-total{display:flex;justify-content:space-between;gap:16px;margin:9px 0!important;padding-top:10px;border-top:1px solid rgba(11,41,66,.14);font-size:1.04rem;color:var(--kvw-navy)!important}

.kvw-nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px;padding-top:18px;border-top:1px solid #edf1f3;align-items:center}
.kvw-nav button,.kvw-submit,.kvw-payment-button{border:0;border-radius:999px;padding:11px 19px;font-family:inherit;font-size:15px;line-height:1.2;font-weight:800;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}
.kvw-next,.kvw-submit,.kvw-payment-button{background:var(--kvw-yellow);color:var(--kvw-navy);box-shadow:0 5px 14px rgba(11,41,66,.09)}
.kvw-next:hover,.kvw-submit:hover,.kvw-payment-button:hover{filter:brightness(.98);transform:translateY(-1px)}
.kvw-back{background:#fff;color:var(--kvw-navy);border:1px solid #cbd6dc!important}
.kvw-back:hover{background:#f6f9fa}
.kvw-submit-help{margin:14px 0 0;color:var(--kvw-muted);font-size:.88rem;line-height:1.5}
.kvw-review-return-hint{margin:16px 0 0;color:var(--kvw-muted);font-size:.84rem;line-height:1.5}
.kvw-review-return-hint[hidden]{display:none!important}

.kvw-errors{margin:22px 38px 0;padding:15px 18px;border:1px solid #f2c5c8;border-left:5px solid var(--kvw-red);border-radius:11px;background:#fff5f5;color:#71363a}
.kvw-errors ul{margin:7px 0 0;padding-left:20px}
.kvw-success,.kvw-notice{margin:0;padding:24px 28px;background:#f2fbf5;border-left:5px solid #3d9362;color:#244c35;line-height:1.6}
.kvw-payment-button{display:inline-block;margin-top:10px;text-decoration:none}

.kvw-review-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:4px 0 18px}
.kvw-review-section{position:relative;border:1px solid var(--kvw-line);border-radius:15px;padding:16px;background:#fbfcfd}
.kvw-review-section h4{margin:0 72px 12px 0;font-size:1.04rem;color:var(--kvw-navy)}
.kvw-review-edit{position:absolute;top:13px;right:13px;border:0;border-radius:999px;padding:6px 10px;background:#edf3f6;color:#31566d;font-size:.78rem;font-weight:700;cursor:pointer}
.kvw-review-section dl{margin:0}
.kvw-review-section dt{margin-top:9px;color:#627681;font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.035em}
.kvw-review-section dt:first-child{margin-top:0}
.kvw-review-section dd{margin:2px 0 0;color:#17384d;overflow-wrap:anywhere;line-height:1.45}
.kvw-payment-test-note{padding:13px 15px;border-radius:11px;background:#fff8d8;border:1px solid #f0df91;color:#5d4d16}

@media(max-width:760px){
  .kvw-form-wrap{border-radius:20px}
  .kvw-form-intro{padding:24px 20px 21px}
  .kvw-intro-points{display:grid;gap:7px}
  .kvw-progress{padding:16px 14px 14px}
  .kvw-progress ol{min-width:570px}
  .kvw-registration-form{padding:22px 20px 26px}
  .kvw-errors{margin:18px 20px 0}
  .kvw-grid,.kvw-review-summary,.kvw-clothing-grid{grid-template-columns:1fr}
  .kvw-choice-grid{grid-template-columns:1fr 1fr}
  .kvw-clothing-card small{min-height:0}
  .kvw-nav{align-items:stretch}
  .kvw-nav button{flex:1;min-height:46px;padding:11px 13px}
}
@media(max-width:430px){
  .kvw-choice-grid{grid-template-columns:1fr}
  .kvw-progress-name{font-size:.7rem}
  .kvw-nav{gap:8px}
  .kvw-nav button{font-size:.9rem}
}

/* Mijn inschrijving aanpassen */
.kvw-manage-wrap .kvw-registration-form{padding-top:24px}
.kvw-manage-section{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid #edf1f3}
.kvw-manage-section:last-of-type{border-bottom:0;margin-bottom:8px;padding-bottom:8px}
.kvw-manage-section .kvw-step-heading{margin-bottom:18px;padding-bottom:12px}
.kvw-manage-section .kvw-step-heading h3{margin:0 0 5px;color:var(--kvw-navy);font-size:1.35rem;line-height:1.2}
.kvw-manage-section .kvw-step-heading p{margin:0;color:var(--kvw-muted)}
.kvw-manage-clothing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.kvw-manage-clothing .kvw-clothing-card p{margin:8px 0 0;color:#344f61}
.kvw-readonly-status{margin-top:16px;padding:14px 16px;border-radius:12px;background:#f4f7f9;border:1px solid #dfe7ec;color:#29475c}
.kvw-readonly-status span{display:block;margin-top:3px;color:var(--kvw-muted);font-size:.84rem}
.kvw-manage-actions{display:flex;align-items:center;gap:18px;justify-content:space-between;padding-top:6px}
.kvw-manage-actions p{max-width:560px;margin:0;color:var(--kvw-muted);font-size:.83rem;line-height:1.45}
@media(max-width:760px){
  .kvw-manage-clothing{grid-template-columns:1fr}
  .kvw-manage-actions{align-items:stretch;flex-direction:column}
  .kvw-manage-actions .kvw-submit{width:100%;min-height:46px}
}
