import type { HTMLAttributes } from "react";

import { cn } from "@/lib/utils";

type GlassCardProps = HTMLAttributes<HTMLDivElement> & {
  variant?: "default" | "gold" | "blue";
};

const variantClass: Record<NonNullable<GlassCardProps["variant"]>, string> = {
  default: "border-border/80 bg-card/90 shadow-sm",
  gold:
    "border-amber-500/20 bg-gradient-to-br from-card/95 to-amber-950/10 shadow-md dark:from-card/90 dark:to-amber-950/15",
  blue:
    "border-chart-3/30 bg-gradient-to-br from-card/95 to-chart-3/10 shadow-md dark:from-card/90 dark:to-chart-3/15",
};

/** Premium surface card — consistent across marketing and app. */
export function GlassCard({
  className,
  variant = "default",
  children,
  ...props
}: GlassCardProps) {
  return (
    <div
      className={cn(
        "rounded-2xl border p-6 backdrop-blur-md transition-premium",
        "hover:border-border hover:shadow-md",
        variantClass[variant],
        className,
      )}
      {...props}
    >
      {children}
    </div>
  );
}
