{
  "$schema": "https://schemas.wp.org/trunk/block.json",
  "apiVersion": 3,
  "name": "bpsc/food-menu-section",
  "version": "1.0.0",
  "title": "Food & Restaurant Menu Section",
  "category": "bPlugins",
  "description": "Five restaurant and cafe menu layouts with item photos, prices, dietary badges, and category filters.",
  "keywords": [
    "menu",
    "food",
    "restaurant",
    "cafe",
    "catering",
    "pricing",
    "dietary",
    "category",
    "section"
  ],
  "textdomain": "section-collection",
  "attributes": {
    "themeStyle": {
      "type": "object",
      "default": {
        "theme": "style-1"
      }
    },
    "content": {
      "type": "object",
      "default": {
        "badgeText": "Our Menu",
        "title": "What We Serve",
        "subtitle": "Fresh ingredients, crafted with love.",
        "headerAlign": "center"
      }
    },
    "elements": {
      "type": "object",
      "default": {
        "isBadge": true,
        "isTitle": true,
        "isSubtitle": true,
        "isImages": true,
        "isBadgeChip": true,
        "isDietaryBadges": true,
        "isDietaryLegend": false,
        "isCategoryFilter": true,
        "isCta": true,
        "isOldPrice": true,
        "currencyPosition": "prefix"
      }
    },
    "menuItems": {
      "type": "array",
      "default": [
        {
          "id": "m1",
          "name": "Margherita Pizza",
          "category": "Pizza",
          "description": "Classic tomato base with fresh mozzarella and basil.",
          "price": "14.99",
          "oldPrice": "",
          "image": "",
          "imageAlt": "",
          "badgeLabel": "Popular",
          "badgeColor": "#ef4444",
          "dietaryBadges": [
            "V"
          ],
          "isSpotlight": true,
          "isUnavailable": false,
          "linkUrl": "",
          "linkNewTab": false
        },
        {
          "id": "m2",
          "name": "Grilled Salmon",
          "category": "Mains",
          "description": "Atlantic salmon fillet with lemon butter and seasonal greens.",
          "price": "22.99",
          "oldPrice": "",
          "image": "",
          "imageAlt": "",
          "badgeLabel": "Chef's Pick",
          "badgeColor": "#f59e0b",
          "dietaryBadges": [
            "GF",
            "DF"
          ],
          "isSpotlight": false,
          "isUnavailable": false,
          "linkUrl": "",
          "linkNewTab": false
        },
        {
          "id": "m3",
          "name": "Truffle Arancini",
          "category": "Starters",
          "description": "Crispy risotto balls with black truffle, parmesan, and aioli.",
          "price": "11.99",
          "oldPrice": "13.99",
          "image": "",
          "imageAlt": "",
          "badgeLabel": "New",
          "badgeColor": "#10b981",
          "dietaryBadges": [
            "V",
            "VG"
          ],
          "isSpotlight": false,
          "isUnavailable": false,
          "linkUrl": "",
          "linkNewTab": false
        },
        {
          "id": "m4",
          "name": "Chocolate Lava Cake",
          "category": "Desserts",
          "description": "Warm chocolate fondant with vanilla ice cream and raspberry coulis.",
          "price": "9.99",
          "oldPrice": "",
          "image": "",
          "imageAlt": "",
          "badgeLabel": "",
          "badgeColor": "#6366f1",
          "dietaryBadges": [
            "V"
          ],
          "isSpotlight": false,
          "isUnavailable": false,
          "linkUrl": "",
          "linkNewTab": false
        },
        {
          "id": "m5",
          "name": "Craft Lemonade",
          "category": "Drinks",
          "description": "House-made lemonade with fresh mint and a hint of ginger.",
          "price": "4.99",
          "oldPrice": "",
          "image": "",
          "imageAlt": "",
          "badgeLabel": "",
          "badgeColor": "#6366f1",
          "dietaryBadges": [
            "VG",
            "GF"
          ],
          "isSpotlight": false,
          "isUnavailable": false,
          "linkUrl": "",
          "linkNewTab": false
        },
        {
          "id": "m6",
          "name": "Mushroom Risotto",
          "category": "Mains",
          "description": "Creamy arborio rice with wild mushrooms, truffle oil, and parmesan.",
          "price": "18.99",
          "oldPrice": "",
          "image": "",
          "imageAlt": "",
          "badgeLabel": "",
          "badgeColor": "#6366f1",
          "dietaryBadges": [
            "V",
            "GF"
          ],
          "isSpotlight": false,
          "isUnavailable": false,
          "linkUrl": "",
          "linkNewTab": false
        }
      ]
    },
    "categories": {
      "type": "array",
      "default": []
    },
    "currency": {
      "type": "object",
      "default": {
        "symbol": "$",
        "position": "prefix"
      }
    },
    "layout": {
      "type": "object",
      "default": {
        "columns": {
          "desktop": 3,
          "tablet": 2,
          "mobile": 1
        },
        "gap": {
          "desktop": "24px",
          "tablet": "20px",
          "mobile": "16px"
        },
        "maxWidth": "1200px",
        "contentAlign": "center"
      }
    },
    "bottomCta": {
      "type": "object",
      "default": {
        "btnOneLabel": "View Full Menu",
        "btnOneUrl": "#",
        "btnOneNewTab": false,
        "btnTwoLabel": "Reserve a Table",
        "btnTwoUrl": "#",
        "btnTwoNewTab": false
      }
    },
    "accentColor": {
      "type": "object",
      "default": {
        "color": "#f59e0b"
      }
    },
    "cardStyle": {
      "type": "object",
      "default": {
        "backgroundColor": "#ffffff",
        "borderColor": "#e5e7eb",
        "borderWidth": "1px",
        "borderRadius": {
          "top": "12px",
          "right": "12px",
          "bottom": "12px",
          "left": "12px"
        },
        "shadow": "0 2px 8px rgba(0,0,0,0.07)",
        "hoverShadow": "0 10px 32px rgba(0,0,0,0.12)",
        "imgHeight": "200px",
        "nameColor": "#111827",
        "descriptionColor": "#6b7280",
        "priceColor": "#111827",
        "oldPriceColor": "#9ca3af",
        "unavailableOpacity": "0.5"
      }
    },
    "nameStyle": {
      "type": "object",
      "default": {
        "color": "#111827",
        "typo": {
          "fontCategory": "sans-serif",
          "fontFamily": "Default",
          "fontWeight": 700,
          "isUploadFont": true,
          "fontSize": {
            "desktop": 18,
            "tablet": 16,
            "mobile": 15
          },
          "lineHeight": "1.3",
          "letterSpace": "0px"
        }
      }
    },
    "descriptionStyle": {
      "type": "object",
      "default": {
        "color": "#6b7280",
        "typo": {
          "fontCategory": "sans-serif",
          "fontFamily": "Default",
          "fontWeight": 400,
          "isUploadFont": true,
          "fontSize": {
            "desktop": 14,
            "tablet": 14,
            "mobile": 13
          },
          "lineHeight": "1.6",
          "letterSpace": "0px"
        }
      }
    },
    "priceStyle": {
      "type": "object",
      "default": {
        "color": "#111827",
        "typo": {
          "fontCategory": "sans-serif",
          "fontFamily": "Default",
          "fontWeight": 800,
          "isUploadFont": true,
          "fontSize": {
            "desktop": 18,
            "tablet": 17,
            "mobile": 16
          },
          "lineHeight": "1.2",
          "letterSpace": "0px"
        }
      }
    },
    "sectionHeaderStyle": {
      "type": "object",
      "default": {
        "titleColor": "#111827",
        "subtitleColor": "#6b7280",
        "badgeBg": "#fef3c7",
        "badgeColor": "#d97706",
        "titleTypo": {
          "fontCategory": "sans-serif",
          "fontFamily": "Default",
          "fontWeight": 800,
          "isUploadFont": true,
          "fontSize": {
            "desktop": 42,
            "tablet": 34,
            "mobile": 26
          },
          "lineHeight": "1.15",
          "letterSpace": "-0.02em"
        },
        "subtitleTypo": {
          "fontCategory": "sans-serif",
          "fontFamily": "Default",
          "fontWeight": 400,
          "isUploadFont": true,
          "fontSize": {
            "desktop": 18,
            "tablet": 17,
            "mobile": 16
          },
          "lineHeight": "1.6",
          "letterSpace": "0px"
        }
      }
    },
    "filterStyle": {
      "type": "object",
      "default": {
        "activeBg": "#f59e0b",
        "activeColor": "#ffffff",
        "inactiveBg": "#f3f4f6",
        "inactiveColor": "#374151",
        "hoverBg": "#fef3c7",
        "hoverColor": "#d97706",
        "borderRadius": {
          "top": "20px",
          "right": "20px",
          "bottom": "20px",
          "left": "20px"
        },
        "typo": {
          "fontCategory": "sans-serif",
          "fontFamily": "Default",
          "fontWeight": 600,
          "isUploadFont": true,
          "fontSize": {
            "desktop": 14,
            "tablet": 13,
            "mobile": 13
          },
          "lineHeight": "1.4",
          "letterSpace": "0px"
        }
      }
    },
    "ctaStyle": {
      "type": "object",
      "default": {
        "btnOneBg": "#f59e0b",
        "btnOneColor": "#ffffff",
        "btnOneHoverBg": "#d97706",
        "btnOneHoverColor": "#ffffff",
        "btnTwoBg": "transparent",
        "btnTwoColor": "#374151",
        "btnTwoHoverBg": "#f3f4f6",
        "btnTwoHoverColor": "#111827",
        "btnTwoBorder": "#d1d5db",
        "borderRadius": {
          "top": "10px",
          "right": "10px",
          "bottom": "10px",
          "left": "10px"
        },
        "padding": {
          "desktop": {
            "top": "13px",
            "right": "28px",
            "bottom": "13px",
            "left": "28px"
          },
          "tablet": {
            "top": "11px",
            "right": "22px",
            "bottom": "11px",
            "left": "22px"
          },
          "mobile": {
            "top": "10px",
            "right": "18px",
            "bottom": "10px",
            "left": "18px"
          }
        },
        "typo": {
          "fontCategory": "sans-serif",
          "fontFamily": "Default",
          "fontWeight": 600,
          "isUploadFont": true,
          "fontSize": {
            "desktop": 15,
            "tablet": 14,
            "mobile": 14
          },
          "lineHeight": "1.4",
          "letterSpace": "0px"
        }
      }
    },
    "wrapper": {
      "type": "object",
      "default": {
        "bg": {
          "type": "solid",
          "color": "#ffffff",
          "gradient": "linear-gradient(135deg, #fef3c7 0%, #fffbeb 100%)",
          "image": {
            "url": ""
          },
          "position": "center center",
          "size": "cover",
          "repeat": "no-repeat",
          "overlayColor": "rgba(0,0,0,0)"
        },
        "padding": {
          "desktop": {
            "top": "80px",
            "right": "24px",
            "bottom": "80px",
            "left": "24px"
          },
          "tablet": {
            "top": "60px",
            "right": "20px",
            "bottom": "60px",
            "left": "20px"
          },
          "mobile": {
            "top": "48px",
            "right": "16px",
            "bottom": "48px",
            "left": "16px"
          }
        }
      }
    },
    "align": {
      "type": "string",
      "default": "full"
    }
  },
  "supports": {
    "align": [
      "wide",
      "full"
    ],
    "html": false
  },
  "example": {
    "attributes": {}
  },
  "editorScript": "file:../index.js",
  "style": "file:./view.css",
  "render": "file:./render.php",
  "viewScript": "file:./view.js"
}