@mixin button-gradient-variant(
  $color,
  $color-hover,
  $background-image,
  $background-image-hover
) {
  color: $color;
  background-image: $background-image;

  &:hover,
  &:active,
  &:focus { color: $color-hover; }

  &::after {
    background-image: $background-image-hover;
  }
}

.btn {
  position: relative;
  text-transform: uppercase;
}

.btn-gradient {
  z-index: 1;

  &::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    transition: all 0.15s;
  }

  &:hover,
  &:active,
  &:focus {
    &::after { opacity: 1; }
  }
}

