.btn {
  font-family: inherit;
  font-weight: 600;
  font-size: 13px;
  height: 40px;
  padding: 0 var(--space-4);
  border-radius: var(--radius-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  transition: all var(--transition-fast);
  line-height: 1;
  white-space: nowrap;
}
.btn svg { width: 16px; height: 16px; flex-shrink: 0; }

.btn-primary {
  background: var(--fv-gold-400);
  color: var(--fv-blue-600);
}
.btn-primary:hover {
  background: var(--fv-gold-500);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.btn-secondary {
  background: var(--fv-blue-600);
  color: var(--fv-white);
}
.btn-secondary:hover { background: var(--fv-blue-700); transform: translateY(-1px); }

.btn-tertiary {
  background: var(--fv-grey-100);
  color: var(--fv-blue-600);
}
.btn-tertiary:hover { background: var(--fv-grey-200); }

.btn-outline {
  background: transparent;
  color: var(--fv-blue-600);
  box-shadow: inset 0 0 0 1.5px var(--fv-grey-300);
}
.btn-outline:hover {
  box-shadow: inset 0 0 0 1.5px var(--fv-blue-600);
  background: var(--fv-grey-50);
}

.btn-ghost {
  background: transparent;
  color: var(--fv-grey-500);
}
.btn-ghost:hover { background: var(--fv-grey-100); color: var(--fv-blue-600); }

.btn-sm { height: 32px; font-size: 12px; padding: 0 var(--space-3); }
.btn-lg { height: 48px; font-size: 14px; padding: 0 var(--space-5); }
.btn-icon { width: 40px; padding: 0; }

.w-full { width: 100%; }
