[
  {
    "name": "Cartes de visite",
    "category": "Papeterie",
    "subcategory": "Carterie",
    "formats": "85x55mm ; 85x54mm ; 90x50mm",
    "materials": "Couché mat ; recyclé ; texturé",
    "grammages": "300g ; 350g ; 400g",
    "printing": "Quadri recto ; quadri recto/verso",
    "finishes": "Sans ; Pelliculage mat ; Soft Touch ; vernis sélectif",
    "options": "Coins arrondis ; découpe à la forme ; nominatif variable",
    "notes": "Produit très standard, avec nombreuses variantes premium et PVC transparent",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "85x55mm",
          "85x54mm",
          "90x50mm"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Couché mat",
          "recyclé",
          "texturé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "300g",
          "350g",
          "400g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage mat",
          "Soft Touch",
          "vernis sélectif"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Coins arrondis",
          "découpe à la forme",
          "nominatif variable"
        ]
      }
    ],
    "description": "Cartes de visite — Papeterie / Carterie. Produit très standard, avec nombreuses variantes premium et PVC transparent."
  },
  {
    "name": "Flyers",
    "category": "Papeterie",
    "subcategory": "Prospectus",
    "formats": "A6 ; A5 ; A4",
    "materials": "Couché mat ; couché brillant ; recyclé",
    "grammages": "135g ; 170g ; 250g",
    "printing": "Quadri recto ; quadri recto/verso",
    "finishes": "Aucune ; vernis sélectif ; pelliculage mat ; brillant",
    "options": "Coins arrondis ; perforation ; numérotation",
    "notes": "Support de diffusion de masse",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A6",
          "A5",
          "A4"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Couché mat",
          "couché brillant",
          "recyclé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "135g",
          "170g",
          "250g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune",
          "vernis sélectif",
          "pelliculage mat",
          "brillant"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Coins arrondis",
          "perforation",
          "numérotation"
        ]
      }
    ],
    "description": "Flyers — Papeterie / Prospectus. Support de diffusion de masse."
  },
  {
    "name": "Dépliants",
    "category": "Papeterie",
    "subcategory": "Dépliant",
    "formats": "A4 ouvert ; A3 ouvert ; DL ouvert",
    "materials": "Couché mat ; couché brillant ; offset",
    "grammages": "135g ; 170g ; 250g",
    "printing": "Quadri recto/verso",
    "finishes": "Aucune ; pelliculage ; vernis sélectif",
    "options": "Sans ; 1 pli ; 2 plis roulés",
    "notes": "Produit standard en communication commerciale",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A4 ouvert",
          "A3 ouvert",
          "DL ouvert"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Couché mat",
          "couché brillant",
          "offset"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "135g",
          "170g",
          "250g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune",
          "pelliculage",
          "vernis sélectif"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "1 pli",
          "2 plis roulés"
        ]
      }
    ],
    "description": "Dépliants — Papeterie / Dépliant. Produit standard en communication commerciale."
  },
  {
    "name": "Têtes de lettre",
    "category": "Papeterie",
    "subcategory": "Papier à en-tête",
    "formats": "A4 ; A5 ; A6",
    "materials": "Offset ; recyclé ; vergé",
    "grammages": "80g ; 100g ; 120g",
    "printing": "Quadri recto ; noir recto",
    "finishes": "Aucune",
    "options": "Sans ; Préperforation ; numérotation",
    "notes": "À associer souvent avec enveloppes et cartes de correspondance",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A4",
          "A5",
          "A6"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Offset",
          "recyclé",
          "vergé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "80g",
          "100g",
          "120g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "noir recto"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Préperforation",
          "numérotation"
        ]
      }
    ],
    "description": "Têtes de lettre — Papeterie / Papier à en-tête. À associer souvent avec enveloppes et cartes de correspondance."
  },
  {
    "name": "Enveloppes",
    "category": "Papeterie",
    "subcategory": "Envelopperie",
    "formats": "C6 ; C5 ; C4",
    "materials": "Offset blanc ; recyclé ; kraft",
    "grammages": "80g ; 100g ; 120g",
    "printing": "Noir ; quadri",
    "finishes": "Sans ; Fenêtre ; adhésive ; gommée",
    "options": "Sans ; Patte trapèze ; auto-adhésive",
    "notes": "Souvent utilisées avec têtes de lettre",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "C6",
          "C5",
          "C4"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Offset blanc",
          "recyclé",
          "kraft"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "80g",
          "100g",
          "120g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Noir",
          "quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Fenêtre",
          "adhésive",
          "gommée"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Patte trapèze",
          "auto-adhésive"
        ]
      }
    ],
    "description": "Enveloppes — Papeterie / Envelopperie. Souvent utilisées avec têtes de lettre."
  },
  {
    "name": "Chemises à rabats",
    "category": "Papeterie",
    "subcategory": "Dossier / chemise",
    "formats": "A4 ; A5 ; dos 0 à 10 mm",
    "materials": "Couché mat ; couché demi-mat ; offset",
    "grammages": "300g ; 350g ; 400g",
    "printing": "Quadri recto ; quadri recto/verso",
    "finishes": "Sans ; Pelliculage mat ; brillant ; Soft Touch",
    "options": "Sans ; 1 ou 2 rabats ; encoche carte de visite",
    "notes": "Très demandé en B2B et administratif",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A4",
          "A5",
          "dos 0 à 10 mm"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Couché mat",
          "couché demi-mat",
          "offset"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "300g",
          "350g",
          "400g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage mat",
          "brillant",
          "Soft Touch"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "1 ou 2 rabats",
          "encoche carte de visite"
        ]
      }
    ],
    "description": "Chemises à rabats — Papeterie / Dossier / chemise. Très demandé en B2B et administratif."
  },
  {
    "name": "Cartes postales",
    "category": "Papeterie",
    "subcategory": "Carterie",
    "formats": "A6 ; A5 ; 148x148",
    "materials": "Couché mat ; couché brillant ; recyclé",
    "grammages": "300g ; 400g ; 450g",
    "printing": "Quadri recto ; quadri recto/verso",
    "finishes": "Sans ; Pelliculage ; vernis sélectif ; dorure",
    "options": "Sans ; Coins arrondis ; données variables",
    "notes": "Support promo et correspondance",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A6",
          "A5",
          "148x148"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Couché mat",
          "couché brillant",
          "recyclé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "300g",
          "400g",
          "450g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis sélectif",
          "dorure"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Coins arrondis",
          "données variables"
        ]
      }
    ],
    "description": "Cartes postales — Papeterie / Carterie. Support promo et correspondance."
  },
  {
    "name": "Cartes de correspondance",
    "category": "Papeterie",
    "subcategory": "Correspondance",
    "formats": "82x128 ; A6 ; 100x210",
    "materials": "Offset ; création ; recyclé",
    "grammages": "250g ; 300g ; 350g",
    "printing": "Quadri ; noir",
    "finishes": "Aucune ; gaufrage ; dorure ; letterpress",
    "options": "Sans ; Coins arrondis ; coffret",
    "notes": "Support plus premium que le flyer",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "82x128",
          "A6",
          "100x210"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Offset",
          "création",
          "recyclé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "250g",
          "300g",
          "350g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "noir"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune",
          "gaufrage",
          "dorure",
          "letterpress"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Coins arrondis",
          "coffret"
        ]
      }
    ],
    "description": "Cartes de correspondance — Papeterie / Correspondance. Support plus premium que le flyer."
  },
  {
    "name": "Faire-part / invitations",
    "category": "Papeterie",
    "subcategory": "Événement privé / corporate",
    "formats": "A6 ; A5 ; carré",
    "materials": "Création ; texturé ; calque",
    "grammages": "250g ; 350g ; 400g",
    "printing": "Quadri ; pantone",
    "finishes": "Sans ; Dorure ; gaufrage ; vernis",
    "options": "Sans ; Pli simple ; découpe",
    "notes": "Produit événementiel et haut de gamme",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A6",
          "A5",
          "carré"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Création",
          "texturé",
          "calque"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "250g",
          "350g",
          "400g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "pantone"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Dorure",
          "gaufrage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pli simple",
          "découpe"
        ]
      }
    ],
    "description": "Faire-part / invitations — Papeterie / Événement privé / corporate. Produit événementiel et haut de gamme."
  },
  {
    "name": "Brochures agrafées",
    "category": "Papeterie",
    "subcategory": "Brochure",
    "formats": "A5 ; A4 ; carré",
    "materials": "Couché mat ; couché brillant ; offset",
    "grammages": "Couverture 170g à 350g ; intérieur 90g à 170g",
    "printing": "Quadri recto/verso",
    "finishes": "Sans ; Pelliculage couverture ; vernis ; dos piqué métal",
    "options": "Sans ; 2 points métal ; pagination",
    "notes": "Standard pour catalogues courts et rapports",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A5",
          "A4",
          "carré"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Couché mat",
          "couché brillant",
          "offset"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "Couverture 170g à 350g",
          "intérieur 90g à 170g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage couverture",
          "vernis",
          "dos piqué métal"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "2 points métal",
          "pagination"
        ]
      }
    ],
    "description": "Brochures agrafées — Papeterie / Brochure. Standard pour catalogues courts et rapports."
  },
  {
    "name": "Catalogues dos carré collé",
    "category": "Papeterie",
    "subcategory": "Catalogue",
    "formats": "A4 ; A5 ; carré",
    "materials": "Couché mat ; couché brillant ; offset",
    "grammages": "Couverture 250g à 350g ; intérieur 90g à 170g",
    "printing": "Quadri recto/verso",
    "finishes": "Sans ; Pelliculage couverture ; vernis ; tranche",
    "options": "Sans ; Dos carré collé ; rabats couverture",
    "notes": "Pour pagination importante",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A4",
          "A5",
          "carré"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Couché mat",
          "couché brillant",
          "offset"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "Couverture 250g à 350g",
          "intérieur 90g à 170g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage couverture",
          "vernis",
          "tranche"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Dos carré collé",
          "rabats couverture"
        ]
      }
    ],
    "description": "Catalogues dos carré collé — Papeterie / Catalogue. Pour pagination importante."
  },
  {
    "name": "Livres à couverture rigide",
    "category": "Papeterie",
    "subcategory": "Édition",
    "formats": "A5 ; A4 ; carré",
    "materials": "Papier bouffant ; offset ; couché",
    "grammages": "Couverture rigide 2 à 3 mm ; intérieur 80g à 170g",
    "printing": "Noir ; quadri",
    "finishes": "Sans ; Pelliculage ; marquage à chaud ; vernis",
    "options": "Sans ; Dos rond ou carré ; tranchefile",
    "notes": "Segment édition / beau livre",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A5",
          "A4",
          "carré"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Papier bouffant",
          "offset",
          "couché"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "Couverture rigide 2 à 3 mm",
          "intérieur 80g à 170g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Noir",
          "quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "marquage à chaud",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Dos rond ou carré",
          "tranchefile"
        ]
      }
    ],
    "description": "Livres à couverture rigide — Papeterie / Édition. Segment édition / beau livre."
  },
  {
    "name": "Affiches",
    "category": "Papeterie",
    "subcategory": "Affichage",
    "formats": "A4 ; A3 ; A2",
    "materials": "Couché mat ; couché brillant ; affiche dos bleu",
    "grammages": "135g ; 150g ; 170g",
    "printing": "Quadri recto",
    "finishes": "Aucune ; pelliculage ; vernis anti-UV",
    "options": "Sans ; Plis ; roulage",
    "notes": "Affichage intérieur / urbain / vitrine",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A4",
          "A3",
          "A2"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Couché mat",
          "couché brillant",
          "affiche dos bleu"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "135g",
          "150g",
          "170g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune",
          "pelliculage",
          "vernis anti-UV"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Plis",
          "roulage"
        ]
      }
    ],
    "description": "Affiches — Papeterie / Affichage. Affichage intérieur / urbain / vitrine."
  },
  {
    "name": "Calendriers muraux",
    "category": "Papeterie",
    "subcategory": "Calendrier",
    "formats": "A4 ; A3 ; 297x600",
    "materials": "Couché ; offset ; recyclé",
    "grammages": "170g ; 250g ; 300g",
    "printing": "Quadri recto ; quadri recto/verso",
    "finishes": "Sans ; Pelliculage couverture ; vernis",
    "options": "Sans ; Spirale ; trou de suspension",
    "notes": "Produit corporate et cadeau",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A4",
          "A3",
          "297x600"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Couché",
          "offset",
          "recyclé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "170g",
          "250g",
          "300g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage couverture",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Spirale",
          "trou de suspension"
        ]
      }
    ],
    "description": "Calendriers muraux — Papeterie / Calendrier. Produit corporate et cadeau."
  },
  {
    "name": "Calendriers chevalet",
    "category": "Papeterie",
    "subcategory": "Calendrier de bureau",
    "formats": "A5 ; A4 ; DL",
    "materials": "Couché ; offset ; recyclé",
    "grammages": "200g ; 250g ; 300g",
    "printing": "Quadri recto/verso",
    "finishes": "Sans ; Pelliculage ; vernis",
    "options": "Sans ; Chevalet carton ; spirale",
    "notes": "Bon support relationnel",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A5",
          "A4",
          "DL"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Couché",
          "offset",
          "recyclé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "200g",
          "250g",
          "300g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Chevalet carton",
          "spirale"
        ]
      }
    ],
    "description": "Calendriers chevalet — Papeterie / Calendrier de bureau. Bon support relationnel."
  },
  {
    "name": "Blocs-notes collés",
    "category": "Papeterie",
    "subcategory": "Bloc-notes",
    "formats": "A6 ; A5 ; A4",
    "materials": "Offset ; recyclé ; autocopiant",
    "grammages": "80g ; 90g ; 100g",
    "printing": "Quadri ; noir",
    "finishes": "Aucune",
    "options": "Sans ; Encollage en tête ; support carton",
    "notes": "Classique pour bureaux et salons",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A6",
          "A5",
          "A4"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Offset",
          "recyclé",
          "autocopiant"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "80g",
          "90g",
          "100g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "noir"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Encollage en tête",
          "support carton"
        ]
      }
    ],
    "description": "Blocs-notes collés — Papeterie / Bloc-notes. Classique pour bureaux et salons."
  },
  {
    "name": "Carnets autocopiants",
    "category": "Papeterie",
    "subcategory": "Autocopiant",
    "formats": "A6 ; A5 ; A4",
    "materials": "Autocopiant CB/CFB/CF ; NCR",
    "grammages": "56g ; 60g ; 70g",
    "printing": "Noir ; pantone",
    "finishes": "Sans ; Numérotation ; microperforation ; couverture",
    "options": "Sans ; liasses ; carnets",
    "notes": "Usage administratif et livraison",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A6",
          "A5",
          "A4"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Autocopiant CB/CFB/CF",
          "NCR"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "56g",
          "60g",
          "70g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Noir",
          "pantone"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Numérotation",
          "microperforation",
          "couverture"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "liasses",
          "carnets"
        ]
      }
    ],
    "description": "Carnets autocopiants — Papeterie / Autocopiant. Usage administratif et livraison."
  },
  {
    "name": "Sets de table papier",
    "category": "Papeterie",
    "subcategory": "Restauration",
    "formats": "A3 ; 297x420 ; 300x400",
    "materials": "Offset ; recyclé ; kraft",
    "grammages": "80g ; 100g ; 120g",
    "printing": "Quadri recto",
    "finishes": "Aucune",
    "options": "Sans ; Bloc collé ; feuille volante",
    "notes": "Restauration rapide ou événementielle",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A3",
          "297x420",
          "300x400"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Offset",
          "recyclé",
          "kraft"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "80g",
          "100g",
          "120g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Bloc collé",
          "feuille volante"
        ]
      }
    ],
    "description": "Sets de table papier — Papeterie / Restauration. Restauration rapide ou événementielle."
  },
  {
    "name": "Menus",
    "category": "Papeterie",
    "subcategory": "Restauration",
    "formats": "A5 ; A4 ; DL",
    "materials": "Synthétique ; PVC ; couché",
    "grammages": "250g ; 300g ; 350g",
    "printing": "Quadri ; pantone",
    "finishes": "Sans ; Pelliculage ; vernis ; Soft Touch",
    "options": "Sans ; Pli simple ; reliure",
    "notes": "Restaurant, hôtel, événement",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A5",
          "A4",
          "DL"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Synthétique",
          "PVC",
          "couché"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "250g",
          "300g",
          "350g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "pantone"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis",
          "Soft Touch"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pli simple",
          "reliure"
        ]
      }
    ],
    "description": "Menus — Papeterie / Restauration. Restaurant, hôtel, événement."
  },
  {
    "name": "Sous-mains",
    "category": "Papeterie",
    "subcategory": "Bureau",
    "formats": "A2 ; A3 ; 400x550",
    "materials": "Offset ; recyclé",
    "grammages": "80g ; 90g",
    "printing": "Quadri recto",
    "finishes": "Aucune",
    "options": "Sans ; Bloc collé ; 25 à 50 feuilles",
    "notes": "Objet publicitaire de bureau",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A2",
          "A3",
          "400x550"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Offset",
          "recyclé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "80g",
          "90g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Bloc collé",
          "25 à 50 feuilles"
        ]
      }
    ],
    "description": "Sous-mains — Papeterie / Bureau. Objet publicitaire de bureau."
  },
  {
    "name": "Marque-pages",
    "category": "Papeterie",
    "subcategory": "Carterie",
    "formats": "50x210 ; 60x200 ; 70x210",
    "materials": "Couché mat ; couché brillant ; création",
    "grammages": "250g ; 350g ; 400g",
    "printing": "Quadri recto ; quadri recto/verso",
    "finishes": "Sans ; Pelliculage ; vernis sélectif ; dorure",
    "options": "Sans ; Coins arrondis ; perforation",
    "notes": "Produit simple à forte valeur perçue",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "50x210",
          "60x200",
          "70x210"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Couché mat",
          "couché brillant",
          "création"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "250g",
          "350g",
          "400g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis sélectif",
          "dorure"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Coins arrondis",
          "perforation"
        ]
      }
    ],
    "description": "Marque-pages — Papeterie / Carterie. Produit simple à forte valeur perçue."
  },
  {
    "name": "Notices / fiches techniques",
    "category": "Papeterie",
    "subcategory": "Notice",
    "formats": "A4 ; A5 ; A3",
    "materials": "Offset ; bible ; recyclé",
    "grammages": "60g ; 80g ; 90g",
    "printing": "Noir ; quadri",
    "finishes": "Aucune",
    "options": "Sans ; Plis ; roulage",
    "notes": "Très utilisé en santé, industrie, cosmétiques",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A4",
          "A5",
          "A3"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Offset",
          "bible",
          "recyclé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "60g",
          "80g",
          "90g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Noir",
          "quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Plis",
          "roulage"
        ]
      }
    ],
    "description": "Notices / fiches techniques — Papeterie / Notice. Très utilisé en santé, industrie, cosmétiques."
  },
  {
    "name": "Billets / tickets",
    "category": "Papeterie",
    "subcategory": "Billetterie",
    "formats": "150x50 ; 180x60 ; DL",
    "materials": "Offset ; recyclé ; création",
    "grammages": "90g ; 170g ; 250g",
    "printing": "Quadri ; noir",
    "finishes": "Aucune ; vernis",
    "options": "Sans ; Numérotation ; souche",
    "notes": "Événementiel, tombola, spectacles",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "150x50",
          "180x60",
          "DL"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Offset",
          "recyclé",
          "création"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "90g",
          "170g",
          "250g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "noir"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Numérotation",
          "souche"
        ]
      }
    ],
    "description": "Billets / tickets — Papeterie / Billetterie. Événementiel, tombola, spectacles."
  },
  {
    "name": "Coupons de réduction",
    "category": "Papeterie",
    "subcategory": "Couponing",
    "formats": "A6 ; DL ; 210x99",
    "materials": "Offset ; couché ; recyclé",
    "grammages": "90g ; 135g ; 170g",
    "printing": "Quadri recto/verso",
    "finishes": "Aucune",
    "options": "Sans ; Numérotation ; code-barres",
    "notes": "Campagnes promotionnelles",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A6",
          "DL",
          "210x99"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Offset",
          "couché",
          "recyclé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "90g",
          "135g",
          "170g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Numérotation",
          "code-barres"
        ]
      }
    ],
    "description": "Coupons de réduction — Papeterie / Couponing. Campagnes promotionnelles."
  },
  {
    "name": "Chevalets de table",
    "category": "Papeterie",
    "subcategory": "Présentoir papier",
    "formats": "A6 ; A5 ; A4",
    "materials": "Couché ; carte graphique ; recyclé",
    "grammages": "250g ; 350g ; 400g",
    "printing": "Quadri recto/verso",
    "finishes": "Sans ; Pelliculage ; vernis",
    "options": "Sans ; Rainage ; collage",
    "notes": "CHR, salons, boutiques",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A6",
          "A5",
          "A4"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Couché",
          "carte graphique",
          "recyclé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "250g",
          "350g",
          "400g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Rainage",
          "collage"
        ]
      }
    ],
    "description": "Chevalets de table — Papeterie / Présentoir papier. CHR, salons, boutiques."
  },
  {
    "name": "Roll-up",
    "category": "Signalétique",
    "subcategory": "Kakemono autoportant",
    "formats": "85x200 ; 100x200 ; 120x200",
    "materials": "PVC ; polyester ; bâche",
    "grammages": "440g ; 510g ; 610g",
    "printing": "Quadri recto ; parfois recto/verso",
    "finishes": "Sans ; Lamination ; anti-UV",
    "options": "Sans ; Structure standard ; premium",
    "notes": "Très standard en salon",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "85x200",
          "100x200",
          "120x200"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PVC",
          "polyester",
          "bâche"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "440g",
          "510g",
          "610g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "parfois recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Lamination",
          "anti-UV"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Structure standard",
          "premium"
        ]
      }
    ],
    "description": "Roll-up — Signalétique / Kakemono autoportant. Très standard en salon."
  },
  {
    "name": "Oriflammes",
    "category": "Signalétique",
    "subcategory": "Beach flag",
    "formats": "S ; M ; L",
    "materials": "Maille drapeau ; polyester 110g à 130g",
    "grammages": "110g ; 120g ; 130g",
    "printing": "Quadri traversante",
    "finishes": "Sans ; Ourlet ; couture renforcée",
    "options": "Sans ; Mât alu/fibre ; pied platine",
    "notes": "Produit explicitement demandé, très utilisé en extérieur",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "S",
          "M",
          "L"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Maille drapeau",
          "polyester 110g à 130g"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "110g",
          "120g",
          "130g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri traversante"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Ourlet",
          "couture renforcée"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Mât alu/fibre",
          "pied platine"
        ]
      }
    ],
    "description": "Oriflammes — Signalétique / Beach flag. Produit explicitement demandé, très utilisé en extérieur."
  },
  {
    "name": "Drapeaux",
    "category": "Signalétique",
    "subcategory": "Drapeau",
    "formats": "70x100 ; 100x150 ; 150x225",
    "materials": "Maille polyester ; satin ; tissu",
    "grammages": "110g ; 115g ; 120g",
    "printing": "Quadri traversante",
    "finishes": "Sans ; Ourlets ; coutures ; anti-effilochage",
    "options": "Sans ; Œillets ; sangle",
    "notes": "Intérieur / extérieur",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "70x100",
          "100x150",
          "150x225"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Maille polyester",
          "satin",
          "tissu"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "110g",
          "115g",
          "120g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri traversante"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Ourlets",
          "coutures",
          "anti-effilochage"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Œillets",
          "sangle"
        ]
      }
    ],
    "description": "Drapeaux — Signalétique / Drapeau. Intérieur / extérieur."
  },
  {
    "name": "Bâches publicitaires",
    "category": "Signalétique",
    "subcategory": "Banderole",
    "formats": "standard 100x100 à 400x300",
    "materials": "PVC frontlit ; PVC blockout ; mesh",
    "grammages": "340g ; 510g ; 610g",
    "printing": "Quadri recto ; recto/verso",
    "finishes": "Sans ; Lamination ; anti-UV ; M1/B1 selon support",
    "options": "Sans ; Œillets ; ourlets",
    "notes": "Usage façade, barrière, scène, stand",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "standard 100x100 à 400x300"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PVC frontlit",
          "PVC blockout",
          "mesh"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "340g",
          "510g",
          "610g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Lamination",
          "anti-UV",
          "M1/B1 selon support"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Œillets",
          "ourlets"
        ]
      }
    ],
    "description": "Bâches publicitaires — Signalétique / Banderole. Usage façade, barrière, scène, stand."
  },
  {
    "name": "Panneaux Akylux",
    "category": "Signalétique",
    "subcategory": "Panneau rigide",
    "formats": "30x40 ; 40x60 ; 60x80",
    "materials": "Polypropylène alvéolaire",
    "grammages": "3mm ; 8mm ; 10mm",
    "printing": "Quadri recto ; recto/verso",
    "finishes": "Aucune ; anti-UV",
    "options": "Sans ; Découpe droite ; œillets",
    "notes": "Immobilier, chantier, temporaire",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "30x40",
          "40x60",
          "60x80"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Polypropylène alvéolaire"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "3mm",
          "8mm",
          "10mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune",
          "anti-UV"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe droite",
          "œillets"
        ]
      }
    ],
    "description": "Panneaux Akylux — Signalétique / Panneau rigide. Immobilier, chantier, temporaire."
  },
  {
    "name": "Panneaux Forex",
    "category": "Signalétique",
    "subcategory": "Panneau rigide",
    "formats": "30x40 ; 40x60 ; 60x80",
    "materials": "PVC expansé",
    "grammages": "1mm ; 5mm ; 10mm",
    "printing": "Quadri recto ; recto/verso",
    "finishes": "Aucune ; pelliculage ; anti-UV",
    "options": "Sans ; Découpe ; perçage",
    "notes": "Intérieur / vitrine / signalétique",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "30x40",
          "40x60",
          "60x80"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PVC expansé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "1mm",
          "5mm",
          "10mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune",
          "pelliculage",
          "anti-UV"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe",
          "perçage"
        ]
      }
    ],
    "description": "Panneaux Forex — Signalétique / Panneau rigide. Intérieur / vitrine / signalétique."
  },
  {
    "name": "Panneaux Dibond",
    "category": "Signalétique",
    "subcategory": "Panneau rigide premium",
    "formats": "30x40 ; 40x60 ; 60x80",
    "materials": "Aluminium composite",
    "grammages": "2mm ; 3mm ; 4mm",
    "printing": "Quadri recto ; recto/verso",
    "finishes": "Sans ; Pelliculage ; anti-graffiti ; anti-UV",
    "options": "Sans ; Découpe ; perçage",
    "notes": "Signalétique durable et premium",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "30x40",
          "40x60",
          "60x80"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Aluminium composite"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "2mm",
          "3mm",
          "4mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "anti-graffiti",
          "anti-UV"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe",
          "perçage"
        ]
      }
    ],
    "description": "Panneaux Dibond — Signalétique / Panneau rigide premium. Signalétique durable et premium."
  },
  {
    "name": "Carton plume",
    "category": "Signalétique",
    "subcategory": "Panneau léger",
    "formats": "A4 ; A3 ; 30x40",
    "materials": "Carton plume / foamboard",
    "grammages": "5mm ; 10mm",
    "printing": "Quadri recto",
    "finishes": "Aucune ; pelliculage",
    "options": "Sans ; Découpe ; doset chevalet",
    "notes": "PLV légère et décoration",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A4",
          "A3",
          "30x40"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Carton plume / foamboard"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "5mm",
          "10mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune",
          "pelliculage"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe",
          "doset chevalet"
        ]
      }
    ],
    "description": "Carton plume — Signalétique / Panneau léger. PLV légère et décoration."
  },
  {
    "name": "Adhésifs vitrine",
    "category": "Signalétique",
    "subcategory": "Adhésif",
    "formats": "laize standard ; formats découpés",
    "materials": "Vinyle monomère ; polymère ; transparent",
    "grammages": "80µ ; 100µ ; 120µ",
    "printing": "Quadri recto ; blanc de soutien",
    "finishes": "Sans ; Lamination mate ; brillante ; anti-UV",
    "options": "Sans ; Découpe droite ; à la forme",
    "notes": "Habillage vitrine et local commercial",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "laize standard",
          "formats découpés"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Vinyle monomère",
          "polymère",
          "transparent"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "80µ",
          "100µ",
          "120µ"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "blanc de soutien"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Lamination mate",
          "brillante",
          "anti-UV"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe droite",
          "à la forme"
        ]
      }
    ],
    "description": "Adhésifs vitrine — Signalétique / Adhésif. Habillage vitrine et local commercial."
  },
  {
    "name": "Vinyle microperforé",
    "category": "Signalétique",
    "subcategory": "Adhésif vitrages",
    "formats": "Sur mesure",
    "materials": "Vinyle microperforé",
    "grammages": "140µ à 180µ",
    "printing": "Quadri recto",
    "finishes": "Sans ; Lamination",
    "options": "Sans ; Découpe ; pose extérieure",
    "notes": "Permet visibilité intérieure et communication extérieure",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Sur mesure"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Vinyle microperforé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "140µ à 180µ"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Lamination"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe",
          "pose extérieure"
        ]
      }
    ],
    "description": "Vinyle microperforé — Signalétique / Adhésif vitrages. Permet visibilité intérieure et communication extérieure."
  },
  {
    "name": "Films dépolis",
    "category": "Signalétique",
    "subcategory": "Adhésif",
    "formats": "Sur mesure",
    "materials": "Vinyle dépoli",
    "grammages": "80µ ; 100µ",
    "printing": "Découpe simple ; éventuellement impression quadri",
    "finishes": "Aucune",
    "options": "Sans ; Découpe à la forme ; pose intérieure/extérieure",
    "notes": "Cloisonnement, confidentialité, bureaux",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Sur mesure"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Vinyle dépoli"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "80µ",
          "100µ"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Découpe simple",
          "éventuellement impression quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe à la forme",
          "pose intérieure/extérieure"
        ]
      }
    ],
    "description": "Films dépolis — Signalétique / Adhésif. Cloisonnement, confidentialité, bureaux."
  },
  {
    "name": "Kakemonos suspendus",
    "category": "Signalétique",
    "subcategory": "Suspendu",
    "formats": "60x160 ; 80x200 ; 100x250",
    "materials": "Bâche ; polyester ; tissu",
    "grammages": "110g ; 210g ; 440g",
    "printing": "Quadri recto ; recto/verso",
    "finishes": "Aucune ; anti-UV",
    "options": "Sans ; Fourreaux ; barres",
    "notes": "Retail, showroom, événement",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "60x160",
          "80x200",
          "100x250"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Bâche",
          "polyester",
          "tissu"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "110g",
          "210g",
          "440g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune",
          "anti-UV"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Fourreaux",
          "barres"
        ]
      }
    ],
    "description": "Kakemonos suspendus — Signalétique / Suspendu. Retail, showroom, événement."
  },
  {
    "name": "X-banner",
    "category": "Signalétique",
    "subcategory": "Kakemono",
    "formats": "60x160 ; 80x180 ; 80x200",
    "materials": "PVC ; polyester",
    "grammages": "440g ; 510g",
    "printing": "Quadri recto",
    "finishes": "Aucune",
    "options": "Sans ; Structure X ; œillets aux coins",
    "notes": "Alternative économique au roll-up",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "60x160",
          "80x180",
          "80x200"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PVC",
          "polyester"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "440g",
          "510g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Structure X",
          "œillets aux coins"
        ]
      }
    ],
    "description": "X-banner — Signalétique / Kakemono. Alternative économique au roll-up."
  },
  {
    "name": "Stop-trottoirs",
    "category": "Signalétique",
    "subcategory": "Affichage urbain",
    "formats": "A1 ; A0 ; 70x100",
    "materials": "Aluminium ; acier ; PVC",
    "printing": "Affiche quadri ; insert papier ou PVC",
    "finishes": "Sans ; Protection anti-reflet ; anti-UV",
    "options": "Sans ; Double face ; roulettes",
    "notes": "Devanture et restauration",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A1",
          "A0",
          "70x100"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Aluminium",
          "acier",
          "PVC"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Affiche quadri",
          "insert papier ou PVC"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Protection anti-reflet",
          "anti-UV"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Double face",
          "roulettes"
        ]
      }
    ],
    "description": "Stop-trottoirs — Signalétique / Affichage urbain. Devanture et restauration."
  },
  {
    "name": "Cadres clippants",
    "category": "Signalétique",
    "subcategory": "Cadre mural",
    "formats": "A4 ; A3 ; A2",
    "materials": "Aluminium ; PVC",
    "printing": "Affiches quadri en insertion",
    "finishes": "Sans ; Protection antireflet",
    "options": "Sans ; Coins droits ; coins ronds",
    "notes": "Affichage remplaçable",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A4",
          "A3",
          "A2"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Aluminium",
          "PVC"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Affiches quadri en insertion"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Protection antireflet"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Coins droits",
          "coins ronds"
        ]
      }
    ],
    "description": "Cadres clippants — Signalétique / Cadre mural. Affichage remplaçable."
  },
  {
    "name": "Plaques de porte",
    "category": "Signalétique",
    "subcategory": "Signalétique intérieure",
    "formats": "100x150 ; 150x210 ; 200x300",
    "materials": "Dibond ; acrylique ; PVC",
    "grammages": "2mm ; 3mm ; 5mm",
    "printing": "Quadri ; gravure",
    "finishes": "Sans ; Pelliculage ; anti-rayure",
    "options": "Sans ; Perçage ; entretoises",
    "notes": "Bureaux, ERP, médical",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "100x150",
          "150x210",
          "200x300"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Dibond",
          "acrylique",
          "PVC"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "2mm",
          "3mm",
          "5mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "gravure"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "anti-rayure"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Perçage",
          "entretoises"
        ]
      }
    ],
    "description": "Plaques de porte — Signalétique / Signalétique intérieure. Bureaux, ERP, médical."
  },
  {
    "name": "Totems rigides",
    "category": "Signalétique",
    "subcategory": "Totem",
    "formats": "60x180 ; 80x200 ; 100x250",
    "materials": "Dibond ; Forex ; carton",
    "grammages": "3mm ; 5mm ; 10mm",
    "printing": "Quadri recto ; recto/verso",
    "finishes": "Sans ; Pelliculage ; anti-UV",
    "options": "Sans ; Base autoportante ; montage",
    "notes": "Hall, showroom, salon",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "60x180",
          "80x200",
          "100x250"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Dibond",
          "Forex",
          "carton"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "3mm",
          "5mm",
          "10mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "anti-UV"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Base autoportante",
          "montage"
        ]
      }
    ],
    "description": "Totems rigides — Signalétique / Totem. Hall, showroom, salon."
  },
  {
    "name": "Enseignes temporaires",
    "category": "Signalétique",
    "subcategory": "Enseigne",
    "formats": "Sur mesure",
    "materials": "PVC ; dibond ; bâche",
    "grammages": "5mm ; 10mm ; 440g",
    "printing": "Quadri",
    "finishes": "Sans ; Pelliculage ; anti-UV",
    "options": "Sans ; Perçage ; entretoises",
    "notes": "Communication courte ou semi-permanente",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Sur mesure"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PVC",
          "dibond",
          "bâche"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "5mm",
          "10mm",
          "440g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "anti-UV"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Perçage",
          "entretoises"
        ]
      }
    ],
    "description": "Enseignes temporaires — Signalétique / Enseigne. Communication courte ou semi-permanente."
  },
  {
    "name": "Backdrops / photocalls",
    "category": "Signalétique",
    "subcategory": "Événementiel",
    "formats": "240x230 ; 300x230 ; 300x250",
    "materials": "Textile ; polyester ; bâche",
    "grammages": "210g ; 260g ; 300g",
    "printing": "Quadri recto",
    "finishes": "Sans ; Anti-feu M1/B1 selon support",
    "options": "Sans ; Structure tubulaire ; housse textile",
    "notes": "Conférences, presse, salons",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "240x230",
          "300x230",
          "300x250"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Textile",
          "polyester",
          "bâche"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "210g",
          "260g",
          "300g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Anti-feu M1/B1 selon support"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Structure tubulaire",
          "housse textile"
        ]
      }
    ],
    "description": "Backdrops / photocalls — Signalétique / Événementiel. Conférences, presse, salons."
  },
  {
    "name": "Nappes imprimées",
    "category": "Signalétique",
    "subcategory": "Textile événementiel",
    "formats": "120x180 ; 150x250 ; 200x300",
    "materials": "Polyester ; textile stretch ; satin",
    "grammages": "110g ; 210g ; 230g",
    "printing": "Quadri",
    "finishes": "Sans ; Anti-tache ; anti-feu selon support",
    "options": "Sans ; Coutures ; housse",
    "notes": "Stand, réception, restauration",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "120x180",
          "150x250",
          "200x300"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Polyester",
          "textile stretch",
          "satin"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "110g",
          "210g",
          "230g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Anti-tache",
          "anti-feu selon support"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Coutures",
          "housse"
        ]
      }
    ],
    "description": "Nappes imprimées — Signalétique / Textile événementiel. Stand, réception, restauration."
  },
  {
    "name": "Tissus tendus sur cadre",
    "category": "Signalétique",
    "subcategory": "Cadre textile",
    "formats": "60x120 ; 100x200 ; 300x230",
    "materials": "Textile polyester ; backlit",
    "grammages": "210g ; 230g ; 260g",
    "printing": "Quadri",
    "finishes": "Sans ; Anti-feu ; version backlight",
    "options": "Sans ; Jonc silicone ; structure alu",
    "notes": "Décoration retail et stand",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "60x120",
          "100x200",
          "300x230"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Textile polyester",
          "backlit"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "210g",
          "230g",
          "260g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Anti-feu",
          "version backlight"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Jonc silicone",
          "structure alu"
        ]
      }
    ],
    "description": "Tissus tendus sur cadre — Signalétique / Cadre textile. Décoration retail et stand."
  },
  {
    "name": "Présentoirs de comptoir",
    "category": "PLV",
    "subcategory": "PLV carton",
    "formats": "A5 ; A4 ; 210x210",
    "materials": "Carton couché ; microcannelure ; carton plume",
    "grammages": "2mm ; 350g ; 400g",
    "printing": "Quadri",
    "finishes": "Sans ; Pelliculage ; vernis",
    "options": "Sans ; Découpe ; rainage",
    "notes": "PLV légère de comptoir",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A5",
          "A4",
          "210x210"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Carton couché",
          "microcannelure",
          "carton plume"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "2mm",
          "350g",
          "400g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe",
          "rainage"
        ]
      }
    ],
    "description": "Présentoirs de comptoir — PLV / PLV carton. PLV légère de comptoir."
  },
  {
    "name": "PLV de sol",
    "category": "PLV",
    "subcategory": "PLV carton",
    "formats": "40x150 ; 60x180 ; 80x180",
    "materials": "Carton microcannelure ; nid d'abeille ; carton compact",
    "grammages": "2mm ; 3mm ; 5mm",
    "printing": "Quadri",
    "finishes": "Sans ; Pelliculage ; vernis",
    "options": "Sans ; Découpe ; montage",
    "notes": "Mise en avant retail",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "40x150",
          "60x180",
          "80x180"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Carton microcannelure",
          "nid d'abeille",
          "carton compact"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "2mm",
          "3mm",
          "5mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe",
          "montage"
        ]
      }
    ],
    "description": "PLV de sol — PLV / PLV carton. Mise en avant retail."
  },
  {
    "name": "Totems carton",
    "category": "PLV",
    "subcategory": "PLV carton",
    "formats": "40x150 ; 60x180 ; 80x200",
    "materials": "Carton microcannelure ; nid d'abeille",
    "grammages": "1,5mm ; 3mm ; 10mm",
    "printing": "Quadri",
    "finishes": "Sans ; Vernis ; pelliculage",
    "options": "Sans ; Découpe ; montage",
    "notes": "Pour allées et têtes de gondole",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "40x150",
          "60x180",
          "80x200"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Carton microcannelure",
          "nid d'abeille"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "1,5mm",
          "3mm",
          "10mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Vernis",
          "pelliculage"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe",
          "montage"
        ]
      }
    ],
    "description": "Totems carton — PLV / PLV carton. Pour allées et têtes de gondole."
  },
  {
    "name": "Urnes et boîtes de collecte",
    "category": "PLV",
    "subcategory": "Urne",
    "formats": "A5 ; A4 ; cube",
    "materials": "Carton compact ; microcannelure ; plexi",
    "grammages": "2mm ; 3mm ; 350g",
    "printing": "Quadri",
    "finishes": "Sans ; Pelliculage ; vernis",
    "options": "Sans ; Fente ; cadenas",
    "notes": "Jeux concours et collecte",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A5",
          "A4",
          "cube"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Carton compact",
          "microcannelure",
          "plexi"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "2mm",
          "3mm",
          "350g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Fente",
          "cadenas"
        ]
      }
    ],
    "description": "Urnes et boîtes de collecte — PLV / Urne. Jeux concours et collecte."
  },
  {
    "name": "Wobblers / stop-rayons",
    "category": "PLV",
    "subcategory": "Linéaire",
    "formats": "Rond ; carré ; 100x100",
    "materials": "PVC ; PP ; couché 350g",
    "grammages": "350g ; 400µ ; 500µ",
    "printing": "Quadri recto/verso",
    "finishes": "Sans ; Pelliculage ; vernis",
    "options": "Sans ; Tige plastique ; adhésif",
    "notes": "Signalétique de rayon",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Rond",
          "carré",
          "100x100"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PVC",
          "PP",
          "couché 350g"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "350g",
          "400µ",
          "500µ"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Tige plastique",
          "adhésif"
        ]
      }
    ],
    "description": "Wobblers / stop-rayons — PLV / Linéaire. Signalétique de rayon."
  },
  {
    "name": "Réglettes de rayon",
    "category": "PLV",
    "subcategory": "Linéaire",
    "formats": "Sur mesure",
    "materials": "PVC ; PET ; carton",
    "grammages": "1mm ; 400µ ; 500µ",
    "printing": "Quadri",
    "finishes": "Sans ; Pelliculage",
    "options": "Sans ; Adhésif ; découpe",
    "notes": "Habillage de linéaire",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Sur mesure"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PVC",
          "PET",
          "carton"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "1mm",
          "400µ",
          "500µ"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Adhésif",
          "découpe"
        ]
      }
    ],
    "description": "Réglettes de rayon — PLV / Linéaire. Habillage de linéaire."
  },
  {
    "name": "Frontons de gondole",
    "category": "PLV",
    "subcategory": "Linéaire",
    "formats": "Sur mesure",
    "materials": "Carton ; PVC ; forex",
    "grammages": "3mm ; 350g ; 400g",
    "printing": "Quadri",
    "finishes": "Sans ; Pelliculage ; vernis",
    "options": "Sans ; Découpe ; montage",
    "notes": "Mise en avant tête de gondole",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Sur mesure"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Carton",
          "PVC",
          "forex"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "3mm",
          "350g",
          "400g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe",
          "montage"
        ]
      }
    ],
    "description": "Frontons de gondole — PLV / Linéaire. Mise en avant tête de gondole."
  },
  {
    "name": "Distributeurs de flyers",
    "category": "PLV",
    "subcategory": "Porte-documents",
    "formats": "A5 ; 1/3 A4 ; A4",
    "materials": "PMMA ; PET ; carton",
    "printing": "Quadri si personnalisation du support",
    "finishes": "Aucune",
    "options": "Sans ; Simple case ; multiple cases",
    "notes": "Distribution de documentation",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A5",
          "1/3 A4",
          "A4"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PMMA",
          "PET",
          "carton"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri si personnalisation du support"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Simple case",
          "multiple cases"
        ]
      }
    ],
    "description": "Distributeurs de flyers — PLV / Porte-documents. Distribution de documentation."
  },
  {
    "name": "Box palette",
    "category": "PLV",
    "subcategory": "Grande distribution",
    "formats": "Sur mesure",
    "materials": "Carton microcannelure ; nid d'abeille",
    "grammages": "3mm ; 5mm ; 10mm",
    "printing": "Quadri",
    "finishes": "Sans ; Pelliculage ; vernis",
    "options": "Sans ; Montage ; calage",
    "notes": "Très orienté retail / GMS",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Sur mesure"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Carton microcannelure",
          "nid d'abeille"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "3mm",
          "5mm",
          "10mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Montage",
          "calage"
        ]
      }
    ],
    "description": "Box palette — PLV / Grande distribution. Très orienté retail / GMS."
  },
  {
    "name": "Silhouettes découpées",
    "category": "PLV",
    "subcategory": "Découpe grand format",
    "formats": "Taille réelle",
    "materials": "Carton plume ; forex ; dibond",
    "grammages": "5mm ; 10mm ; 3mm",
    "printing": "Quadri recto ; recto/verso",
    "finishes": "Sans ; Pelliculage ; anti-UV",
    "options": "Sans ; Découpe à la forme ; chevalet",
    "notes": "Personnages, mascottes, promotion",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Taille réelle"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Carton plume",
          "forex",
          "dibond"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "5mm",
          "10mm",
          "3mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto",
          "recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "anti-UV"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe à la forme",
          "chevalet"
        ]
      }
    ],
    "description": "Silhouettes découpées — PLV / Découpe grand format. Personnages, mascottes, promotion."
  },
  {
    "name": "Chevalets stop trottoir carton",
    "category": "PLV",
    "subcategory": "PLV légère",
    "formats": "A3 ; A2",
    "materials": "Carton compact ; microcannelure",
    "grammages": "400g ; 1,5mm ; 2mm",
    "printing": "Quadri recto/verso",
    "finishes": "Sans ; Pelliculage ; vernis",
    "options": "Sans ; Montage chevalet ; poignées",
    "notes": "Usage intérieur surtout",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A3",
          "A2"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Carton compact",
          "microcannelure"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "400g",
          "1,5mm",
          "2mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Montage chevalet",
          "poignées"
        ]
      }
    ],
    "description": "Chevalets stop trottoir carton — PLV / PLV légère. Usage intérieur surtout."
  },
  {
    "name": "Habillages de comptoir",
    "category": "PLV",
    "subcategory": "Habillage",
    "formats": "Sur mesure",
    "materials": "Vinyle ; textile ; PVC",
    "grammages": "90µ ; 120µ ; 210g",
    "printing": "Quadri",
    "finishes": "Sans ; Lamination ; anti-UV",
    "options": "Sans ; Velcro ; adhésif",
    "notes": "Points de vente et salons",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Sur mesure"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Vinyle",
          "textile",
          "PVC"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "90µ",
          "120µ",
          "210g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Lamination",
          "anti-UV"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Velcro",
          "adhésif"
        ]
      }
    ],
    "description": "Habillages de comptoir — PLV / Habillage. Points de vente et salons."
  },
  {
    "name": "Colonnes promotionnelles",
    "category": "PLV",
    "subcategory": "PLV carton",
    "formats": "Sur mesure",
    "materials": "Carton microcannelure ; nid d'abeille",
    "grammages": "3mm ; 5mm ; 10mm",
    "printing": "Quadri",
    "finishes": "Sans ; Pelliculage ; vernis",
    "options": "Sans ; Montage ; renfort",
    "notes": "PLV autoportante",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Sur mesure"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Carton microcannelure",
          "nid d'abeille"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "3mm",
          "5mm",
          "10mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Montage",
          "renfort"
        ]
      }
    ],
    "description": "Colonnes promotionnelles — PLV / PLV carton. PLV autoportante."
  },
  {
    "name": "Porte-étiquettes / porte-prix",
    "category": "PLV",
    "subcategory": "Accessoire rayon",
    "formats": "standard linéaire",
    "materials": "PVC ; PET ; carton",
    "grammages": "300µ ; 400µ ; 500µ",
    "printing": "Quadri si personnalisé",
    "finishes": "Aucune",
    "options": "Sans ; Clip ; adhésif",
    "notes": "Retail et merchandising",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "standard linéaire"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PVC",
          "PET",
          "carton"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "300µ",
          "400µ",
          "500µ"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri si personnalisé"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Clip",
          "adhésif"
        ]
      }
    ],
    "description": "Porte-étiquettes / porte-prix — PLV / Accessoire rayon. Retail et merchandising."
  },
  {
    "name": "Badges nominatifs",
    "category": "Événementiel",
    "subcategory": "Badge",
    "formats": "54x86 ; 60x90 ; 70x100",
    "materials": "Papier ; PVC ; PET",
    "grammages": "300g ; 760µ ; 1mm",
    "printing": "Quadri ; noir",
    "finishes": "Sans ; Pelliculage ; vernis",
    "options": "Sans ; Perforation ; porte-badge",
    "notes": "Accréditations et salons",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "54x86",
          "60x90",
          "70x100"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Papier",
          "PVC",
          "PET"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "300g",
          "760µ",
          "1mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "noir"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Perforation",
          "porte-badge"
        ]
      }
    ],
    "description": "Badges nominatifs — Événementiel / Badge. Accréditations et salons."
  },
  {
    "name": "Bracelets événementiels",
    "category": "Événementiel",
    "subcategory": "Contrôle d'accès",
    "formats": "19x250 ; 25x250",
    "materials": "Tyvek ; textile ; silicone",
    "printing": "1 couleur ; quadri",
    "finishes": "Aucune ; numérotation",
    "options": "Sans ; Fermeture adhésive ; boucle",
    "notes": "Festivals, soirées, parcs",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "19x250",
          "25x250"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Tyvek",
          "textile",
          "silicone"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "1 couleur",
          "quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune",
          "numérotation"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Fermeture adhésive",
          "boucle"
        ]
      }
    ],
    "description": "Bracelets événementiels — Événementiel / Contrôle d'accès. Festivals, soirées, parcs."
  },
  {
    "name": "Tours de cou",
    "category": "Événementiel",
    "subcategory": "Lanyard",
    "formats": "10mm ; 15mm ; 20mm",
    "materials": "Polyester ; satin ; RPET",
    "printing": "Sérigraphie ; sublimation",
    "finishes": "Aucune",
    "options": "Sans ; Mousqueton ; boucle sécurité",
    "notes": "Événements et entreprise",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "10mm",
          "15mm",
          "20mm"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Polyester",
          "satin",
          "RPET"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Sérigraphie",
          "sublimation"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Mousqueton",
          "boucle sécurité"
        ]
      }
    ],
    "description": "Tours de cou — Événementiel / Lanyard. Événements et entreprise."
  },
  {
    "name": "Cartes d'accès / badges PVC",
    "category": "Événementiel",
    "subcategory": "Accréditation",
    "formats": "86x54mm ; 85x55mm",
    "materials": "PVC blanc ; PVC transparent ; PET",
    "grammages": "760µ ; 500µ",
    "printing": "Quadri recto/verso ; noir",
    "finishes": "Sans ; Pelliculage ; vernis ; dorure",
    "options": "Sans ; Piste magnétique ; QR",
    "notes": "Accès, fidélité, membre",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "86x54mm",
          "85x55mm"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PVC blanc",
          "PVC transparent",
          "PET"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "760µ",
          "500µ"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto/verso",
          "noir"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis",
          "dorure"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Piste magnétique",
          "QR"
        ]
      }
    ],
    "description": "Cartes d'accès / badges PVC — Événementiel / Accréditation. Accès, fidélité, membre."
  },
  {
    "name": "Programmes / livrets",
    "category": "Événementiel",
    "subcategory": "Programme",
    "formats": "A5 ; A4 ; DL",
    "materials": "Couché ; offset ; recyclé",
    "grammages": "Intérieur 90g à 170g ; couverture 170g à 300g",
    "printing": "Quadri recto/verso",
    "finishes": "Sans ; Pelliculage couverture ; vernis",
    "options": "Sans ; Agrafage ; pagination",
    "notes": "Spectacles, congrès, festivals",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A5",
          "A4",
          "DL"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Couché",
          "offset",
          "recyclé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "Intérieur 90g à 170g",
          "couverture 170g à 300g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto/verso"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage couverture",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Agrafage",
          "pagination"
        ]
      }
    ],
    "description": "Programmes / livrets — Événementiel / Programme. Spectacles, congrès, festivals."
  },
  {
    "name": "Billetterie sécurisée",
    "category": "Événementiel",
    "subcategory": "Billet",
    "formats": "150x50 ; 180x60",
    "materials": "Offset ; sécurisée ; synthétique",
    "grammages": "90g ; 120g ; 170g",
    "printing": "Quadri ; noir",
    "finishes": "Sans ; Encre UV ; hologramme ; vernis",
    "options": "Sans ; Numérotation ; code-barres",
    "notes": "Événements payants ou contrôle strict",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "150x50",
          "180x60"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Offset",
          "sécurisée",
          "synthétique"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "90g",
          "120g",
          "170g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "noir"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Encre UV",
          "hologramme",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Numérotation",
          "code-barres"
        ]
      }
    ],
    "description": "Billetterie sécurisée — Événementiel / Billet. Événements payants ou contrôle strict."
  },
  {
    "name": "Comptoirs d'accueil",
    "category": "Événementiel",
    "subcategory": "Stand",
    "formats": "comptoir droit ; courbe",
    "materials": "PVC ; textile ; aluminium",
    "printing": "Quadri",
    "finishes": "Sans ; Pelliculage ; anti-rayure",
    "options": "Sans ; Structure ; étagère",
    "notes": "Stands, salons, retail",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "comptoir droit",
          "courbe"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PVC",
          "textile",
          "aluminium"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "anti-rayure"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Structure",
          "étagère"
        ]
      }
    ],
    "description": "Comptoirs d'accueil — Événementiel / Stand. Stands, salons, retail."
  },
  {
    "name": "Stands parapluie",
    "category": "Événementiel",
    "subcategory": "Stand",
    "formats": "3x3 ; 3x4 ; 3x5",
    "materials": "Textile ; PVC ; polyester",
    "grammages": "210g ; 230g ; 260g",
    "printing": "Quadri",
    "finishes": "Sans ; Lamination ou anti-feu selon support",
    "options": "Sans ; Structure magnétique ; tissu stretch",
    "notes": "Mur d'image mobile",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "3x3",
          "3x4",
          "3x5"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Textile",
          "PVC",
          "polyester"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "210g",
          "230g",
          "260g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Lamination ou anti-feu selon support"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Structure magnétique",
          "tissu stretch"
        ]
      }
    ],
    "description": "Stands parapluie — Événementiel / Stand. Mur d'image mobile."
  },
  {
    "name": "Arches gonflables",
    "category": "Événementiel",
    "subcategory": "Inflatable",
    "formats": "4m ; 5m ; 6m",
    "materials": "PVC ; polyester enduit ; TPU",
    "printing": "Quadri",
    "finishes": "Sans ; Vernis éventuel ; anti-feu selon support",
    "options": "Sans ; Soufflerie ; lestage",
    "notes": "Sport, festivals, départ/arrivée",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "4m",
          "5m",
          "6m"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PVC",
          "polyester enduit",
          "TPU"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Vernis éventuel",
          "anti-feu selon support"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Soufflerie",
          "lestage"
        ]
      }
    ],
    "description": "Arches gonflables — Événementiel / Inflatable. Sport, festivals, départ/arrivée."
  },
  {
    "name": "Tentes pliantes personnalisées",
    "category": "Événementiel",
    "subcategory": "Tente",
    "formats": "3x3 ; 3x4,5 ; 3x6",
    "materials": "Polyester ; structure alu ; acier",
    "grammages": "300D ; 420D ; 600D",
    "printing": "Quadri",
    "finishes": "Sans ; Traitement déperlant ; anti-UV ; anti-feu selon version",
    "options": "Sans ; Bâches latérales ; lestage",
    "notes": "Salons, marchés, sport, outdoor",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "3x3",
          "3x4,5",
          "3x6"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Polyester",
          "structure alu",
          "acier"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "300D",
          "420D",
          "600D"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Traitement déperlant",
          "anti-UV",
          "anti-feu selon version"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Bâches latérales",
          "lestage"
        ]
      }
    ],
    "description": "Tentes pliantes personnalisées — Événementiel / Tente. Salons, marchés, sport, outdoor."
  },
  {
    "name": "Stylos publicitaires",
    "category": "Goodies",
    "subcategory": "Écriture",
    "formats": "Standard ; premium ; métal",
    "materials": "Plastique ; aluminium ; métal",
    "printing": "1 couleur ; 2 couleurs",
    "finishes": "Aucune ; vernis",
    "options": "Sans ; Clip ; stylet",
    "notes": "Incontournable de l'objet pub",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Standard",
          "premium",
          "métal"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Plastique",
          "aluminium",
          "métal"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "1 couleur",
          "2 couleurs"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Clip",
          "stylet"
        ]
      }
    ],
    "description": "Stylos publicitaires — Goodies / Écriture. Incontournable de l'objet pub."
  },
  {
    "name": "Carnets / notebooks",
    "category": "Goodies",
    "subcategory": "Papeterie",
    "formats": "A6 ; A5 ; A4",
    "materials": "Papier ; carton ; PU",
    "printing": "1 couleur ; quadri",
    "finishes": "Sans ; Marquage à chaud ; embossage",
    "options": "Sans ; Élastique ; marque-page",
    "notes": "Très bon support corporate",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A6",
          "A5",
          "A4"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Papier",
          "carton",
          "PU"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "1 couleur",
          "quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Marquage à chaud",
          "embossage"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Élastique",
          "marque-page"
        ]
      }
    ],
    "description": "Carnets / notebooks — Goodies / Papeterie. Très bon support corporate."
  },
  {
    "name": "Tote bags",
    "category": "Goodies",
    "subcategory": "Textile",
    "formats": "38x42 ; 40x40 ; soufflet",
    "materials": "Coton ; coton bio ; canvas",
    "printing": "Sérigraphie ; transfert",
    "options": "Sans ; Soufflet ; fermeture",
    "notes": "Grand classique des salons",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "38x42",
          "40x40",
          "soufflet"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Coton",
          "coton bio",
          "canvas"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Sérigraphie",
          "transfert"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Soufflet",
          "fermeture"
        ]
      }
    ],
    "description": "Tote bags — Goodies / Textile. Grand classique des salons."
  },
  {
    "name": "T-shirts personnalisés",
    "category": "Goodies",
    "subcategory": "Textile",
    "formats": "XS à 5XL ; homme ; femme",
    "materials": "Coton ; coton bio ; polyester",
    "printing": "Sérigraphie ; transfert",
    "options": "Sans ; Col rond/V ; manches courtes/longues",
    "notes": "Pour équipes, événement, merch",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "XS à 5XL",
          "homme",
          "femme"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Coton",
          "coton bio",
          "polyester"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Sérigraphie",
          "transfert"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Col rond/V",
          "manches courtes/longues"
        ]
      }
    ],
    "description": "T-shirts personnalisés — Goodies / Textile. Pour équipes, événement, merch."
  },
  {
    "name": "Sweats / hoodies",
    "category": "Goodies",
    "subcategory": "Textile",
    "formats": "XS à 5XL",
    "materials": "Coton ; molleton ; bio",
    "printing": "Broderie ; sérigraphie",
    "options": "Sans ; Zip ; capuche",
    "notes": "Merch et corporate premium",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "XS à 5XL"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Coton",
          "molleton",
          "bio"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Broderie",
          "sérigraphie"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Zip",
          "capuche"
        ]
      }
    ],
    "description": "Sweats / hoodies — Goodies / Textile. Merch et corporate premium."
  },
  {
    "name": "Casquettes",
    "category": "Goodies",
    "subcategory": "Textile",
    "formats": "5 panneaux ; 6 panneaux ; trucker",
    "materials": "Coton ; polyester ; mesh",
    "printing": "Broderie ; sérigraphie",
    "options": "Sans ; Fermeture velcro ; boucle",
    "notes": "Événement et merchandising",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "5 panneaux",
          "6 panneaux",
          "trucker"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Coton",
          "polyester",
          "mesh"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Broderie",
          "sérigraphie"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Fermeture velcro",
          "boucle"
        ]
      }
    ],
    "description": "Casquettes — Goodies / Textile. Événement et merchandising."
  },
  {
    "name": "Mugs",
    "category": "Goodies",
    "subcategory": "Vaisselle",
    "formats": "300 ml ; 330 ml ; 450 ml",
    "materials": "Céramique ; métal ; inox",
    "printing": "Sublimation ; sérigraphie",
    "options": "Sans ; Couleur intérieur/anse ; version isotherme",
    "notes": "Goodie classique et durable",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "300 ml",
          "330 ml",
          "450 ml"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Céramique",
          "métal",
          "inox"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Sublimation",
          "sérigraphie"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Couleur intérieur/anse",
          "version isotherme"
        ]
      }
    ],
    "description": "Mugs — Goodies / Vaisselle. Goodie classique et durable."
  },
  {
    "name": "Gourdes",
    "category": "Goodies",
    "subcategory": "Hydratation",
    "formats": "500 ml ; 600 ml ; 750 ml",
    "materials": "Aluminium ; inox ; Tritan",
    "printing": "Sérigraphie ; gravure laser",
    "options": "Sans ; Bouchon sport ; mousqueton",
    "notes": "Très demandées en alternative éco",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "500 ml",
          "600 ml",
          "750 ml"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Aluminium",
          "inox",
          "Tritan"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Sérigraphie",
          "gravure laser"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Bouchon sport",
          "mousqueton"
        ]
      }
    ],
    "description": "Gourdes — Goodies / Hydratation. Très demandées en alternative éco."
  },
  {
    "name": "Bouteilles isothermes",
    "category": "Goodies",
    "subcategory": "Hydratation",
    "formats": "260 ml ; 500 ml ; 750 ml",
    "materials": "Inox double paroi",
    "printing": "Gravure ; sérigraphie",
    "finishes": "Sans ; Boîte unitaire",
    "options": "Sans ; Couvercle bambou ; infuseur",
    "notes": "Positionnement premium",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "260 ml",
          "500 ml",
          "750 ml"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Inox double paroi"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Gravure",
          "sérigraphie"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Boîte unitaire"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Couvercle bambou",
          "infuseur"
        ]
      }
    ],
    "description": "Bouteilles isothermes — Goodies / Hydratation. Positionnement premium."
  },
  {
    "name": "Clés USB",
    "category": "Goodies",
    "subcategory": "Tech",
    "formats": "4 Go ; 8 Go ; 16 Go",
    "materials": "PVC ; métal ; bois",
    "printing": "Tampographie ; gravure laser",
    "finishes": "Sans ; Boîte ; coffret",
    "options": "Sans ; Anneau ; porte-clés",
    "notes": "Moins tendance qu'avant mais encore utilisé",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "4 Go",
          "8 Go",
          "16 Go"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PVC",
          "métal",
          "bois"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Tampographie",
          "gravure laser"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Boîte",
          "coffret"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Anneau",
          "porte-clés"
        ]
      }
    ],
    "description": "Clés USB — Goodies / Tech. Moins tendance qu'avant mais encore utilisé."
  },
  {
    "name": "Power banks",
    "category": "Goodies",
    "subcategory": "Tech",
    "formats": "5000 mAh ; 10000 mAh ; 20000 mAh",
    "materials": "ABS ; aluminium ; bambou",
    "printing": "Tampographie ; UV",
    "finishes": "Sans ; Boîte",
    "options": "Sans ; Câble intégré ; charge induction",
    "notes": "Cadeau d'affaires plus cher",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "5000 mAh",
          "10000 mAh",
          "20000 mAh"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "ABS",
          "aluminium",
          "bambou"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Tampographie",
          "UV"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Boîte"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Câble intégré",
          "charge induction"
        ]
      }
    ],
    "description": "Power banks — Goodies / Tech. Cadeau d'affaires plus cher."
  },
  {
    "name": "Porte-clés",
    "category": "Goodies",
    "subcategory": "Accessoire",
    "formats": "Standard ; rond ; rectangle",
    "materials": "Métal ; PVC ; cuir",
    "printing": "Gravure ; doming",
    "options": "Sans ; Anneau ; mousqueton",
    "notes": "Très large variété",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Standard",
          "rond",
          "rectangle"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Métal",
          "PVC",
          "cuir"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Gravure",
          "doming"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Anneau",
          "mousqueton"
        ]
      }
    ],
    "description": "Porte-clés — Goodies / Accessoire. Très large variété."
  },
  {
    "name": "Magnets",
    "category": "Goodies",
    "subcategory": "Décoration",
    "formats": "Rond ; carré ; rectangle",
    "materials": "Aimant souple ; rigide ; doming",
    "printing": "Quadri",
    "finishes": "Sans ; Pelliculage ; résine doming",
    "options": "Sans ; Découpe à la forme",
    "notes": "Petit coût et bon impact visuel",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Rond",
          "carré",
          "rectangle"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Aimant souple",
          "rigide",
          "doming"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "résine doming"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe à la forme"
        ]
      }
    ],
    "description": "Magnets — Goodies / Décoration. Petit coût et bon impact visuel."
  },
  {
    "name": "Stickers / autocollants",
    "category": "Goodies",
    "subcategory": "Sticker",
    "formats": "Rond ; carré ; rectangle",
    "materials": "Papier adhésif ; vinyle ; transparent",
    "printing": "Quadri ; blanc",
    "finishes": "Sans ; Lamination mat/brillant ; doming",
    "options": "Sans ; Planche ; individuel",
    "notes": "Objet pub simple et efficace",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Rond",
          "carré",
          "rectangle"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Papier adhésif",
          "vinyle",
          "transparent"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "blanc"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Lamination mat/brillant",
          "doming"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Planche",
          "individuel"
        ]
      }
    ],
    "description": "Stickers / autocollants — Goodies / Sticker. Objet pub simple et efficace."
  },
  {
    "name": "Parapluies",
    "category": "Goodies",
    "subcategory": "Textile",
    "formats": "Pliant ; canne ; tempête",
    "materials": "Polyester ; pongée ; RPET",
    "printing": "Sérigraphie ; transfert",
    "finishes": "Sans ; Housse",
    "options": "Sans ; Ouverture auto ; poignée bois",
    "notes": "Goodie premium et saisonnier",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Pliant",
          "canne",
          "tempête"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Polyester",
          "pongée",
          "RPET"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Sérigraphie",
          "transfert"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Housse"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Ouverture auto",
          "poignée bois"
        ]
      }
    ],
    "description": "Parapluies — Goodies / Textile. Goodie premium et saisonnier."
  },
  {
    "name": "Briquets",
    "category": "Goodies",
    "subcategory": "Objet pub",
    "formats": "Mini ; électronique ; tempête",
    "materials": "Plastique ; métal",
    "printing": "1 couleur ; quadri",
    "options": "Sans ; Rechargeable ou non",
    "notes": "Selon réglementation locale et usage",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Mini",
          "électronique",
          "tempête"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Plastique",
          "métal"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "1 couleur",
          "quadri"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Rechargeable ou non"
        ]
      }
    ],
    "description": "Briquets — Goodies / Objet pub. Selon réglementation locale et usage."
  },
  {
    "name": "Sacs papier",
    "category": "Goodies",
    "subcategory": "Packaging / retail",
    "formats": "S ; M ; L",
    "materials": "Kraft ; couché ; recyclé",
    "printing": "1 couleur ; quadri",
    "finishes": "Sans ; Pelliculage ; dorure",
    "options": "Sans ; Poignées torsadées ; plates",
    "notes": "Retail, cadeau, événement",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "S",
          "M",
          "L"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Kraft",
          "couché",
          "recyclé"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "1 couleur",
          "quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "dorure"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Poignées torsadées",
          "plates"
        ]
      }
    ],
    "description": "Sacs papier — Goodies / Packaging / retail. Retail, cadeau, événement."
  },
  {
    "name": "Boîtes repas / lunch box",
    "category": "Goodies",
    "subcategory": "Lifestyle",
    "formats": "500 ml ; 800 ml ; 1 L",
    "materials": "PP ; inox ; bambou",
    "printing": "Sérigraphie ; gravure",
    "options": "Sans ; Couverts ; élastique",
    "notes": "Goodie durable",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "500 ml",
          "800 ml",
          "1 L"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PP",
          "inox",
          "bambou"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Sérigraphie",
          "gravure"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Couverts",
          "élastique"
        ]
      }
    ],
    "description": "Boîtes repas / lunch box — Goodies / Lifestyle. Goodie durable."
  },
  {
    "name": "Pins / badges métal",
    "category": "Goodies",
    "subcategory": "Accessoire",
    "formats": "20 mm ; 25 mm ; 32 mm",
    "materials": "Métal ; zamak ; laiton",
    "printing": "Email ; gravure",
    "finishes": "Sans ; Résine ; dorure",
    "options": "Sans ; Attache papillon ; aimant",
    "notes": "Corporate, merch, associatif",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "20 mm",
          "25 mm",
          "32 mm"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Métal",
          "zamak",
          "laiton"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Email",
          "gravure"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Résine",
          "dorure"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Attache papillon",
          "aimant"
        ]
      }
    ],
    "description": "Pins / badges métal — Goodies / Accessoire. Corporate, merch, associatif."
  },
  {
    "name": "Étiquettes en rouleau",
    "category": "Packaging",
    "subcategory": "Étiquette",
    "formats": "Rond ; carré ; rectangle",
    "materials": "Papier couché ; vélin ; kraft",
    "grammages": "60µ ; 70g ; 80g",
    "printing": "Quadri ; noir",
    "finishes": "Sans ; Vernis ; lamination mate/brillante",
    "options": "Sans ; Mandrin ; sens d'enroulement",
    "notes": "Agro, cosmétique, logistique",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Rond",
          "carré",
          "rectangle"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Papier couché",
          "vélin",
          "kraft"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "60µ",
          "70g",
          "80g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "noir"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Vernis",
          "lamination mate/brillante"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Mandrin",
          "sens d'enroulement"
        ]
      }
    ],
    "description": "Étiquettes en rouleau — Packaging / Étiquette. Agro, cosmétique, logistique."
  },
  {
    "name": "Étiquettes adhésives à l'unité",
    "category": "Packaging",
    "subcategory": "Étiquette",
    "formats": "A4 ; planches",
    "materials": "Papier ; vinyle ; transparent",
    "grammages": "80µ ; 90µ ; 100µ",
    "printing": "Quadri",
    "finishes": "Sans ; Lamination",
    "options": "Sans ; Planche ; découpe mi-chair",
    "notes": "Petites séries",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "A4",
          "planches"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Papier",
          "vinyle",
          "transparent"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "80µ",
          "90µ",
          "100µ"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Lamination"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Planche",
          "découpe mi-chair"
        ]
      }
    ],
    "description": "Étiquettes adhésives à l'unité — Packaging / Étiquette. Petites séries."
  },
  {
    "name": "Doming",
    "category": "Packaging",
    "subcategory": "Étiquette résinée",
    "formats": "Rond ; carré",
    "materials": "Vinyle + résine polyuréthane",
    "printing": "Quadri",
    "finishes": "Sans ; Résine 3D",
    "options": "Sans ; Découpe à la forme",
    "notes": "Rendu premium en volume",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Rond",
          "carré"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Vinyle + résine polyuréthane"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Résine 3D"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe à la forme"
        ]
      }
    ],
    "description": "Doming — Packaging / Étiquette résinée. Rendu premium en volume."
  },
  {
    "name": "Étuis pliants",
    "category": "Packaging",
    "subcategory": "Boîte carton",
    "formats": "étui simple ; fond semi-auto ; fond auto",
    "materials": "Cartonnette ; GC1 ; kraft",
    "grammages": "250g ; 350g ; 400g",
    "printing": "Quadri ; pantone",
    "finishes": "Sans ; Pelliculage ; vernis ; dorure",
    "options": "Sans ; Découpe ; rainage",
    "notes": "Cosmétique, pharma, alimentaire sec",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "étui simple",
          "fond semi-auto",
          "fond auto"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Cartonnette",
          "GC1",
          "kraft"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "250g",
          "350g",
          "400g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "pantone"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis",
          "dorure"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Découpe",
          "rainage"
        ]
      }
    ],
    "description": "Étuis pliants — Packaging / Boîte carton. Cosmétique, pharma, alimentaire sec."
  },
  {
    "name": "Boîtes cloche / coffrets",
    "category": "Packaging",
    "subcategory": "Coffret",
    "formats": "Sur mesure",
    "materials": "Carton rigide ; contrecollé ; papier création",
    "grammages": "1,5mm ; 2mm ; 3mm",
    "printing": "Quadri ; marquage à chaud",
    "finishes": "Sans ; Pelliculage ; dorure ; vernis",
    "options": "Sans ; Mousse ; calage",
    "notes": "Packaging premium",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Sur mesure"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Carton rigide",
          "contrecollé",
          "papier création"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "1,5mm",
          "2mm",
          "3mm"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "marquage à chaud"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "dorure",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Mousse",
          "calage"
        ]
      }
    ],
    "description": "Boîtes cloche / coffrets — Packaging / Coffret. Packaging premium."
  },
  {
    "name": "Fourreaux / sleeves",
    "category": "Packaging",
    "subcategory": "Fourreau",
    "formats": "Sur mesure",
    "materials": "Cartonnette ; kraft ; recyclé",
    "grammages": "250g ; 300g ; 350g",
    "printing": "Quadri ; pantone",
    "finishes": "Sans ; Pelliculage ; vernis",
    "options": "Sans ; Rainage ; collage",
    "notes": "Habillage de produits et boîtes",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Sur mesure"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Cartonnette",
          "kraft",
          "recyclé"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "250g",
          "300g",
          "350g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "pantone"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Rainage",
          "collage"
        ]
      }
    ],
    "description": "Fourreaux / sleeves — Packaging / Fourreau. Habillage de produits et boîtes."
  },
  {
    "name": "Pochettes cadeaux",
    "category": "Packaging",
    "subcategory": "Pochette",
    "formats": "Petit ; moyen ; grand",
    "materials": "Papier couché ; kraft ; luxe",
    "grammages": "170g ; 190g ; 210g",
    "printing": "Quadri ; pantone",
    "finishes": "Sans ; Pelliculage ; vernis ; dorure",
    "options": "Sans ; Poignée ruban ; découpe",
    "notes": "Retail, événementiel",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Petit",
          "moyen",
          "grand"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Papier couché",
          "kraft",
          "luxe"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "170g",
          "190g",
          "210g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "pantone"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis",
          "dorure"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Poignée ruban",
          "découpe"
        ]
      }
    ],
    "description": "Pochettes cadeaux — Packaging / Pochette. Retail, événementiel."
  },
  {
    "name": "Papier cadeau personnalisé",
    "category": "Packaging",
    "subcategory": "Wrapping",
    "formats": "Bobine ; feuilles",
    "materials": "Papier couché ; kraft ; soie",
    "grammages": "40g ; 80g ; 90g",
    "printing": "1 couleur ; 2 couleurs",
    "finishes": "Aucune",
    "options": "Sans ; Bobine ; feuilles",
    "notes": "Retail et branding",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "Bobine",
          "feuilles"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "Papier couché",
          "kraft",
          "soie"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "40g",
          "80g",
          "90g"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "1 couleur",
          "2 couleurs"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Aucune"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Bobine",
          "feuilles"
        ]
      }
    ],
    "description": "Papier cadeau personnalisé — Packaging / Wrapping. Retail et branding."
  },
  {
    "name": "Sachets souples imprimés",
    "category": "Packaging",
    "subcategory": "Sachet",
    "formats": "doypack ; sachet plat",
    "materials": "PE ; PP ; kraft",
    "printing": "Quadri ; pantone",
    "finishes": "Sans ; Mat ; brillant ; soft touch",
    "options": "Sans ; Zip ; euro-hole",
    "notes": "Plus packaging souple que print traditionnel",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "doypack",
          "sachet plat"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PE",
          "PP",
          "kraft"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri",
          "pantone"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Mat",
          "brillant",
          "soft touch"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Zip",
          "euro-hole"
        ]
      }
    ],
    "description": "Sachets souples imprimés — Packaging / Sachet. Plus packaging souple que print traditionnel."
  },
  {
    "name": "Cartes de fidélité",
    "category": "Packaging",
    "subcategory": "Carte / retail",
    "formats": "86x54 ; 85x55",
    "materials": "PVC ; papier 350g ; PET",
    "grammages": "350g ; 760µ",
    "printing": "Quadri recto/verso ; données variables",
    "finishes": "Sans ; Pelliculage ; vernis",
    "options": "Sans ; Code-barres ; QR",
    "notes": "Retail, CRM, clubs",
    "source": "Base nettoyée pour implémentation V1 : quantités d'achat supprimées, options rationalisées, attributs non techniques retirés.",
    "attributes_json": [
      {
        "name": "Format",
        "type": "select",
        "required": true,
        "options": [
          "86x54",
          "85x55"
        ]
      },
      {
        "name": "Support / matière",
        "type": "select",
        "required": false,
        "options": [
          "PVC",
          "papier 350g",
          "PET"
        ]
      },
      {
        "name": "Grammage / épaisseur",
        "type": "select",
        "required": false,
        "options": [
          "350g",
          "760µ"
        ]
      },
      {
        "name": "Impression",
        "type": "select",
        "required": false,
        "options": [
          "Quadri recto/verso",
          "données variables"
        ]
      },
      {
        "name": "Finition",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Pelliculage",
          "vernis"
        ]
      },
      {
        "name": "Façonnage / option",
        "type": "select",
        "required": false,
        "options": [
          "Sans",
          "Code-barres",
          "QR"
        ]
      }
    ],
    "description": "Cartes de fidélité — Packaging / Carte / retail. Retail, CRM, clubs."
  }
]