/**
 * @file
 * Steps component styles.
 */

.steps__section-title {
  text-align: center;
  margin-bottom: var(--space-7xl);
}

.steps__track {
  position: relative;
}

.steps__line {
  position: absolute;
  left: 60px;
  right: 60px;
  top: 26px;
  height: 2px;
  background: var(--color-border-light);
}

.steps__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  position: relative;
}

.steps__item {
  text-align: center;
}

.steps__circle {
  width: 54px;
  height: 54px;
  margin: 0 auto;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 19px;
  font-weight: var(--font-weight-bold);
}

.steps__circle--primary {
  background: var(--color-primary);
  color: var(--color-text-inverse);
  box-shadow: 0 0 0 8px var(--color-background-alt);
}

.steps__circle--outline {
  background: var(--color-surface);
  color: var(--color-primary);
  border: 2px solid var(--color-border);
  box-shadow: 0 0 0 8px var(--color-background-alt);
}

.steps__circle--accent {
  background: var(--color-accent);
  color: var(--color-text-primary);
  box-shadow: 0 0 0 8px var(--color-background-alt);
}

.steps__circle--dark {
  background: var(--color-surface-dark);
  color: var(--color-text-inverse);
  box-shadow: 0 0 0 8px var(--color-background-alt);
}

.steps__label {
  margin-top: var(--space-lg);
  font-size: 16.5px;
  font-weight: var(--font-weight-bold);
}

@media (max-width: 768px) {
  .steps__items {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .steps__line {
    display: none;
  }

  .steps__item {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    text-align: left;
  }

  .steps__circle {
    margin: 0;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    font-size: 16px;
    box-shadow: none;
  }
}
