{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"cta-01","type":"registry:component","title":"CTA 01","description":"A premium call-to-action section with gradient background, subtle dot pattern, badge highlight, and dual action buttons. Features engaging visual hierarchy with sparkles icon badge, compelling headline and description, primary and secondary CTAs with hover effects, and responsive design. Perfect for converting visitors with high-impact visual design and clear action paths.","dependencies":["lucide-react"],"registryDependencies":["button"],"files":[{"path":"src/registry/blocks/marketing/landing-pages/cta-sections/cta-01.tsx","content":"\"use client\";\n\nimport { ArrowRight, Sparkles } from \"lucide-react\";\nimport { cn } from \"@/registry/lib/utils\";\nimport { Button } from \"@/registry/ui/button\";\n\nexport interface Cta01Props {\n  className?: string;\n}\n\nconst content = {\n  badge: {\n    text: \"Limited Time Offer\",\n    icon: Sparkles,\n  },\n  title: \"Ready to transform your business?\",\n  description:\n    \"Join thousands of companies already using our platform to streamline their operations and boost productivity.\",\n  buttons: {\n    primary: {\n      text: \"Start Free Trial\",\n      variant: \"secondary\" as const,\n    },\n    secondary: {\n      text: \"Learn More\",\n      variant: \"ghost\" as const,\n    },\n  },\n};\n\nexport function Cta01({ className }: Cta01Props) {\n  const handlePrimaryClick = () => {\n    console.log(\"Primary CTA clicked\");\n  };\n\n  const handleSecondaryClick = () => {\n    console.log(\"Secondary CTA clicked\");\n  };\n\n  return (\n    <section className={cn(\"py-20 px-4\", className)}>\n      <div className=\"max-w-7xl mx-auto text-center\">\n        <div className=\"bg-gradient-to-br from-primary via-primary/90 to-primary/80 rounded-3xl p-12 md:p-16 text-primary-foreground relative overflow-hidden\">\n          {/* Background Pattern */}\n          <div\n            className=\"absolute inset-0 opacity-20\"\n            style={{\n              backgroundImage: `url(\"data:image/svg+xml,${encodeURIComponent(`\n                <svg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" xmlns=\"http://www.w3.org/2000/svg\">\n                  <g fill=\"none\" fillRule=\"evenodd\">\n                    <g fill=\"#ffffff\" fillOpacity=\"0.1\">\n                      <circle cx=\"30\" cy=\"30\" r=\"2\"/>\n                    </g>\n                  </g>\n                </svg>\n              `)}\")`,\n            }}\n          />\n\n          <div className=\"relative z-10 space-y-10\">\n            <div className=\"inline-flex items-center gap-2 bg-primary-foreground/20 rounded-full px-4 py-2 text-sm font-medium\">\n              <content.badge.icon className=\"h-4 w-4\" />\n              {content.badge.text}\n            </div>\n\n            <h2 className=\"text-4xl md:text-5xl lg:text-6xl font-bold leading-tight\">\n              {content.title}\n            </h2>\n\n            <p className=\"text-xl md:text-2xl text-primary-foreground/90 max-w-3xl mx-auto\">\n              {content.description}\n            </p>\n\n            <div className=\"flex flex-col sm:flex-row gap-4 justify-center items-center\">\n              <Button\n                size=\"lg\"\n                variant={content.buttons.primary.variant}\n                className=\"text-lg px-8 py-4 h-auto\"\n                onClick={handlePrimaryClick}\n              >\n                {content.buttons.primary.text}\n                <ArrowRight className=\"ml-2 h-5 w-5\" />\n              </Button>\n              <Button\n                size=\"lg\"\n                variant={content.buttons.secondary.variant}\n                className=\"text-lg px-8 py-4 h-auto text-primary-foreground hover:bg-primary-foreground/10 hover:text-primary-foreground\"\n                onClick={handleSecondaryClick}\n              >\n                {content.buttons.secondary.text}\n              </Button>\n            </div>\n          </div>\n        </div>\n      </div>\n    </section>\n  );\n}\n","type":"registry:component"},{"path":"src/registry/lib/utils.ts","content":"import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n  return twMerge(clsx(inputs));\n}\n","type":"registry:lib"}]}