/* ── Wizard modal ── */
.qf-modal-content { border-radius:20px; border:none; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.15); background:#fff; }
.qf-modal-header { background:linear-gradient(135deg,#E4007C,#1e3a8a); padding:24px 24px 16px; color:#fff; position:relative; border:none; }
.qf-modal-header .btn-close { filter:brightness(0) invert(1); }
.wizard-progress { display:flex; align-items:center; margin-bottom:20px; }
.wp-step { flex:1; height:6px; background:rgba(0,0,0,.06); border-radius:3px; transition:background .3s; margin-right:4px; }
.wp-step:last-child { margin-right:0; }
.wp-step.active { background:#E4007C; }
.wp-step.done   { background:#16a34a; }
.form-label-qf  { font-size:11.5px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:#6b7280; margin-bottom:6px; display:block; }
.sso-btn { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:10px; border-radius:10px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; cursor:pointer; transition:all .2s; border:1.5px solid #e5e7eb; background:#fff; color:#111827; margin-bottom:8px; }
.sso-btn:hover { background:#f3f4f6; border-color:#d1d5db; }
.sso-apple    { background:#000; color:#fff; border-color:#000; }
.sso-apple:hover { background:#1a1a1a; color:#fff; border-color:#1a1a1a; }
.sso-facebook { background:#1877F2; color:#fff; border-color:#1877F2; }
.sso-facebook:hover { background:#166fe5; color:#fff; border-color:#166fe5; }
.wiz-sso-divider { display:flex; align-items:center; gap:10px; color:#6b7280; font-size:12px; font-weight:600; margin:14px 0 10px; }
.wiz-sso-divider::before, .wiz-sso-divider::after { content:''; flex:1; border-top:1px solid #e5e7eb; }
.wiz-pw-wrap { position:relative; margin-bottom:4px; }
.wiz-pw-wrap .form-control { padding-right:42px; }
.wiz-pw-toggle { position:absolute; right:10px; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; color:#6b7280; padding:4px; display:flex; align-items:center; }
.wiz-pw-toggle:hover { color:#111827; }
.wiz-email-hint { font-size:11px; color:#6b7280; margin-top:4px; margin-bottom:10px; line-height:1.4; }
.wiz-email-error { font-size:12px; color:#dc2626; background:#fef2f2; border:1px solid #fecaca; border-radius:8px; padding:8px 12px; margin-top:8px; }
.wiz-email-toggle-row { display:flex; align-items:center; justify-content:center; gap:6px; margin-top:12px; font-size:12px; color:#6b7280; }
.wiz-link-btn { background:none; border:none; color:#E4007C; font-weight:700; font-size:12px; cursor:pointer; padding:0; text-decoration:underline; }
.wiz-link-btn:hover { color:#b5006a; }
.plan-selector { display:flex; flex-direction:column; gap:10px; margin-bottom:20px; }
.plan-option { border:1.5px solid #e5e7eb; border-radius:12px; padding:14px; cursor:pointer; transition:all .2s; display:flex; align-items:center; justify-content:space-between; }
.plan-option:hover { border-color:#bfdbfe; background:#f3f4f6; }
.plan-option.selected { border-color:#E4007C; background:#fce7f3; box-shadow:0 4px 12px rgba(228,0,124,.1); }
.choice-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }
.choice-card { border:1.5px solid #e5e7eb; border-radius:12px; padding:16px; cursor:pointer; transition:all .15s; text-align:center; }
.choice-card:hover { border-color:#bfdbfe; background:#f3f4f6; }
.choice-card.selected { border-color:#E4007C; background:#fce7f3; }
.wiz-step { display:none; }
.wiz-step.active { display:block; animation:wizFadeIn .3s ease; }
@keyframes wizFadeIn { from{opacity:0;transform:translateY(10px);} to{opacity:1;transform:none;} }

.wiz-mode-desc-box { margin-top:10px; padding:12px 14px; background:#f3f4f6; border:1px solid #e5e7eb; border-radius:10px; font-size:12.5px; color:#6b7280; line-height:1.6; }

@media (max-width: 480px) {
    .choice-grid { grid-template-columns:1fr 1fr; }
}
