/* Shared data + logo for Hands Carpets prototype.
   Prices are verbatim AED from media/DOWNLOAD-LOG.md (real Shopify catalogue).
   Collection handles are real from /collections.json (services.md). */

const PRODUCTS = [
  { handle: "dl-1569-assorted",      title: "DL 1569 Assorted",      price: 56003, type: "Hand Knotted", img: "media/product-01-dl-1569-assorted.webp",     collection: "persian",       palette: "Ivory & verdigris" },
  { handle: "dl-5702-assorted",      title: "DL 5702 Assorted",      price: 16834, type: "Hand Knotted", img: "media/product-02-dl-5702-assorted.webp",     collection: "traditional",   palette: "Sage & ivory" },
  { handle: "p-1193-assorted",       title: "P-1193 Assorted",       price: 7594,  type: "Hand Knotted", img: "media/product-03-p-1193-assorted.webp",      collection: "persian",       palette: "Madder & ivory" },
  { handle: "p-4293-assorted",       title: "P 4293 Assorted",       price: 7068,  type: "Hand Knotted", img: "media/product-04-p-4293-assorted.webp",      collection: "traditional",   palette: "Camel & terracotta" },
  { handle: "dl-7536-assorted",      title: "DL 7536 Assorted",      price: 23184, type: "Hand Knotted", img: "media/product-05-dl-7536-assorted.webp",     collection: "contemporary",  palette: "Pewter & bone" },
  { handle: "cyrel-green-multi",     title: "Cyrel Green Multi",     price: 30156, type: "Hand Knotted", img: "media/product-06-cyrel-green-multi.webp",    collection: "contemporary",  palette: "Sea-mist & celadon" },
  { handle: "dl-7061-assorted",      title: "DL 7061 Assorted",      price: 44206, type: "Hand Knotted", img: "media/product-07-dl-7061-assorted.webp",     collection: "modern",        palette: "Mineral wash" },
  { handle: "dl-1576-assorted",      title: "DL 1576 Assorted",      price: 20261, type: "Hand Knotted", img: "media/product-08-dl-1576-assorted.webp",     collection: "traditional",   palette: "Ivory & charcoal" },
  { handle: "og-1119-assorted",      title: "OG 1119 Assorted",      price: 15472, type: "Hand Knotted", img: "media/product-09-og-1119-assorted.webp",     collection: "persian",       palette: "Cream & cobalt" },
  { handle: "mirae-antique-red",     title: "Mirae Antique Red",     price: 32728, type: "Hand Knotted", img: "media/product-10-mirae-antique-red.webp",    collection: "persian",       palette: "Antique madder" },
  { handle: "patina-charcoal-beige", title: "Patina Charcoal Beige", price: 42339, type: "Hand Knotted", img: "media/product-11-patina-charcoal-beige.webp",collection: "modern",        palette: "Charcoal patina" },
  { handle: "dl-1570-grey",          title: "DL 1570 Grey",          price: 70115, type: "Hand Knotted", img: "media/product-12-dl-1570-grey.webp",         collection: "modern",        palette: "Stone & moss" },
  { handle: "dl-1572-assorted",      title: "DL 1572 Assorted",      price: 70115, type: "Hand Knotted", img: "media/product-13-dl-1572-assorted.webp",     collection: "traditional",   palette: "Indigo & flax" },
  { handle: "hkd8-p-4432-assorted",  title: "HKD8 (P 4432) Assorted",price: 21967, type: "Hand Knotted", img: "media/product-14-hkd8-p-4432-assorted.webp", collection: "traditional",   palette: "Pearl & graphite" },
];

