// Catalogue Indigo & Safran — données produits réelles
// Palettes de couleurs pour les vignettes panier & fallback SVG

const PALETTES = {
  indigo:   { base: "#1f3a52", deep: "#102433", soft: "#cfd9e3", paper: "#f4ede0" },
  terre:    { base: "#b85c3f", deep: "#7a3622", soft: "#efd2c3", paper: "#faf3e8" },
  safran:   { base: "#c98a2a", deep: "#8a5c14", soft: "#f1ddb6", paper: "#fdf6e6" },
  rose:     { base: "#c4567a", deep: "#86304f", soft: "#f3d2dd", paper: "#fbede9" },
  vert:     { base: "#5b7a4a", deep: "#34492a", soft: "#d4dec4", paper: "#f1ede0" },
  noir:     { base: "#2a2a2a", deep: "#0e0e0e", soft: "#dcdcd6", paper: "#f6f3ec" },
  bleuPaon: { base: "#1f6878", deep: "#0e3742", soft: "#cfdfe1", paper: "#eef0e6" },
  ocre:     { base: "#a87832", deep: "#6a4a18", soft: "#e9d6ad", paper: "#f7efde" },
};

function svgURL(svg) {
  return `data:image/svg+xml;utf8,${encodeURIComponent(svg).replace(/'/g, "%27")}`;
}
function makePattern(kind, p) {
  const { base, deep, paper } = p;
  if (kind === "buti") {
    return svgURL(`<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><rect width='80' height='80' fill='${paper}'/><g fill='${base}'><circle cx='20' cy='20' r='4'/><circle cx='60' cy='60' r='4'/><circle cx='60' cy='20' r='2.5'/><circle cx='20' cy='60' r='2.5'/></g><g fill='${deep}' opacity='0.55'><circle cx='40' cy='40' r='1.6'/><circle cx='0' cy='40' r='1.6'/><circle cx='80' cy='40' r='1.6'/><circle cx='40' cy='0' r='1.6'/><circle cx='40' cy='80' r='1.6'/></g></svg>`);
  }
  if (kind === "jaali") {
    return svgURL(`<svg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'><rect width='60' height='60' fill='${paper}'/><g stroke='${base}' stroke-width='1.4' fill='none'><path d='M0 30 L30 0 L60 30 L30 60 Z'/><path d='M15 30 L30 15 L45 30 L30 45 Z'/></g><circle cx='30' cy='30' r='2' fill='${deep}'/></svg>`);
  }
  if (kind === "stripes") {
    return svgURL(`<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><rect width='40' height='40' fill='${paper}'/><g fill='${base}'><rect y='6' width='40' height='2'/><rect y='14' width='40' height='1'/><rect y='22' width='40' height='2'/><rect y='30' width='40' height='1'/></g><g fill='${deep}'><rect y='10' width='40' height='1'/><rect y='26' width='40' height='1'/></g></svg>`);
  }
  if (kind === "fleur") {
    return svgURL(`<svg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'><rect width='90' height='90' fill='${paper}'/><g fill='${base}' opacity='0.85'><circle cx='45' cy='45' r='3'/><circle cx='45' cy='30' r='4'/><circle cx='45' cy='60' r='4'/><circle cx='30' cy='45' r='4'/><circle cx='60' cy='45' r='4'/></g><g fill='${deep}' opacity='0.4'><circle cx='10' cy='10' r='1.5'/><circle cx='80' cy='10' r='1.5'/><circle cx='10' cy='80' r='1.5'/><circle cx='80' cy='80' r='1.5'/></g></svg>`);
  }
  if (kind === "diamants") {
    return svgURL(`<svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50'><rect width='50' height='50' fill='${paper}'/><g fill='${base}'><path d='M25 8 L34 25 L25 42 L16 25 Z'/></g><g fill='${deep}'><path d='M0 25 L4 21 L8 25 L4 29 Z'/><path d='M42 25 L46 21 L50 25 L46 29 Z'/></g></svg>`);
  }
  if (kind === "etoiles") {
    return svgURL(`<svg xmlns='http://www.w3.org/2000/svg' width='70' height='70' viewBox='0 0 70 70'><rect width='70' height='70' fill='${paper}'/><g fill='${base}'><path d='M20 10 L23 18 L31 20 L23 22 L20 30 L17 22 L9 20 L17 18 Z'/><path d='M50 40 L53 48 L61 50 L53 52 L50 60 L47 52 L39 50 L47 48 Z'/></g><g fill='${deep}' opacity='0.5'><circle cx='50' cy='15' r='1.8'/><circle cx='20' cy='55' r='1.8'/></g></svg>`);
  }
  return null;
}

