// Button variant mixin
@mixin button-variant($color: $primary-color) {
  background: $color;
  border-color: darken($color, 3%);
  @include useTheme('color', 'light-color');
  &:focus {
    @include control-shadow($color);
  }
  &:focus,
  &:hover {
    background: darken($color, 2%);
    border-color: darken($color, 5%);
    color: $color;
  }
  &:active,
  &.active {
    background: darken($color, 7%);
    border-color: darken($color, 10%);
    color: $color;
  }
  &.loading {
    &::after {
      @include useTheme('border-bottom-color', 'light-color');
      @include useTheme('border-left-color', 'light-color');
    }
  }
}

@mixin button-outline-variant($color: $primary-color) {
  border-color: $color;
  color: $color;
  @include useTheme('background', 'background-input');
  &:focus {
    @include control-shadow($color);
  }
  &:focus,
  &:hover {
    background: lighten($color, 50%);
    border-color: darken($color, 2%);
    color: $color;
  }
  &:active,
  &.active {
    background: $color;
    border-color: darken($color, 5%);
    @include useTheme('color', 'background-input');
  }
  &.loading {
    &::after {
      border-bottom-color: $color;
      border-left-color: $color;
    }
  }
}
