{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"marketing-feature-sections-simple","type":"registry:block","title":"Simple","files":[{"path":"components/blocks/marketing/feature-sections/simple.tsx","content":"import { Card, CardContent } from \"@/components/ui/card\";\nimport {\n  RocketIcon,\n  ShieldCheckIcon,\n  ZapIcon,\n  BarChartIcon,\n} from \"lucide-react\";\n\nconst features = [\n  {\n    icon: RocketIcon,\n    title: \"Fast Performance\",\n    description:\n      \"Optimized for speed and efficiency, ensuring your application runs smoothly.\",\n  },\n  {\n    icon: ShieldCheckIcon,\n    title: \"Secure by Default\",\n    description: \"Built-in security features to protect your data and users.\",\n  },\n  {\n    icon: ZapIcon,\n    title: \"Easy Integration\",\n    description: \"Simple to integrate with your existing tools and workflows.\",\n  },\n  {\n    icon: BarChartIcon,\n    title: \"Analytics\",\n    description: \"Detailed insights and metrics to track your progress.\",\n  },\n];\n\nexport default function FeatureSectionSimple() {\n  return (\n    <section className=\"container mx-auto space-y-8 px-4 py-24 md:px-6 2xl:max-w-[1400px]\">\n      <div className=\"space-y-4 text-center\">\n        <h2 className=\"text-3xl font-bold\">\n          Features that make you productive\n        </h2>\n        <p className=\"text-muted-foreground mx-auto max-w-2xl\">\n          Everything you need to get your work done efficiently and effectively.\n          Built for developers, designed for success.\n        </p>\n      </div>\n\n      <div className=\"grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-4\">\n        {features.map((feature) => (\n          <Card key={feature.title} className=\"p-0\">\n            <CardContent className=\"space-y-2 p-6\">\n              <feature.icon className=\"text-primary h-12 w-12\" />\n              <h3 className=\"font-bold\">{feature.title}</h3>\n              <p className=\"text-muted-foreground text-sm\">\n                {feature.description}\n              </p>\n            </CardContent>\n          </Card>\n        ))}\n      </div>\n    </section>\n  );\n}\n","type":"registry:component","target":"components/blocks/marketing/feature-sections/simple.tsx"},{"path":"components/ui/card.tsx","content":"import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Card({\n  className,\n  size = \"default\",\n  ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n  return (\n    <div\n      data-slot=\"card\"\n      data-size={size}\n      className={cn(\n        \"group/card flex flex-col gap-6 overflow-hidden rounded-xl bg-card py-6 text-sm text-card-foreground shadow-xs ring-1 ring-foreground/10 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-header\"\n      className={cn(\n        \"group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-title\"\n      className={cn(\n        \"font-heading text-base leading-normal font-medium group-data-[size=sm]/card:text-sm\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-description\"\n      className={cn(\"text-sm text-muted-foreground\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-action\"\n      className={cn(\n        \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-content\"\n      className={cn(\"px-6 group-data-[size=sm]/card:px-4\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-footer\"\n      className={cn(\n        \"flex items-center rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nexport {\n  Card,\n  CardHeader,\n  CardFooter,\n  CardTitle,\n  CardAction,\n  CardDescription,\n  CardContent,\n}\n","type":"registry:ui","target":"components/ui/card.tsx"}],"description":"A clean feature section with a heading, supporting text, and a short list of points. Reach for it when you want clarity over decoration on a marketing page.","dependencies":["lucide-react"]}