@import './colors.scss';
@import './typography.scss';

.root {
  @include font(roman);

  cursor: pointer;

  justify-content: center;

  box-sizing: border-box;
  text-align: center;
  border: 1px solid;

  outline: none;
  transition-duration: 100ms;
  transition-timing-function: linear;
  transition-property: background-color, color, border-color;

  height: 36px;
  min-width: 84px;
  border-radius: 18px;
  padding: 0 23px;

  background-color: $B10;
  border-color: $B10;
  color: $D80;

  /* render as anchor overrides */
  text-decoration: none;
  user-select: none;
}

.root::content {
  display: flex;
  align-items: center;
}

.root:hover {
  background-color: $B20;
  border-color: $B20;
  color: $D80;
}

.root:active {
  background-color: $B10;
  border-color: $B10;
  color: $D80;
}

.root:disabled {
  cursor: default;
  color: $D80;
  background-color: $D10-30;
  border-color: transparent;
}

/* sizes */

.root.size-large {
  height: 42px;
  min-width: 102px;

  border-radius: 21px;
  padding: 0 29px;
}

.root.size-small {
  height: 30px;
  min-width: 72px;

  border-radius: 15px;
  padding: 0 17px;
}

.root.size-tiny {
  @include font(medium);
  height: 24px;
  min-width: 60px;

  line-height: 16px;
  border-radius: 18px;
  padding: 0 11px;
}

.root.size-tiny[data-madefor='true'] {
  @include font(bold);
}

/* Full width mode */

.root.fluid {
  width: 100%;
}
