// 30 bouquets total: 14 original singles + 16 new collections (23 Plum Velvet merged into 09).
// Each product gets a stable code (PP-NNN), display name, copy in EN + ZH.
// `addedAt` (YYYY-MM-DD) drives the homepage "Just Arrived" section — newest 8 auto-show.
// `collections` array maps each product to one or more themed collection pages
//   (slugs: valentines | graduation | mothers | engagement). Empty array = Shop All only.
// `isSoldOut: true` hides price + disables add-to-cart (still browsable).
// `isCustom: true` swaps PDP into a customisation enquiry (no price, no size).
const PRODUCTS = [
  // ── Original 14 singles (first batch) ────────────────────────────────
  { id:"PP-021", code:"01", coll:"First Blush",     name_en:"First Blush",              name_zh:"初绽",            price:108, addedAt:"2026-04-15", collections:[], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"5 stalks",stems_zh:"5 枝",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"10 stems",stems_zh:"10 枝",delta:40,disabled:true}], photo:"first-blush-1.jpg", alts:["first-blush-2.jpg","first-blush-3.jpg"] },
  { id:"PP-034", code:"02", coll:"Sweetheart",      name_en:"Sweetheart",               name_zh:"甜心花束",        price:68,  addedAt:"2026-04-15", collections:["mothers"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"5 stalks",stems_zh:"5 枝",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"12 stems",stems_zh:"12 枝",delta:40,disabled:true}], photo:"sweetheart-1.jpg", alts:["sweetheart-2.jpg"] },
  { id:"PP-052", code:"03", coll:"Sunny Pink",      name_en:"Sunny Pink",               name_zh:"阳光粉",          price:58,  addedAt:"2026-04-15", collections:["mothers"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"5 stalks",stems_zh:"5 枝",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"10 stalks",stems_zh:"10 枝",delta:30}], photo:"sunny-pink-1.jpg", alts:["sunny-pink-3.jpg","sunny-pink-4.jpg"] },
  { id:"PP-061", code:"04", coll:"Pink Reverie",    name_en:"Pink Reverie",             name_zh:"粉色梦境",        price:158, addedAt:"2026-04-15", collections:["graduation"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"hand-tied",stems_zh:"手工扎花",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"with foliage",stems_zh:"带配叶",delta:40,disabled:true}], photo:"pink-reverie-1.jpg", alts:["pink-reverie-2.jpg"] },
  // 05 Daydream — Customisation per Hedda 2026-05-12. Price hidden (isCustom) + PDP routes to Telegram enquiry.
  { id:"PP-082", code:"05", coll:"Daydream",        name_en:"Daydream",                 name_zh:"白日梦",          price:0,   addedAt:"2026-04-15", collections:[], isCustom:true, sizes:[{id:"R",label_en:"Custom",label_zh:"客製",stems_en:"Customisation",stems_zh:"客製化",delta:0}], photo:"daydream-1.jpg", alts:[] },
  { id:"PP-094", code:"06", coll:"Soft Whisper",    name_en:"Soft Whisper",             name_zh:"轻声细语",        price:108, addedAt:"2026-04-15", collections:["valentines"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"10 stalks",stems_zh:"10 枝",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"20 stalks",stems_zh:"20 枝",delta:20}], photo:"soft-whisper-1.jpg", alts:["soft-whisper-2.jpg","soft-whisper-3.jpg"] },
  { id:"PP-105", code:"07", coll:"Mauve Affair", name_en:"Mauve Affair",          name_zh:"霧紫情事",      price:128, addedAt:"2026-04-15", collections:["graduation"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"hand-tied",stems_zh:"手工扎花",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"with stock",stems_zh:"加紫罗兰",delta:40,disabled:true}], photo:"mauve-affair-1.jpg", alts:["mauve-affair-2.jpg"] },
  { id:"PP-118", code:"08", coll:"Royal Petal",     name_en:"Royal Petal",              name_zh:"皇家花瓣",        price:178, addedAt:"2026-04-15", collections:["valentines"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"signature",stems_zh:"招牌款",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"deluxe",stems_zh:"豪华版",delta:60,disabled:true}], photo:"royal-petal-1.jpg", alts:["royal-petal-3.jpg","royal-petal-4.jpg"] },
  // 09 Spring Letter — Plum Velvet (formerly code 23) photos appended to alts per Hedda 2026-05-12.
  { id:"PP-127", code:"09", coll:"Spring Letter",   name_en:"Spring Letter",            name_zh:"春日来信",        price:88,  addedAt:"2026-04-15", collections:["valentines","mothers"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"10 stalks",stems_zh:"10 枝",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"20 stalks",stems_zh:"20 枝",delta:40}], photo:"spring-letter-1.jpg", alts:["spring-letter-2.jpg","spring-letter-3.jpg","spring-letter-4.jpg"] },
  { id:"PP-133", code:"10", coll:"Starlit",         name_en:"Starlit",                  name_zh:"星辰",            price:108, addedAt:"2026-04-15", collections:["valentines"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"10 stalks",stems_zh:"10 枝",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"20 stalks",stems_zh:"20 枝",delta:20}], photo:"starlit-1.jpg", alts:["starlit-2.jpg"] },
  { id:"PP-144", code:"11", coll:"Garden Box",      name_en:"Garden Box",               name_zh:"花园礼盒",        price:168, addedAt:"2026-04-15", collections:["mothers"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"kraft hat-box",stems_zh:"牛皮纸礼盒",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"deluxe box",stems_zh:"豪华礼盒",delta:80,disabled:true}], photo:"garden-box-1.jpg", alts:["garden-box-2.jpg","garden-box-4.jpg"] },
  // 12 Warm Embrace — sold out per Hedda 2026-05-12. Still browsable, price hidden, add-to-cart disabled.
  { id:"PP-156", code:"12", coll:"Warm Embrace",    name_en:"Warm Embrace",             name_zh:"温暖拥抱",        price:138, addedAt:"2026-04-15", collections:[], isSoldOut:true, sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"hand-tied",stems_zh:"手工扎花",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"deluxe",stems_zh:"豪华版",delta:50}], photo:"warm-embrace-1.jpg", alts:["warm-embrace-2.jpg","warm-embrace-3.jpg"] },
  { id:"PP-163", code:"13", coll:"Hello Sunshine",  name_en:"Hello Sunshine",           name_zh:"你好阳光",        price:108, addedAt:"2026-04-15", collections:["graduation","mothers"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"hand-tied",stems_zh:"手工扎花",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"with foliage",stems_zh:"带配叶",delta:30,disabled:true}], photo:"hello-sunshine-1.jpg", alts:["hello-sunshine-2.jpg"] },
  { id:"PP-188", code:"14", coll:"Burning Love",    name_en:"Burning Love",             name_zh:"炽烈之爱",        price:188, addedAt:"2026-04-15", collections:["valentines"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"24 long-stem",stems_zh:"24 枝玫瑰",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"36 long-stem",stems_zh:"36 枝玫瑰",delta:40}], photo:"burning-love-1.jpg", alts:["burning-love-2.jpg","burning-love-3.jpg"] },

  // ── New 13 collections (passion2 batch; 23 Plum Velvet merged into 09) ──
  { id:"PP-201", code:"15", coll:"Crimson Affair",  name_en:"Crimson Affair",           name_zh:"绯红情事",        price:148, addedAt:"2026-05-08", collections:["valentines"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"signature reds",stems_zh:"招牌红",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"deluxe",stems_zh:"豪华版",delta:60,disabled:true}], photo:"crimson-affair-1.jpg", alts:["crimson-affair-2.jpg","crimson-affair-3.jpg","crimson-affair-4.jpg"] },
  // 16 Cuddle Bear — Customisation per Hedda 2026-05-12. Price hidden (isCustom) + PDP routes to Telegram enquiry.
  { id:"PP-203", code:"16", coll:"Cuddle Bear",     name_en:"Cuddle Bear",              name_zh:"抱抱熊",          price:0,   addedAt:"2026-05-08", collections:[], isCustom:true, sizes:[{id:"R",label_en:"Custom",label_zh:"客製",stems_en:"Customisation",stems_zh:"客製化",delta:0}], photo:"cuddle-bear-1.jpg", alts:[] },
  { id:"PP-205", code:"17", coll:"Eternal 99",      name_en:"Eternal 99",               name_zh:"永恒 99",         price:388, addedAt:"2026-05-08", collections:["valentines","engagement"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"99 roses",stems_zh:"99 朵玫瑰",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"with packaging",stems_zh:"含礼盒包装",delta:80,disabled:true}], photo:"eternal-99-1.jpg", alts:["eternal-99-2.jpg","eternal-99-3.jpg"] },
  // 18 Honey Garden — name restored per Hedda 2026-05-12. Price hidden (isCustom) + PDP routes to Telegram enquiry.
  { id:"PP-207", code:"18", coll:"Honey Garden",    name_en:"Honey Garden",             name_zh:"蜜糖花園",        price:0,   addedAt:"2026-05-08", collections:[], isCustom:true, sizes:[{id:"R",label_en:"Custom",label_zh:"客製",stems_en:"Customisation",stems_zh:"客製化",delta:0}], photo:"honey-garden-1.jpg", alts:[] },
  // 19 Lunar Bloom — Customisation per Hedda 2026-05-12. Price hidden (isCustom) + PDP routes to Telegram enquiry.
  { id:"PP-209", code:"19", coll:"Lunar Bloom",     name_en:"Lunar Bloom",              name_zh:"新春綻放",        price:0,   addedAt:"2026-05-08", collections:[], isCustom:true, sizes:[{id:"R",label_en:"Custom",label_zh:"客製",stems_en:"Customisation",stems_zh:"客製化",delta:0}], photo:"lunar-bloom-1.jpg", alts:["lunar-bloom-2.jpg","lunar-bloom-3.jpg"] },
  // 20 Peach Garden — Customisation per Hedda 2026-05-12. Price hidden (isCustom) + PDP routes to Telegram enquiry.
  { id:"PP-211", code:"20", coll:"Peach Garden",    name_en:"Peach Garden",             name_zh:"蜜桃花园",        price:0,   addedAt:"2026-05-08", collections:[], isCustom:true, sizes:[{id:"R",label_en:"Custom",label_zh:"客製",stems_en:"Customisation",stems_zh:"客製化",delta:0}], photo:"peach-garden-1.jpg", alts:["peach-garden-2.jpg"] },
  { id:"PP-213", code:"21", coll:"Peony Dream",     name_en:"Peony Dream",              name_zh:"牡丹之梦",        price:148, addedAt:"2026-05-08", collections:["valentines"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"6 peonies",stems_zh:"6 朵牡丹",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"10 peonies",stems_zh:"10 朵牡丹",delta:80,disabled:true}], photo:"peony-dream-1.jpg", alts:["peony-dream-2.jpg"] },
  { id:"PP-215", code:"22", coll:"Picnic Basket",   name_en:"Picnic Basket",            name_zh:"野餐花篮",        price:128, addedAt:"2026-05-08", collections:["mothers"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"woven basket",stems_zh:"编织花篮",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"deluxe basket",stems_zh:"豪华花篮",delta:60,disabled:true}], photo:"picnic-basket-1.jpg", alts:["picnic-basket-2.jpg"] },
  { id:"PP-223", code:"23", coll:"Stargaze Pink",   name_en:"Stargaze Pink",            name_zh:"星辰粉",          price:138, addedAt:"2026-05-08", collections:["valentines"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"stargazer mix",stems_zh:"星辰百合混搭",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"with foliage",stems_zh:"带配叶",delta:40,disabled:true}], photo:"stargaze-pink-1.jpg", alts:[] },
  { id:"PP-219", code:"24", coll:"Pop of Blue",     name_en:"Pop of Blue",              name_zh:"一抹蓝",          price:128, addedAt:"2026-05-08", collections:[], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"blue accents",stems_zh:"蓝色点缀",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"with foliage",stems_zh:"带配叶",delta:40,disabled:true}], photo:"pop-of-blue-1.jpg", alts:["pop-of-blue-2.jpg","pop-of-blue-3.jpg"] },
  { id:"PP-221", code:"25", coll:"Purple Coded",    name_en:"Purple Coded",             name_zh:"紫色密码",        price:88,  addedAt:"2026-05-08", collections:["mothers"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"purple blend",stems_zh:"紫色混搭",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"deluxe",stems_zh:"豪华版",delta:50,disabled:true}], photo:"purple-coded-1.jpg", alts:["purple-coded-2.jpg","purple-coded-3.jpg","purple-coded-4.jpg"] },
  { id:"PP-229", code:"26", coll:"Pastel Sky",      name_en:"Pastel Sky",               name_zh:"粉彩天空",        price:128, addedAt:"2026-05-10", collections:["graduation"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"hydrangea + rose mix",stems_zh:"绣球粉玫混搭",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"with peonies + stock",stems_zh:"加洋牡丹紫罗兰",delta:40}], photo:"pastel-sky-1.jpg", alts:["pastel-sky-2.jpg"] },
  { id:"PP-225", code:"27", coll:"Sunshine Daisy",  name_en:"Sunshine Daisy",           name_zh:"阳光雏菊",        price:58,  addedAt:"2026-05-08", collections:["mothers"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"5 stalks",stems_zh:"5 枝",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"10 stalks",stems_zh:"10 枝",delta:30}], photo:"sunshine-daisy-1.jpg", alts:["sunshine-daisy-2.jpg"] },
  { id:"PP-227", code:"28", coll:"Vintage Letter",  name_en:"Vintage Letter",           name_zh:"古典情书",        price:128, addedAt:"2026-05-08", collections:["valentines"], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"vintage palette",stems_zh:"复古配色",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"deluxe",stems_zh:"豪华版",delta:50,disabled:true}], photo:"vintage-letter-1.jpg", alts:[] },
  // 29 Summer Breeze — Customisation per Hedda 2026-05-13. Price hidden (isCustom) + PDP routes to Telegram enquiry.
  { id:"PP-231", code:"29", coll:"Summer Breeze",   name_en:"Summer Breeze",            name_zh:"夏日微风",        price:0,   addedAt:"2026-05-10", collections:[], isCustom:true, sizes:[{id:"R",label_en:"Custom",label_zh:"客製",stems_en:"Customisation",stems_zh:"客製化",delta:0}], photo:"summer-breeze-1.jpg", alts:["summer-breeze-2.jpg"] },
  { id:"PP-233", code:"30", coll:"Fairy Toile",     name_en:"Fairy Toile",              name_zh:"童话 toile",      price:158, addedAt:"2026-05-10", collections:[], sizes:[{id:"R",label_en:"Regular",label_zh:"标准",stems_en:"lily + rose mix",stems_zh:"百合粉玫混搭",delta:0},{id:"L",label_en:"Large",label_zh:"加大",stems_en:"deluxe",stems_zh:"豪华版",delta:50}], photo:"fairy-toile-1.jpg", alts:["fairy-toile-2.jpg","fairy-toile-3.jpg"] },
];

