import React from 'react'; interface ButtonProps extends React.ButtonHTMLAttributes { variant?: 'primary' | 'secondary' | 'outline' | 'ghost'; size?: 'sm' | 'md' | 'lg' | 'xl'; isLoading?: boolean; } export const Button: React.FC = ({ children, variant = 'primary', size = 'md', isLoading, className = '', ...props }) => { const baseStyles = "inline-flex items-center justify-center font-medium transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed"; const variants = { primary: "bg-brand-black text-white hover:bg-gray-800 focus:ring-brand-black", secondary: "bg-[#B9CF32] text-white hover:bg-[#a5bd2e] focus:ring-[#B9CF32]", outline: "border border-brand-black text-brand-black hover:bg-gray-50 focus:ring-brand-black", ghost: "text-brand-black hover:bg-gray-100 hover:text-gray-900" }; const sizes = { sm: "text-xs px-3 py-1.5 rounded-sm", md: "text-sm px-5 py-2.5 rounded-sm", lg: "text-base px-8 py-3 rounded-sm", xl: "text-lg px-10 py-4 rounded-md font-semibold" }; return ( ); };