/* ── Buttons ── */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 1.5rem;
	font-size: 1rem;
	font-weight: 600;
	border-radius: var(--radius-lg);
	transition: all var(--transition);
	cursor: pointer;
	border: none;
	text-align: center;
	line-height: 1.5;
}

.btn-primary {
	background: var(--primary);
	color: var(--primary-foreground);
	box-shadow: var(--shadow-lg);
}
.btn-primary:hover {
	background: var(--primary-hover);
	box-shadow: var(--shadow-xl);
}

.btn-outline {
	background: transparent;
	color: var(--primary);
	border: 2px solid var(--primary);
}
.btn-outline:hover {
	background: var(--primary);
	color: var(--primary-foreground);
}

.btn-white {
	background: #ffffff;
	color: var(--primary);
	box-shadow: var(--shadow-lg);
}
.btn-white:hover {
	background: #f3f4f6;
	box-shadow: var(--shadow-xl);
}

.btn-ghost {
	background: transparent;
	color: var(--foreground);
	border: 1px solid var(--border);
}
.btn-ghost:hover {
	background: var(--secondary);
}

.btn-destructive {
	background: var(--destructive);
	color: #ffffff;
}
.btn-destructive:hover {
	background: #dc2626;
}

.btn-lg {
	padding: 1rem 2rem;
	font-size: 1.125rem;
}

.btn-sm {
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
}

.btn-full { width: 100%; }

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

.btn-primary-soft {
	background: var(--primary-light);
	color: var(--primary);
}
.btn-primary-soft:hover {
	background: var(--primary);
	color: var(--primary-foreground);
}
