@import "../../globals.core";

// Buttons
// --------------------------------------------------

$button-round-padding:            0 2.6rem !default;
$button-round-border-radius:      64px !default;


.button {
  position: relative;
  display: inline-block;
  transition: background-color, opacity 100ms linear;
  z-index: 0;

  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;

  text-align: center;
  text-transform: none;
  font-kerning: none;

  vertical-align: top; // the better option for most scenarios
  vertical-align: -webkit-baseline-middle; // the best for those that support it

  cursor: pointer;
  @include user-select-none();
  @include appearance(none);
}

.button-inner {
  display: flex;
  flex-shrink: 0;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

a.button, a[button] {
  text-decoration: none;
}

.button[disabled] {
  opacity: 0.4;
  cursor: default !important;
  pointer-events: none;
}


// Block Button
// --------------------------------------------------

.button-block {
  display: block;
  clear: both;
  width: 100%;

  &:after {
    clear: both;
  }
}


// Full Button
// --------------------------------------------------

.button-full {
  display: block;
  width: 100%;
}


// Round Button
// --------------------------------------------------

.button-round {
  padding: $button-round-padding;
  border-radius: $button-round-border-radius;
}

// Full Outline Button
// --------------------------------------------------

.button-full.button-outline {
  border-left-width: 0;
  border-right-width: 0;
  border-radius: 0;
}
