.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  width: 100%;
  min-height: 52px;
  padding: 0 var(--space-5);
  border-radius: var(--radius-pill);
  background-color: var(--color-primary);
  color: var(--color-ink-on-accent);
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: transform 0.15s ease, background-color 0.15s ease, opacity 0.15s ease;
}

.btn:hover {
  background-color: var(--color-primary-dark);
}

.btn:active {
  transform: scale(0.97);
}

.btn:disabled {
  opacity: 0.5;
  pointer-events: none;
}

.btn--secondary {
  background-color: transparent;
  color: var(--color-secondary-text);
  box-shadow: none;
  border: 1px solid var(--color-border);
}

.btn--secondary:hover {
  background-color: var(--color-secondary-soft);
}

.btn--dark {
  background-color: var(--color-secondary);
  color: #fff;
}

.btn--dark:hover {
  background-color: var(--color-secondary-light);
}

.btn--danger {
  background-color: transparent;
  color: var(--color-danger);
  box-shadow: none;
  border: 1px solid var(--color-danger);
}

.btn--danger:hover {
  background-color: var(--color-danger);
  color: #fff;
}
