//Custom Button

.p-button {
  font-weight: 500 !important;

  &.p-button-outlined {
    color: $textColor !important;

    &:enabled:hover {
      background-color: var(--surface-hover) !important;
    }

    &:enabled:active {
      background-color: var(--surface-hover) !important;
    }

    &.p-button-plain {
      color: $textColor !important;

      &:enabled:hover {
        color: $textColor !important;
      }

      &:enabled:active {
        color: $textColor !important;
      }
    }
  }

  &.p-button-text {
    color: $textColor !important;

    &:enabled:hover {
      color: $textColor !important;
      background-color: var(--surface-hover);
    }

    &:enabled:active {
      color: $textColor !important;
      background-color: var(--surface-hover);
    }

    &.p-button-plain {
      color: $textColor !important;
      background-color: var(--surface-hover);

      &:enabled:hover {
        color: $textColor !important;
      }

      &:enabled:active {
        color: $textColor !important;
        background-color: var(--surface-hover);
      }
    }
  }

  &.p-button-icon-only:not(
      .p-datepicker-trigger,
      .p-inputnumber-button,
      .table-button
    ) {
    width: 2rem !important;
    height: 2rem !important;
    .p-button-icon-left,
    .p-button-icon-right {
      margin: 0;
    }
  }

  &.p-button-sm {
    @include scaledFontSize($fontSize, $scaleSM);
    @include scaledPadding($buttonPadding, $scaleSM);

    .p-button-icon {
      @include scaledFontSize($primeIconFontSize, $scaleSM);
    }
  }

  &.p-button-lg {
    @include scaledFontSize($fontSize, $scaleLG);
    @include scaledPadding($buttonPadding, $scaleLG);

    .p-button-icon {
      @include scaledFontSize($primeIconFontSize, $scaleLG);
    }
  }

  &.p-button-loading-label-only {
    .p-button-loading-icon {
      margin-right: 0;
    }
  }
}

.p-fluid {
  .p-button {
    width: 100%;
  }

  .p-button-icon-only {
    width: $buttonIconOnlyWidth;
  }

  .p-buttonset {
    display: flex;

    .p-button {
      flex: 1;
    }
  }
}

.p-button.p-button-link {
  color: $linkButtonColor !important;
  &:not(:disabled):focus {
    box-shadow: none !important;
  }
  &:not(:disabled):focus-visible {
    box-shadow: $linkButtonFocusShadow !important;
  }
}

.p-inputgroup > .p-button {
  &.p-button-icon-only {
    color: initial;
    width: initial;
    height: initial !important;
    .p-button-icon-left,
    .p-button-icon-right {
      margin: initial;
    }
  }
}
