// button reset
.ant-btn {
  &-link:hover,
  &-link:focus,
  &-link:active {
    border-color: transparent !important;
  }

  &-primary:not([disabled]) {
    color: @white;
    background-color: var(--primary-color);

    &:hover {
      color: @white;
      background-color: var(--color-primary-hover);
    }
  }

  &-primary:not(&-background-ghost):not([disabled]) {
    color: @white;
  }

  [data-theme='light'] &.ant-btn-link.is-disabled {
    color: rgb(0 0 0 / 25%);
    text-shadow: none;
    cursor: not-allowed !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none;
  }

  [data-theme='dark'] &.ant-btn-link.is-disabled {
    color: rgb(255 255 255 / 25%) !important;
    text-shadow: none;
    cursor: not-allowed !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none;
  }

  // color: @white;

  &&-success.ant-btn-link:not([disabled]) {
    color: var(--color-success-text);

    &:hover,
    &:focus {
      color: var(--color-success-text-hover);
      border-color: transparent;
    }

    &:active {
      color: var(--color-success-text-active);
    }
  }

  &-success.ant-btn-link.ant-btn-loading,
  &-warning.ant-btn-link.ant-btn-loading,
  &-error.ant-btn-link.ant-btn-loading,
  &-background-ghost.ant-btn-link.ant-btn-loading,
  &.ant-btn-link.ant-btn-loading {
    &::before {
      background: transparent;
    }
  }

  &&-success:not(.ant-btn-link, .is-disabled) {
    color: @white;
    background-color: var(--color-success-text);
    border-color: var(--color-success-text);
    //border-width: 0;

    &:hover,
    &:focus {
      color: @white;
      background-color: var(--color-success-text-hover);
      border-color: var(--color-success-text-hover);
    }

    &:active {
      background-color: var(--color-success-text-active);
      border-color: var(--color-success-text-active);
    }
  }

  &&-warning.ant-btn-link:not([disabled]) {
    color: var(--color-warning-text);

    &:hover,
    &:focus {
      color: var(--color-warning-text-hover);
      border-color: transparent;
    }

    &:active {
      color: var(--color-warning-text-active);
    }
  }

  &&-warning:not(.ant-btn-link, .is-disabled) {
    color: @white;
    background-color: var(--color-warning-text);
    border-color: var(--color-warning-text);
    //border-width: 0;

    &:hover,
    &:focus {
      color: @white;
      background-color: var(--color-warning-text-hover);
      border-color: var(--color-warning-text-hover);
    }

    &:active {
      color: @white;
      background-color: var(--color-warning-text-active);
      border-color: var(--color-warning-text-active);
    }

    &[disabled],
    &[disabled]:hover {
      color: @white;
      background-color: var(--color-warning-bg);
      border-color: var(--color-warning-bg);
    }
  }

  &&-error.ant-btn-link:not([disabled]) {
    color: var(--color-error-text);

    &:hover,
    &:focus {
      color: var(--color-error-text-hover);
      border-color: transparent;
    }

    &:active {
      color: var(--color-error-text-active);
    }
  }

  &&-error:not(.ant-btn-link, .is-disabled) {
    color: @white;
    background-color: var(--color-error-text);
    border-color: var(--color-error-text);
    //border-width: 0;

    &:hover,
    &:focus {
      color: @white;
      background-color: var(--color-error-text-hover);
      border-color: var(--color-error-text-hover);
    }

    &:active {
      background-color: var(--color-error-text-active);
      border-color: var(--color-error-text-active);
    }

    &[disabled],
    &[disabled]:hover {
      color: @white;
      background-color: var(--color-error-bg);
      border-color: var(--color-error-bg);
    }
  }

  &-background-ghost {
    background-color: transparent !important;
    border-width: 1px;

    &[disabled],
    &[disabled]:hover {
      color: fade(@white, 40%) !important;
      background-color: transparent !important;
      border-color: fade(@white, 40%) !important;
    }
  }

  &-dashed&-background-ghost,
  &-default&-background-ghost {
    color: @white;
    border-color: @white;

    &:hover,
    &:focus {
      color: lighten(@white, 10%);
      border-color: lighten(@white, 10%);
    }

    &:active {
      color: darken(@white, 10%);
      border-color: darken(@white, 10%);
    }

    &[disabled],
    &[disabled]:hover {
      color: fade(@white, 40%) !important;
      border-color: fade(@white, 40%) !important;
    }
  }

  &-background-ghost&-success:not(.ant-btn-link) {
    color: var(--color-success-text);
    background-color: transparent;
    border-color: var(--color-success-text);
    border-width: 1px;

    &:hover,
    &:focus {
      color: var(--color-success-text-hover) !important;
      border-color: var(--color-success-text-hover);
    }

    &:active {
      color: var(--color-success-text-active);
      border-color: var(--color-success-text-active);
    }
  }

  &-background-ghost&-warning:not(.ant-btn-link) {
    color: var(--color-warning-text);
    background-color: transparent;
    border-color: var(--color-warning-text);
    border-width: 1px;

    &:hover,
    &:focus {
      color: var(--color-warning-text-hover) !important;
      border-color: var(--color-warning-text-hover);
    }

    &:active {
      color: var(--color-warning-text-active);
      border-color: var(--color-warning-text-active);
    }
  }

  &-background-ghost&-error:not(.ant-btn-link) {
    color: var(--color-error-text);
    background-color: transparent;
    border-color: var(--color-error-text);
    border-width: 1px;

    &:hover,
    &:focus {
      color: var(--color-error-text-hover) !important;
      border-color: var(--color-error-text-hover);
    }

    &:active {
      color: var(--color-error-text-active);
      border-color: var(--color-error-text-active);
    }
  }

  &-ghost.ant-btn-link:not([disabled]) {
    color: @white;

    &:hover,
    &:focus {
      color: lighten(@white, 10%);
      border-color: transparent;
    }
  }
}
