.button {
  @extend %reset;
  border: none;
  background: transparent;
  cursor: pointer;
  outline: none;
  @extend %transition-easing;

  &:hover,
  &:focus,
  &:active {
    outline: none;
  }

  // &--close {
  //   width: 4.5rem;
  //   height: 4.5rem;
  //   @include flex--centerXY;
  //   border: none;
  //   background: transparent;

  //   &:before,
  //   &:after {
  //     content: "";
  //     position: absolute;
  //     width: 1.7rem;
  //     height: 0.1rem;
  //     background-color: $black;
  //   }

  //   &:before {
  //     transform: rotate(45deg);
  //   }

  //   &:after {
  //     transform: rotate(-45deg);
  //   }
  // }

  // &--close-label {
  //   position: relative;
  //   height: $gutter * 2;
  //   padding-right: $gutter * 1.33;
  //   @include flex--centerY;
  //   font-size: 1.3rem;
  //   text-decoration: underline;
  //   text-transform: uppercase;
  //   color: $color-primary;

  //   &:before,
  //   &:after {
  //     content: "";
  //     position: absolute;
  //     width: 1.2rem;
  //     height: 0.1rem;
  //     right: 0;
  //     background-color: $black;
  //   }

  //   &:after {
  //     transform: rotate(-45deg);
  //   }

  //   &:before {
  //     transform: rotate(45deg);
  //   }
  // }

  // &--collapse {
  //   position: relative;
  //   width: 3rem;
  //   height: 3rem;
  //   @include flex--centerXY;
  //   border-radius: $gutter * 0.3;
  //   border: 0.1rem solid fade-out($color-primary, 0.65);
  //   background-color: $white;

  //   &:before {
  //     content: "";
  //     width: 0.8rem;
  //     height: 0.8rem;
  //     margin-top: 0;
  //     margin-left: -0.5rem;
  //     border-bottom: 0.1rem solid $black;
  //     border-left: 0.1rem solid $black;
  //     transform-origin: 50%;
  //     transform: rotate(-135deg);
  //     @include transitionEasing($duration: 0.15s);
  //   }
  // }

  &--decrement,
  &--increment {
    position: relative;
    width: var(--tide-booking-decrement-increment-width);
    height: var(--tide-booking-decrement-increment-height);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 var(--tide-booking-decrement-increment-width);
    border-radius: var(--tide-booking-decrement-increment-border-radius);
    border: var(--tide-booking-decrement-increment-border);
    background: var(--tide-booking-decrement-increment-background);
    transition: all 0.3s ease;

    .icon {
      width: var(--tide-booking-decrement-increment-icon-width);
      height: var(--tide-booking-decrement-increment-icon-height);
      fill: var(--tide-booking-decrement-increment-icon-color);
    }

    &:hover {
      background: var(--tide-booking-decrement-increment-background-hover);
      color: var(--tide-booking-decrement-increment-color-hover);
      fill: var(--tide-booking-decrement-increment-icon-color-hover);
      border: var(--tide-booking-decrement-increment-border-hover);

      .icon {
        fill: var(--tide-booking-decrement-increment-icon-color-hover);
      }
    }

    &:focus,
    &:active {
      background: var(--tide-booking-decrement-increment-background-focus);
      color: var(--tide-booking-decrement-increment-color-focus);
      fill: var(--tide-booking-decrement-increment-icon-color-focus);
      border: var(--tide-booking-decrement-increment-border-focus);

      .icon {
        fill: var(--tide-booking-decrement-increment-icon-color-focus);
      }
    }
  }


  &--disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }

  &--min,
  &--plus {
    position: relative;
    width: 3.5rem;
    height: 3.5rem;
    @include flex--centerXY;
    border-radius: 50%;
    background-color: var(--tide-booking-bg-secondary);
    @include activeToColor;

    &:hover {
      opacity: 1;
      outline: none;
      fill: var(--tide-booking-color-primary);
      color: var(--tide-booking-color-primary);
      background-color: var(--tide-booking-transparent);
    }

    &:before {
      content: "";
      position: absolute;
      width: 1.2rem;
      height: 0.2rem;
      display: inline-flex;
      background-color: var(--tide-booking-color-primary);
    }
  }


  &--plus {
    &:after {
      content: "";
      position: absolute;
      width: 1.2rem;
      height: 0.2rem;
      transform: rotate(90deg);
      display: inline-flex;
      background-color: var(--tide-booking-color-primary);
    }
  }
}



