@import '../../core';

.bfo-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: var(--bfo-border-default);
  position: relative;
  padding: var(--bfo-spacing-base-s) var(--bfo-spacing-base-xl);
  cursor: pointer;
  font-family: var(--bfo-font-family-base);
  font-weight: var(--bfo-font-weight-bold);
  &--primary {
    color: var(--bfo-color-text);
    background-color: var(--bfo-color-brand-accent);
    border-color: var(--bfo-color-brand-accent);
  }
  &--secondary {
    color: var(--bfo-color-brand-white);
    background-color: var(--bfo-color-brand-base-background);
    border-color: var(--bfo-color-brand-accent);
  }
  &__icon {
    display: flex;
    height: auto;
    align-items: center;
    svg {
      fill: currentColor;
    }
  }
  &--s {
    font-size: var(--bfo-font-size-base);
    svg {
      height: calc(1.2 * var(--bfo-font-size-base));
    }
  }
  &--m {
    font-size: calc(1.5 * var(--bfo-font-size-base));
    svg {
      height: calc(1.7 * var(--bfo-font-size-base));
    }
  }
  &--l {
    font-size: calc(2 * var(--bfo-font-size-base));
    svg {
      height: calc(2.2 * var(--bfo-font-size-base));
    }
  }
  &--left {
    flex-direction: row-reverse;
    padding: var(--bfo-spacing-base-s) var(--bfo-spacing-base-l)
      var(--bfo-spacing-base-s) var(--bfo-spacing-base-s);
    .bfo-button__icon {
      margin-right: var(--bfo-spacing-base-m);
    }
  }
  &--right {
    padding: var(--bfo-spacing-base-s) var(--bfo-spacing-base-s)
      var(--bfo-spacing-base-s) var(--bfo-spacing-base-l);
    .bfo-button__icon {
      margin-left: var(--bfo-spacing-base-m);
    }
  }
  &--iconOnly {
    padding: 0;
    background-color: transparent;
    border: none;
    .bfo-button__icon {
      margin: 0;
      svg {
        color: var(--bfo-color-brand-accent);
      }
    }
  }
  &--disabled {
    background-color: var(--bfo-color-brand-black);
    border-color: var(--bfo-color-brand-gray-light);
    color: var(--bfo-color-brand-gray-light);
  }
}
