@props([
  'variant' => 'pill', // pill | sheet | fab | icon
  'disabled' => false,
])

@php
  $base = 'font-semibold transition-transform active:scale-[0.98] disabled:opacity-30 disabled:pointer-events-none';

  $variants = [
    'pill' => 'h-12 w-full rounded-full text-[16px] bg-primary text-primary-foreground hover:opacity-95',
    'sheet' => 'w-full py-3.5 rounded-2xl text-[15px] bg-primary text-primary-foreground',
    'fab' => 'w-full mb-3 py-3.5 rounded-2xl text-[15px] bg-primary text-primary-foreground flex items-center justify-center gap-2',
    'icon' => 'tap-target w-9 h-9 rounded-full bg-primary text-primary-foreground flex items-center justify-center',
  ];

  $classes = trim($base.' '.($variants[$variant] ?? $variants['pill']));
@endphp

<button
  @disabled($disabled)
  {{ $attributes->merge(['type' => 'submit', 'class' => $classes]) }}
>
  {{ $slot }}
</button>
