@import "../../mixins/button-variant";

.btn {
  background-color: transparent;
  background-image: none;
  appearance: none;
  display: inline-block;
  cursor: pointer;
  font-family: $font-default;
  font-size: 14px;
  line-height: $font-line-height-default;
  letter-spacing: 0.5px;
  text-decoration: none;
  outline: none;
  font-weight: $font-weight-bold;
  text-align: center;
  vertical-align: middle;
  border: 2px solid transparent;
  padding: 10px 20px;
  border-radius: $button-height/2;

  &:first-letter {
    text-transform: uppercase;
  }

  &:hover {
    text-decoration: none;
  }

  &:active {
    outline: none;
  }

  &.btn--disabled,
  &[disabled] {
    @include button-variant(
      $colour-grey-darkmid,
      $colour-grey-xlight,
      $colour-grey-xlight
    );
    cursor: not-allowed;
  }
}

.btn--primary {
  @include button-variant(
    $color-text-button-primary,
    $color-background-button-primary,
    $color-border-button-primary
  );

  &:hover,
  &:focus {
    @include button-variant(
      $color-text-button-primary--focus-hover,
      $color-background-button-primary--focus-hover,
      $color-border-button-primary--focus-hover
    );
  }
}

.btn--primary--disabled {
  @include button-variant(
    $color-text-button-primary,
    $color-background-button-primary,
    $color-border-button-primary
  );

  opacity: 0.3;
  cursor: not-allowed;
}

.btn--secondary {
  @include button-variant(
    $color-text-button-secondary,
    $color-background-button-secondary,
    $color-border-button-secondary
  );

  &:hover,
  &:focus {
    @include button-variant(
      $color-text-button-secondary--focus-hover,
      $color-background-button-secondary--focus-hover,
      $color-border-button-secondary--focus-hover
    );
  }
}

.btn--secondary--disabled {
  @include button-variant(
    $color-text-button-secondary,
    $color-background-button-secondary,
    $color-border-button-secondary
  );

  opacity: 0.3;
  cursor: not-allowed;
}

.btn--circle {
  &,
  &:visited {
    border-radius: 50%;
    padding: 0.6em;
    line-height: 1;
    white-space: nowrap;
    border: 1px solid #fff;
  }
}
