/* Afspraak- & terugbel-popups — First Steps huisstijl */
.fs-modal-overlay{position:fixed;inset:0;background:rgba(10,14,39,.72);backdrop-filter:blur(3px);
  display:none;align-items:flex-start;justify-content:center;z-index:9999;padding:24px;overflow-y:auto}
.fs-modal-overlay.open{display:flex}
.fs-modal{background:#fff;border-radius:14px;max-width:520px;width:100%;margin:auto;
  box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden;animation:fsModalIn .25s ease}
@keyframes fsModalIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.fs-modal-head{background:#0A0E27;color:#fff;padding:20px 24px;border-bottom:3px solid #D4AF37;
  display:flex;align-items:center;justify-content:space-between}
.fs-modal-head h3{margin:0;font-size:18px;font-weight:700}
.fs-modal-close{background:none;border:none;color:#fff;font-size:26px;line-height:1;cursor:pointer;opacity:.8}
.fs-modal-close:hover{opacity:1}
.fs-modal-body{padding:24px}
.fs-step{display:none}.fs-step.active{display:block}
/* Kalender */
.fs-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.fs-cal-head button{background:#F4F5F7;border:none;width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:16px}
.fs-cal-head button:disabled{opacity:.35;cursor:not-allowed}
.fs-cal-title{font-weight:700;color:#0A0E27}
.fs-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.fs-cal-dow{text-align:center;font-size:11px;color:#8993A4;text-transform:uppercase;padding:6px 0}
.fs-cal-day{aspect-ratio:1;border:none;background:#F4F5F7;border-radius:8px;cursor:pointer;
  font-size:14px;color:#1a1f3a}
.fs-cal-day:hover:not(:disabled){background:#e8ebf0}
.fs-cal-day.empty{background:transparent;cursor:default}
.fs-cal-day:disabled{opacity:.3;cursor:not-allowed}
.fs-cal-day.selected{background:#0A0E27;color:#fff;font-weight:700;box-shadow:inset 0 0 0 2px #D4AF37}
/* Tijdblokken */
.fs-times{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.fs-time{border:1px solid #DFE1E6;background:#fff;border-radius:8px;padding:8px 12px;cursor:pointer;font-size:14px}
.fs-time:hover{border-color:#D4AF37}
.fs-time.selected{background:#0A0E27;color:#fff;border-color:#0A0E27;box-shadow:inset 0 0 0 2px #D4AF37}
/* Context stap 2: recap + intro + geruststelling */
.fs-recap{display:flex;align-items:center;gap:13px;background:#0A0E27;color:#fff;border-radius:10px;
  padding:14px 16px;margin-bottom:18px;border-left:4px solid #D4AF37}
.fs-recap .fs-recap-icon{color:#D4AF37;font-size:20px;flex-shrink:0}
.fs-recap .fs-recap-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#B8BCC8;margin-bottom:3px}
.fs-recap .fs-recap-value{font-size:15px;font-weight:700;line-height:1.3}
.fs-intro{font-size:14px;line-height:1.55;color:#42526E;margin-bottom:20px}
.fs-reassure{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin-top:18px;
  font-size:12.5px;color:#6B778C}
.fs-reassure span{display:inline-flex;align-items:center;gap:6px}
.fs-reassure i{color:#D4AF37;font-size:11px}
/* Formulier */
.fs-field{margin-bottom:16px}
.fs-field label{display:block;font-size:13px;color:#6B778C;margin-bottom:6px}
.fs-field input,.fs-field textarea{width:100%;padding:11px 13px;border:1px solid #DFE1E6;border-radius:8px;
  font-size:15px;font-family:inherit;box-sizing:border-box}
.fs-field input:focus,.fs-field textarea:focus{outline:none;border-color:#D4AF37;box-shadow:0 0 0 3px rgba(212,175,55,.15)}
.fs-field textarea{resize:vertical;min-height:80px}
.fs-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fs-errors{background:#fdecea;color:#b3261e;border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:14px;display:none}
.fs-errors.show{display:block}
/* Knoppen */
.fs-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}
.fs-btn{border:none;border-radius:8px;padding:12px 20px;font-size:15px;font-weight:600;cursor:pointer}
.fs-btn-primary{background:#D4AF37;color:#0A0E27}
.fs-btn-primary:disabled{opacity:.45;cursor:not-allowed}
.fs-btn-ghost{background:#F4F5F7;color:#0A0E27}
/* Succes */
.fs-success{display:none;text-align:center;padding:12px 0}
.fs-success.show{display:block}
.fs-success .fs-check{width:56px;height:56px;border-radius:50%;background:#0A0E27;color:#D4AF37;
  font-size:30px;line-height:56px;margin:0 auto 14px}
.fs-success h4{margin:0 0 8px;color:#0A0E27}
.fs-success p{margin:0;color:#6B778C}
@media(max-width:560px){.fs-modal{border-radius:12px}.fs-modal-body{padding:18px}}
