/* AVPW Step Pages (single-page wizard) */
.avpw-stepper{
  margin: 14px 0 10px;
}
.avpw-stepper__bar{ position:relative; height:10px; margin-bottom:10px; }
.avpw-stepper__track{
  position:absolute; left:0; right:0; top:50%;
  height:4px; transform:translateY(-50%);
  background:#e7edf5; border-radius:999px;
}
.avpw-stepper__fill{
  position:absolute; left:0; top:50%;
  height:4px; transform:translateY(-50%);
  width:0%;
  background:#1f6feb; border-radius:999px;
}
.avpw-stepper__steps{ display:flex; gap:10px; flex-wrap:wrap; }
.avpw-stepper__step{
  display:flex; align-items:center; gap:10px;
  border:1px solid #d7dde5; background:#fff;
  border-radius:14px; padding:10px 12px;
  cursor:pointer; font-weight:800;
}
.avpw-stepper__step.is-active{
  border-color:#1f6feb;
  box-shadow:0 0 0 2px rgba(31,111,235,.12);
}
.avpw-stepper__step.is-done{ opacity:.85; }
.avpw-stepper__num{
  width:26px; height:26px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  background:#eef4ff; color:#1f6feb; font-weight:900;
}
.avpw-step-layout{ display:block; }
.avpw-step-viewer{ margin-bottom:12px; }

.avpw-step-body{
  border:1px solid #eef2f7; background:#fff;
  border-radius:18px; padding:12px;
}
.avpw-step-panel{ display:none; }

.avpw-step-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
@media (max-width:980px){ .avpw-step-grid{ grid-template-columns:1fr; } }
.avpw-step-wide{ width:100%; }

.avpw-card{
  border:1px solid #e5e9f0; background:#fff;
  border-radius:16px; padding:12px;
}
.avpw-card h3{ margin:0 0 10px; font-size:16px; }
.avpw-muted{ opacity:.75; }
.avpw-field{ margin-top:8px; }
.avpw-label{ font-weight:800; margin-bottom:6px; }
.avpw-radio{ display:block; margin:6px 0; }

.avpw-step-nav{
  display:flex; gap:10px; flex-wrap:wrap;
  margin-top:12px; border-top:1px solid #eef2f7; padding-top:12px;
}
.avpw-step-actions{
  display:flex; justify-content:space-between; align-items:center;
  gap:10px; flex-wrap:wrap;
  margin-top:12px; border-top:1px solid #eef2f7; padding-top:12px;
}
.avpw-nav{
  border:1px solid #d7dde5; background:#fff;
  border-radius:14px; padding:10px 12px;
  font-weight:900; cursor:pointer;
}
.avpw-nav.is-primary{ background:#1f6feb; border-color:#1f6feb; color:#fff; }

.avpw-summary{
  border:1px solid #e5e9f0; border-radius:16px;
  padding:10px 12px; min-width:220px;
}
.avpw-summary__row{ display:flex; justify-content:space-between; gap:10px; }
.avpw-price__row{ display:flex; justify-content:space-between; gap:10px; padding:6px 0; }
