/* ----------------------------- */
/* ==Buttons                     */
/* ----------------------------- */
/* preferably use <button> for buttons !*/
/* use .btn-- or .button-- classes for variants */

%btn {
  display: inline-block;
  padding: $tiny-value $small-value;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: 0.25s;
  transition-property: box-shadow, background-color, color, border;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  text-decoration: none;
  color: $color-base;
  border: none;
  border-radius: $border-radius;
  background-color: $color-muted;
  font-family: inherit;
  font-size: inherit;
  line-height: 1;
}

.btn,
.button,
[type="button"],
button {
  @extend %btn;

  &:focus {
    -webkit-tap-highlight-color: transparent;
  }
}

.btn,
.button {
  @each $name, $background-color, $color, $border in $variants-list {
    &--#{$name} {
      @extend %btn;
      background-color: $background-color;
      color: $color;
      box-shadow: $border;

      &:active,
      &:focus,
      &:hover {
        background-color: darken( $background-color, 10% );
      }
    }
  }
}

// button state variants
.btn,
.button {
  &--small {
    font-size: $base-font-size - 0.4rem;
  }

  &--big {
    font-size: $base-font-size + 0.4rem;
  }

  &--block {
    width: 100% !important;
    display: block;
  }
  &.disabled,
  &--disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }
  &--unstyled {
    padding: 0;
    border: none;
    text-align: left;
    background: none;
    border-radius: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    &:focus {
      box-shadow: none;
      outline: none;
    }
  }
}