.btn {
  display: inline-block;
  vertical-align: top;
  padding: 1rem 2rem;
  margin-bottom: 0.5rem;

  background: #F6F6F6;
  border: 1px solid transparent;
  box-shadow: none;
  border-radius: $radius;
  cursor: pointer;

  font-family: inherit;
  font-size: 1.6rem;
  line-height: 1.2;
  font-weight: 500;
  color: #413D3C;
  text-decoration: none;
  text-align: center;

  transition: color .2s linear, background-color .2s linear;

  + .btn {
    margin-left: 8px;
  }

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

  &--white-outline {
    border: 1px solid $white;
    color: $white;
    background-color: transparent;

    &:hover,
    &:focus {
      background-color: $white;
      color: $primary;
    }
  }

  &--primary-outline {
    background-color: $white;
    border: 1px solid $primary;

    &:hover,
    &:focus {
      background-color: $primary;
      color: $white;

      .btn__icon {
        fill: $white;
        stroke: $white;
      }
    }
  }

  &--primary {
    color: $white;
    background-color: $primary;

    &:hover,
    &:focus {
      background: rgba(0, 30, 96, 0.75);
    }
  }

  &--gray-outline {
    color: $dark;
    background: transparent;
    border: 1px solid #f2f2f2;

    .btn__icon {
      stroke: $dark;
    }

    &:hover,
    &:focus {
      background-color: #f2f2f2;
      color: $dark;
    }

    &.active {
      background: $primary;
      color: $white;

      .btn__icon {
        stroke: $white;
      }
    }
  }

  &--auth {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;

    color: #606060;
    background: #FAFAFA;
    border: 1px solid #f2f2f2;
    font-weight: 400;

    &:hover,
    &:focus {
      background-color: #f2f2f2;
      color: #606060;
    }
  }

  &--delivery {
    padding: 2.2rem;

    font-size: 1.5rem;
    font-weight: 400;
  }

  &--lightblue {
    color: #787878;
    background-color: #F1F4FB;

    &:hover,
    &:focus {
      background-color: darken(#F1F4FB, 5%);
      color: #413D3C;
    }
  }

  &--green {
    background-color: $green;
    color: $white;

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

  &--square {
    padding: 1rem;
  }

  &--red {
    background-color: $red;
    color: $white;

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

  &--block {
    display: block;
    width: 100%;
  }

  &--md {
    padding: 1.5rem 4rem;
  }

  &--sm {
    font-size: 1.4rem;
    padding: 1rem 2rem;
  }

  &--xs {
    font-size: 1.2rem;
    padding: .8rem 1rem;
  }

  &--icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    span {
      margin-left: 6px;
    }
  }

  &--btn_icon {
    padding-top: 12px;
    height: 46px;
  }

  &--reset {
    padding: 5px 0 5px 2.5rem;

    background: url("/shop/images/trash.svg") left center no-repeat;
    border: none;

    font-size: 1.2rem;
    color: #9E9E9E;
    font-weight: 500;

    &:hover,
    &:focus {
      background-color: transparent;
      color: #9E9E9E;
      text-decoration: underline;
    }
  }

  &--wishlist {
    width: 20px;
    height: 20px;
    padding: 0;

    font-size: 0;
    color: transparent;

    background: url("/shop/images/wishlist-btn.svg") center no-repeat;

    &:hover {
      background-color: transparent;
      background-image: url("/shop/images/wishlist-hover-btn.svg");
    }
  }

  &--square {
    padding: 1rem;
  }

  &[disabled] {
    cursor: not-allowed;

    color: rgba($dark, .25);
    background-color: #f2f2f2;
  }
}

.btn__icon {
  width: 22px;
  height: 22px;
  margin-right: 1rem;

  fill: #413D3C;
  stroke: #413D3C;

  transition: all .1s linear;
}
