/* =====================================================================
   WIZARD
   ===================================================================== */
.wizard-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:200;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.wizard-overlay.hidden{display:none}
.wizard-box{background:#15152a;border:1px solid #2a2a4a;border-radius:16px;width:540px;max-width:96vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.wizard-header{padding:20px 24px 0;flex-shrink:0}
.wizard-title{font-family:'Playfair Display',serif;font-size:1.3em;color:#f39c12;margin-bottom:12px}
.wizard-progress{display:flex;gap:4px;margin-bottom:0}
.wz-step-dot{height:3px;flex:1;border-radius:2px;background:#2a2a4a;transition:background .3s}
.wz-step-dot.done{background:#f39c12}
.wz-step-dot.active{background:#f39c12;opacity:.6}
.wizard-body{flex:1;overflow-y:auto;padding:20px 24px}
.wz-step{display:none}
.wz-step.active{display:block}
.wz-step h3{font-size:.85em;color:#f39c12;margin-bottom:14px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.wz-label{font-size:.78em;color:#aaa;margin-bottom:5px;display:block}
.wz-input{width:100%;background:#1e1e30;border:1px solid #2a2a4a;color:#e8e0d0;padding:8px 12px;border-radius:8px;font-size:.85em;outline:none;transition:border .2s}
.wz-input:focus{border-color:#f39c12}
.wz-row{display:flex;gap:10px;margin-bottom:14px}
.wz-row .wz-input{flex:1}
.wz-group{margin-bottom:14px}
.wz-radios,.wz-checks{display:flex;flex-wrap:wrap;gap:7px}
.wz-radio,.wz-check{display:none}
.wz-radio-lbl,.wz-check-lbl{padding:6px 13px;border-radius:20px;border:1px solid #2a2a4a;font-size:.78em;cursor:pointer;transition:all .2s;user-select:none;color:#aaa}
.wz-radio-lbl:hover,.wz-check-lbl:hover{border-color:#f39c12;color:#f39c12}
.wz-radio:checked+.wz-radio-lbl,.wz-check:checked+.wz-check-lbl{background:rgba(243,156,18,.15);border-color:#f39c12;color:#f39c12}
.wz-textarea{width:100%;background:#1e1e30;border:1px solid #2a2a4a;color:#e8e0d0;padding:10px 12px;border-radius:8px;font-size:.83em;outline:none;resize:vertical;min-height:80px;font-family:'Inter',sans-serif;transition:border .2s}
.wz-textarea:focus{border-color:#f39c12}
.wizard-footer{padding:14px 24px;border-top:1px solid #1a1a2e;display:flex;align-items:center;gap:10px;flex-shrink:0}
.wz-step-label{font-size:.72em;color:#555;flex:1}
.btn-wz-back{background:none;border:1px solid #2a2a4a;color:#888;padding:8px 18px;border-radius:8px;cursor:pointer;font-size:.82em;transition:all .2s}
.btn-wz-back:hover{border-color:#888;color:#ccc}
.btn-wz-next{background:linear-gradient(135deg,#f39c12,#e67e22);border:none;color:#fff;padding:8px 22px;border-radius:8px;cursor:pointer;font-size:.82em;font-weight:600;transition:opacity .2s}
.btn-wz-next:hover{opacity:.85}
.btn-wz-next:disabled{opacity:.4;cursor:default}
.wz-generating{text-align:center;padding:30px 0}
.wz-generating .wz-spin{font-size:2.5em;display:block;animation:wizSpin 2s linear infinite;margin-bottom:16px}
@keyframes wizSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.wz-gen-status{font-size:.83em;color:#aaa;margin-top:8px;min-height:20px}
.wz-error{background:rgba(231,76,60,.1);border:1px solid rgba(231,76,60,.3);color:#e74c3c;padding:10px 14px;border-radius:8px;font-size:.8em;margin-top:12px}
/* Country search */
.wz-country-wrap{position:relative}
.wz-country-list{position:absolute;top:100%;left:0;right:0;background:#1e1e30;border:1px solid #f39c12;border-top:none;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:50;display:none}
.wz-country-list.open{display:block}
.wz-country-item{padding:7px 12px;cursor:pointer;font-size:.82em;color:#ccc;transition:background .1s}
.wz-country-item:hover,.wz-country-item.hi{background:#252545;color:#f39c12}
.wz-country-chosen{font-size:.75em;color:#f39c12;margin-top:5px;min-height:18px}

/* Person counter */
.wz-persons-row{display:flex;align-items:center;gap:10px;margin-top:4px}
.wz-person-btn{width:32px;height:32px;border-radius:50%;border:1px solid #2a2a4a;background:#1e1e30;color:#e8e0d0;font-size:1.1em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}
.wz-person-btn:hover{border-color:#f39c12;color:#f39c12}
#wzPersonCount{font-size:1.1em;font-weight:700;color:#f39c12;min-width:24px;text-align:center}

/* Generating step */
.wz-generating{text-align:center;padding:16px 0 8px}
.wz-gen-spinner{font-size:2.8em;display:block;margin-bottom:12px;animation:wzFly 3s ease-in-out infinite}
@keyframes wzFly{0%{transform:translateX(-30px) rotate(-10deg);opacity:.4}50%{transform:translateX(10px) rotate(5deg);opacity:1}100%{transform:translateX(-30px) rotate(-10deg);opacity:.4}}
.wz-gen-title{font-size:.95em;color:#e8e0d0;font-weight:600;margin-bottom:18px}
.wz-gen-steps{text-align:left;display:inline-block;min-width:260px}
.wz-gen-step{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:8px;margin-bottom:4px;transition:all .3s;font-size:.82em;color:#555;background:transparent}
.wz-gen-step.active{background:rgba(243,156,18,.1);color:#f39c12}
.wz-gen-step.done{color:#27ae60}
.wgs-icon{font-size:1em;width:18px;text-align:center;flex-shrink:0}
.wgs-text{flex:1}

/* Date & time picker — make calendar icon visible on dark bg */
input[type="date"].wz-input,
input[type="time"].wz-input{
  color-scheme: dark;
  cursor: pointer;
}
input[type="date"].wz-input::-webkit-calendar-picker-indicator,
input[type="time"].wz-input::-webkit-calendar-picker-indicator{
  filter: invert(1) opacity(.6);
  cursor: pointer;
}
input[type="date"].wz-input::-webkit-calendar-picker-indicator:hover,
input[type="time"].wz-input::-webkit-calendar-picker-indicator:hover{
  filter: invert(1) opacity(1);
}

/* Step detail line */
.wgs-body{display:flex;flex-direction:column;flex:1}
.wgs-detail{font-size:.72em;color:#555;margin-top:1px;min-height:14px;transition:color .3s}
.wz-gen-step.active .wgs-detail{color:#7a6030}
.wz-gen-step.done .wgs-detail{color:#1e5c38}

/* Flash bij teller update */
@keyframes wgsFlash{0%{color:#f39c12;font-weight:700}100%{}}
.wgs-flash{animation:wgsFlash .4s ease-out}
