/* Step Progress Block — bksp- prefix */
.bksp-wrap {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 0;
  padding: 12px 0;
}

.bksp-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.bksp-circle {
  width: var(--bksp-cSize, 36px);
  height: var(--bksp-cSize, 36px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .9em;
  transition: background .3s, border-color .3s;
}

.bksp-done .bksp-circle {
  background: var(--bksp-done, #22c55e);
  color: #fff;
}
.bksp-active .bksp-circle {
  background: var(--bksp-active, #6c3fb5);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(108,63,181,.2);
}
.bksp-pending .bksp-circle {
  background: var(--bksp-pending, #e5e7eb);
  color: #6b7280;
}

.bksp-label {
  font-family: var(--bksp-lb-font-family, inherit);
  font-size: var(--bksp-lb-font-size-d, var(--bksp-lSz, 13px));
  font-weight: var(--bksp-lb-font-weight, 400);
  font-style: var(--bksp-lb-font-style, normal);
  text-decoration: var(--bksp-lb-text-decoration, none);
  text-transform: var(--bksp-lb-text-transform, none);
  line-height: var(--bksp-lb-line-height-d, 1.4);
  letter-spacing: var(--bksp-lb-letter-spacing-d, normal);
  word-spacing: var(--bksp-lb-word-spacing-d, normal);
  color: #374151;
  white-space: nowrap;
  text-align: center;
}
.bksp-done   .bksp-label { color: var(--bksp-done, #22c55e); }
.bksp-active .bksp-label { color: var(--bksp-active, #6c3fb5); font-weight: 600; }

/* Connector line */
.bksp-connector {
  flex: 1;
  min-width: 24px;
  height: var(--bksp-barH, 4px);
  background: var(--bksp-pending, #e5e7eb);
  margin-bottom: calc( var(--bksp-lSz, 13px) + 6px );
  transition: background .3s;
}
.bksp-connector.bksp-conn-done {
  background: var(--bksp-done, #22c55e);
}

/* ── Responsive Typography ── */
@media (max-width: 1024px) {
  .bksp-label {
    font-size: var(--bksp-lb-font-size-t, var(--bksp-lb-font-size-d, var(--bksp-lSz, 13px)));
    line-height: var(--bksp-lb-line-height-t, var(--bksp-lb-line-height-d, 1.4));
    letter-spacing: var(--bksp-lb-letter-spacing-t, var(--bksp-lb-letter-spacing-d, normal));
    word-spacing: var(--bksp-lb-word-spacing-t, var(--bksp-lb-word-spacing-d, normal));
  }
}
@media (max-width: 767px) {
  .bksp-wrap { overflow-x: scroll; }
  .bksp-label {
    font-size: var(--bksp-lb-font-size-m, var(--bksp-lb-font-size-t, var(--bksp-lb-font-size-d, var(--bksp-lSz, 11px))));
    line-height: var(--bksp-lb-line-height-m, var(--bksp-lb-line-height-t, var(--bksp-lb-line-height-d, 1.4)));
    letter-spacing: var(--bksp-lb-letter-spacing-m, var(--bksp-lb-letter-spacing-t, var(--bksp-lb-letter-spacing-d, normal)));
    word-spacing: var(--bksp-lb-word-spacing-m, var(--bksp-lb-word-spacing-t, var(--bksp-lb-word-spacing-d, normal)));
  }
}
