:root {
  --button-default-color: #f5f5f5;
  --button-main-color: var(--color-main);
  --button-primary-color: var(--color-primary);
  --button-danger-color: var(--color-danger);
  --button-success-color: var(--color-success);
  --button-warning-color: var(--color-warning);
  --button-info-color: var(--color-info);
  --button-disabled-color: var(--color-disabled);
  --button-disabled-text-color: #BEBEBE;
  --button-border-color: #ebedf0;
  --button-normal-radius: 2px;
  --button-mini-radius: 0px;
  --button-small-radius: 4px;
  --button-middle-radius: 6px;
  --button-large-radius: 8px;
  --button-mini-padding: 0 9px;
  --button-small-padding: 0 11px;
  --button-normal-padding: 0 15px;
  --button-large-padding: 0 22px;
  --button-round-padding: 6px;
  --button-mini-height: 24px;
  --button-small-height: 30px;
  --button-normal-height: 32px;
  --button-large-height: 44px;
}
.ppsv-button {
  position: relative;
  justify-content: center;
  align-items: center;
  outline: none;
  border: none;
  line-height: 1.2;
  border-radius: var(--button-border-radius);
  user-select: none;
  cursor: pointer;
  font-family: inherit;
  transition: box-shadow 0.2s;
  will-change: box-shadow;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  white-space: nowrap;
}
.ppsv-button__content {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ppsv-button__loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.ppsv-button--default {
  color: inherit;
  border: 1px solid var(--button-border-color);
  background-color: #fff;
}
.ppsv-button--primary {
  color: #fff;
  background-color: var(--button-primary-color);
}
.ppsv-button--main {
  color: #fff;
  background-color: var(--button-main-color);
}
.ppsv-button--info {
  color: #fff;
  background-color: var(--button-info-color);
}
.ppsv-button--success {
  color: #fff;
  background-color: var(--button-success-color);
}
.ppsv-button--warning {
  color: #fff;
  background-color: var(--button-warning-color);
}
.ppsv-button--danger {
  color: #fff;
  background-color: var(--button-danger-color);
}
.ppsv-button--disabled {
  background-color: var(--button-disabled-color);
  color: var(--button-disabled-text-color);
  cursor: not-allowed;
  box-shadow: none !important;
}
.ppsv-button--block {
  width: 100%;
}
.ppsv-button--text {
  background-color: transparent;
}
.ppsv-button--text:active {
  box-shadow: none;
}
.ppsv-button--text-default {
  color: inherit;
}
.ppsv-button--text-primary {
  color: var(--button-primary-color);
}
.ppsv-button--text-info {
  color: var(--button-info-color);
}
.ppsv-button--text-success {
  color: var(--button-success-color);
}
.ppsv-button--text-warning {
  color: var(--button-warning-color);
}
.ppsv-button--text-danger {
  color: var(--button-danger-color);
}
.ppsv-button--text-disabled {
  color: var(--button-disabled-text-color);
}
.ppsv-button--normal {
  height: var(--button-normal-height);
  padding: var(--button-normal-padding);
  font-size: var(--font-size-md);
}
.ppsv-button--large {
  height: var(--button-large-height);
  padding: var(--button-large-padding);
  font-size: var(--font-size-lg);
}
.ppsv-button--small {
  height: var(--button-small-height);
  padding: var(--button-small-padding);
  font-size: var(--font-size-sm);
}
.ppsv-button--mini {
  height: var(--button-mini-height);
  padding: var(--button-mini-padding);
  font-size: var(--font-size-xs);
}
.ppsv-button--radius-large {
  border-radius: var(--button-large-radius);
}
.ppsv-button--radius-normal {
  border-radius: var(--button-normal-radius);
}
.ppsv-button--radius-middle {
  border-radius: var(--button-middle-radius);
}
.ppsv-button--radius-small {
  border-radius: var(--button-small-radius);
}
.ppsv-button--radius-mini {
  border-radius: var(--button-mini-radius);
}
.ppsv-button--round {
  border-radius: 999px;
}
.ppsv-button--circle {
  border-radius: 50%;
  height: inherit;
  padding: var(--button-round-padding);
  font-size: 0;
  line-height: 1;
}
.ppsv-button--outline {
  border: thin solid currentColor;
}
.ppsv-button--hidden {
  opacity: 0;
}
