{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"testimonials-07","type":"registry:component","title":"Testimonials 07","description":"A responsive testimonials grid component with avatar initials and gradient backgrounds. Features customizable testimonials data, clean card layout with rounded corners, and gradient avatar initials. Perfect for showcasing customer feedback with visual appeal. Includes responsive grid layout that adapts from single column on mobile to three columns on desktop, with centered content and muted background section.","files":[{"path":"src/registry/blocks/marketing/social-proof/testimonials/testimonials-07.tsx","content":"\"use client\";\n\nimport { cn } from \"@/registry/lib/utils\";\n\nexport interface TestimonialItem {\n  quote: string;\n  name: string;\n  color: string;\n  initial: string;\n}\n\nexport interface Testimonials07Props {\n  className?: string;\n}\n\nconst content = {\n  header: {\n    title: \"Trusted by fitness enthusiasts\",\n    subtitle: \"See how our app is helping people achieve their fitness goals\",\n  },\n  testimonials: [\n    {\n      quote:\n        \"This app completely transformed my workout routine. The AI-powered recommendations are spot-on and I've seen incredible results in just 3 months.\",\n      name: \"Marcus\",\n      color: \"from-blue-500 to-purple-600\",\n      initial: \"M\",\n    },\n    {\n      quote:\n        \"Finally, a fitness app that adapts to my busy schedule. The quick workouts fit perfectly into my day and the progress tracking keeps me motivated.\",\n      name: \"Elena\",\n      color: \"from-green-500 to-teal-600\",\n      initial: \"E\",\n    },\n    {\n      quote:\n        \"The nutrition tracking is game-changing. I love how it integrates with my workouts and gives me personalized meal suggestions.\",\n      name: \"Jake\",\n      color: \"from-pink-500 to-rose-600\",\n      initial: \"J\",\n    },\n    {\n      quote:\n        \"As a beginner, I was intimidated by fitness apps. This one made everything so simple and encouraging. I actually look forward to my workouts now!\",\n      name: \"Sophie\",\n      color: \"from-orange-500 to-red-600\",\n      initial: \"S\",\n    },\n    {\n      quote:\n        \"The community features are amazing. Having workout buddies and challenges keeps me accountable and makes fitness fun again.\",\n      name: \"Carlos\",\n      color: \"from-indigo-500 to-blue-600\",\n      initial: \"C\",\n    },\n    {\n      quote:\n        \"I've tried dozens of fitness apps, but this is the only one I've stuck with for over a year. The variety and quality are unmatched.\",\n      name: \"Aria\",\n      color: \"from-purple-500 to-pink-600\",\n      initial: \"A\",\n    },\n  ],\n};\n\nexport function Testimonials07({ className }: Testimonials07Props) {\n  return (\n    <section\n      className={cn(\n        \"max-w-[100rem] mx-auto py-16 md:py-24 px-4 md:px-6 lg:px-8 bg-muted rounded-[3rem]\",\n        className,\n      )}\n    >\n      <div className=\"max-w-7xl mx-auto\">\n        <div className=\"text-center mb-16\">\n          <h2 className=\"text-3xl md:text-4xl font-bold text-gray-900 dark:text-white mb-4\">\n            {content.header.title}\n          </h2>\n          <p className=\"text-lg text-gray-600 dark:text-gray-300 max-w-2xl mx-auto\">\n            {content.header.subtitle}\n          </p>\n        </div>\n\n        <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8\">\n          {content.testimonials.map((testimonial, index) => (\n            <article\n              key={`${testimonial.name}-${index}`}\n              className=\"rounded-2xl p-8 shadow-sm bg-background\"\n            >\n              <blockquote className=\"text-gray-700 dark:text-gray-300 mb-6 leading-relaxed\">\n                \"{testimonial.quote}\"\n              </blockquote>\n              <div className=\"flex items-center\">\n                <div\n                  className={`w-8 h-8 bg-gradient-to-br ${testimonial.color} rounded-full flex items-center justify-center mr-3`}\n                >\n                  <span className=\"text-white text-sm font-bold\">\n                    {testimonial.initial}\n                  </span>\n                </div>\n                <div>\n                  <div className=\"font-semibold text-gray-900 dark:text-white\">\n                    {testimonial.name}\n                  </div>\n                </div>\n              </div>\n            </article>\n          ))}\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"}]}