{
  "$schema": "https://schemas.wp.org/trunk/block.json",
  "apiVersion": 3,
  "name": "bpsc/project-portfolio-section",
  "version": "1.0.0",
  "title": "Project Portfolio Section",
  "category": "bPlugins",
  "description": "Showcase agency or freelance work with five portfolio layouts, category filters, and hover overlays.",
  "keywords": [
    "portfolio",
    "projects",
    "showcase",
    "agency",
    "case study",
    "work",
    "gallery",
    "section"
  ],
  "textdomain": "section-collection",
  "attributes": {
    "themeStyle": {
      "type": "object",
      "default": {
        "theme": "style-1"
      }
    },
    "content": {
      "type": "object",
      "default": {
        "badgeText": "Our Work",
        "title": "Featured Projects",
        "subtitle": "A selection of recent work across design, development, and strategy.",
        "headerAlign": "center"
      }
    },
    "elements": {
      "type": "object",
      "default": {
        "isBadge": true,
        "isTitle": true,
        "isSubtitle": true,
        "isClient": true,
        "isYear": true,
        "isTags": true,
        "isDescription": true,
        "isProjectLink": true,
        "isCaseStudyLink": true,
        "isFeaturedBadge": true,
        "isHoverOverlay": true,
        "isCategoryFilter": true,
        "isCta": false
      }
    },
    "projects": {
      "type": "array",
      "default": [
        {
          "id": "proj-1",
          "image": {
            "url": "",
            "id": 0
          },
          "imageAlt": "",
          "title": "Brand Redesign",
          "client": "Acme Corp",
          "year": "2025",
          "category": "Branding",
          "tags": "Brand Strategy, Visual Identity, Typography",
          "description": "A full brand overhaul including logo, colour system, and guidelines.",
          "projectUrl": "",
          "projectUrlLabel": "View Project",
          "projectUrlNewTab": true,
          "caseStudyUrl": "",
          "caseStudyUrlLabel": "Read Case Study",
          "caseStudyUrlNewTab": true,
          "isFeatured": false,
          "accentColor": "#6366f1"
        },
        {
          "id": "proj-2",
          "image": {
            "url": "",
            "id": 0
          },
          "imageAlt": "",
          "title": "SaaS Dashboard",
          "client": "TechFlow Inc",
          "year": "2025",
          "category": "UI Design",
          "tags": "Figma, Design System, UX Research",
          "description": "End-to-end product design for a B2B analytics platform with 50+ components.",
          "projectUrl": "",
          "projectUrlLabel": "View Project",
          "projectUrlNewTab": true,
          "caseStudyUrl": "",
          "caseStudyUrlLabel": "Read Case Study",
          "caseStudyUrlNewTab": true,
          "isFeatured": true,
          "accentColor": "#0ea5e9"
        },
        {
          "id": "proj-3",
          "image": {
            "url": "",
            "id": 0
          },
          "imageAlt": "",
          "title": "E-Commerce Platform",
          "client": "Retail Giant",
          "year": "2024",
          "category": "Development",
          "tags": "React, Node.js, Tailwind CSS",
          "description": "Full-stack e-commerce solution with custom checkout and inventory management.",
          "projectUrl": "",
          "projectUrlLabel": "View Project",
          "projectUrlNewTab": true,
          "caseStudyUrl": "",
          "caseStudyUrlLabel": "Read Case Study",
          "caseStudyUrlNewTab": true,
          "isFeatured": false,
          "accentColor": "#10b981"
        }
      ]
    },
    "filter": {
      "type": "object",
      "default": {
        "enabled": true,
        "allLabel": "All",
        "filterBy": "category"
      }
    },
    "grid": {
      "type": "object",
      "default": {
        "columns": {
          "desktop": 3,
          "tablet": 2,
          "mobile": 1
        },
        "gap": {
          "desktop": "24px",
          "tablet": "20px",
          "mobile": "16px"
        },
        "imageAspect": "4/3"
      }
    },
    "bottomCta": {
      "type": "object",
      "default": {
        "btnOneLabel": "View All Projects",
        "btnOneUrl": "",
        "btnOneNewTab": false,
        "btnTwoLabel": "",
        "btnTwoUrl": "",
        "btnTwoNewTab": false
      }
    },
    "accentColor": {
      "type": "object",
      "default": {
        "color": "#6366f1"
      }
    },
    "cardStyle": {
      "type": "object",
      "default": {
        "backgroundColor": "#ffffff",
        "borderColor": "#e5e7eb",
        "borderWidth": "1px",
        "borderRadius": {
          "top": "12px",
          "right": "12px",
          "bottom": "12px",
          "left": "12px"
        },
        "shadow": "0 4px 12px -2px rgba(0,0,0,0.08)",
        "hoverShadow": "0 12px 32px -4px rgba(0,0,0,0.14)",
        "hoverAccentBorder": true
      }
    },
    "projectTitleStyle": {
      "type": "object",
      "default": {
        "color": "#111827",
        "typo": {
          "fontCategory": "sans-serif",
          "fontFamily": "Default",
          "fontWeight": 700,
          "isUploadFont": true,
          "fontSize": {
            "desktop": 20,
            "tablet": 18,
            "mobile": 17
          },
          "lineHeight": "1.3",
          "letterSpace": "0px"
        }
      }
    },
    "metaStyle": {
      "type": "object",
      "default": {
        "clientColor": "#6b7280",
        "yearColor": "#9ca3af",
        "descriptionColor": "#374151",
        "descriptionTypo": {
          "fontCategory": "sans-serif",
          "fontFamily": "Default",
          "fontWeight": 400,
          "isUploadFont": true,
          "fontSize": {
            "desktop": 14,
            "tablet": 14,
            "mobile": 13
          },
          "lineHeight": "1.6",
          "letterSpace": "0px"
        }
      }
    },
    "tagStyle": {
      "type": "object",
      "default": {
        "chipBg": "rgba(99,102,241,0.1)",
        "chipColor": "#4f46e5",
        "chipRadius": {
          "top": "6px",
          "right": "6px",
          "bottom": "6px",
          "left": "6px"
        }
      }
    },
    "filterPillStyle": {
      "type": "object",
      "default": {
        "bg": "#f3f4f6",
        "color": "#374151",
        "activeBg": "#6366f1",
        "activeColor": "#ffffff",
        "borderRadius": {
          "top": "20px",
          "right": "20px",
          "bottom": "20px",
          "left": "20px"
        }
      }
    },
    "sectionHeaderStyle": {
      "type": "object",
      "default": {
        "titleColor": "#111827",
        "subtitleColor": "#6b7280",
        "badgeBg": "#eef2ff",
        "badgeColor": "#4f46e5",
        "titleTypo": {
          "fontCategory": "sans-serif",
          "fontFamily": "Default",
          "fontWeight": 800,
          "isUploadFont": true,
          "fontSize": {
            "desktop": 48,
            "tablet": 40,
            "mobile": 32
          },
          "lineHeight": "1.1",
          "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"
        }
      }
    },
    "ctaStyle": {
      "type": "object",
      "default": {
        "btnOneBg": "#6366f1",
        "btnOneColor": "#ffffff",
        "btnOneHoverBg": "#4f46e5",
        "btnOneHoverColor": "#ffffff",
        "btnTwoBg": "transparent",
        "btnTwoColor": "#374151",
        "btnTwoHoverBg": "#f3f4f6",
        "borderRadius": {
          "top": "8px",
          "right": "8px",
          "bottom": "8px",
          "left": "8px"
        },
        "padding": {
          "desktop": {
            "top": "12px",
            "right": "28px",
            "bottom": "12px",
            "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": "#f9fafb",
          "gradient": "linear-gradient(135deg, #f9fafb 0%, #eef2ff 100%)",
          "image": {
            "url": ""
          },
          "position": "center center",
          "size": "cover",
          "repeat": "no-repeat",
          "overlayColor": "rgba(0,0,0,0)"
        },
        "padding": {
          "desktop": {
            "top": "90px",
            "right": "24px",
            "bottom": "90px",
            "left": "24px"
          },
          "tablet": {
            "top": "64px",
            "right": "20px",
            "bottom": "64px",
            "left": "20px"
          },
          "mobile": {
            "top": "48px",
            "right": "16px",
            "bottom": "48px",
            "left": "16px"
          }
        },
        "maxWidth": "1280px"
      }
    },
    "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"
}