{
  "name": "FeatureCardTwentySeven",
  "description": "Interactive flip cards with 3D rotation effect. Front shows title, icon, and media; back reveals description.",
  "constraints": {
    "textRules": {
      "title": {
        "required": true,
        "example": "Our Services",
        "minChars": 2,
        "maxChars": 50
      },
      "description": {
        "required": true,
        "example": "Discover what makes us different",
        "minChars": 5,
        "maxChars": 300
      },
      "tag": {
        "required": false,
        "example": "Services",
        "minChars": 2,
        "maxChars": 30
      }
    },
    "buttonRules": {
      "maxButtons": 2,
      "structure": {
        "text": "string - Button label",
        "href": "string - Link destination (optional)",
        "onClick": "() => void - Additional click handler (optional)",
        "props": "Partial<ButtonPropsForVariant> - Additional button props (optional)"
      },
      "note": "Button variant is controlled by ThemeProvider's defaultButtonVariant."
    },
    "featureRules": {
      "minItems": 3,
      "maxItems": 8,
      "recommendedItems": "4",
      "structure": {
        "id": "string - Unique identifier (required)",
        "title": "string - Card title on both sides (required)",
        "description": "string - Description shown on back side (required)",
        "imageSrc": "string - Path to image (optional if videoSrc provided)",
        "videoSrc": "string - Path to video (optional if imageSrc provided)",
        "imageAlt": "string - Alt text for image"
      },
      "note": "Each feature requires id, title, description, and media (image or video). Cards flip to reveal description on click."
    }
  },
  "propsSchema": {
    "features": "FeatureCard[] (required) - Array with id, title, description, imageSrc/videoSrc",
    "gridVariant": "GridVariant (required)",
    "animationType": "CardAnimationType (required)",
    "title": "string",
    "titleSegments?": "TitleSegment[]",
    "description": "string",
    "tag?": "string",
    "tagIcon?": "LucideIcon",
    "tagAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
    "buttons?": "ButtonConfig[]",
    "buttonAnimation?": "'none' | 'opacity' | 'slide-up' | 'blur-reveal'",
    "textboxLayout": "TextboxLayout",
    "useInvertedBackground": "InvertedBackground",
    "carouselMode?": "'auto' | 'buttons' (default: 'buttons')",
    "uniformGridCustomHeightClasses?": "string (default: 'min-h-none')",
    "ariaLabel?": "string (default: 'Feature section')",
    "className?": "string",
    "containerClassName?": "string",
    "cardClassName?": "string",
    "textBoxTitleClassName?": "string",
    "textBoxTitleImageWrapperClassName?": "string",
    "textBoxTitleImageClassName?": "string",
    "textBoxDescriptionClassName?": "string",
    "cardTitleClassName?": "string",
    "cardDescriptionClassName?": "string",
    "gridClassName?": "string",
    "carouselClassName?": "string",
    "controlsClassName?": "string",
    "textBoxClassName?": "string",
    "textBoxTagClassName?": "string",
    "textBoxButtonContainerClassName?": "string",
    "textBoxButtonClassName?": "string",
    "textBoxButtonTextClassName?": "string"
  },
  "usageExample": "<ThemeProvider defaultButtonVariant=\"icon-arrow\" borderRadius=\"rounded\">\n  <FeatureCardTwentySeven\n    title=\"Our Services\"\n    description=\"Discover what makes us different.\"\n    tag=\"Services\"\n    tagIcon={Sparkles}\n    textboxLayout=\"default\"\n    useInvertedBackground=\"noInvert\"\n    gridVariant=\"uniform-4-items\"\n    animationType=\"slide-up\"\n    features={[\n      {\n        id: \"1\",\n        title: \"Web Development\",\n        description: \"Custom websites built with modern technologies.\",\n        imageSrc: \"/service1.jpg\",\n        imageAlt: \"Web Development\"\n      },\n      {\n        id: \"2\",\n        title: \"Mobile Apps\",\n        description: \"Native and cross-platform applications.\",\n        imageSrc: \"/service2.jpg\",\n        imageAlt: \"Mobile Apps\"\n      }\n    ]}\n  />\n</ThemeProvider>",
  "do": [
    "Use for interactive feature showcases where exploration is desired",
    "Best for 3-6 items (4 recommended)",
    "Use high-quality images or videos for the front side",
    "Keep descriptions concise for back side readability"
  ],
  "dont": [
    "Do not use without media for each feature",
    "Do not use for text-heavy content on front side",
    "Do not use for more than 8 items"
  ],
  "editRules": {
    "textOnly": true,
    "layoutLocked": true,
    "styleLocked": true
  }
}
