/* .ap-btn — BEM block. Modifiers: --primary (default look), --secondary, --ghost. All 5 interactive states covered. */

.ap-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ap-space-xs);
  padding: var(--ap-space-sm) var(--ap-space-lg);
  border-radius: var(--ap-radius-lg);
  font-family: var(--ap-font-body);
  font-weight: 700;
  font-size: var(--ap-fs-body);
  letter-spacing: 0.01em;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background var(--ap-transition), border-color var(--ap-transition), color var(--ap-transition), box-shadow var(--ap-transition), transform var(--ap-transition);
}

.ap-btn--primary {
  background: var(--ap-primary);
  color: var(--ap-text-inverse);
  box-shadow: 0 2px 0 var(--ap-primary-active), var(--ap-shadow-sm);
}
.ap-btn--primary:hover { background: var(--ap-primary-hover); color: var(--ap-text-inverse); box-shadow: 0 2px 0 var(--ap-primary-active), var(--ap-shadow-md); transform: translateY(-1px); }
.ap-btn--primary:active { background: var(--ap-primary-active); color: var(--ap-text-inverse); box-shadow: none; transform: translateY(1px); }
.ap-btn--primary:focus-visible { box-shadow: var(--ap-focus-ring); outline: none; }
.ap-btn--primary:disabled,
.ap-btn--primary[aria-disabled="true"] {
  opacity: var(--ap-disabled-opacity);
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

.ap-btn--secondary {
  background: transparent;
  border-color: var(--ap-primary);
  color: var(--ap-primary);
}
.ap-btn--secondary:hover { background: var(--ap-surface-alt); }
.ap-btn--secondary:active { background: var(--ap-border); }
.ap-btn--secondary:focus-visible { box-shadow: var(--ap-focus-ring); outline: none; }
.ap-btn--secondary:disabled,
.ap-btn--secondary[aria-disabled="true"] {
  opacity: var(--ap-disabled-opacity);
  cursor: not-allowed;
}

.ap-btn--ghost {
  background: transparent;
  color: var(--ap-text);
}
.ap-btn--ghost:hover { background: var(--ap-surface-alt); }
.ap-btn--ghost:active { background: var(--ap-border); }
.ap-btn--ghost:focus-visible { box-shadow: var(--ap-focus-ring); outline: none; }
.ap-btn--ghost:disabled,
.ap-btn--ghost[aria-disabled="true"] {
  opacity: var(--ap-disabled-opacity);
  cursor: not-allowed;
}

.ap-btn--sm { padding: var(--ap-space-xs) var(--ap-space-md); font-size: var(--ap-fs-sm); }
.ap-btn--block { width: 100%; }
