// selector chained to add specificity over default button styling
.button.button--plain,
a.button.button--plain {
  border-color: transparent;
  color: $color-brand--one;

  &:hover {
    background: $color-alpha--one-10;
    border-color: transparent;
    color: $color-brand--one;

    .icon svg {
      fill: $color-brand--one;
    }
  }
  // on touch devices hover is similar to ':active' state.
  // outputs regular ':active' state & specific ':hover'
  // state for touch devices
  & {
    @include hover-touch {
      background: $color-alpha--one-30;
    }
  }

  // off-white
  &.button--white {
    color: $color-brand--white;

    &:hover {
      background: $color-brand--white;
      border-color: transparent;
      color: $color-brand--one;

      .icon svg {
        fill: $color-brand--one;
      }
    }
    // on touch devices hover is similar to ':active' state.
    // outputs regular ':active' state & specific ':hover'
    // state for touch devices
    & {
      @include hover-touch {
        background: $color-brand--five;
        border-color: $color-brand--five;
        color: $color-brand--one;
      }
    }
  }
  // black
  &.button--black {
    color: $color-brand--two;

    &:hover {
      background: $color-alpha--two-10;
      border-color: transparent;
      color: $color-brand--black;

      .icon svg {
        fill: $color-brand--two;
      }
    }

    // on touch devices hover is similar to ':active' state.
    // outputs regular ':active' state & specific ':hover'
    // state for touch devices
    & {
      @include hover-touch {
        background: $color-alpha--two-30;
        color: $color-brand--two;
      }
    }
  }

  // disabled
  &.button--disabled,
  &:disabled {
    color: $color--grey;
  }
}
