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-[#492E61] text-white hover:bg-[#3a2450] focus:ring-[#492E61]", secondary: "bg-[#B9CF32] text-white hover:bg-[#a5bd2e] focus:ring-[#B9CF32]", outline: "border border-[#492E61] text-[#492E61] hover:bg-[#492E61]/5 focus:ring-[#492E61]", ghost: "text-[#492E61] hover:bg-[#492E61]/10 hover:text-[#3a2450]" }; const sizes = { sm: "text-xs px-3 py-1.5 rounded-md", md: "text-sm px-5 py-2.5 rounded-lg", lg: "text-base px-8 py-3 rounded-lg", xl: "text-lg px-10 py-4 rounded-xl font-semibold" }; return ( ); };