.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-5);
  border-radius: var(--radius-sm);
  font-weight: 700;
  font-size: var(--font-size-sm);
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: background-color 0.15s var(--ease), color 0.15s var(--ease), border-color 0.15s var(--ease), transform 0.1s var(--ease);
}

.btn:active {
  transform: translateY(1px);
}

.btn-primary {
  background: var(--color-brand-fill);
  color: var(--color-text-inverse);
}

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

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

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

.btn-outline {
  background: transparent;
  border-color: var(--color-border);
  color: var(--color-text);
}

.btn-outline:hover {
  border-color: var(--color-brand);
  color: var(--color-brand);
  background: var(--color-accent-light);
}

.btn-block {
  width: 100%;
}

.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

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

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

.btn-lg {
  padding: var(--space-4) var(--space-6);
  font-size: var(--font-size-base);
}
