{"title":"Nos nouveautés du moment","description":"","products":[{"product_id":"sage-force","title":"Sage Force","description":"\u003cstyle\u003e\n.faq-container {\n  font-family: Arial, sans-serif;\n  margin-top: 1rem;\n}\n.faq-container h3 {\n  font-size: 20px;\n  margin-bottom: 10px;\n}\n.faq-item {\n  border-bottom: 1px solid #ddd;\n  margin-bottom: 8px;\n}\n.faq-item summary {\n  font-weight: bold;\n  cursor: pointer;\n  padding: 10px;\n  background: #f7f7f7;\n  border-radius: 6px;\n  transition: background 0.3s;\n  list-style: none;\n  position: relative;\n}\n.faq-item summary:hover {\n  background: #eee;\n}\n.faq-item summary::after {\n  content: \"+\";\n  position: absolute;\n  right: 15px;\n  font-weight: bold;\n  transition: transform 0.3s;\n}\n.faq-item[open] summary::after {\n  content: \"-\";\n}\n.faq-item p {\n  margin: 8px 0 12px 0;\n  padding-left: 10px;\n  color: #444;\n}\n.whatsapp-btn {\n  display: inline-block;\n  margin-top: 10px;\n  padding: 10px 16px;\n  background: #25D366;\n  color: white;\n  text-decoration: none;\n  font-weight: bold;\n  border-radius: 6px;\n  transition: background 0.3s;\n}\n.whatsapp-btn:hover {\n  background: #1DA851;\n}\n\n\n\/* simulateur *\/\n.simulator-box {\n  margin-top: 10px;\n  padding: 10px;\n  background: #f9f9f9;\n  border-radius: 6px;\n}\n.simulator-box label {\n  display: block;\n  margin: 6px 0 2px;\n  font-size: 14px;\n}\n.simulator-box input {\n  width: 100%;\n  padding: 6px;\n  margin-bottom: 8px;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n}\n.simulator-box button {\n  width: 100%;\n  padding: 10px;\n  background: #333;\n  color: white;\n  font-weight: bold;\n  border: none;\n  border-radius: 6px;\n  cursor: pointer;\n  transition: background 0.3s;\n}\n.simulator-box button:hover {\n  background: #000;\n}\n.simulator-result {\n  margin-top: 10px;\n  font-weight: bold;\n  color: #222;\n}\n\u003c\/style\u003e\n\u003cstyle\u003e\n.sim-link-btn{\n  display:inline-block;padding:8px 12px;border-radius:6px;\n  background:#0b5fff;color:#fff;text-decoration:none;font-weight:700\n}\n.sim-link-btn:hover{background:#0b5fff}\n\u003c\/style\u003e\n\u003cscript\u003e\nfunction openSimulator(e){\n  if(e) e.preventDefault();\n  var d=document.getElementById('size-sim');\n  if(!d) return false;\n  d.setAttribute('open','open');\n  d.scrollIntoView({behavior:'smooth',block:'start'});\n  return false;\n}\n\/\/ Si l’URL contient #size-sim, ouvrir Q1 automatiquement\nif(location.hash==='#size-sim'){ openSimulator(); }\n\u003c\/script\u003e\n\n\u003c!-- JSON intégré : 1 mesure par taille --\u003e\n\u003cscript type=\"application\/json\" id=\"size-data\"\u003e\n{\n  \"size_order\": [\"S\",\"M\",\"L\",\"XL\"],\n  \"chemise\": {\n    \"S\": { \"chest_cm\": 95, \"shoulders_cm\": 44, \"sleeve_cm\": 62, \"length_cm\": 70 },\n    \"M\": { \"chest_cm\": 102, \"shoulders_cm\": 46, \"sleeve_cm\": 63, \"length_cm\": 72 },\n    \"L\": { \"chest_cm\": 108, \"shoulders_cm\": 48, \"sleeve_cm\": 64, \"length_cm\": 74 },\n    \"XL\": { \"chest_cm\": 113, \"shoulders_cm\": 50, \"sleeve_cm\": 65, \"length_cm\": 76 }\n  },\n  \"hoodie\": {\n    \"S\": { \"chest_cm\": 101, \"shoulders_cm\": 45, \"sleeve_cm\": 61, \"length_cm\": 68 },\n    \"M\": { \"chest_cm\": 107, \"shoulders_cm\": 47, \"sleeve_cm\": 62, \"length_cm\": 70 },\n    \"L\": { \"chest_cm\": 113, \"shoulders_cm\": 49, \"sleeve_cm\": 63, \"length_cm\": 72 },\n    \"XL\": { \"chest_cm\": 119, \"shoulders_cm\": 51, \"sleeve_cm\": 64, \"length_cm\": 74 }\n  },\n  \"tshirt\": {\n    \"S\": { \"chest_cm\": 95, \"shoulders_cm\": 43, \"length_cm\": 69 },\n    \"M\": { \"chest_cm\": 102, \"shoulders_cm\": 45, \"length_cm\": 71 },\n    \"L\": { \"chest_cm\": 108, \"shoulders_cm\": 47, \"length_cm\": 73 },\n    \"XL\": { \"chest_cm\": 113, \"shoulders_cm\": 49, \"length_cm\": 75 }\n  },\n  \"pantalon_jogger\": {\n    \"S\": { \"waist_cm\": 76, \"hips_cm\": 92, \"outseam_cm\": 100 },\n    \"M\": { \"waist_cm\": 85, \"hips_cm\": 100, \"outseam_cm\": 102 },\n    \"L\": { \"waist_cm\": 93, \"hips_cm\": 108, \"outseam_cm\": 104 },\n    \"XL\": { \"waist_cm\": 101, \"hips_cm\": 116, \"outseam_cm\": 106 }\n  }\n}\n\u003c\/script\u003e\n\n\u003cdiv class=\"faq-container\"\u003e\n\n  \u003c!-- Q1 déplacée en premier --\u003e\n  \u003cdetails class=\"faq-item\" id=\"size-sim\"\u003e\n    \u003csummary\u003eComment savoir ma taille idéale ?\u003c\/summary\u003e\n    \u003cdiv class=\"simulator-box\"\u003e\n      \u003clabel for=\"height\"\u003eVotre taille (cm)\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"height\" placeholder=\"ex: 175\"\u003e\n\n      \u003clabel for=\"weight\"\u003eVotre poids (kg)\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"weight\" placeholder=\"ex: 72\"\u003e\n\n      \u003clabel for=\"age\"\u003eVotre âge\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"age\" placeholder=\"ex: 28\"\u003e\n\n      \u003cbutton onclick=\"simulateSize()\"\u003eVoir ma taille recommandée\u003c\/button\u003e\n      \u003cdiv id=\"result\" class=\"simulator-result\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003eEst-ce que les photos du produit sont réelles ?\u003c\/summary\u003e\n    \u003cp\u003eOui, les photos sont 100% réelles et vous pouvez vérifier le colis avant de payer.\u003c\/p\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003eEn combien de temps vais-je recevoir ma commande ?\u003c\/summary\u003e\n    \u003cp\u003eLe délai de livraison est généralement entre 24h et 48h ouvrables selon la ville.\u003c\/p\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003ePuis-je changer la taille si elle ne me va pas ?\u003c\/summary\u003e\n    \u003cp\u003e\n  Oui, l’échange de taille est possible sous 48 h avec des frais de 29 DH si le produit est dans son état initial.\n  \u003ca href=\"#size-sim\" class=\"sim-link-btn\" onclick=\"return openSimulator(event)\"\u003e📏 Ouvrir le simulateur\u003c\/a\u003e\n\u003c\/p\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003eEt si le produit a un défaut ?\u003c\/summary\u003e\n    \u003cp\u003eL’échange est gratuit sous 48h après réception en cas de défaut confirmé.\u003c\/p\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003eSi je veux plus de détails ou commander via WhatsApp, est-ce possible ?\u003c\/summary\u003e\n    \u003cp\u003eOui, vous pouvez nous contacter directement via WhatsApp pour poser vos questions ou passer commande.\u003c\/p\u003e\n    \u003ca class=\"whatsapp-btn\" href=\"https:\/\/wa.me\/212665074565\" target=\"_blank\"\u003e💬 Contacter sur WhatsApp\u003c\/a\u003e\n  \u003c\/details\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n\/\/ ➤ RENSEIGNE le type de produit ici : \"chemise\" | \"hoodie\" | \"tshirt\" | \"pantalon_jogger\"\nconst PRODUCT_TYPE = \"chemise\";\n\n(function(){\n  function getData(){ try { return JSON.parse(document.getElementById(\"size-data\").textContent); } catch(e){ return null; } }\n\n  \/\/ estimation morphologique interne (non affichée)\n  function estimateMeasures(heightCm, weightKg, ageYears){\n    \/\/ poitrine estimée\n    let chest = (weightKg \/ heightCm) * 230;\n    if (ageYears \u003e= 30 \u0026\u0026 ageYears \u003c 45) chest += 2;\n    if (ageYears \u003e= 45) chest += 4;\n    const waist = chest * 0.85;\n    const hips  = chest * 0.95;\n    return { chest: chest, waist: waist, hips: hips };\n  }\n\n  function sizeOrderIndex(size, order){ return order.indexOf(size); }\n\n  function pickNearestTop(chestEst, table, order){\n    let best = null, bestDiff = Infinity, bestIdx = 999;\n    for (const size in table){\n      const chest = table[size].chest_cm;\n      if (typeof chest !== \"number\") continue;\n      const diff = Math.abs(chestEst - chest);\n      const idx = sizeOrderIndex(size, order);\n      if (diff \u003c bestDiff || (diff === bestDiff \u0026\u0026 idx \u003e bestIdx)) {\n        best = size; bestDiff = diff; bestIdx = idx;\n      }\n    }\n    \/\/ en cas d’estimation entre tailles, on privilégie une demi-taille au-dessus pour le confort\n    \/\/ si la poitrine estimée dépasse la valeur de la taille choisie et qu’il existe une taille au-dessus\n    const idxChosen = sizeOrderIndex(best, order);\n    const next = order[idxChosen + 1];\n    if (next \u0026\u0026 chestEst \u003e table[best].chest_cm) return next;\n    return best;\n  }\n\n  function pickNearestBottom(waistEst, hipsEst, table, order){\n    let best = null, bestScore = Infinity, bestIdx = 999;\n    for (const size in table){\n      const w = table[size].waist_cm, h = table[size].hips_cm;\n      if (typeof w !== \"number\" || typeof h !== \"number\") continue;\n      const score = Math.pow(waistEst - w, 2) + Math.pow(hipsEst - h, 2);\n      const idx = sizeOrderIndex(size, order);\n      if (score \u003c bestScore || (score === bestScore \u0026\u0026 idx \u003e bestIdx)) {\n        best = size; bestScore = score; bestIdx = idx;\n      }\n    }\n    \/\/ confort: si une des estimations dépasse la taille choisie, on monte d’une taille si possible\n    const idxChosen = sizeOrderIndex(best, order);\n    const next = order[idxChosen + 1];\n    if (next) {\n      const wChosen = table[best].waist_cm, hChosen = table[best].hips_cm;\n      if (waistEst \u003e wChosen || hipsEst \u003e hChosen) return next;\n    }\n    return best;\n  }\n\n  window.simulateSize = function(){\n    const data = getData();\n    const out = document.getElementById(\"result\");\n    const height = parseFloat(document.getElementById(\"height\").value);\n    const weight = parseFloat(document.getElementById(\"weight\").value);\n    const age    = parseFloat(document.getElementById(\"age\").value);\n\n    if (!data || !height || !weight || !age) {\n      out.innerHTML = \"⚠️ Merci de remplir tous les champs.\";\n      return;\n    }\n\n    const order = Array.isArray(data.size_order) ? data.size_order : [\"S\",\"M\",\"L\",\"XL\"];\n    const est = estimateMeasures(height, weight, age);\n\n    let rec = \"\";\n    if (PRODUCT_TYPE === \"pantalon_jogger\") {\n      rec = pickNearestBottom(est.waist, est.hips, data[\"pantalon_jogger\"], order);\n    } else if (PRODUCT_TYPE === \"chemise\" || PRODUCT_TYPE === \"hoodie\" || PRODUCT_TYPE === \"tshirt\") {\n      rec = pickNearestTop(est.chest, data[PRODUCT_TYPE], order);\n    } else {\n      out.innerHTML = \"⚠️ Type de produit non défini.\";\n      return;\n    }\n\n    out.innerHTML = \"✅ Taille recommandée : \u003cb\u003e\" + rec + \"\u003c\/b\u003e\";\n  };\n})();\n\u003c\/script\u003e\n","brand":"VERZAYA","offers":[{"title":"Noir \/ S","offer_id":42658946941005,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ M","offer_id":42658946973773,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ L","offer_id":42658947006541,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ XL","offer_id":42658947039309,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Noir \/ 2XL","offer_id":42658947072077,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Gri \/ S","offer_id":42658945368141,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Gri \/ M","offer_id":42658945400909,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Gri \/ L","offer_id":42658945433677,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Gri \/ XL","offer_id":42658945466445,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Gri \/ 2XL","offer_id":42658945663053,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Marron \/ S","offer_id":42770568577101,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Marron \/ M","offer_id":42770568609869,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Marron \/ L","offer_id":42770568642637,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Marron \/ XL","offer_id":42770568675405,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Marron \/ 2XL","offer_id":42770568708173,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/0208_7.jpg?v=1770580372"},{"product_id":"sage-force-crew","title":"Sage Force Crew","description":"\u003cstyle\u003e\n.faq-container {\n  font-family: Arial, sans-serif;\n  margin-top: 1rem;\n}\n.faq-container h3 {\n  font-size: 20px;\n  margin-bottom: 10px;\n}\n.faq-item {\n  border-bottom: 1px solid #ddd;\n  margin-bottom: 8px;\n}\n.faq-item summary {\n  font-weight: bold;\n  cursor: pointer;\n  padding: 10px;\n  background: #f7f7f7;\n  border-radius: 6px;\n  transition: background 0.3s;\n  list-style: none;\n  position: relative;\n}\n.faq-item summary:hover {\n  background: #eee;\n}\n.faq-item summary::after {\n  content: \"+\";\n  position: absolute;\n  right: 15px;\n  font-weight: bold;\n  transition: transform 0.3s;\n}\n.faq-item[open] summary::after {\n  content: \"-\";\n}\n.faq-item p {\n  margin: 8px 0 12px 0;\n  padding-left: 10px;\n  color: #444;\n}\n.whatsapp-btn {\n  display: inline-block;\n  margin-top: 10px;\n  padding: 10px 16px;\n  background: #25D366;\n  color: white;\n  text-decoration: none;\n  font-weight: bold;\n  border-radius: 6px;\n  transition: background 0.3s;\n}\n.whatsapp-btn:hover {\n  background: #1DA851;\n}\n\n\n\/* simulateur *\/\n.simulator-box {\n  margin-top: 10px;\n  padding: 10px;\n  background: #f9f9f9;\n  border-radius: 6px;\n}\n.simulator-box label {\n  display: block;\n  margin: 6px 0 2px;\n  font-size: 14px;\n}\n.simulator-box input {\n  width: 100%;\n  padding: 6px;\n  margin-bottom: 8px;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n}\n.simulator-box button {\n  width: 100%;\n  padding: 10px;\n  background: #333;\n  color: white;\n  font-weight: bold;\n  border: none;\n  border-radius: 6px;\n  cursor: pointer;\n  transition: background 0.3s;\n}\n.simulator-box button:hover {\n  background: #000;\n}\n.simulator-result {\n  margin-top: 10px;\n  font-weight: bold;\n  color: #222;\n}\n\u003c\/style\u003e\n\u003cstyle\u003e\n.sim-link-btn{\n  display:inline-block;padding:8px 12px;border-radius:6px;\n  background:#0b5fff;color:#fff;text-decoration:none;font-weight:700\n}\n.sim-link-btn:hover{background:#0b5fff}\n\u003c\/style\u003e\n\u003cscript\u003e\nfunction openSimulator(e){\n  if(e) e.preventDefault();\n  var d=document.getElementById('size-sim');\n  if(!d) return false;\n  d.setAttribute('open','open');\n  d.scrollIntoView({behavior:'smooth',block:'start'});\n  return false;\n}\n\/\/ Si l’URL contient #size-sim, ouvrir Q1 automatiquement\nif(location.hash==='#size-sim'){ openSimulator(); }\n\u003c\/script\u003e\n\n\u003c!-- JSON intégré : 1 mesure par taille --\u003e\n\u003cscript type=\"application\/json\" id=\"size-data\"\u003e\n{\n  \"size_order\": [\"S\",\"M\",\"L\",\"XL\"],\n  \"chemise\": {\n    \"S\": { \"chest_cm\": 95, \"shoulders_cm\": 44, \"sleeve_cm\": 62, \"length_cm\": 70 },\n    \"M\": { \"chest_cm\": 102, \"shoulders_cm\": 46, \"sleeve_cm\": 63, \"length_cm\": 72 },\n    \"L\": { \"chest_cm\": 108, \"shoulders_cm\": 48, \"sleeve_cm\": 64, \"length_cm\": 74 },\n    \"XL\": { \"chest_cm\": 113, \"shoulders_cm\": 50, \"sleeve_cm\": 65, \"length_cm\": 76 }\n  },\n  \"hoodie\": {\n    \"S\": { \"chest_cm\": 101, \"shoulders_cm\": 45, \"sleeve_cm\": 61, \"length_cm\": 68 },\n    \"M\": { \"chest_cm\": 107, \"shoulders_cm\": 47, \"sleeve_cm\": 62, \"length_cm\": 70 },\n    \"L\": { \"chest_cm\": 113, \"shoulders_cm\": 49, \"sleeve_cm\": 63, \"length_cm\": 72 },\n    \"XL\": { \"chest_cm\": 119, \"shoulders_cm\": 51, \"sleeve_cm\": 64, \"length_cm\": 74 }\n  },\n  \"tshirt\": {\n    \"S\": { \"chest_cm\": 95, \"shoulders_cm\": 43, \"length_cm\": 69 },\n    \"M\": { \"chest_cm\": 102, \"shoulders_cm\": 45, \"length_cm\": 71 },\n    \"L\": { \"chest_cm\": 108, \"shoulders_cm\": 47, \"length_cm\": 73 },\n    \"XL\": { \"chest_cm\": 113, \"shoulders_cm\": 49, \"length_cm\": 75 }\n  },\n  \"pantalon_jogger\": {\n    \"S\": { \"waist_cm\": 76, \"hips_cm\": 92, \"outseam_cm\": 100 },\n    \"M\": { \"waist_cm\": 85, \"hips_cm\": 100, \"outseam_cm\": 102 },\n    \"L\": { \"waist_cm\": 93, \"hips_cm\": 108, \"outseam_cm\": 104 },\n    \"XL\": { \"waist_cm\": 101, \"hips_cm\": 116, \"outseam_cm\": 106 }\n  }\n}\n\u003c\/script\u003e\n\n\u003cdiv class=\"faq-container\"\u003e\n\n  \u003c!-- Q1 déplacée en premier --\u003e\n  \u003cdetails class=\"faq-item\" id=\"size-sim\"\u003e\n    \u003csummary\u003eComment savoir ma taille idéale ?\u003c\/summary\u003e\n    \u003cdiv class=\"simulator-box\"\u003e\n      \u003clabel for=\"height\"\u003eVotre taille (cm)\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"height\" placeholder=\"ex: 175\"\u003e\n\n      \u003clabel for=\"weight\"\u003eVotre poids (kg)\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"weight\" placeholder=\"ex: 72\"\u003e\n\n      \u003clabel for=\"age\"\u003eVotre âge\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"age\" placeholder=\"ex: 28\"\u003e\n\n      \u003cbutton onclick=\"simulateSize()\"\u003eVoir ma taille recommandée\u003c\/button\u003e\n      \u003cdiv id=\"result\" class=\"simulator-result\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003eEst-ce que les photos du produit sont réelles ?\u003c\/summary\u003e\n    \u003cp\u003eOui, les photos sont 100% réelles et vous pouvez vérifier le colis avant de payer.\u003c\/p\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003eEn combien de temps vais-je recevoir ma commande ?\u003c\/summary\u003e\n    \u003cp\u003eLe délai de livraison est généralement entre 24h et 48h ouvrables selon la ville.\u003c\/p\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003ePuis-je changer la taille si elle ne me va pas ?\u003c\/summary\u003e\n    \u003cp\u003e\n  Oui, l’échange de taille est possible sous 48 h avec des frais de 29 DH si le produit est dans son état initial.\n  \u003ca href=\"#size-sim\" class=\"sim-link-btn\" onclick=\"return openSimulator(event)\"\u003e📏 Ouvrir le simulateur\u003c\/a\u003e\n\u003c\/p\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003eEt si le produit a un défaut ?\u003c\/summary\u003e\n    \u003cp\u003eL’échange est gratuit sous 48h après réception en cas de défaut confirmé.\u003c\/p\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003eSi je veux plus de détails ou commander via WhatsApp, est-ce possible ?\u003c\/summary\u003e\n    \u003cp\u003eOui, vous pouvez nous contacter directement via WhatsApp pour poser vos questions ou passer commande.\u003c\/p\u003e\n    \u003ca class=\"whatsapp-btn\" href=\"https:\/\/wa.me\/212665074565\" target=\"_blank\"\u003e💬 Contacter sur WhatsApp\u003c\/a\u003e\n  \u003c\/details\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n\/\/ ➤ RENSEIGNE le type de produit ici : \"chemise\" | \"hoodie\" | \"tshirt\" | \"pantalon_jogger\"\nconst PRODUCT_TYPE = \"chemise\";\n\n(function(){\n  function getData(){ try { return JSON.parse(document.getElementById(\"size-data\").textContent); } catch(e){ return null; } }\n\n  \/\/ estimation morphologique interne (non affichée)\n  function estimateMeasures(heightCm, weightKg, ageYears){\n    \/\/ poitrine estimée\n    let chest = (weightKg \/ heightCm) * 230;\n    if (ageYears \u003e= 30 \u0026\u0026 ageYears \u003c 45) chest += 2;\n    if (ageYears \u003e= 45) chest += 4;\n    const waist = chest * 0.85;\n    const hips  = chest * 0.95;\n    return { chest: chest, waist: waist, hips: hips };\n  }\n\n  function sizeOrderIndex(size, order){ return order.indexOf(size); }\n\n  function pickNearestTop(chestEst, table, order){\n    let best = null, bestDiff = Infinity, bestIdx = 999;\n    for (const size in table){\n      const chest = table[size].chest_cm;\n      if (typeof chest !== \"number\") continue;\n      const diff = Math.abs(chestEst - chest);\n      const idx = sizeOrderIndex(size, order);\n      if (diff \u003c bestDiff || (diff === bestDiff \u0026\u0026 idx \u003e bestIdx)) {\n        best = size; bestDiff = diff; bestIdx = idx;\n      }\n    }\n    \/\/ en cas d’estimation entre tailles, on privilégie une demi-taille au-dessus pour le confort\n    \/\/ si la poitrine estimée dépasse la valeur de la taille choisie et qu’il existe une taille au-dessus\n    const idxChosen = sizeOrderIndex(best, order);\n    const next = order[idxChosen + 1];\n    if (next \u0026\u0026 chestEst \u003e table[best].chest_cm) return next;\n    return best;\n  }\n\n  function pickNearestBottom(waistEst, hipsEst, table, order){\n    let best = null, bestScore = Infinity, bestIdx = 999;\n    for (const size in table){\n      const w = table[size].waist_cm, h = table[size].hips_cm;\n      if (typeof w !== \"number\" || typeof h !== \"number\") continue;\n      const score = Math.pow(waistEst - w, 2) + Math.pow(hipsEst - h, 2);\n      const idx = sizeOrderIndex(size, order);\n      if (score \u003c bestScore || (score === bestScore \u0026\u0026 idx \u003e bestIdx)) {\n        best = size; bestScore = score; bestIdx = idx;\n      }\n    }\n    \/\/ confort: si une des estimations dépasse la taille choisie, on monte d’une taille si possible\n    const idxChosen = sizeOrderIndex(best, order);\n    const next = order[idxChosen + 1];\n    if (next) {\n      const wChosen = table[best].waist_cm, hChosen = table[best].hips_cm;\n      if (waistEst \u003e wChosen || hipsEst \u003e hChosen) return next;\n    }\n    return best;\n  }\n\n  window.simulateSize = function(){\n    const data = getData();\n    const out = document.getElementById(\"result\");\n    const height = parseFloat(document.getElementById(\"height\").value);\n    const weight = parseFloat(document.getElementById(\"weight\").value);\n    const age    = parseFloat(document.getElementById(\"age\").value);\n\n    if (!data || !height || !weight || !age) {\n      out.innerHTML = \"⚠️ Merci de remplir tous les champs.\";\n      return;\n    }\n\n    const order = Array.isArray(data.size_order) ? data.size_order : [\"S\",\"M\",\"L\",\"XL\"];\n    const est = estimateMeasures(height, weight, age);\n\n    let rec = \"\";\n    if (PRODUCT_TYPE === \"pantalon_jogger\") {\n      rec = pickNearestBottom(est.waist, est.hips, data[\"pantalon_jogger\"], order);\n    } else if (PRODUCT_TYPE === \"chemise\" || PRODUCT_TYPE === \"hoodie\" || PRODUCT_TYPE === \"tshirt\") {\n      rec = pickNearestTop(est.chest, data[PRODUCT_TYPE], order);\n    } else {\n      out.innerHTML = \"⚠️ Type de produit non défini.\";\n      return;\n    }\n\n    out.innerHTML = \"✅ Taille recommandée : \u003cb\u003e\" + rec + \"\u003c\/b\u003e\";\n  };\n})();\n\u003c\/script\u003e\n","brand":"VERZAYA","offers":[{"title":"Noir \/ S","offer_id":42760495300685,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ M","offer_id":42760495333453,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ L","offer_id":42760495366221,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ XL","offer_id":42760495398989,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ 2XL","offer_id":42760495431757,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Gri \/ S","offer_id":42760481013837,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Gri \/ M","offer_id":42760481046605,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Gri \/ L","offer_id":42760481079373,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Gri \/ XL","offer_id":42760481112141,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Gri \/ 2XL","offer_id":42760481144909,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Marron \/ S","offer_id":42760480849997,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Marron \/ M","offer_id":42760480882765,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Marron \/ L","offer_id":42760480915533,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Marron \/ XL","offer_id":42760480948301,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Marron \/ 2XL","offer_id":42760480981069,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Bordeaux \/ S","offer_id":42779065581645,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Bordeaux \/ M","offer_id":42779065614413,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Bordeaux \/ L","offer_id":42779065647181,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Bordeaux \/ XL","offer_id":42779065679949,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Bordeaux \/ 2XL","offer_id":42779065712717,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/0216_16.jpg?v=1772921897"},{"product_id":"strider-pants","title":"Strider Pants","description":"\u003cstyle\u003e\n.faq-container {\n  font-family: Arial, sans-serif;\n  margin-top: 1rem;\n}\n.faq-container h3 {\n  font-size: 20px;\n  margin-bottom: 10px;\n}\n.faq-item {\n  border-bottom: 1px solid #ddd;\n  margin-bottom: 8px;\n}\n.faq-item summary {\n  font-weight: bold;\n  cursor: pointer;\n  padding: 10px;\n  background: #f7f7f7;\n  border-radius: 6px;\n  transition: background 0.3s;\n  list-style: none;\n  position: relative;\n}\n.faq-item summary:hover {\n  background: #eee;\n}\n.faq-item summary::after {\n  content: \"+\";\n  position: absolute;\n  right: 15px;\n  font-weight: bold;\n  transition: transform 0.3s;\n}\n.faq-item[open] summary::after {\n  content: \"-\";\n}\n.faq-item p {\n  margin: 8px 0 12px 0;\n  padding-left: 10px;\n  color: #444;\n}\n.whatsapp-btn {\n  display: inline-block;\n  margin-top: 10px;\n  padding: 10px 16px;\n  background: #25D366;\n  color: white;\n  text-decoration: none;\n  font-weight: bold;\n  border-radius: 6px;\n  transition: background 0.3s;\n}\n.whatsapp-btn:hover {\n  background: #1DA851;\n}\n\n\n\/* simulateur *\/\n.simulator-box {\n  margin-top: 10px;\n  padding: 10px;\n  background: #f9f9f9;\n  border-radius: 6px;\n}\n.simulator-box label {\n  display: block;\n  margin: 6px 0 2px;\n  font-size: 14px;\n}\n.simulator-box input {\n  width: 100%;\n  padding: 6px;\n  margin-bottom: 8px;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n}\n.simulator-box button {\n  width: 100%;\n  padding: 10px;\n  background: #333;\n  color: white;\n  font-weight: bold;\n  border: none;\n  border-radius: 6px;\n  cursor: pointer;\n  transition: background 0.3s;\n}\n.simulator-box button:hover {\n  background: #000;\n}\n.simulator-result {\n  margin-top: 10px;\n  font-weight: bold;\n  color: #222;\n}\n\u003c\/style\u003e\n\u003cstyle\u003e\n.sim-link-btn{\n  display:inline-block;padding:8px 12px;border-radius:6px;\n  background:#0b5fff;color:#fff;text-decoration:none;font-weight:700\n}\n.sim-link-btn:hover{background:#0b5fff}\n\u003c\/style\u003e\n\u003c!-- JSON intégré : 1 mesure par taille --\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cdiv class=\"faq-container\"\u003e\n\u003c!-- Q1 déplacée en premier --\u003e\n\u003cdetails class=\"faq-item\" id=\"size-sim\"\u003e\n\u003csummary\u003eComment savoir ma taille idéale ?\u003c\/summary\u003e\n\u003cdiv class=\"simulator-box\"\u003e\n\u003clabel for=\"height\"\u003eVotre taille (cm)\u003c\/label\u003e \u003cinput type=\"number\" id=\"height\" placeholder=\"ex: 175\"\u003e \u003clabel for=\"weight\"\u003eVotre poids (kg)\u003c\/label\u003e \u003cinput type=\"number\" id=\"weight\" placeholder=\"ex: 72\"\u003e \u003clabel for=\"age\"\u003eVotre âge\u003c\/label\u003e \u003cinput type=\"number\" id=\"age\" placeholder=\"ex: 28\"\u003e \u003cbutton\u003eVoir ma taille recommandée\u003c\/button\u003e\n\u003cdiv id=\"result\" class=\"simulator-result\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"faq-item\"\u003e\n\u003csummary\u003eEst-ce que les photos du produit sont réelles ?\u003c\/summary\u003e\n\u003cp\u003eOui, les photos sont 100% réelles et vous pouvez vérifier le colis avant de payer.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"faq-item\"\u003e\n\u003csummary\u003eEn combien de temps vais-je recevoir ma commande ?\u003c\/summary\u003e\n\u003cp\u003eLe délai de livraison est généralement entre 24h et 48h ouvrables selon la ville.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"faq-item\"\u003e\n\u003csummary\u003ePuis-je changer la taille si elle ne me va pas ?\u003c\/summary\u003e\n\u003cp\u003eOui, l’échange de taille est possible sous 48 h avec des frais de 29 DH si le produit est dans son état initial. \u003ca href=\"#size-sim\" class=\"sim-link-btn\"\u003e📏 Ouvrir le simulateur\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"faq-item\"\u003e\n\u003csummary\u003eEt si le produit a un défaut ?\u003c\/summary\u003e\n\u003cp\u003eL’échange est gratuit sous 48h après réception en cas de défaut confirmé.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"faq-item\"\u003e\n\u003csummary\u003eSi je veux plus de détails ou commander via WhatsApp, est-ce possible ?\u003c\/summary\u003e\n\u003cp\u003eOui, vous pouvez nous contacter directement via WhatsApp pour poser vos questions ou passer commande.\u003c\/p\u003e\n\u003ca class=\"whatsapp-btn\" href=\"https:\/\/wa.me\/212665074565\" target=\"_blank\"\u003e💬 Contacter sur WhatsApp\u003c\/a\u003e\u003c\/details\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"VERZAYA","offers":[{"title":"Noir \/ S : 36","offer_id":42784387465293,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Noir \/ M : 40","offer_id":42784387498061,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ L : 42","offer_id":42784387530829,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ XL : 44","offer_id":42784387563597,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ 2XL : 46","offer_id":42784387596365,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ S : 36","offer_id":42784387629133,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Blanc \/ M : 40","offer_id":42784387661901,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ L : 42","offer_id":42784387694669,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ XL : 44","offer_id":42784387727437,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ 2XL : 46","offer_id":42784387760205,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/ChatGPTImage15mars2026_21_34_54.png?v=1773607061"},{"product_id":"ensemble-neo","title":"Ensemble Neo","description":"","brand":"VERZAYA","offers":[{"title":"Gris \/ S","offer_id":42860506906701,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Gris \/ M","offer_id":42860506939469,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ L","offer_id":42860506972237,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Gris \/ XL","offer_id":42860507005005,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ 2XL","offer_id":42860507037773,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ S","offer_id":42860506742861,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Noir \/ M","offer_id":42860506775629,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Noir \/ L","offer_id":42860506808397,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ XL","offer_id":42860506841165,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ 2XL","offer_id":42860506873933,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/ChatGPTImage11avr.2026_22_35_22.png?v=1775940132"},{"product_id":"forge-jeans","title":"Forge Jeans","description":"\u003cstyle\u003e\n.faq-container {\n  font-family: Arial, sans-serif;\n  margin-top: 1rem;\n}\n.faq-container h3 {\n  font-size: 20px;\n  margin-bottom: 10px;\n}\n.faq-item {\n  border-bottom: 1px solid #ddd;\n  margin-bottom: 8px;\n}\n.faq-item summary {\n  font-weight: bold;\n  cursor: pointer;\n  padding: 10px;\n  background: #f7f7f7;\n  border-radius: 6px;\n  transition: background 0.3s;\n  list-style: none;\n  position: relative;\n}\n.faq-item summary:hover {\n  background: #eee;\n}\n.faq-item summary::after {\n  content: \"+\";\n  position: absolute;\n  right: 15px;\n  font-weight: bold;\n  transition: transform 0.3s;\n}\n.faq-item[open] summary::after {\n  content: \"-\";\n}\n.faq-item p {\n  margin: 8px 0 12px 0;\n  padding-left: 10px;\n  color: #444;\n}\n.whatsapp-btn {\n  display: inline-block;\n  margin-top: 10px;\n  padding: 10px 16px;\n  background: #25D366;\n  color: white;\n  text-decoration: none;\n  font-weight: bold;\n  border-radius: 6px;\n  transition: background 0.3s;\n}\n.whatsapp-btn:hover {\n  background: #1DA851;\n}\n\n\n\/* simulateur *\/\n.simulator-box {\n  margin-top: 10px;\n  padding: 10px;\n  background: #f9f9f9;\n  border-radius: 6px;\n}\n.simulator-box label {\n  display: block;\n  margin: 6px 0 2px;\n  font-size: 14px;\n}\n.simulator-box input {\n  width: 100%;\n  padding: 6px;\n  margin-bottom: 8px;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n}\n.simulator-box button {\n  width: 100%;\n  padding: 10px;\n  background: #333;\n  color: white;\n  font-weight: bold;\n  border: none;\n  border-radius: 6px;\n  cursor: pointer;\n  transition: background 0.3s;\n}\n.simulator-box button:hover {\n  background: #000;\n}\n.simulator-result {\n  margin-top: 10px;\n  font-weight: bold;\n  color: #222;\n}\n\u003c\/style\u003e\n\u003cstyle\u003e\n.sim-link-btn{\n  display:inline-block;padding:8px 12px;border-radius:6px;\n  background:#0b5fff;color:#fff;text-decoration:none;font-weight:700\n}\n.sim-link-btn:hover{background:#0b5fff}\n\u003c\/style\u003e\n\u003c!-- JSON intégré : 1 mesure par taille --\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cdiv class=\"faq-container\"\u003e\n\u003c!-- Q1 déplacée en premier --\u003e\n\u003cdetails class=\"faq-item\" id=\"size-sim\"\u003e\n\u003csummary\u003eComment savoir ma taille idéale ?\u003c\/summary\u003e\n\u003cdiv class=\"simulator-box\"\u003e\n\u003clabel for=\"height\"\u003eVotre taille (cm)\u003c\/label\u003e \u003cinput type=\"number\" id=\"height\" placeholder=\"ex: 175\"\u003e \u003clabel for=\"weight\"\u003eVotre poids (kg)\u003c\/label\u003e \u003cinput type=\"number\" id=\"weight\" placeholder=\"ex: 72\"\u003e \u003clabel for=\"age\"\u003eVotre âge\u003c\/label\u003e \u003cinput type=\"number\" id=\"age\" placeholder=\"ex: 28\"\u003e \u003cbutton\u003eVoir ma taille recommandée\u003c\/button\u003e\n\u003cdiv id=\"result\" class=\"simulator-result\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"faq-item\"\u003e\n\u003csummary\u003eEst-ce que les photos du produit sont réelles ?\u003c\/summary\u003e\n\u003cp\u003eOui, les photos sont 100% réelles et vous pouvez vérifier le colis avant de payer.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"faq-item\"\u003e\n\u003csummary\u003eEn combien de temps vais-je recevoir ma commande ?\u003c\/summary\u003e\n\u003cp\u003eLe délai de livraison est généralement entre 24h et 48h ouvrables selon la ville.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"faq-item\"\u003e\n\u003csummary\u003ePuis-je changer la taille si elle ne me va pas ?\u003c\/summary\u003e\n\u003cp\u003eOui, l’échange de taille est possible sous 48 h avec des frais de 29 DH si le produit est dans son état initial. \u003ca href=\"#size-sim\" class=\"sim-link-btn\"\u003e📏 Ouvrir le simulateur\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"faq-item\"\u003e\n\u003csummary\u003eEt si le produit a un défaut ?\u003c\/summary\u003e\n\u003cp\u003eL’échange est gratuit sous 48h après réception en cas de défaut confirmé.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"faq-item\"\u003e\n\u003csummary\u003eSi je veux plus de détails ou commander via WhatsApp, est-ce possible ?\u003c\/summary\u003e\n\u003cp\u003eOui, vous pouvez nous contacter directement via WhatsApp pour poser vos questions ou passer commande.\u003c\/p\u003e\n\u003ca class=\"whatsapp-btn\" href=\"https:\/\/wa.me\/212665074565\" target=\"_blank\"\u003e💬 Contacter sur WhatsApp\u003c\/a\u003e\u003c\/details\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"VERZAYA","offers":[{"title":"Noir \/ S : 36","offer_id":42877830201421,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ M : 40","offer_id":42877830234189,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ L : 42","offer_id":42877830266957,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ XL : 44","offer_id":42877830299725,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ 2XL : 46","offer_id":42877830332493,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ S : 36","offer_id":42877830037581,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Bleu \/ M : 40","offer_id":42877830070349,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Bleu \/ L : 42","offer_id":42877830103117,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ XL : 44","offer_id":42877830135885,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ 2XL : 46","offer_id":42877830168653,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/ChatGPT_Image_2_mai_2026_20_24_26.png?v=1777746295"},{"product_id":"ensemble-summer","title":"Ensemble Summer","description":"","brand":"VERZAYA","offers":[{"title":"Kaki \/ S","offer_id":42891639652429,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Kaki \/ M","offer_id":42891639685197,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Kaki \/ L","offer_id":42891639717965,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Kaki \/ XL","offer_id":42891639750733,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Kaki \/ 2XL","offer_id":42891639783501,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Bleu \/ S","offer_id":42936283594829,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Bleu \/ M","offer_id":42936283627597,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Bleu \/ L","offer_id":42936283660365,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ XL","offer_id":42936283693133,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Bleu \/ 2XL","offer_id":42936283725901,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Blanc \/ S","offer_id":42891639488589,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Blanc \/ M","offer_id":42891639521357,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ L","offer_id":42891639554125,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Blanc \/ XL","offer_id":42891639586893,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Blanc \/ 2XL","offer_id":42891639619661,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Noir \/ S","offer_id":42891639324749,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Noir \/ M","offer_id":42891639357517,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ L","offer_id":42891639390285,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":false},{"title":"Noir \/ XL","offer_id":42891639423053,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ 2XL","offer_id":42891639455821,"sku":null,"price":299.0,"currency_code":"MAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/0418_3_27902425-3d5c-44a2-8a74-ec15cab9f738.jpg?v=1776547094"},{"product_id":"pantalon-sillage","title":"Pantalon Sillage","description":"","brand":"VERZAYA","offers":[{"title":"Noir \/ S : 36","offer_id":42909879894093,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Noir \/ M : 40","offer_id":42909879926861,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ L : 44","offer_id":42909879959629,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ XL : 46","offer_id":42909879992397,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ 2XL : 48","offer_id":42909880025165,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ S : 36","offer_id":42909880057933,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Blanc \/ M : 40","offer_id":42909880090701,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ L : 44","offer_id":42909880123469,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ XL : 46","offer_id":42909880156237,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ 2XL : 48","offer_id":42909880189005,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ S : 36","offer_id":42909880221773,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Gris \/ M : 40","offer_id":42909880254541,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ L : 44","offer_id":42909880287309,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ XL : 46","offer_id":42909880320077,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ 2XL : 48","offer_id":42909880352845,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Kaki \/ S : 36","offer_id":42909880385613,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Kaki \/ M : 40","offer_id":42909880418381,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Kaki \/ L : 44","offer_id":42909880451149,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Kaki \/ XL : 46","offer_id":42909880483917,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Kaki \/ 2XL : 48","offer_id":42909880516685,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/ChatGPT_Image_26_avr._2026_12_28_22.png?v=1777199537"},{"product_id":"t-shirt-work-hard","title":"T-shirt Work Hard","description":"","brand":"VERZAYA","offers":[{"title":"Blanc \/ S","offer_id":42914261270605,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ M","offer_id":42914261303373,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ L","offer_id":42914261336141,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ XL","offer_id":42914261368909,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ 2XL","offer_id":42914261401677,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ S","offer_id":42914261106765,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ M","offer_id":42914261139533,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ L","offer_id":42914261172301,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ XL","offer_id":42914261205069,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ 2XL","offer_id":42914261237837,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Marron \/ S","offer_id":42914261434445,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Marron \/ M","offer_id":42914261467213,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Marron \/ L","offer_id":42914261499981,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Marron \/ XL","offer_id":42914261532749,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Marron \/ 2XL","offer_id":42914261565517,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Vert \/ S","offer_id":42914261598285,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert \/ M","offer_id":42914261631053,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert \/ L","offer_id":42914261663821,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert \/ XL","offer_id":42914261696589,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert \/ 2XL","offer_id":42914261729357,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/ChatGPT_Image_26_avr._2026_00_32_52.png?v=1777156399"},{"product_id":"pantalon-relax-fit","title":"Pantalon Relax Fit","description":"\u003cstyle\u003e\n.faq-container {\n  font-family: Arial, sans-serif;\n  margin-top: 1rem;\n}\n.faq-container h3 {\n  font-size: 20px;\n  margin-bottom: 10px;\n}\n.faq-item {\n  border-bottom: 1px solid #ddd;\n  margin-bottom: 8px;\n}\n.faq-item summary {\n  font-weight: bold;\n  cursor: pointer;\n  padding: 10px;\n  background: #f7f7f7;\n  border-radius: 6px;\n  transition: background 0.3s;\n  list-style: none;\n  position: relative;\n}\n.faq-item summary:hover {\n  background: #eee;\n}\n.faq-item summary::after {\n  content: \"+\";\n  position: absolute;\n  right: 15px;\n  font-weight: bold;\n  transition: transform 0.3s;\n}\n.faq-item[open] summary::after {\n  content: \"-\";\n}\n.faq-item p {\n  margin: 8px 0 12px 0;\n  padding-left: 10px;\n  color: #444;\n}\n.whatsapp-btn {\n  display: inline-block;\n  margin-top: 10px;\n  padding: 10px 16px;\n  background: #25D366;\n  color: white;\n  text-decoration: none;\n  font-weight: bold;\n  border-radius: 6px;\n  transition: background 0.3s;\n}\n.whatsapp-btn:hover {\n  background: #1DA851;\n}\n\n\n\/* simulateur *\/\n.simulator-box {\n  margin-top: 10px;\n  padding: 10px;\n  background: #f9f9f9;\n  border-radius: 6px;\n}\n.simulator-box label {\n  display: block;\n  margin: 6px 0 2px;\n  font-size: 14px;\n}\n.simulator-box input {\n  width: 100%;\n  padding: 6px;\n  margin-bottom: 8px;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n}\n.simulator-box button {\n  width: 100%;\n  padding: 10px;\n  background: #333;\n  color: white;\n  font-weight: bold;\n  border: none;\n  border-radius: 6px;\n  cursor: pointer;\n  transition: background 0.3s;\n}\n.simulator-box button:hover {\n  background: #000;\n}\n.simulator-result {\n  margin-top: 10px;\n  font-weight: bold;\n  color: #222;\n}\n\u003c\/style\u003e\n\u003cstyle\u003e\n.sim-link-btn{\n  display:inline-block;padding:8px 12px;border-radius:6px;\n  background:#0b5fff;color:#fff;text-decoration:none;font-weight:700\n}\n.sim-link-btn:hover{background:#0b5fff}\n\u003c\/style\u003e\n\u003cscript\u003e\nfunction openSimulator(e){\n  if(e) e.preventDefault();\n  var d=document.getElementById('size-sim');\n  if(!d) return false;\n  d.setAttribute('open','open');\n  d.scrollIntoView({behavior:'smooth',block:'start'});\n  return false;\n}\n\/\/ Si l’URL contient #size-sim, ouvrir Q1 automatiquement\nif(location.hash==='#size-sim'){ openSimulator(); }\n\u003c\/script\u003e\n\n\u003c!-- JSON intégré : 1 mesure par taille --\u003e\n\u003cscript type=\"application\/json\" id=\"size-data\"\u003e\n{\n  \"size_order\": [\"S\",\"M\",\"L\",\"XL\"],\n  \"chemise\": {\n    \"S\": { \"chest_cm\": 95, \"shoulders_cm\": 44, \"sleeve_cm\": 62, \"length_cm\": 70 },\n    \"M\": { \"chest_cm\": 102, \"shoulders_cm\": 46, \"sleeve_cm\": 63, \"length_cm\": 72 },\n    \"L\": { \"chest_cm\": 108, \"shoulders_cm\": 48, \"sleeve_cm\": 64, \"length_cm\": 74 },\n    \"XL\": { \"chest_cm\": 113, \"shoulders_cm\": 50, \"sleeve_cm\": 65, \"length_cm\": 76 }\n  },\n  \"hoodie\": {\n    \"S\": { \"chest_cm\": 101, \"shoulders_cm\": 45, \"sleeve_cm\": 61, \"length_cm\": 68 },\n    \"M\": { \"chest_cm\": 107, \"shoulders_cm\": 47, \"sleeve_cm\": 62, \"length_cm\": 70 },\n    \"L\": { \"chest_cm\": 113, \"shoulders_cm\": 49, \"sleeve_cm\": 63, \"length_cm\": 72 },\n    \"XL\": { \"chest_cm\": 119, \"shoulders_cm\": 51, \"sleeve_cm\": 64, \"length_cm\": 74 }\n  },\n  \"tshirt\": {\n    \"S\": { \"chest_cm\": 95, \"shoulders_cm\": 43, \"length_cm\": 69 },\n    \"M\": { \"chest_cm\": 102, \"shoulders_cm\": 45, \"length_cm\": 71 },\n    \"L\": { \"chest_cm\": 108, \"shoulders_cm\": 47, \"length_cm\": 73 },\n    \"XL\": { \"chest_cm\": 113, \"shoulders_cm\": 49, \"length_cm\": 75 }\n  },\n  \"pantalon_jogger\": {\n    \"S\": { \"waist_cm\": 76, \"hips_cm\": 92, \"outseam_cm\": 100 },\n    \"M\": { \"waist_cm\": 85, \"hips_cm\": 100, \"outseam_cm\": 102 },\n    \"L\": { \"waist_cm\": 93, \"hips_cm\": 108, \"outseam_cm\": 104 },\n    \"XL\": { \"waist_cm\": 101, \"hips_cm\": 116, \"outseam_cm\": 106 }\n  }\n}\n\u003c\/script\u003e\n\n\u003cdiv class=\"faq-container\"\u003e\n\n  \u003c!-- Q1 déplacée en premier --\u003e\n  \u003cdetails class=\"faq-item\" id=\"size-sim\"\u003e\n    \u003csummary\u003eComment savoir ma taille idéale ?\u003c\/summary\u003e\n    \u003cdiv class=\"simulator-box\"\u003e\n      \u003clabel for=\"height\"\u003eVotre taille (cm)\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"height\" placeholder=\"ex: 175\"\u003e\n\n      \u003clabel for=\"weight\"\u003eVotre poids (kg)\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"weight\" placeholder=\"ex: 72\"\u003e\n\n      \u003clabel for=\"age\"\u003eVotre âge\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"age\" placeholder=\"ex: 28\"\u003e\n\n      \u003cbutton onclick=\"simulateSize()\"\u003eVoir ma taille recommandée\u003c\/button\u003e\n      \u003cdiv id=\"result\" class=\"simulator-result\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003eEst-ce que les photos du produit sont réelles ?\u003c\/summary\u003e\n    \u003cp\u003eOui, les photos sont 100% réelles et vous pouvez vérifier le colis avant de payer.\u003c\/p\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003eEn combien de temps vais-je recevoir ma commande ?\u003c\/summary\u003e\n    \u003cp\u003eLe délai de livraison est généralement entre 24h et 48h ouvrables selon la ville.\u003c\/p\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003ePuis-je changer la taille si elle ne me va pas ?\u003c\/summary\u003e\n    \u003cp\u003e\n  Oui, l’échange de taille est possible sous 48 h avec des frais de 29 DH si le produit est dans son état initial.\n  \u003ca href=\"#size-sim\" class=\"sim-link-btn\" onclick=\"return openSimulator(event)\"\u003e📏 Ouvrir le simulateur\u003c\/a\u003e\n\u003c\/p\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003eEt si le produit a un défaut ?\u003c\/summary\u003e\n    \u003cp\u003eL’échange est gratuit sous 48h après réception en cas de défaut confirmé.\u003c\/p\u003e\n  \u003c\/details\u003e\n\n  \u003cdetails class=\"faq-item\"\u003e\n    \u003csummary\u003eSi je veux plus de détails ou commander via WhatsApp, est-ce possible ?\u003c\/summary\u003e\n    \u003cp\u003eOui, vous pouvez nous contacter directement via WhatsApp pour poser vos questions ou passer commande.\u003c\/p\u003e\n    \u003ca class=\"whatsapp-btn\" href=\"https:\/\/wa.me\/212665074565\" target=\"_blank\"\u003e💬 Contacter sur WhatsApp\u003c\/a\u003e\n  \u003c\/details\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n\/\/ ➤ RENSEIGNE le type de produit ici : \"chemise\" | \"hoodie\" | \"tshirt\" | \"pantalon_jogger\"\nconst PRODUCT_TYPE = \"pantalon_jogger\";\n\n(function(){\n  function getData(){ try { return JSON.parse(document.getElementById(\"size-data\").textContent); } catch(e){ return null; } }\n\n  \/\/ estimation morphologique interne (non affichée)\n  function estimateMeasures(heightCm, weightKg, ageYears){\n    \/\/ poitrine estimée\n    let chest = (weightKg \/ heightCm) * 230;\n    if (ageYears \u003e= 30 \u0026\u0026 ageYears \u003c 45) chest += 2;\n    if (ageYears \u003e= 45) chest += 4;\n    const waist = chest * 0.85;\n    const hips  = chest * 0.95;\n    return { chest: chest, waist: waist, hips: hips };\n  }\n\n  function sizeOrderIndex(size, order){ return order.indexOf(size); }\n\n  function pickNearestTop(chestEst, table, order){\n    let best = null, bestDiff = Infinity, bestIdx = 999;\n    for (const size in table){\n      const chest = table[size].chest_cm;\n      if (typeof chest !== \"number\") continue;\n      const diff = Math.abs(chestEst - chest);\n      const idx = sizeOrderIndex(size, order);\n      if (diff \u003c bestDiff || (diff === bestDiff \u0026\u0026 idx \u003e bestIdx)) {\n        best = size; bestDiff = diff; bestIdx = idx;\n      }\n    }\n    \/\/ en cas d’estimation entre tailles, on privilégie une demi-taille au-dessus pour le confort\n    \/\/ si la poitrine estimée dépasse la valeur de la taille choisie et qu’il existe une taille au-dessus\n    const idxChosen = sizeOrderIndex(best, order);\n    const next = order[idxChosen + 1];\n    if (next \u0026\u0026 chestEst \u003e table[best].chest_cm) return next;\n    return best;\n  }\n\n  function pickNearestBottom(waistEst, hipsEst, table, order){\n    let best = null, bestScore = Infinity, bestIdx = 999;\n    for (const size in table){\n      const w = table[size].waist_cm, h = table[size].hips_cm;\n      if (typeof w !== \"number\" || typeof h !== \"number\") continue;\n      const score = Math.pow(waistEst - w, 2) + Math.pow(hipsEst - h, 2);\n      const idx = sizeOrderIndex(size, order);\n      if (score \u003c bestScore || (score === bestScore \u0026\u0026 idx \u003e bestIdx)) {\n        best = size; bestScore = score; bestIdx = idx;\n      }\n    }\n    \/\/ confort: si une des estimations dépasse la taille choisie, on monte d’une taille si possible\n    const idxChosen = sizeOrderIndex(best, order);\n    const next = order[idxChosen + 1];\n    if (next) {\n      const wChosen = table[best].waist_cm, hChosen = table[best].hips_cm;\n      if (waistEst \u003e wChosen || hipsEst \u003e hChosen) return next;\n    }\n    return best;\n  }\n\n  window.simulateSize = function(){\n    const data = getData();\n    const out = document.getElementById(\"result\");\n    const height = parseFloat(document.getElementById(\"height\").value);\n    const weight = parseFloat(document.getElementById(\"weight\").value);\n    const age    = parseFloat(document.getElementById(\"age\").value);\n\n    if (!data || !height || !weight || !age) {\n      out.innerHTML = \"⚠️ Merci de remplir tous les champs.\";\n      return;\n    }\n\n    const order = Array.isArray(data.size_order) ? data.size_order : [\"S\",\"M\",\"L\",\"XL\"];\n    const est = estimateMeasures(height, weight, age);\n\n    let rec = \"\";\n    if (PRODUCT_TYPE === \"pantalon_jogger\") {\n      rec = pickNearestBottom(est.waist, est.hips, data[\"pantalon_jogger\"], order);\n    } else if (PRODUCT_TYPE === \"chemise\" || PRODUCT_TYPE === \"hoodie\" || PRODUCT_TYPE === \"tshirt\") {\n      rec = pickNearestTop(est.chest, data[PRODUCT_TYPE], order);\n    } else {\n      out.innerHTML = \"⚠️ Type de produit non défini.\";\n      return;\n    }\n\n    out.innerHTML = \"✅ Taille recommandée : \u003cb\u003e\" + rec + \"\u003c\/b\u003e\";\n  };\n})();\n\u003c\/script\u003e\n","brand":"VERZAYA","offers":[{"title":"Noir \/ S : 36-38","offer_id":42946249490509,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ M : 38-40","offer_id":42946249523277,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ L : 40-42","offer_id":42946249556045,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ XL : 42-44","offer_id":42946249588813,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ 2XL : 44-46","offer_id":42946249621581,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ S : 36-38","offer_id":42946249818189,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Gris \/ M : 38-40","offer_id":42946249850957,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ L : 40-42","offer_id":42946249883725,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ XL : 42-44","offer_id":42946249916493,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ 2XL : 44-46","offer_id":42946249949261,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc cassé \/ S : 36-38","offer_id":42946249654349,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Blanc cassé \/ M : 38-40","offer_id":42946249687117,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc cassé \/ L : 40-42","offer_id":42946249719885,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc cassé \/ XL : 42-44","offer_id":42946249752653,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Blanc cassé \/ 2XL : 44-46","offer_id":42946249785421,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Bleu vif \/ S : 36-38","offer_id":42946249982029,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu vif \/ M : 38-40","offer_id":42946250014797,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu vif \/ L : 40-42","offer_id":42946250047565,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu vif \/ XL : 42-44","offer_id":42946250080333,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu vif \/ 2XL : 44-46","offer_id":42946250113101,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert pastel \/ S : 36-38","offer_id":42946250145869,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert pastel \/ M : 38-40","offer_id":42946250178637,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert pastel \/ L : 40-42","offer_id":42946250211405,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Vert pastel \/ XL : 42-44","offer_id":42946250244173,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert pastel \/ 2XL : 44-46","offer_id":42946250276941,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert sauge \/ S : 36-38","offer_id":42946250309709,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert sauge \/ M : 38-40","offer_id":42946250342477,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert sauge \/ L : 40-42","offer_id":42946250375245,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert sauge \/ XL : 42-44","offer_id":42946250408013,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert sauge \/ 2XL : 44-46","offer_id":42946250440781,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/ChatGPT_Image_2_mai_2026_23_46_43.png?v=1777758413"},{"product_id":"t-shirt-bloom","title":"T-shirt Bloom","description":"","brand":"VERZAYA","offers":[{"title":"Vert \/ M","offer_id":42991097643085,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Vert \/ L","offer_id":42991097675853,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert \/ XL","offer_id":42991097708621,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Vert \/ 2XL","offer_id":42991097741389,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ M","offer_id":42991097315405,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ L","offer_id":42991097348173,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ XL","offer_id":42991097380941,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ 2XL","offer_id":42991097413709,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc cassé \/ M","offer_id":42991102099533,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Blanc cassé \/ L","offer_id":42991102132301,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc cassé \/ XL","offer_id":42991102165069,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Blanc cassé \/ 2XL","offer_id":42991102197837,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ M","offer_id":42991102263373,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ L","offer_id":42991102296141,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ XL","offer_id":42991102328909,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ 2XL","offer_id":42991102361677,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ M","offer_id":42991102427213,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ L","offer_id":42991102459981,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ XL","offer_id":42991102492749,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ 2XL","offer_id":42991102525517,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/ChatGPT_Image_15_mai_2026_22_57_13.png?v=1778881127"},{"product_id":"ensemble-nexor","title":"Ensemble Nexor","description":"","brand":"VERZAYA","offers":[{"title":"Noir \/ S","offer_id":42991104131149,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":false},{"title":"Noir \/ M","offer_id":42991104163917,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ L","offer_id":42991104196685,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ XL","offer_id":42991104229453,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ 2XL","offer_id":42991104262221,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ S","offer_id":42991103967309,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":false},{"title":"Blanc \/ M","offer_id":42991104000077,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ L","offer_id":42991104032845,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ XL","offer_id":42991104065613,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc \/ 2XL","offer_id":42991104098381,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ S","offer_id":42991103803469,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ M","offer_id":42991103836237,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ L","offer_id":42991103869005,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ XL","offer_id":42991103901773,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ 2XL","offer_id":42991103934541,"sku":null,"price":279.0,"currency_code":"MAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/ChatGPT_Image_15_mai_2026_23_26_14.png?v=1778881648"},{"product_id":"t-shirt-drift","title":"T-shirt Drift","description":"","brand":"VERZAYA","offers":[{"title":"Noir \/ S","offer_id":43007166414925,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Noir \/ M","offer_id":43007162417229,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ L","offer_id":43007162449997,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ XL","offer_id":43007162482765,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Noir \/ 2XL","offer_id":43007162515533,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc cassé \/ S","offer_id":43007166382157,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Blanc cassé \/ M","offer_id":43007162548301,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc cassé \/ L","offer_id":43007162581069,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc cassé \/ XL","offer_id":43007162613837,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Blanc cassé \/ 2XL","offer_id":43007162646605,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ S","offer_id":43007166447693,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ M","offer_id":43007162679373,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Gris \/ L","offer_id":43007162712141,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Gris \/ XL","offer_id":43007162744909,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Gris \/ 2XL","offer_id":43007162777677,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Vert \/ S","offer_id":43007166480461,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Vert \/ M","offer_id":43007162810445,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Vert \/ L","offer_id":43007162843213,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Vert \/ XL","offer_id":43007162875981,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Vert \/ 2XL","offer_id":43007162908749,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Bleu \/ S","offer_id":43007166513229,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":true},{"title":"Bleu \/ M","offer_id":43007162941517,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Bleu \/ L","offer_id":43007162974285,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Bleu \/ XL","offer_id":43007163007053,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false},{"title":"Bleu \/ 2XL","offer_id":43007163039821,"sku":null,"price":249.0,"currency_code":"MAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/noir_ad29e5e9-1aab-43f5-a150-dd124475be94.png?v=1778969459"},{"product_id":"chemise-duckside","title":"Chemise Duckside","description":"","brand":"VERZAYA","offers":[{"title":"S","offer_id":43007167463501,"sku":null,"price":219.0,"currency_code":"MAD","in_stock":true},{"title":"M","offer_id":43007166775373,"sku":null,"price":219.0,"currency_code":"MAD","in_stock":true},{"title":"L","offer_id":43007166808141,"sku":null,"price":219.0,"currency_code":"MAD","in_stock":true},{"title":"XL","offer_id":43007166840909,"sku":null,"price":219.0,"currency_code":"MAD","in_stock":true},{"title":"2XL","offer_id":43007166873677,"sku":null,"price":219.0,"currency_code":"MAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/Gemini_Generated_Image_miblhemiblhemibl-ezremove.png?v=1778970575"},{"product_id":"chemise-terrano","title":"Chemise Terrano","description":"","brand":"VERZAYA","offers":[{"title":"M","offer_id":43007167725645,"sku":null,"price":219.0,"currency_code":"MAD","in_stock":true},{"title":"L","offer_id":43007167758413,"sku":null,"price":219.0,"currency_code":"MAD","in_stock":true},{"title":"XL","offer_id":43007167791181,"sku":null,"price":219.0,"currency_code":"MAD","in_stock":true},{"title":"2XL","offer_id":43007167823949,"sku":null,"price":219.0,"currency_code":"MAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/4184\/8653\/files\/ChatGPT_Image_17_mai_2026_00_24_09.png?v=1778970263"}],"url":"https:\/\/www.verzaya.com\/collections\/nos-nouveautes-du-moment.oembed","provider":"VERZAYA","version":"1.0","type":"link"}