.ds-onboarding-step {
  --onboarding-step-bg-raised: var(--bh-bg-raised);
  --onboarding-step-border-brand-strong: var(--bh-border-brand-strong);
  --onboarding-step-border-default: var(--bh-border-default);
  --onboarding-step-content-brand: var(--bh-content-brand-default);
  --onboarding-step-content-default: var(--bh-content-default);
  --onboarding-step-content-subtle: var(--bh-content-subtle);
  --onboarding-step-content-success: var(--bh-content-success-default);
  --onboarding-step-radius: var(--bh-control-default);
  --onboarding-step-space-md: var(--bh-space-md-8);
  --onboarding-step-space-lg: var(--bh-space-lg-10);
  --onboarding-step-space-xl: var(--bh-space-xl-12);
  --onboarding-step-width: calc(var(--bh-space-17xl-288) - var(--bh-space-md-8));
  --onboarding-step-height: var(--bh-space-7xl-40);
  --onboarding-step-line-wrap-size: var(--bh-space-5xl-24);
  --onboarding-step-check-size: var(--bh-space-4xl-20);
  --onboarding-step-line-width: var(--bh-space-xxs-2);
  --onboarding-step-line-offset: calc(-1 * var(--bh-space-md-8));
  --onboarding-step-line-segment-height: calc(var(--bh-space-2xl-14) - var(--bh-space-xxxs-1));
  --onboarding-step-shadow: var(--shadow-component-default);

  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--onboarding-step-space-lg);
  width: var(--onboarding-step-width);
  height: var(--onboarding-step-height);
  padding: var(--onboarding-step-space-md) var(--onboarding-step-space-xl);
  border: var(--bh-space-xxxs-1) solid transparent;
  border-radius: var(--onboarding-step-radius);
  color: var(--onboarding-step-content-default);
  background: transparent;
  font-family: var(--bh-font-family);
  font-size: var(--bh-text-body-md-medium-font-size);
  font-style: normal;
  font-weight: var(--bh-text-body-md-medium-font-weight);
  line-height: var(--bh-text-body-md-medium-line-height);
  letter-spacing: var(--bh-text-body-md-medium-letter-spacing);
}

.ds-onboarding-step *,
.ds-onboarding-step *::before,
.ds-onboarding-step *::after {
  box-sizing: border-box;
}

.ds-onboarding-step--active {
  border-color: var(--onboarding-step-border-default);
  color: var(--onboarding-step-content-brand);
  background: var(--onboarding-step-bg-raised);
  box-shadow: var(--onboarding-step-shadow);
}

.ds-onboarding-step--inactive {
  color: var(--onboarding-step-content-subtle);
}

.ds-onboarding-step--rtl {
  font-family: var(--bh-font-family);
}

.ds-onboarding-step__line-wrap {
  position: relative;
  display: flex;
  flex: 0 0 var(--onboarding-step-line-wrap-size);
  align-items: center;
  justify-content: center;
  width: var(--onboarding-step-line-wrap-size);
  height: var(--onboarding-step-line-wrap-size);
  color: var(--onboarding-step-content-success);
}

.ds-onboarding-step__label {
  flex: 1 0 0;
  min-width: 0;
  color: currentColor;
  word-break: break-word;
}

.ds-onboarding-step--rtl .ds-onboarding-step__label {
  text-align: right;
}

.ds-onboarding-step__check {
  position: relative;
  z-index: 1;
  display: block;
  flex: 0 0 auto;
  width: var(--onboarding-step-check-size);
  height: var(--onboarding-step-check-size);
  color: var(--onboarding-step-content-success);
}

.ds-onboarding-step__line {
  position: absolute;
  left: 50%;
  width: var(--onboarding-step-line-width);
  transform: translateX(-50%);
  background: var(--onboarding-step-border-default);
}

.ds-onboarding-step__line--leading {
  top: var(--onboarding-step-line-offset);
  height: var(--onboarding-step-line-segment-height);
}

.ds-onboarding-step__line--trailing {
  bottom: var(--onboarding-step-line-offset);
  height: var(--onboarding-step-line-segment-height);
}

.ds-onboarding-step__line--active {
  position: relative;
  left: auto;
  height: var(--onboarding-step-check-size);
  transform: none;
  background: var(--onboarding-step-border-brand-strong);
}

.ds-onboarding-step__line--inactive {
  position: relative;
  left: auto;
  height: var(--onboarding-step-height);
  transform: none;
}