// Collection definitions — order drives Home page card layout + nav dropdown.
// Cover image picked from a representative bouquet in each collection.
const COLLECTIONS = [
  { slug:"valentines",  name_en:"Valentine's Day", name_zh:"情人节",   cover:"burning-love-1.jpg" },
  { slug:"graduation",  name_en:"Graduation",      name_zh:"毕业花束", cover:"pastel-sky-1.jpg" },
  { slug:"mothers",     name_en:"Mother's Day",    name_zh:"母亲节",   cover:"sweetheart-1.jpg" },
  { slug:"engagement",  name_en:"Engagement",      name_zh:"求婚花束", cover:"eternal-99-1.jpg" },
];

// Per-product Wrap & Ribbon options per Hedda 2026-05-12.
// Format: code → { en: [opt1, opt2, ...], zh: [opt1, opt2, ...] }
// Codes not listed default to ["—"] (no selectable option). Same for products with blank brief entry.
const WRAP_RIBBON_BY_CODE = {
  "01": { en: ["Pink paper · pink ribbon", "White paper · pink ribbon"], zh: ["粉色雪梨纸 · 粉缎带", "白色雪梨纸 · 粉缎带"] },
  "02": { en: ["Pink paper · pink ribbon", "White paper · pink ribbon", "Khaki paper · pink ribbon"], zh: ["粉色雪梨纸 · 粉缎带", "白色雪梨纸 · 粉缎带", "卡其雪梨纸 · 粉缎带"] },
  "03": { en: ["Pink paper · pink ribbon", "White paper · pink ribbon", "Khaki paper · pink ribbon"], zh: ["粉色雪梨纸 · 粉缎带", "白色雪梨纸 · 粉缎带", "卡其雪梨纸 · 粉缎带"] },
  "04": { en: ["Pink paper · pink ribbon", "White paper · pink ribbon"], zh: ["粉色雪梨纸 · 粉缎带", "白色雪梨纸 · 粉缎带"] },
  "06": { en: ["Pink paper · pink ribbon", "White paper · pink ribbon"], zh: ["粉色雪梨纸 · 粉缎带", "白色雪梨纸 · 粉缎带"] },
  "07": { en: ["Purple + white wrapper · purple ribbon"], zh: ["紫白雪梨纸 · 紫缎带"] },
  "08": { en: ["White wrapper · pink organza ribbon"], zh: ["白色雪梨纸 · 粉色欧根缎带"] },
  "09": { en: ["White wrapper · pink organza ribbon"], zh: ["白色雪梨纸 · 粉色欧根缎带"] },
  "10": { en: ["White wrapper · blue ribbon"], zh: ["白色雪梨纸 · 蓝缎带"] },
  "11": { en: ["No wrapper or ribbon"], zh: ["不加包装与缎带"] },
  "13": { en: ["Vintage newspaper · yellow ribbon"], zh: ["复古报纸 · 黄缎带"] },
  "14": { en: ["Wine red + white wrapper · red organza ribbon"], zh: ["酒红与白色雪梨纸 · 红色欧根缎带"] },
  "15": { en: ["White wrapper · red ribbon"], zh: ["白色雪梨纸 · 红缎带"] },
  "17": { en: ["White wrapper · red ribbon"], zh: ["白色雪梨纸 · 红缎带"] },
  "21": { en: ["White wrapper · pink organza ribbon"], zh: ["白色雪梨纸 · 粉色欧根缎带"] },
  "24": { en: ["White wrapper · blue ribbon"], zh: ["白色雪梨纸 · 蓝缎带"] },
  "25": { en: ["White wrapper · purple ribbon"], zh: ["白色雪梨纸 · 紫缎带"] },
  "26": { en: ["Yellow wrapper · yellow ribbon"], zh: ["黄色雪梨纸 · 黄缎带"] },
  "27": { en: ["White wrapper · pink ribbon", "Pink wrapper · pink ribbon"], zh: ["白色雪梨纸 · 粉缎带", "粉色雪梨纸 · 粉缎带"] },
  "28": { en: ["Yellow wrapper · yellow ribbon"], zh: ["黄色雪梨纸 · 黄缎带"] },
  "29": { en: ["Vintage newspaper · pink organza ribbon"], zh: ["复古报纸 · 粉色欧根缎带"] },
  "31": { en: ["Cheetah print wrapper · pink organza ribbon", "Pink wrapper · pink ribbon", "White wrapper · pink ribbon"], zh: ["豹纹雪梨纸 · 粉色欧根缎带", "粉色雪梨纸 · 粉缎带", "白色雪梨纸 · 粉缎带"] },
};

window.PRODUCTS = PRODUCTS;
window.COLLECTIONS = COLLECTIONS;
window.WRAP_RIBBON_BY_CODE = WRAP_RIBBON_BY_CODE;
