/* ─────────────────────────────────────────
   WolkNetz — Quote page styles
───────────────────────────────────────── */

/* ── Progress Steps ── */
.step-progress { display:flex; justify-content:space-between; align-items:flex-start; position:relative; }
.step-progress::before { content:''; position:absolute; top:19px; left:5%; right:5%; height:2px; background:var(--wn-border); z-index:0; }
.step-progress-fill { position:absolute; top:19px; left:5%; height:2px; background:var(--wn-primary); z-index:1; transition:width .35s ease; width:0%; }
.step-item { display:flex; flex-direction:column; align-items:center; flex:1; z-index:2; }
.step-circle { width:40px; height:40px; border-radius:50%; background:#fff; border:2px solid var(--wn-border); display:flex; align-items:center; justify-content:center; font-weight:700; color:#aab4c0; transition:all .3s ease; font-size:14px; }
.step-item.active .step-circle { background:var(--wn-primary); border-color:var(--wn-primary); color:#fff; box-shadow:0 0 0 4px rgba(var(--wn-primary-rgb),.15); }
.step-item.completed .step-circle { background:var(--wn-primary); border-color:var(--wn-primary); color:#fff; }
.step-item.completed .step-circle span { display:none; }
.step-item.completed .step-circle::after { content:'✓'; font-size:16px; }
.step-label { font-size:12px; color:#aab4c0; margin-top:8px; text-align:center; white-space:nowrap; }
.step-item.active .step-label, .step-item.completed .step-label { color:var(--wn-primary); font-weight:600; }

/* ── Feature pills ── */
.feature-checkbox { display:none; }
.feature-label { display:inline-block; padding:5px 14px; border-radius:20px; border:1.5px solid #dee2e6; cursor:pointer; font-size:13px; color:#555; transition:all .2s; margin:3px; user-select:none; }
.feature-checkbox:checked + .feature-label { background:var(--wn-primary); border-color:var(--wn-primary); color:#fff; }
.feature-label:hover { border-color:var(--wn-primary); color:var(--wn-primary); }

/* ── Step animation ── */
.form-step { animation:stepIn .3s ease; }
@keyframes stepIn { from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);} }

/* ── Success screen ── */
.success-check { font-size:72px; line-height:1; color:var(--wn-primary); }

/* ── Quote card ── */
.req-card { border-radius:var(--wn-r-lg); box-shadow:0 12px 48px rgba(0,0,0,.08)!important; border:none!important; }