const COLLECTIONS_BY_STYLE = [
  { handle: "persian",                  name: "Persian",       count: 142, img: "media/collection-persian.webp" },
  { handle: "traditional",              name: "Traditional",   count: 188, img: "media/collection-traditional.webp" },
  { handle: "contemporary",             name: "Contemporary",  count: 124, img: "media/collection-contemporary.webp" },
  { handle: "modern",                   name: "Modern",        count: 96,  img: "media/collection-modern.webp" },
  { handle: "abstract-carpets",         name: "Abstract",      count: 64,  img: "media/product-07-dl-7061-assorted.webp" },
  { handle: "geometric-carpet-designs", name: "Geometric",     count: 58,  img: "media/product-11-patina-charcoal-beige.webp" },
  { handle: "designer-carpets",         name: "Designer",      count: 42,  img: "media/product-06-cyrel-green-multi.webp" },
];

const COLLECTIONS_BY_MATERIAL = [
  { handle: "silk-carpets",           name: "Silk",            count: 78, img: "media/product-01-dl-1569-assorted.webp" },
  { handle: "bamboo-silk-carpets",    name: "Bamboo Silk",     count: 36, img: "media/product-05-dl-7536-assorted.webp" },
  { handle: "botanical-silk-carpets", name: "Botanical Silk",  count: 28, img: "media/product-08-dl-1576-assorted.webp" },
  { handle: "wool-carpets",           name: "Wool",            count: 312,img: "media/collection-traditional.webp" },
  { handle: "wool-and-silk-carpets",  name: "Wool & Silk",     count: 96, img: "media/product-12-dl-1570-grey.webp" },
];

const COLLECTIONS_BY_ROOM = [
  { handle: "living-room-luxury-carpets", name: "Living Room",      count: 248, img: "media/collection-persian.webp" },
  { handle: "bedroom-rugs",               name: "Bedroom",          count: 174, img: "media/product-09-og-1119-assorted.webp" },
  { handle: "dining-room-carpets",        name: "Dining Room",      count: 96,  img: "media/product-10-mirae-antique-red.webp" },
  { handle: "corridor-carpets",           name: "Corridor & Hallway",count: 48, img: "media/product-13-dl-1572-assorted.webp" },
  { handle: "outdoor",                    name: "Outdoor",          count: 22,  img: "media/product-14-hkd8-p-4432-assorted.webp" },
];

const SIGNATURE_RANGES = [
  { handle: "amberlyn",          name: "Amberlynn",         count: 18 },
  { handle: "antonym",           name: "Antonym",           count: 14 },
  { handle: "cryptos",           name: "Cryptos",           count: 12 },
  { handle: "disperse",          name: "Disperse",          count: 16 },
  { handle: "empirex",           name: "Empirex",           count: 22 },
  { handle: "forma",             name: "Forma / Forma II",  count: 28 },
  { handle: "fresca-collection", name: "Fresca",            count: 14 },
];

const PROJECTS = [
  { id: "burj-hotel-residences", kind: "Hospitality · Dubai", title: "A landmark Burj-area five-star hotel", scope: "Bespoke ballroom & lobby carpets · 12 floors · 2018", permission: "permission-pending", img: null },
  { id: "macau-grand-residences",kind: "Hospitality · Macau", title: "An integrated resort, Macau",          scope: "Hand-knotted suite carpets · custom palettes · 2016",permission: "permission-pending", img: null },
  { id: "private-villa-emirates",kind: "Residence · UAE",     title: "Private villa, Emirates Hills",         scope: "Drawing room & gallery · 16 hand-knotted pieces",  permission: "anonymised",         img: "media/product-07-dl-7061-assorted.webp" },
  { id: "townhouse-london",      kind: "Residence · London",  title: "Townhouse, Knightsbridge",              scope: "Library & dining · NZ-wool & silk · 2022",         permission: "anonymised",         img: "media/product-12-dl-1570-grey.webp" },
];

const TIMELINE = [
  { year: "1881", title: "Bhadohi, North India",                                    body: "The carpet-weaving community of Bhadohi (Varanasi) is discovered by A. Tellery, pioneering masterfully hand-knotted carpets. The house begins." },
  { year: "1999", title: "4,900 knots per square inch",                             body: "A publicly reported craft achievement that approaches the upper bound of fine hand-knotting." },
  { year: "2006", title: "A carpet for a Grand Mosque",                             body: "12,000+ m² of handmade carpet woven for the Grand Mosque at Astana / Nur-Sultan — the kind of commission that takes a year to plan and longer to weave." },
  { year: "2018", title: "Dubai Design District boutique",                          body: "Hands opens at Dubai Design Week in Building 9, d3 — a designer-led boutique pairing the ready collection with bespoke consultation." },
  { year: "Today", title: "Five exclusive boutiques · global hospitality",          body: "Stores across New Delhi, Mumbai, Hyderabad, Dubai and Singapore, weaving bespoke carpets for palaces, hotels, institutions and residences." },
];

