:root {
  --va-stepper-step-button-inactive-color: var(--va-secondary);
  --va-stepper-step-button-hover-highlight-opacity: 0.1;
  --va-stepper-step-button-disabled-opacity: 0.5;
  --va-stepper-step-button-padding: 1rem;
  --va-stepper-step-button-number-size: 1.2rem;
  --va-stepper-step-button-icon-size: 2rem;
  --va-stepper-step-button-gap: 0.5rem;
  --va-stepper-step-button-icon-border-radius: 100%;
  --va-stepper-step-border-radius: var(--va-square-border-radius);
  --va-stepper-divider-color: var(--va-secondary);
  --va-stepper-divider-length: auto;
  --va-stepper-divider-min-length: 2rem;
  --va-stepper-divider-thickness: 1px;
  --va-stepper-divider-spacing: 0.5rem;
  --va-stepper-divider-vertical-margin-left: 2rem;
  --va-stepper-step-content-wrapper-padding: 0.5rem 1rem;
  --va-stepper-step-content-margin: 0.8rem 0 2rem;
  --va-stepper-controls-gap: 1rem;
}
.va-stepper__step-button {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--va-stepper-step-button-gap);
  flex-shrink: 0;
  padding: var(--va-stepper-step-button-padding);
}
.va-stepper__step-button:focus-visible {
  outline: 2px solid var(--va-focus) !important;
  border-radius: var(--va-stepper-step-border-radius);
}
.va-stepper__step-button::after {
  content: "";
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--va-stepper-color);
  transition: opacity 0.3s;
  opacity: 0;
  border-radius: var(--va-stepper-step-border-radius);
}
.va-stepper__step-button__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  height: var(--va-stepper-step-button-icon-size);
  width: var(--va-stepper-step-button-icon-size);
  font-size: var(--va-stepper-step-button-number-size);
  color: white;
  background: var(--va-stepper-step-button-inactive-color);
  border-radius: var(--va-stepper-step-button-icon-border-radius);
}
.va-stepper__step-button--active {
  color: var(--va-stepper-color);
}
.va-stepper__step-button--active .va-stepper__step-button__icon {
  background: var(--va-stepper-color);
}
.va-stepper__step-button--disabled {
  opacity: var(--va-stepper-step-button-disabled-opacity);
  pointer-events: none;
}
.va-stepper__step-button:hover::after {
  opacity: var(--va-stepper-step-button-hover-highlight-opacity);
}
.va-stepper__step-button--navigation-disabled::after {
  display: none;
}
.va-stepper__step-button--error {
  color: var(--va-danger);
}
.va-stepper__step-button--error .va-stepper__step-button__icon {
  background: var(--va-danger);
}