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-[10px] sm:text-xs px-2 sm:px-3 py-1 sm:py-1.5 rounded-md", md: "text-xs sm:text-sm px-3 sm:px-4 md:px-5 py-2 sm:py-2.5 rounded-lg", lg: "text-sm sm:text-base px-5 sm:px-6 md:px-8 py-2.5 sm:py-3 rounded-lg", xl: "text-base sm:text-lg px-6 sm:px-8 md:px-10 py-3 sm:py-4 rounded-xl font-semibold", }; return ( ); };