const fmtAED = (n) => "AED " + n.toLocaleString("en-AE");

// Official Hands logo (vector). Inherits currentColor.
function HandsLogo({ size = 36 }) {
  return (
    <svg viewBox="0 0 120 52" xmlns="http://www.w3.org/2000/svg" style={{ height: size, width: "auto", display: "block" }} aria-label="Hands">
      <g>
        <path d="M2.1,34.4c0.5-2.6,2.3-4.3,4.3-5.7c1.7-1.2,3.5-2.3,5.2-3.4c0.3-0.2,0.4-0.4,0.5-0.7c0.7-5.5,1.6-11,3.6-16.3c0.6-1.6,1.4-3.2,2.1-4.8C18,3,18.4,2.8,19,2.7c0.8,0,1.3,0.5,1.1,1.3c-0.5,3.4-1.2,6.8-1.6,10.2c-0.3,2.7-0.4,5.4-0.5,8.1c0,0.1,0,0.2,0,0.4c1-0.2,1.9-0.4,2.9-0.6c2.1-0.4,4.1-0.9,6.2-1.3c0.3-0.1,0.4-0.2,0.5-0.5c0.3-2.8,0.6-5.6,1-8.4C28.8,9.5,29.2,7.2,30,5c0.6-1.8,1.7-3.1,3.5-3.6c2.5-0.8,4.9,0.9,5.1,3.6c0.1,1.9-0.3,3.8-0.9,5.6c-0.9,2.9-1.9,5.8-2.9,8.8c-0.1,0.2-0.1,0.3-0.2,0.5c1.2,0.1,2.3,0.1,3.5,0.2c0.9,0,1.4,0.4,1.4,1.2c0,0.8-0.5,1.4-1.4,1.5c-1.2,0.1-2.4,0.3-3.6,0.4c-0.3,0-0.4,0.2-0.5,0.5c-1.1,5.8-1.6,11.7-1.2,17.7c0.1,2.2,0.5,4.4,0.7,6.6c0.1,0.7-0.1,1.1-0.6,1.3c-0.5,0.3-1.2,0.2-1.6-0.3c-0.2-0.2-0.3-0.4-0.4-0.7c-1.4-3.3-2.2-6.7-2.7-10.3c-0.6-4.1-0.7-8.2-0.7-12.3c0-0.2,0-0.4,0-0.6c-0.2,0.1-0.3,0.1-0.5,0.2c-3,1.3-6,2.7-9,4c-0.3,0.1-0.4,0.3-0.4,0.6c0.1,5.5,0.2,11.1,0.3,16.6c0,0.4,0,0.8-0.1,1.2c-0.2,1.6-1,2.8-2.7,3.1c-0.1,0-0.2,0-0.4,0c-1.7-0.2-2.5-1.3-3.1-2.7c-0.5-1.2-0.8-2.4-0.9-3.7c-0.3-2.8-0.1-5.6,0.1-8.4c0-0.5,0.1-1.1,0.2-1.8c-0.8,0.7-1.4,1.4-2.2,2c-0.7,0.6-1.4,1.1-2.3,1.5c-1.8,0.9-4.2-0.2-4.5-2.4c0-0.1-0.1-0.1-0.1-0.2C2.1,34.9,2.1,34.7,2.1,34.4z" fill="currentColor"/>
        <path d="M117.9,24.3c0,0.1-0.1,0.1-0.1,0.2c-0.3,1.7-1.7,2.7-3.4,2.6c-1.6-0.1-2.7-1.5-2.8-3.1c0-1.6,1.1-2.9,2.8-3.1c1.6-0.2,3.1,0.8,3.4,2.4c0,0.1,0.1,0.3,0.1,0.4C117.9,23.8,117.9,24.1,117.9,24.3z M114.7,21.2c-1.4,0-2.6,1.2-2.6,2.7c0,1.5,1.2,2.7,2.6,2.7c1.4,0,2.6-1.2,2.6-2.7C117.3,22.5,116.2,21.2,114.7,21.2z" fill="currentColor"/>
        <path d="M96.3,45.6c-0.4,0.5-0.7,0.9-1.1,1.4c-0.3,0.3-0.5,0.7-0.8,1c-1.8,2.1-4.8,2.9-7.5,2c-1.6-0.6-2.7-1.7-3.4-3.2c-1.1-2.5-1.2-5-0.7-7.6c0.2-1.1,0.5-2.3,0.9-3.3c1.2-3.4,3.6-5.7,6.7-7.3c1.5-0.8,3-1.1,4.8-0.4c-0.1-0.8-0.1-1.6-0.2-2.4c-0.5-3-1-6-1.5-9.1c-0.3-1.6-0.5-3.3-0.2-5c0-0.1,0-0.2,0.1-0.3c0.7-2.8,3.1-3.6,5.4-1.8c1.3,1.1,2,2.7,2.5,4.3c0.6,1.9,0.6,3.9,0.6,5.9c0,3.9-0.3,7.8-0.7,11.7c-0.4,3.9-0.8,7.7-1.2,11.6c-0.2,2.1-0.4,4.1-0.7,6.2c-0.1,0.7-0.5,1.1-1.2,1.1c-0.7,0-1.2-0.4-1.2-1.2c-0.1-1-0.1-2-0.2-3c0-0.2,0-0.4-0.1-0.6C96.3,45.6,96.3,45.6,96.3,45.6z M95.3,29.3c-0.5,0.4-0.9,0.6-1.3,1c-2.7,2.3-4.3,5.3-5.1,8.8c-0.2,1-0.3,2.1,0,3.1c0.3,1.2,1.2,1.8,2.5,1.6c1.1-0.1,1.9-0.6,2.6-1.5c0.8-0.9,1.2-2.1,1.4-3.2c0.5-2.4,0.4-4.7,0.2-7.1C95.6,31.2,95.5,30.3,95.3,29.3z" fill="currentColor"/>
        <path d="M50.9,28.5c1.1-1.2,2.4-1.9,4-1.9c1.7-0.1,2.9,0.8,3.4,2.4c0.4,1.4,0.3,2.8,0.1,4.3c-0.4,3.1-1.4,6.1-2.3,9c-0.7,2.3-1.3,4.6-1.9,6.9c-0.2,0.9-0.8,1.3-1.6,1.3c-0.6,0-1-0.4-1-1c-0.2-1.6-0.4-3.2-0.7-4.8c-0.2,0.2-0.3,0.3-0.4,0.4c-1.3,1.5-2.7,2.9-4.3,4c-1.2,0.8-2.5,1.3-3.9,1.4c-3.3,0.2-5.8-2-6.3-5.4c-0.4-2.6,0.2-5.1,1.2-7.5c1.3-3.1,3.4-5.7,6-7.9c0.6-0.5,1.2-1.1,1.9-1.4C47.1,27.2,49,27.1,50.9,28.5z M50.5,31c-0.3,0-0.4,0-0.6,0c-2.1,0.2-3.6,1.2-4.9,2.8c-1.3,1.7-2.1,3.6-2.5,5.7c-0.2,1.1-0.2,2.3,0.3,3.3c0.4,0.9,1.2,1.3,2.1,1c0.7-0.2,1.4-0.6,1.9-1.1c1.4-1,2.5-2.4,3.5-3.7c0.1-0.1,0.1-0.4,0.1-0.6c0-1.5,0-3,0-4.5C50.5,33,50.5,32,50.5,31z" fill="currentColor"/>
        <path d="M68.3,29.4c0.5-0.4,0.9-0.9,1.4-1.2c2.1-1.5,4.2-1.1,5.4,1.1c0.5,0.9,0.9,2,1.3,3c1.4,4.1,2.4,8.3,3.4,12.5c0.3,1.1,0.5,2.1,0.8,3.2c0.2,0.7-0.1,1.3-0.6,1.5c-0.6,0.2-1.1,0.1-1.5-0.6c-1-1.8-2-3.5-3-5.3c-1.2-2.2-2.3-4.3-3.5-6.5c-0.4-0.7-0.9-1.3-1.4-1.9c-0.3-0.3-0.6-0.6-1-0.8c-0.8-0.4-1.4-0.2-1.7,0.6c-0.1,0.2-0.2,0.5-0.2,0.7c-0.7,4.2-1.4,8.3-2.1,12.5c-0.2,1-0.6,1.6-1.6,1.9c-1.2,0.3-2.2-0.3-2.4-1.5c-0.1-0.8-0.2-1.7-0.2-2.5c0-5.3-0.1-10.5-0.1-15.8c0-1.5,1.1-2.6,2.6-2.7c1.5-0.1,2.7,0.5,3.9,1.3C67.9,29.1,68.1,29.3,68.3,29.4z" fill="currentColor"/>
        <path d="M108,50.4c-1.6,0-3-0.2-4.2-0.9c-0.5-0.2-0.9-0.6-1.3-0.9c-0.5-0.5-0.6-1.1-0.3-1.6c0.3-0.5,1-0.8,1.6-0.6c0.5,0.1,1,0.4,1.5,0.4c1.8,0.2,3.3-0.6,4.5-2c0.1-0.2,0.2-0.3,0.3-0.5c0.3-0.7,0.1-1.1-0.7-1.3c-0.8-0.2-1.6-0.3-2.3-0.5c-1-0.3-1.9-0.7-2.7-1.4c-0.8-0.7-1.2-1.5-1.3-2.6c-0.4-4.3,2.3-8.2,6.5-9.2c1.8-0.4,3.5-0.4,5.2,0.2c1.1,0.4,2.1,1.1,2.4,2.4c0.1,0.2,0.1,0.5,0,0.7c-0.1,0.9-0.9,1.2-1.7,0.9c-0.6-0.3-1.3-0.6-2-0.7c-1.3-0.3-2.8,0.5-3.4,1.7c-0.4,0.8-0.2,1.5,0.5,2c0.7,0.5,1.4,0.7,2.2,0.9c0.6,0.1,1.3,0.2,1.9,0.4c1.9,0.7,2.7,2.1,2.5,4.2c-0.6,4.7-3.8,7.4-7.9,8.2C108.9,50.4,108.4,50.4,108,50.4z" fill="currentColor"/>
        <path d="M114.1,24.2c0,0.5,0,1,0,1.5c-0.2,0-0.3,0-0.5,0c0-1.2,0-2.4,0-3.6c0.6,0,1.2,0,1.8,0c0.5,0,0.8,0.4,0.8,0.9c0,0.6-0.2,0.9-0.7,1c-0.1,0-0.1,0-0.2,0.1c0.3,0.5,0.6,1,1,1.5c-0.4,0.1-0.6,0-0.7-0.3c-0.2-0.3-0.4-0.6-0.5-0.9C114.7,24.2,114.5,24.1,114.1,24.2z M114.1,23.7c0.4,0,0.7,0,1,0c0.3,0,0.5-0.2,0.5-0.6c0-0.3-0.2-0.5-0.5-0.6c-0.3,0-0.7,0-1.1,0C114.1,23,114.1,23.3,114.1,23.7z" fill="currentColor"/>
      </g>
    </svg>
  );
}

Object.assign(window, {
  PRODUCTS, COLLECTIONS_BY_STYLE, COLLECTIONS_BY_MATERIAL, COLLECTIONS_BY_ROOM, SIGNATURE_RANGES,
  PROJECTS, TIMELINE, fmtAED, HandsLogo,
});
