@props(['href' => null, 'variant' => 'primary', 'type' => 'button', 'block' => false])
@php
$base = 'inline-flex items-center justify-center gap-2 rounded-full px-6 min-h-[48px] text-[15px] font-bold transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary disabled:opacity-50 disabled:pointer-events-none';
$styles = [
'primary' => 'bg-primary text-on-primary hover:bg-primary-container',
'soft' => 'bg-tertiary text-on-tertiary hover:bg-tertiary-container',
'ghost' => 'border border-outline-variant text-primary hover:bg-surface-mid',
'danger' => 'bg-error-container text-on-error-container hover:opacity-90',
];
$cls = $base . ' ' . ($styles[$variant] ?? $styles['primary']) . ($block ? ' w-full' : '');
@endphp
@if ($href)
merge(['class' => $cls]) }}>{{ $slot }}
@else
@endif