.pa-button,
.pa-btn {
  align-items: center;
  appearance: none;
  border: var(--pa-button-border-width) solid transparent;
  border-radius: var(--pa-button-radius);
  box-sizing: border-box;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--pa-font-family-ui);
  font-size: var(--pa-font-size-button);
  font-weight: var(--pa-font-weight-medium);
  gap: var(--pa-spacing-s);
  justify-content: center;
  line-height: var(--pa-line-height-compact);
  min-height: var(--pa-control-height);
  padding: var(--pa-spacing-s) var(--pa-button-padding-x);
  text-decoration: none;
  transition: background-color var(--pa-transition-base), border-color var(--pa-transition-base), color var(--pa-transition-base), box-shadow var(--pa-transition-base), transform var(--pa-transition-base);
}

.pa-button--primary,
.pa-btn--primary { background: var(--pa-color-primary); border-color: var(--pa-color-primary); color: var(--pa-color-inverse); }
.pa-button--secondary,
.pa-btn--secondary { background: var(--pa-color-secondary); border-color: var(--pa-color-secondary); color: var(--pa-color-inverse); }
.pa-button--outline { background: transparent; border-color: var(--pa-color-primary); color: var(--pa-color-primary); }
.pa-button--success { background: var(--pa-color-success); border-color: var(--pa-color-success); color: var(--pa-color-inverse); }
.pa-button--danger { background: var(--pa-color-danger); border-color: var(--pa-color-danger); color: var(--pa-color-inverse); }
.pa-button--text,
.pa-btn--text { background: transparent; border-color: transparent; color: var(--pa-color-text-primary); padding-inline: var(--pa-spacing-s); }
.pa-button--icon { min-width: var(--pa-control-height); padding: var(--pa-spacing-s); }
.pa-button--compact,
.pa-btn--compact { min-height: var(--pa-control-height-compact); padding-inline: var(--pa-spacing-l); }
.pa-btn--hero { background: transparent; border-color: var(--pa-color-inverse); border-radius: 0; color: var(--pa-color-inverse); }

.pa-button:hover:not(:disabled):not([aria-disabled="true"]),
.pa-btn:hover:not(:disabled):not([aria-disabled="true"]) { box-shadow: var(--pa-shadow-small); transform: translateY(var(--pa-lift-small)); }
.pa-button:active:not(:disabled),
.pa-btn:active:not(:disabled) { box-shadow: none; transform: translateY(0); }
.pa-button:focus-visible,
.pa-btn:focus-visible { outline: var(--pa-focus-width) solid var(--pa-color-focus); outline-offset: var(--pa-spacing-xs); }
.pa-button:disabled,
.pa-button[aria-disabled="true"],
.pa-btn:disabled,
.pa-btn[aria-disabled="true"] { cursor: not-allowed; opacity: 0.5; pointer-events: none; }
.pa-button.is-loading,
.pa-btn.is-loading { cursor: wait; opacity: 0.72; pointer-events: none; }
