import { cva, type VariantProps } from 'class-variance-authority';

export const cardVariants = cva(
  [
    'rounded-lg border transition-all duration-200',
  ],
  {
    variants: {
      variant: {
        default: 'bg-card border-card-border',
        elevated: 'bg-card border-card-border shadow-md hover:shadow-lg',
        outline: 'bg-transparent border-border hover:bg-secondary/50',
        ghost: 'bg-transparent border-transparent hover:bg-secondary/50',
      },
      padding: {
        none: 'p-0',
        sm: 'p-4',
        md: 'p-6',
        lg: 'p-8',
      },
      hover: {
        true: 'hover:-translate-y-1 hover:shadow-lg cursor-pointer',
      },
    },
    defaultVariants: {
      variant: 'default',
      padding: 'md',
    },
  }
);

export type CardVariants = VariantProps<typeof cardVariants>;