const PRODUCTS = [
  // ─── NAPPES — Collection DELHI · UNIS ───────────────────────────
  {
    id: "delhi-03", name: "Nappe Delhi 3", collection: "Delhi",
    category: "nappes", pattern: "stripes", palette: "safran",
    img: "/images/delhi-3.jpg",
    desc: "Nappe unie blockprint, coton 100%. Coloris uni, finitions à la main par les artisans de Jaipur.",
    sizes: [
      { label: "1,5 × 1,5 m — 4 pers.", price: 32 },
      { label: "1,5 × 2,25 m — 6 pers.", price: 34 },
      { label: "1,5 × 2,7 m — 8 pers.", price: 39 },
    ],
  },
  // ─── NAPPES — Collection DELHI · MOTIFS ─────────────────────────
  {
    id: "delhi-05", name: "Nappe Delhi 5", collection: "Delhi",
    category: "nappes", pattern: "fleur", palette: "terre",
    img: "/images/delhi-5.jpg",
    desc: "Imprimé blockprint à la planche de bois, motif traditionnel du Rajasthan. Coton 100%, lavage 30°.",
    sizes: [
      { label: "1,5 × 2,25 m — 6 pers.", price: 34 },
      { label: "1,5 × 2,7 m — 8 pers.", price: 39 },
    ],
  },
  {
    id: "delhi-07", name: "Nappe Delhi 7", collection: "Delhi",
    category: "nappes", pattern: "buti", palette: "rose",
    img: "/images/delhi-7.jpg",
    desc: "Imprimé blockprint à la planche de bois, motif traditionnel du Rajasthan. Coton 100%, lavage 30°.",
    sizes: [
      { label: "1,5 × 2,25 m — 6 pers.", price: 34 },
      { label: "1,5 × 2,7 m — 8 pers.", price: 39 },
    ],
  },
  {
    id: "delhi-08", name: "Nappe Delhi 8", collection: "Delhi",
    category: "nappes", pattern: "jaali", palette: "bleuPaon",
    img: "/images/delhi-8.jpg",
    desc: "Imprimé blockprint à la planche de bois, motif traditionnel du Rajasthan. Coton 100%, lavage 30°.",
    sizes: [
      { label: "1,5 × 2,25 m — 6 pers.", price: 34 },
      { label: "1,5 × 3 m — 8 pers.", price: 39 },
    ],
  },
  {
    id: "delhi-09", name: "Nappe Delhi 9", collection: "Delhi",
    category: "nappes", pattern: "fleur", palette: "ocre",
    img: "/images/delhi-9.jpg",
    desc: "Imprimé blockprint à la planche de bois, motif traditionnel du Rajasthan. Coton 100%, lavage 30°.",
    sizes: [
      { label: "1,5 × 2,25 m — 6 pers.", price: 34 },
      { label: "1,5 × 2,7 m — 8 pers.", price: 39 },
    ],
  },
  {
    id: "delhi-10", name: "Nappe Delhi 10", collection: "Delhi",
    category: "nappes", pattern: "etoiles", palette: "noir",
    img: "/images/delhi-10.jpg",
    desc: "Imprimé blockprint à la planche de bois, motif traditionnel du Rajasthan. Coton 100%, lavage 30°.",
    sizes: [
      { label: "1,5 × 2,25 m — 6 pers.", price: 34 },
    ],
  },
  {
    id: "delhi-11", name: "Nappe Delhi 11", collection: "Delhi",
    category: "nappes", pattern: "diamants", palette: "safran",
    img: "/images/delhi-11.jpg",
    desc: "Imprimé blockprint à la planche de bois, motif traditionnel du Rajasthan. Coton 100%, lavage 30°.",
    sizes: [
      { label: "1,5 × 2,25 m — 6 pers.", price: 34 },
    ],
  },
  {
    id: "delhi-13", name: "Nappe Delhi 13", collection: "Delhi",
    category: "nappes", pattern: "buti", palette: "rose",
    img: "/images/delhi13.jpg",
    desc: "Imprimé blockprint à la planche de bois, motif traditionnel du Rajasthan. Coton 100%, lavage 30°.",
    sizes: [
      { label: "1,5 × 2,7 m — 8 pers.", price: 39 },
    ],
  },
  // ─── NAPPES — Collection BOMBAY ─────────────────────────────────
  {
    id: "bombay-01", name: "Nappe Bombay B1", collection: "Bombay",
    category: "nappes", pattern: "stripes", palette: "indigo",
    img: "/images/bombay-1.jpg",
    gallery: ["/images/bombay-1.jpg", "/images/bombay-5.jpg", "/images/bombay-1-b.jpg", "/images/bombay-1-c.jpg"],
    desc: "Collection Bombay — imprimé blockprint sur coton épais. Finitions à la main, motifs géométriques. Pour une nappe 6 couverts, les dimensions sont 1,5 m × 2,3 m. Pour une nappe 8 couverts, les dimensions sont 1,5 m × 3 m.",
    sizes: [
      { label: "6 pers.", price: 34 },
    ],
    tag: "Best-seller",
  },
  {
    id: "bombay-02", name: "Nappe Bombay B2", collection: "Bombay",
    category: "nappes", pattern: "stripes", palette: "terre",
    img: "/images/bombay-2.jpg",
    gallery: ["/images/bombay-2.jpg", "/images/bombay-2-b.jpg", "/images/bombay-2-c.jpg", "/images/bombay-2-d.jpg"],
    desc: "Collection Bombay — imprimé blockprint sur coton épais. Finitions à la main, motifs géométriques. Pour une nappe 6 couverts, les dimensions sont 1,5 m × 2,3 m. Pour une nappe 8 couverts, les dimensions sont 1,5 m × 3 m.",
    sizes: [
      { label: "6 pers.", price: 34 },
      { label: "1,5 × 2,3 m — 8 pers.", price: 39 },
    ],
  },
  {
    id: "bombay-04", name: "Nappe Bombay B4", collection: "Bombay",
    category: "nappes", pattern: "buti", palette: "safran",
    img: "/images/bombay-4.jpg",
    desc: "Collection Bombay — imprimé blockprint sur coton épais. Finitions à la main, motifs géométriques. Pour une nappe 6 couverts, les dimensions sont 1,5 m × 2,3 m. Pour une nappe 8 couverts, les dimensions sont 1,5 m × 3 m.",
    sizes: [
      { label: "6 pers.", price: 34 },
      { label: "8 pers.", price: 39 },
    ],
  },
  {
    id: "bombay-06", name: "Nappe Bombay B6", collection: "Bombay",
    category: "nappes", pattern: "fleur", palette: "rose",
    img: "/images/bombay-6.jpg",
    gallery: ["/images/bombay-6.jpg", "/images/bombay-8-e.jpg", "/images/bombay-8-f.jpg", "/images/bombay-8-g.jpg", "/images/bombay-8-h.jpg", "/images/bombay-8-i.jpg", "/images/bombay-8-j.jpg"],
    desc: "Collection Bombay — imprimé blockprint sur coton épais. Finitions à la main, motifs géométriques. Pour une nappe 6 couverts, les dimensions sont 1,5 m × 2,3 m. Pour une nappe 8 couverts, les dimensions sont 1,5 m × 3 m. Pour une nappe 10 couverts, les dimensions sont 1,5 m × 3,55 m.",
    sizes: [
      { label: "6 pers.", price: 34 },
      { label: "10 pers.", price: 44 },
    ],
  },
  {
    id: "bombay-07", name: "Nappe Bombay B7", collection: "Bombay",
    category: "nappes", pattern: "fleur", palette: "ocre",
    img: "/images/bombay-7.jpg",
    desc: "Collection Bombay — imprimé blockprint sur coton épais. Finitions à la main, motifs géométriques. Pour une nappe 6 couverts, les dimensions sont 1,5 m × 2,3 m.",
    sizes: [
      { label: "6 pers.", price: 34 },
    ],
  },
  {
    id: "bombay-08", name: "Nappe Bombay B8", collection: "Bombay",
    category: "nappes", pattern: "jaali", palette: "indigo",
    img: "/images/bombay-8.jpg",
    gallery: ["/images/bombay-8.jpg", "/images/bombay-8-b.jpg", "/images/bombay-8-c.jpg", "/images/bombay-8-d.jpg"],
    desc: "Collection Bombay Pat — imprimé blockprint sur coton épais. Motif patchwork géométrique. Pour une nappe 6 couverts, les dimensions sont 1,5 m × 2,3 m. Pour une nappe 8 couverts, les dimensions sont 1,5 m × 3 m.",
    sizes: [
      { label: "6 pers.", price: 34 },
      { label: "1,5 × 2,3 m — 8 pers.", price: 39 },
    ],
  },
  {
    id: "bombay-09", name: "Nappe Bombay B9", collection: "Bombay",
    category: "nappes", pattern: "jaali", palette: "terre",
    img: "/images/bombay-9.jpg",
    desc: "Collection Bombay Pat — imprimé blockprint sur coton épais. Motif patchwork géométrique.",
    sizes: [
      { label: "1,5 × 2,3 m — 8 pers.", price: 39 },
    ],
  },
  {
    id: "bombay-10", name: "Nappe Bombay B10", collection: "Bombay",
    category: "nappes", pattern: "diamants", palette: "bleuPaon",
    img: "/images/bombay-10.jpg",
    desc: "Collection Bombay Pat — imprimé blockprint sur coton épais. Motif patchwork géométrique.",
    sizes: [
      { label: "1,5 × 2,3 m — 8 pers.", price: 39 },
    ],
  },
  {
    id: "bombay-11", name: "Nappe Bombay B11", collection: "Bombay",
    category: "nappes", pattern: "diamants", palette: "vert",
    img: "/images/bombay-11.jpg",
    desc: "Collection Bombay Pat — imprimé blockprint sur coton épais. Motif patchwork géométrique.",
    sizes: [
      { label: "1,5 × 2,3 m — 8 pers.", price: 39 },
    ],
  },
  {
    id: "bombay-14", name: "Nappe Bombay B14", collection: "Bombay",
    category: "nappes", pattern: "fleur", palette: "indigo",
    img: "/images/nappe Bombay 14.jpg",
    desc: "Collection Bombay — imprimé blockprint sur coton épais. Finitions à la main, motifs géométriques. Pour une nappe 6 couverts, les dimensions sont 1,5 m × 2,3 m.",
    sizes: [
      { label: "6 pers.", price: 34 },
    ],
  },
  // ─── NAPPES — Collection JAIPUR ─────────────────────────────────
  {
    id: "jaipur-11", name: "Nappe Jaipur Modèle 11", collection: "Jaipur",
    category: "nappes", pattern: "etoiles", palette: "rose",
    img: "/images/jaipur-11.jpg",
    desc: "Collection Jaipur — imprimé blockprint floral, inspiration jardins moghols. Coton 100%.",
    sizes: [
      { label: "1,5 × 2,25 m — 6 pers.", price: 34 },
      { label: "1,5 × 2,7 m — 8 pers.", price: 39 },
    ],
  },
  {
    id: "jaipur-12", name: "Nappe Jaipur Modèle 12", collection: "Jaipur",
    category: "nappes", pattern: "buti", palette: "safran",
    img: "/images/jaipur-12.jpg",
    desc: "Collection Jaipur — imprimé blockprint floral, inspiration jardins moghols. Coton 100%.",
    sizes: [
      { label: "1,5 × 2,25 m — 6 pers.", price: 34 },
      { label: "1,5 × 2,7 m — 8 pers.", price: 39 },
    ],
  },
  // ─── CHEMINS DE TABLE ───────────────────────────────────────────
  {
    id: "chemin-02", name: "Chemin de table Modèle B",
    category: "chemins", pattern: "buti", palette: "terre",
    img: "/images/chemins-2.jpg",
    desc: "Chemin de table 100% coton imprimé blockprint, finitions à la main par les artisans du Rajasthan.",
    sizes: [{ label: "Taille unique", price: 28 }],
  },
  {
    id: "chemin-03", name: "Chemin de table Modèle C",
    category: "chemins", pattern: "stripes", palette: "safran",
    img: "/images/chemins-3.jpg",
    desc: "Chemin de table 100% coton imprimé blockprint, finitions à la main par les artisans du Rajasthan.",
    sizes: [{ label: "Taille unique", price: 28 }],
  },
  {
    id: "chemin-04", name: "Chemin de table Modèle D",
    category: "chemins", pattern: "jaali", palette: "vert",
    img: "/images/chemins-4.jpg",
    desc: "Chemin de table 100% coton imprimé blockprint, finitions à la main par les artisans du Rajasthan.",
    sizes: [{ label: "Taille unique", price: 28 }],
  },
  {
    id: "chemin-05", name: "Chemin de table Modèle E",
    category: "chemins", pattern: "fleur", palette: "rose",
    img: "/images/chemins-5.jpg",
    desc: "Chemin de table 100% coton imprimé blockprint, finitions à la main par les artisans du Rajasthan.",
    sizes: [{ label: "Taille unique", price: 28 }],
  },
  {
    id: "chemin-08", name: "Chemin de table Modèle H",
    category: "chemins", pattern: "buti", palette: "noir",
    img: "/images/chemins-8.jpg",
    desc: "Chemin de table 100% coton imprimé blockprint, finitions à la main par les artisans du Rajasthan.",
    sizes: [{ label: "Taille unique", price: 28 }],
  },
  {
    id: "chemin-09", name: "Chemin de table Modèle I",
    category: "chemins", pattern: "fleur", palette: "indigo",
    img: "/images/chemins-9.jpg",
    desc: "Chemin de table 100% coton imprimé blockprint, finitions à la main par les artisans du Rajasthan.",
    sizes: [{ label: "Taille unique", price: 28 }],
  },
  {
    id: "chemin-11", name: "Chemin de table Modèle K",
    category: "chemins", pattern: "stripes", palette: "rose",
    img: "/images/chemins-11.jpg",
    desc: "Chemin de table 100% coton imprimé blockprint, finitions à la main par les artisans du Rajasthan.",
    sizes: [{ label: "Taille unique", price: 28 }],
  },
  {
    id: "chemin-12", name: "Chemin de table Modèle L",
    category: "chemins", pattern: "buti", palette: "safran",
    img: "/images/chemins-12.jpg",
    desc: "Chemin de table 100% coton imprimé blockprint, finitions à la main par les artisans du Rajasthan.",
    sizes: [{ label: "Taille unique", price: 28 }],
  },
  {
    id: "chemin-13", name: "Chemin de table Modèle M",
    category: "chemins", pattern: "etoiles", palette: "vert",
    img: "/images/chemins-13.jpg",
    desc: "Chemin de table 100% coton imprimé blockprint, finitions à la main par les artisans du Rajasthan.",
    sizes: [{ label: "Taille unique", price: 28 }],
  },
  {
    id: "chemin-14", name: "Chemin de table Modèle N",
    category: "chemins", pattern: "diamants", palette: "bleuPaon",
    img: "/images/chemins-14.jpg",
    desc: "Chemin de table 100% coton imprimé blockprint, finitions à la main par les artisans du Rajasthan.",
    sizes: [{ label: "Taille unique", price: 28 }],
  },
  {
    id: "chemin-15", name: "Chemin de table Modèle O",
    category: "chemins", pattern: "fleur", palette: "ocre",
    img: "/images/chemins-15.jpg",
    desc: "Chemin de table 100% coton imprimé blockprint, finitions à la main par les artisans du Rajasthan.",
    sizes: [{ label: "Taille unique", price: 28 }],
  },
  // ─── PLAIDS ENFANTS ─────────────────────────────────────────────
  {
    id: "couette-01", name: "Plaid enfant Modèle 1",
    category: "couettes", pattern: "fleur", palette: "rose",
    img: "/images/linge-1.jpg",
    gallery: ["/images/linge-1.jpg", "/images/linge-2.jpg"],
    desc: "Plaid enfant 100% coton, imprimé blockprint. 115 × 150 cm.",
    sizes: [{ label: "115 × 150 cm", price: 45 }],
  },
  {
    id: "couette-03", name: "Plaid enfant Modèle 3",
    category: "couettes", pattern: "buti", palette: "vert",
    img: "/images/linge-3.jpg",
    gallery: ["/images/linge-3.jpg", "/images/linge-12.jpg"],
    desc: "Plaid enfant 100% coton, imprimé blockprint. 115 × 150 cm.",
    sizes: [{ label: "115 × 150 cm", price: 45 }],
  },
  // ─── HOUSSES D'ORDINATEUR ───────────────────────────────────────
  {
    id: "housse-01", name: "Housse ordinateur Modèle 1",
    category: "housses", pattern: "buti", palette: "indigo",
    img: "/images/housses-1.jpg",
    desc: "Housse d'ordinateur 100% coton imprimé blockprint. Doublée, protection optimale.",
    sizes: [{ label: "Taille unique", price: 22 }],
  },
  {
    id: "housse-02", name: "Housse ordinateur Modèle 2",
    category: "housses", pattern: "fleur", palette: "terre",
    img: "/images/housses-2.jpg",
    desc: "Housse d'ordinateur 100% coton imprimé blockprint. Doublée, protection optimale.",
    sizes: [{ label: "Taille unique", price: 22 }],
  },
  {
    id: "housse-03", name: "Housse ordinateur Modèle 3",
    category: "housses", pattern: "jaali", palette: "rose",
    img: "/images/housses-3.jpg",
    desc: "Housse d'ordinateur 100% coton imprimé blockprint. Doublée, protection optimale.",
    sizes: [{ label: "Taille unique", price: 22 }],
  },
  {
    id: "housse-04", name: "Housse ordinateur Modèle 4",
    category: "housses", pattern: "etoiles", palette: "vert",
    img: "/images/housses-4.jpg",
    desc: "Housse d'ordinateur 100% coton imprimé blockprint. Doublée, protection optimale.",
    sizes: [{ label: "Taille unique", price: 22 }],
  },
  {
    id: "housse-05", name: "Housse ordinateur Modèle 5",
    category: "housses", pattern: "diamants", palette: "safran",
    img: "/images/housses-5.jpg",
    desc: "Housse d'ordinateur 100% coton imprimé blockprint. Doublée, protection optimale.",
    sizes: [{ label: "Taille unique", price: 22 }],
  },
  {
    id: "housse-06", name: "Housse ordinateur Modèle 6",
    category: "housses", pattern: "buti", palette: "bleuPaon",
    img: "/images/housses-6.jpg",
    desc: "Housse d'ordinateur 100% coton imprimé blockprint. Doublée, protection optimale.",
    sizes: [{ label: "Taille unique", price: 22 }],
  },
  {
    id: "housse-07", name: "Housse ordinateur Modèle 7",
    category: "housses", pattern: "fleur", palette: "ocre",
    img: "/images/housses-7.jpg",
    desc: "Housse d'ordinateur 100% coton imprimé blockprint. Doublée, protection optimale.",
    sizes: [{ label: "Taille unique", price: 22 }],
  },
  {
    id: "housse-08", name: "Housse ordinateur Modèle 8",
    category: "housses", pattern: "stripes", palette: "noir",
    img: "/images/housses-8.jpg",
    desc: "Housse d'ordinateur 100% coton imprimé blockprint. Doublée, protection optimale.",
    sizes: [{ label: "Taille unique", price: 22 }],
  },
  // ─── POCHETTES ──────────────────────────────────────────────────
  {
    id: "pochette-01", name: "Pochette Modèle 1",
    category: "pochettes", pattern: "fleur", palette: "indigo",
    img: "/images/perso-1.jpg",
    desc: "Pochette 100% coton imprimé blockprint. Fermeture zippée, doublée intérieur coton.",
    sizes: [{ label: "Taille unique", price: 12 }],
    tag: "Nouveauté",
  },
  {
    id: "pochette-04", name: "Pochette Modèle 4",
    category: "pochettes", pattern: "etoiles", palette: "rose",
    img: "/images/perso-4.jpg",
    desc: "Pochette 100% coton imprimé blockprint. Fermeture zippée, doublée intérieur coton.",
    sizes: [{ label: "Taille unique", price: 12 }],
    tag: "Nouveauté",
  },
  {
    id: "pochette-05", name: "Pochette Modèle 5",
    category: "pochettes", pattern: "diamants", palette: "vert",
    img: "/images/perso-5.jpg",
    desc: "Pochette 100% coton imprimé blockprint. Fermeture zippée, doublée intérieur coton.",
    sizes: [{ label: "Taille unique", price: 19 }],
    tag: "Nouveauté",
  },
  // ─── SACS ───────────────────────────────────────────────────────
  {
    id: "sac-01", name: "Tote bag Modèle 1",
    category: "sacs", pattern: "fleur", palette: "indigo",
    img: "/images/sacs-1.jpg",
    desc: "Tote bag 100% coton imprimé blockprint. 40 × 30 cm, poche intérieure, fermeture zippée.",
    sizes: [{ label: "40 × 30 cm", price: 19 }],
  },
  {
    id: "sac-02", name: "Tote bag Modèle 2",
    category: "sacs", pattern: "buti", palette: "terre",
    img: "/images/sacs-2.jpg",
    desc: "Tote bag 100% coton imprimé blockprint. 40 × 30 cm, poche intérieure, fermeture zippée.",
    sizes: [{ label: "40 × 30 cm", price: 19 }],
  },
  {
    id: "sac-03", name: "Tote bag Modèle 3",
    category: "sacs", pattern: "stripes", palette: "rose",
    img: "/images/sacs-3.jpg",
    desc: "Tote bag 100% coton imprimé blockprint. 40 × 30 cm, poche intérieure, fermeture zippée.",
    sizes: [{ label: "40 × 30 cm", price: 19 }],
  },
  {
    id: "sac-04", name: "Tote bag Modèle 4",
    category: "sacs", pattern: "jaali", palette: "vert",
    img: "/images/sacs-4.jpg",
    desc: "Tote bag 100% coton imprimé blockprint. 40 × 30 cm, poche intérieure, fermeture zippée.",
    sizes: [{ label: "40 × 30 cm", price: 19 }],
  },
  // ─── POCHETTES ──────────────────────────────────────────────────
  {
    id: "pochette-bleumarine", name: "Pochette bleu marine",
    category: "pochettes", pattern: "jaali", palette: "indigo",
    img: "/images/Pochettebleumarine1.jpeg",
    gallery: ["/images/Pochettebleumarine1.jpeg", "/images/Pochettebleumarine2.jpeg", "/images/POchettebleumarine3.jpeg", "/images/Pochettebleumarine4.jpeg"],
    desc: "Pochette bleu marine 100% coton imprimé blockprint. Fermeture zippée, doublée intérieur coton.",
    sizes: [{ label: "Taille unique", price: 16 }],
    tag: "Nouveauté",
  },
  {
    id: "pochette-bleurose", name: "Pochette bleu rose",
    category: "pochettes", pattern: "fleur", palette: "rose",
    img: "/images/Pochettebleurose1.jpeg",
    gallery: ["/images/Pochettebleurose1.jpeg", "/images/Pochettebleurose2.jpeg", "/images/POchettebleurose3.jpeg", "/images/Pochettebleurose4.jpeg"],
    desc: "Pochette bleu rose 100% coton imprimé blockprint. Fermeture zippée, doublée intérieur coton.",
    sizes: [{ label: "Taille unique", price: 16 }],
    tag: "Nouveauté",
  },
  {
    id: "pochette-orange", name: "Pochette orange",
    category: "pochettes", pattern: "buti", palette: "terre",
    img: "/images/Pochetteorange1.jpeg",
    gallery: ["/images/Pochetteorange1.jpeg", "/images/POchetteorange2.jpeg", "/images/POchetteorange3.jpeg"],
    desc: "Pochette orange 100% coton imprimé blockprint. Fermeture zippée, doublée intérieur coton.",
    sizes: [{ label: "Taille unique", price: 12 }],
    tag: "Nouveauté",
  },
  // ─── SACS ───────────────────────────────────────────────────────
  {
    id: "sac-bleuetvert", name: "Sac de voyage Lili",
    category: "sacs", pattern: "jaali", palette: "bleuPaon",
    img: "/images/Sacbleuetvert5.jpeg",
    gallery: ["/images/Sacbleuetvert5.jpeg", "/images/ Sacbleuetvert1.jpeg", "/images/Sacbleuetvert2.jpeg", "/images/Sacbleuetvert3.jpeg", "/images/Sacbleuetvert4.jpeg"],
    desc: "Sac 100% coton imprimé blockprint. Finitions à la main par les artisans du Rajasthan.",
    sizes: [{ label: "Taille unique", price: 32 }],
    tag: "Nouveauté",
  },
  {
    id: "sac-vertpachouli", name: "Sac de voyage Chouli",
    category: "sacs", pattern: "buti", palette: "vert",
    img: "/images/SacvertPachouli2.jpeg",
    gallery: ["/images/SacvertPachouli2.jpeg", "/images/SacvertPachouli1.jpeg"],
    desc: "Sac 100% coton imprimé blockprint. Finitions à la main par les artisans du Rajasthan.",
    sizes: [{ label: "Taille unique", price: 32 }],
    tag: "Nouveauté",
  },
  // ─── TROUSSES PERSONNALISABLES ───────────────────────────────────
  {
    id: "perso-02", name: "Trousse de bijoux personnalisable",
    category: "pochettes", pattern: "buti", palette: "safran",
    img: "/images/perso-2.jpg",
    desc: "Trousse à bijoux 100% coton blockprint. Personnalisable au prénom, idéale en cadeau.",
    sizes: [{ label: "Taille unique", price: 18 }],
    custom: true, tag: "Personnalisable",
  },
  // ─── MATELAS DE VOYAGE ──────────────────────────────────────────
  {
    id: "matelas-01", name: "Matelas de voyage",
    category: "couettes", pattern: "buti", palette: "indigo",
    img: "/images/MatelasVoyage1.jpeg",
    gallery: ["/images/MatelasVoyage1.jpeg", "/images/MatelasVoyage2.jpeg", "/images/MatelasVoyage3.jpeg", "/images/MatelasVoyage4.jpeg"],
    desc: "Matelas de voyage 100% coton imprimé blockprint. Léger, pliable, idéal pour les déplacements.",
    sizes: [{ label: "Taille unique", price: 29 }],
    tag: "Nouveauté",
  },
];

const CATEGORIES = [
  { id: "nappes",    label: "Nappes",             lead: "Trois collections — Delhi, Bombay, Jaipur" },
  { id: "chemins",   label: "Chemins de table",   lead: "Pour rythmer la table" },
  { id: "pochettes", label: "Trousses & pochettes", lead: "Pochettes et trousses blockprint, fermeture zippée" },
  { id: "housses",   label: "Housses d'ordinateur", lead: "100% coton imprimé blockprint" },
  { id: "couettes",  label: "Plaids enfants",      lead: "115 × 150 cm · Personnalisables au prénom" },
{ id: "sacs",      label: "Sacs",                 lead: "Tote bags, trousses personnalisables" },
];

const COLLECTIONS = [
  { id: "Delhi", label: "Delhi", lead: "Motifs géométriques et unis" },
  { id: "Bombay", label: "Bombay", lead: "Motifs géométriques contemporains" },
  { id: "Jaipur", label: "Jaipur", lead: "Motifs floraux, inspiration moghole" },
];

Object.assign(window, { PRODUCTS, CATEGORIES, COLLECTIONS, PALETTES, makePattern });
