@props(['variant' => 'primary', 'size' => 'md', 'href' => null])
@php
$baseClasses = 'inline-flex items-center justify-center font-medium rounded-lg transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed';
$variants = [
'primary' => 'bg-gray-900 text-white hover:bg-gray-800 focus:ring-gray-900',
'secondary' => 'bg-white text-gray-700 border border-gray-300 hover:bg-gray-50 focus:ring-gray-500',
'danger' => 'bg-red-600 text-white hover:bg-red-700 focus:ring-red-500',
'ghost' => 'text-gray-700 hover:bg-gray-100 focus:ring-gray-500',
];
$sizes = [
'sm' => 'px-3 py-1.5 text-sm',
'md' => 'px-4 py-2 text-sm',
'lg' => 'px-6 py-3 text-base',
];
$classes = $baseClasses . ' ' . ($variants[$variant] ?? $variants['primary']) . ' ' . ($sizes[$size] ?? $sizes['md']);
@endphp
@if($href)
merge(['class' => $classes]) }}>
{{ $slot }}
@else
@endif