@use "sass:color";

body {
  .p-button {
    background-color: #428bca;
    border: none;
    border-radius: 4px;
    color: #fff;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    min-width: 80px;
    min-height: 35px;
    padding: 8px 12px;
    transition:
      background-color 200ms ease-out,
      color 200ms ease-out,
      border-color 200ms ease-out;

    &:disabled {
      opacity: 0.5;
    }

    &.p-button-icon-only {
      min-width: 32px;
    }

    &:not(.p-button-icon-only) {
      .p-button-icon-left,
      .p-button-icon-right {
        display: none;
      }
    }

    &.p-button-primary {
      @include buttonVariation(
        $primary-color,
        $primary-light-text-color,
        $primary-color
      );
    }

    &.p-button-secondary {
      @include buttonVariation(
        $secondary-color,
        $primary-light-text-color,
        $secondary-color
      );
      background-color: #7892a1;

      &:hover:not(:disabled) {
        background-color: #426e78;
      }
    }

    &.p-button-default {
      @include buttonVariation(
        $default-color,
        $primary-dark-text-color,
        $default-primary-color
      );
    }

    &.p-button-danger {
      background-color: #9c3a3a;

      &:hover:not(:disabled) {
        background-color: #431919;
      }
    }

    &.p-button-link {
      .p-state-default {
        background-color: transparent;
        border-color: transparent;

        .p-button-text {
          color: $primary-color;
        }

        &:hover {
          background-color: transparent;

          .s-button-icon,
          .s-button-text,
          .s-button-menu-icon {
            color: color.adjust($primary-color, $lightness: -15%);
          }
        }

        &:focus {
          background-color: transparent;
          border-color: #22dce6;

          .p-button-text {
            color: color.adjust($primary-color, $lightness: -15%);
          }
        }

        &:active:not(:disabled) {
          background-color: transparent;
          border-color: transparent;

          .p-button-text {
            color: color.adjust($primary-color, $lightness: -20%);
          }
        }
      }
    }

    &:hover:not(:disabled),
    &:active:not(:disabled) {
      background-color: #063951;
    }

    &:focus {
      outline: 1px solid #1d2f34;
    }
  }

  .p-button-icon-only,
  .p-button-icon-only:not(:disabled):hover {
    background-color: transparent;
    color: #6e7280;

    .p-icon {
      height: 12px;
      width: 12px;
    }
  }

  // Ordem corrigida aqui
  s-button + button,
  s-button + p-button,
  s-button + s-button,
  button + s-button,
  p-button + s-button,
  p-button + p-button {
    margin-left: 10px;
  }

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