/* ── Step indicator (multi-step form) ────────────── */
.step-indicator {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
  justify-content: center;
  counter-reset: step;
}

.step-indicator__dot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 1.25rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
  flex: 0 0 auto;
  min-width: 4rem;
}

.step-indicator__dot::after {
  content: "";
  position: absolute;
  top: 1rem;
  left: calc(50% + 1.25rem);
  width: calc(100% - 2.5rem);
  height: 2px;
  background: var(--system-gray-4);
  z-index: 0;
}

.step-indicator__dot:last-child::after {
  display: none;
}

.step-indicator__dot.step-indicator--active::after {
  background: var(--accent);
}

.step-indicator__num {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--system-gray-5);
  color: var(--text);
  font-size: 0.85rem;
  font-weight: 600;
  z-index: 1;
  transition: background var(--motion-fast);
}

.step-indicator__dot.step-indicator--active .step-indicator__num {
  background: var(--accent);
  color: var(--accent-on);
}

.step-indicator__label {
  font-size: 0.75rem;
  line-height: 1.2;
  color: var(--text-muted);
  white-space: nowrap;
}

.step-indicator__dot.step-indicator--active .step-indicator__label {
  color: var(--text);
  font-weight: 600;
}

/* ── Step panels ─────────────────────────────────── */
.step {
  display: none;
}

.step.step--active {
  display: block;
}

.step__heading {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1.25rem;
  color: var(--text);
}

/* ── Step navigation (prev/next/submit) ──────────── */
.step-nav {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--system-gray-4);
}

.step-nav .btn--outline {
  background: transparent;
  border: 1px solid var(--system-gray-3);
  color: var(--text);
}
