.creastina-button {
  background-color: var(--accent-2-color);
  font: var(--regular-text);
  padding: 0.5rem 0.5rem 0.25rem;
  border-radius: 0.75rem;
  border: none;
  box-shadow: none;
  outline: none;
  cursor: pointer;
  color: var(--text-color);
  transition: all 0.3s;

  &:hover {
    filter: brightness(0.8);
  }

  &.is--primary {
    background-color: var(--primary-color);
    color: var(--background-color);
  }

  &.is--negative {
    background-color: var(--negative-color);
    color: var(--background-color);
  }

  &.is--secondary {
    background-color: var(--background-color);
  }

  &.is--toggled,
  &.is--accent-1 {
    background-color: var(--accent-1-color);
    color: var(--background-color);
  }

  &.is--icon {
    padding: 0.25rem;
    border-radius: 0.5rem;
    background: none;

    &.is--accent-1 {
      color: var(--accent-1-color);

      &:hover {
        filter: none;
        background-color: var(--accent-1-color);
        color: var(--background-color);
      }
    }

    &.is--primary {
      color: var(--primary-color);

      &:hover {
        filter: none;
        background-color: var(--primary-color);
        color: var(--background-color);
      }
    }

    &.is--negative {
      color: var(--negative-color);

      &:hover {
        filter: none;
        background-color: var(--negative-color);
        color: var(--background-color);
      }
    }

    svg {
      height: 1.5rem;
      width: 1.5rem;
    }
  }

  &.is--step {
    background: none;
    color: var(--accent-1-color);
    height: 1.5rem;
    padding: 0;
    display: flex;
    gap: 0.5rem;
    align-items: center;

    svg {
      height: 1.5rem;
      width: 1.5rem;
    }

    .creastina-steps__checkmark {
      transition: opacity 0.3s;
    }

    &.is--todo {
      .creastina-steps__checkmark {
        opacity: 0;
      }
    }

    &.is--done {
      .creastina-steps__checkmark {
        opacity: 1;
      }
    }

    &:hover {
      background: none;
      filter: none;

      .creastina-steps__checkmark {
        opacity: 0.5;
      }
    }
  }
}
