{
  "version": 3,
  "sources": ["/cdn/shop/t/14/assets/dailylama-cash-20260629-2380.js?dl_cash=20260629-2380"],
  "sourcesContent": ["(function () {\n  if (window.location.pathname.replace(/\\/$/, '') === '/pages/quelle-pierre') {\n    window.location.replace('/pages/quelle-pierre-pour-quelle-intention');\n    return;\n  }\n\n  function onReady(callback) {\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', callback, { once: true });\n      return;\n    }\n    callback();\n  }\n\n  function escapeHtml(value) {\n    return String(value || '').replace(/[&<>\"']/g, function (character) {\n      return {\n        '&': '&amp;',\n        '<': '&lt;',\n        '>': '&gt;',\n        '\"': '&quot;',\n        \"'\": '&#039;'\n      }[character];\n    });\n  }\n\n  function replaceVisibleText(root, replacements) {\n    var scope = root || document.body;\n    if (!scope || !('TreeWalker' in window)) {\n      return;\n    }\n\n    var walker = document.createTreeWalker(scope, NodeFilter.SHOW_TEXT, {\n      acceptNode: function (node) {\n        var parent = node.parentElement;\n        if (!parent || /^(script|style|svg|path)$/i.test(parent.tagName)) {\n          return NodeFilter.FILTER_REJECT;\n        }\n        return NodeFilter.FILTER_ACCEPT;\n      }\n    });\n\n    var node = walker.nextNode();\n    while (node) {\n      var nextValue = node.nodeValue;\n      replacements.forEach(function (replacement) {\n        nextValue = nextValue.replace(replacement.from, replacement.to);\n      });\n      if (nextValue !== node.nodeValue) {\n        node.nodeValue = nextValue;\n      }\n      node = walker.nextNode();\n    }\n  }\n\n  function normalizePivotMalaCopy() {\n    var chatRoot = document.getElementById('dl-chat');\n    if (chatRoot) {\n      chatRoot.style.zIndex = '2147483400';\n    }\n\n    document.querySelectorAll('.product__description, .product-form, .dl-dream-intake').forEach(function (scope) {\n      replaceVisibleText(scope, [\n        { from: /Apaisement\\/Sommeil/g, to: 'Calme du soir' },\n        { from: /Intuition\\/Spiritualit\u00E9/g, to: 'Intuition et r\u00EAves' },\n        { from: /Surprise du Lama/g, to: 'S\u00E9lection du Lama' },\n        { from: /Force\\/\u00C9nergie/g, to: '\u00C9lan et courage' },\n        { from: /Protection/g, to: 'Ancrage et limites' },\n        { from: /Abondance/g, to: 'Ouverture et projets' },\n        { from: /Amour/g, to: 'Lien et amour' }\n      ]);\n    });\n\n    replaceVisibleText(document.body, [\n      { from: /Vous choisissez l[\u2019']intention, on choisit le bracelet(?! ou le mala)/g, to: \"Vous choisissez l'intention, on choisit le bracelet ou le mala\" },\n      { from: /Vous choisissez l[\u2019']intention, DailyLama choisit le bracelet(?! ou le mala)/g, to: \"Vous choisissez l'intention, DailyLama choisit le bracelet ou le mala\" },\n      { from: /DailyLama choisit un bracelet disponible selon votre besoin/g, to: 'DailyLama s\u00E9lectionne un bracelet ou un mala disponible selon votre besoin' },\n      { from: /DailyLama choisit le bracelet dans le stock disponible/g, to: 'DailyLama choisit le bracelet ou le mala dans le stock disponible' },\n      { from: /un bracelet en pierres naturelles qui correspond/g, to: 'un bracelet ou un mala en pierres naturelles qui correspond' },\n      { from: /Collections par pierre accessibles en second plan/g, to: 'Guides pierres encore accessibles' },\n      { from: /La boutique multi-produits passe au second plan\\. L[\u2019']accueil met maintenant l[\u2019']offre simple devant : une intention, une s\u00E9lection, un bracelet choisi pour vous\\./g, to: \"Gardez vos guides favoris et passez simplement par l'offre claire : une intention, une s\u00E9lection, un bracelet ou un mala choisi pour vous.\" },\n      { from: /Livraison offerte d[e\u00E8]s 50\\s*\u20AC/g, to: 'Livraison offerte d\u00E8s 45 \u20AC' },\n      { from: /Livraison offerte d[e\u00E8]s 50\\s*EUR/g, to: 'Livraison offerte d\u00E8s 45 EUR' },\n      { from: /Stock\\s+France/g, to: 'Stock r\u00E9el' },\n      { from: /24(?:\\u2013|-)48h, suivi France/g, to: 'exp\u00E9dition suivie' },\n      { from: /24(?:\\u2013|-)48h/g, to: 'exp\u00E9dition suivie' }\n    ]);\n  }\n\n  function cleanPillarIntentionCopy() {\n    if (window.location.pathname.replace(/\\/$/, '') !== '/pages/quelle-pierre-pour-quelle-intention') {\n      return;\n    }\n\n    replaceVisibleText(document.body, [\n      { from: /apaisement, protection, amour, force, abondance, intuition ou surprise/g, to: 'calme du soir, ancrage, amour, \u00E9lan, projets, intuition ou s\u00E9lection guid\u00E9e' },\n      { from: /Surprise du Lama/g, to: 'S\u00E9lection du Lama' },\n      { from: /Apaisement\\/Sommeil/g, to: 'Calme du soir' },\n      { from: /Intuition\\/Spiritualit\u00E9/g, to: 'Intuition et r\u00EAves' },\n      { from: /Force\\/\u00C9nergie/g, to: '\u00C9lan et courage' }\n    ]);\n  }\n\n  function trackCashEvent(name, params) {\n    var payload = params || {};\n\n    if (typeof window.gtag === 'function') {\n      window.gtag('event', name, payload);\n      return;\n    }\n\n    window.dataLayer = window.dataLayer || [];\n    window.dataLayer.push(Object.assign({ event: name }, payload));\n  }\n\n  function normalizeDreamMysteryLinks(root) {\n    var scope = root && root.querySelectorAll ? root : document;\n    var links = scope.querySelectorAll('a[href*=\"/products/bracelet-reve-mystere\"]');\n\n    links.forEach(function (link) {\n      var originalHref = link.getAttribute('href') || '';\n\n      if (!originalHref || originalHref.indexOf('/products/bracelet-reve-mystere') === -1) {\n        return;\n      }\n\n      var normalizedUrl;\n      try {\n        normalizedUrl = new URL(originalHref, window.location.origin);\n      } catch (error) {\n        return;\n      }\n\n      if (normalizedUrl.pathname !== '/products/bracelet-reve-mystere') {\n        return;\n      }\n\n      normalizedUrl.searchParams.delete('view');\n      if (normalizedUrl.searchParams.get('intention') === 'Surprise du Lama') {\n        normalizedUrl.searchParams.delete('intention');\n      }\n      normalizedUrl.searchParams.delete('formula');\n\n      if (!normalizedUrl.hash) {\n        normalizedUrl.hash = 'dl-dream-intake';\n      }\n\n      link.setAttribute('href', normalizedUrl.pathname + normalizedUrl.search + normalizedUrl.hash);\n      link.setAttribute('data-dl-normalized-dream-link', '20260621-1935');\n    });\n  }\n\n  function bindDreamMysteryViewGuard() {\n    if (window.__dl_dream_view_guard_bound) {\n      return;\n    }\n\n    window.__dl_dream_view_guard_bound = true;\n\n    document.addEventListener('click', function (event) {\n      var link = event.target && event.target.closest ? event.target.closest('a[href*=\"/products/bracelet-reve-mystere\"]') : null;\n      if (!link) {\n        return;\n      }\n\n      normalizeDreamMysteryLinks(document);\n    }, true);\n  }\n\n  function normalizeLegacyQuizLinks(root) {\n    var scope = root && root.querySelectorAll ? root : document;\n\n    scope.querySelectorAll('a[href*=\"/pages/quelle-pierre\"]').forEach(function (link) {\n      var originalHref = link.getAttribute('href') || '';\n\n      if (originalHref.indexOf('/pages/quelle-pierre-pour-quelle-intention') !== -1) {\n        return;\n      }\n\n      link.setAttribute('href', '/pages/quelle-pierre-pour-quelle-intention');\n\n      var label = (link.textContent || '').trim();\n      if (/test|quiz|quelle pierre/i.test(label)) {\n        link.textContent = 'Quelle pierre pour quelle intention';\n      }\n    });\n  }\n\n  function fixDreamMysteryPageFlyCards() {\n    var dreamProductId = '8622988099780';\n    var dreamUrl = '/products/bracelet-reve-mystere#dl-dream-intake';\n\n    document.querySelectorAll('[data-pf-type=\"ProductATC\"], [data-pf-type=\"ProductATC2\"]').forEach(function (button) {\n      if (\n        button.getAttribute('data-product-id') !== dreamProductId ||\n        button.hasAttribute('data-dl-pagefly-dream-fixed') ||\n        !button.parentElement\n      ) {\n        return;\n      }\n\n      var link = document.createElement('a');\n      link.className = button.className;\n      link.href = dreamUrl;\n      link.setAttribute('data-dl-pagefly-dream-link', '');\n      link.setAttribute('data-dl-pagefly-dream-fixed', '20260621-1935');\n      link.setAttribute('data-dl-normalized-dream-link', '20260621-1935');\n      link.setAttribute('aria-label', 'Choisir mon bracelet d\u2019intention DailyLama');\n      link.innerHTML = 'Bracelet d&rsquo;intention';\n\n      button.setAttribute('data-dl-pagefly-dream-fixed', '20260621-1935');\n      button.parentElement.replaceChild(link, button);\n    });\n\n    document.querySelectorAll('[data-pf-type=\"ProductTitle\"][data-product-id=\"' + dreamProductId + '\"]').forEach(function (title) {\n      title.setAttribute('data-href', dreamUrl);\n      title.setAttribute('data-dl-pagefly-dream-title-fixed', '20260621-1935');\n    });\n  }\n\n  function getCashCtaContext(element) {\n    if (element.closest('.dl-article-offer')) {\n      return 'article_offer';\n    }\n    if (element.closest('.dl-article-email-capture')) {\n      return 'article_email_capture';\n    }\n    if (element.closest('[data-dl-sticky-article-cta]')) {\n      return 'sticky_article';\n    }\n    if (element.closest('[data-dl-article-answer]')) {\n      return 'article_answer';\n    }\n    if (element.closest('[data-dl-sticky-product-cta]')) {\n      return 'sticky_product';\n    }\n    if (element.closest('.dl-home-cash')) {\n      return 'homepage_cash';\n    }\n    if (element.closest('.dl-collection-bridge')) {\n      return 'collection_bridge';\n    }\n    if (element.closest('[data-dl-dream-product-bridge]')) {\n      return 'product_dream_bridge';\n    }\n    if (element.closest('[data-dl-corail-ritual]')) {\n      return 'corail_ritual';\n    }\n    if (element.closest('[data-dl-dream-intake]')) {\n      return 'dream_intake';\n    }\n    if (element.closest('[data-dl-dream-explainer]')) {\n      return 'dream_product_explainer';\n    }\n    if (element.closest('.dl-cart-upsell')) {\n      return 'cart_upsell';\n    }\n    return '';\n  }\n\n  function getArticleOfferPayload(offer, extra) {\n    var payload = {\n      dl_offer_handle: offer.getAttribute('data-dl-offer-handle') || '',\n      dl_offer_placement: offer.getAttribute('data-dl-offer-placement') || '',\n      dl_article_handle: offer.getAttribute('data-dl-article-handle') || '',\n      dl_blog_handle: offer.getAttribute('data-dl-blog-handle') || '',\n      dl_path: window.location.pathname\n    };\n\n    return Object.assign(payload, extra || {});\n  }\n\n  function getArticleAnswerPayload(answer, extra) {\n    var heading = answer.querySelector('h2');\n    var payload = {\n      dl_offer_handle: answer.getAttribute('data-dl-offer-handle') || 'bracelet-reve-mystere',\n      dl_offer_placement: 'answer',\n      dl_article_handle: answer.getAttribute('data-dl-article-handle') || '',\n      dl_blog_handle: answer.getAttribute('data-dl-blog-handle') || '',\n      dl_answer_heading: heading ? heading.textContent.replace(/\\s+/g, ' ').trim().slice(0, 120) : '',\n      dl_answer_emotion: answer.getAttribute('data-dl-answer-emotion') || '',\n      dl_answer_stone: answer.getAttribute('data-dl-answer-stone') || '',\n      dl_answer_offer: answer.getAttribute('data-dl-answer-offer') || '',\n      dl_answer_cta: answer.getAttribute('data-dl-answer-cta') || '',\n      dl_path: window.location.pathname\n    };\n\n    return Object.assign(payload, extra || {});\n  }\n\n  function getArticleEmailCapturePayload(capture, extra) {\n    var payload = {\n      dl_offer_handle: 'bracelet-reve-mystere',\n      dl_offer_placement: capture.getAttribute('data-dl-capture-placement') || 'email_capture',\n      dl_capture_intent: capture.getAttribute('data-dl-capture-intent') || '',\n      dl_capture_cta: capture.getAttribute('data-dl-capture-cta') || '',\n      dl_article_handle: capture.getAttribute('data-dl-article-handle') || '',\n      dl_blog_handle: capture.getAttribute('data-dl-blog-handle') || '',\n      dl_path: window.location.pathname\n    };\n\n    return Object.assign(payload, extra || {});\n  }\n\n  function readLastArticleOffer() {\n    try {\n      var raw = window.sessionStorage && window.sessionStorage.getItem('dl_article_offer_last');\n      if (!raw) {\n        return null;\n      }\n\n      var payload = JSON.parse(raw);\n      if (!payload || !payload.dl_offer_ts || Date.now() - payload.dl_offer_ts > 24 * 60 * 60 * 1000) {\n        return null;\n      }\n\n      return payload;\n    } catch (error) {\n      return null;\n    }\n  }\n\n  function bindArticleOfferAnalytics() {\n    if (document.documentElement.hasAttribute('data-dl-article-offer-analytics-bound')) {\n      return;\n    }\n\n    document.documentElement.setAttribute('data-dl-article-offer-analytics-bound', 'true');\n\n    function trackOfferView(offer) {\n      if (!offer || offer.hasAttribute('data-dl-article-offer-viewed')) {\n        return;\n      }\n\n      offer.setAttribute('data-dl-article-offer-viewed', 'true');\n      trackCashEvent('article_offer_view', getArticleOfferPayload(offer));\n    }\n\n    var offers = Array.prototype.slice.call(document.querySelectorAll('[data-dl-article-offer]'));\n    if ('IntersectionObserver' in window) {\n      var observer = new IntersectionObserver(function (entries) {\n        entries.forEach(function (entry) {\n          if (!entry.isIntersecting) {\n            return;\n          }\n\n          trackOfferView(entry.target);\n          observer.unobserve(entry.target);\n        });\n      }, { rootMargin: '0px 0px -20% 0px', threshold: 0.2 });\n\n      offers.forEach(function (offer) {\n        observer.observe(offer);\n      });\n    } else {\n      offers.forEach(trackOfferView);\n    }\n\n    document.addEventListener('click', function (event) {\n      var link = event.target && event.target.closest\n        ? event.target.closest('[data-dl-article-offer-link]')\n        : null;\n\n      if (!link) {\n        return;\n      }\n\n      var offer = link.closest('[data-dl-article-offer]');\n      if (!offer) {\n        return;\n      }\n\n      var payload = getArticleOfferPayload(offer, {\n        dl_label: (link.textContent || '').replace(/\\s+/g, ' ').trim().slice(0, 120),\n        dl_url: link.href || ''\n      });\n\n      try {\n        window.sessionStorage && window.sessionStorage.setItem('dl_article_offer_last', JSON.stringify(Object.assign({}, payload, {\n          dl_offer_ts: Date.now()\n        })));\n      } catch (error) {\n        // Storage can fail in strict privacy modes; analytics must stay non-blocking.\n      }\n\n      trackCashEvent('article_offer_click', payload);\n    }, true);\n  }\n\n  function normalizeArticleOfferMismatches() {\n    if (!document.body.classList.contains('template-article')) {\n      return;\n    }\n\n    function inferIntentionFromPath() {\n      var key = window.location.pathname.toLowerCase();\n      if (/separation|conjoint|amour|mariage|grossesse|bebe/.test(key)) {\n        return 'Amour';\n      }\n      if (/deced|d\u00E9c\u00E9d|defunt|d\u00E9funt|mort|cauchemar|noyade|mer|eau/.test(key)) {\n        return 'Apaisement/Sommeil';\n      }\n      if (/serpent|morsure|rat|intrusion|attaque|poursuite/.test(key)) {\n        return 'Protection';\n      }\n      if (/voiture|cheval|lion|montagne|avion|route/.test(key)) {\n        return 'Force/\u00C9nergie';\n      }\n      if (/argent|abondance|miel|gagner|citrine/.test(key)) {\n        return 'Abondance';\n      }\n      if (/plume|ange|heure|02h20|intuition|labradorite|spirit/.test(key)) {\n        return 'Intuition/Spiritualit\u00E9';\n      }\n      return 'Intuition/Spiritualit\u00E9';\n    }\n\n    var intention = inferIntentionFromPath();\n    var intentionUrl = '/products/bracelet-reve-mystere?intention=' + encodeURIComponent(intention) + '#dl-dream-intake';\n\n    document.querySelectorAll('[data-dl-article-offer]').forEach(function (offer) {\n      if (offer.hasAttribute('data-dl-article-offer-normalized')) {\n        return;\n      }\n\n      offer.setAttribute('data-dl-offer-handle', 'bracelet-reve-mystere');\n      offer.setAttribute('data-dl-offer-version', '20260629-pivot-js');\n      offer.setAttribute('data-dl-article-offer-normalized', '20260629-pivot');\n\n      var shell = offer.closest('[data-dl-article-offer-shell]');\n      if (shell) {\n        shell.setAttribute('data-dl-article-offer-shell', '20260629-pivot-js');\n      }\n\n      var image = offer.querySelector('.dl-article-offer__image');\n      if (image) {\n        image.setAttribute('alt', 'Bracelet d\u2019intention DailyLama');\n      }\n\n      var eyebrow = offer.querySelector('.dl-article-offer__eyebrow');\n      var title = offer.querySelector('.dl-article-offer__title');\n      var copy = offer.querySelector('.dl-article-offer__copy');\n      if (eyebrow) {\n        eyebrow.textContent = 'Intention du r\u00EAve';\n      }\n      if (title) {\n        title.textContent = 'Transformez ce r\u00EAve en intention \u00E0 porter';\n      }\n      if (copy) {\n        copy.textContent = 'Gardez la lecture symbolique, puis choisissez une intention simple. DailyLama s\u00E9lectionne un bracelet ou un mala disponible selon votre besoin.';\n      }\n\n      var primaryLink = offer.querySelector('.dl-article-offer__actions .dl-cash-button:not(.dl-cash-button--secondary), .dl-article-offer__actions .dl-cash-button');\n      if (primaryLink) {\n        primaryLink.setAttribute('href', intentionUrl);\n        primaryLink.textContent = 'Recevoir ma s\u00E9lection d\u2019intention';\n        primaryLink.setAttribute('data-dl-article-offer-link', '');\n      }\n\n      var secondaryLink = offer.querySelector('.dl-article-offer__actions .dl-cash-button--secondary');\n      if (secondaryLink) {\n        secondaryLink.setAttribute('href', intentionUrl);\n        secondaryLink.textContent = 'Voir les 7 intentions';\n        secondaryLink.setAttribute('data-dl-article-offer-link', '');\n      }\n\n      offer.querySelectorAll('.dl-article-offer__actions a').forEach(function (link, index) {\n        link.setAttribute('href', intentionUrl);\n        if (index > 1 || link.classList.contains('dl-cash-link')) {\n          link.setAttribute('hidden', 'hidden');\n          link.style.display = 'none';\n        }\n      });\n    });\n\n    document.querySelectorAll('[data-dl-sticky-article-cta]').forEach(function (sticky) {\n      sticky.setAttribute('data-dl-sticky-intent', 'bracelet-intention');\n      var eyebrow = sticky.querySelector('.dl-sticky-article-cta__eyebrow');\n      var title = sticky.querySelector('.dl-sticky-article-cta__copy strong');\n      var link = sticky.querySelector('.dl-sticky-article-cta__button');\n      if (eyebrow) {\n        eyebrow.textContent = 'Intention du r\u00EAve';\n      }\n      if (title) {\n        title.textContent = 'Porter un rep\u00E8re symbolique';\n      }\n      if (link) {\n        link.setAttribute('href', intentionUrl);\n        link.textContent = 'Choisir';\n        link.setAttribute('data-dl-sticky-target', 'bracelet-reve-mystere');\n        link.removeAttribute('data-dl-sticky-price');\n      }\n    });\n\n    document.querySelectorAll('main a[href*=\"/products/\"]').forEach(function (link) {\n      var href = link.getAttribute('href') || '';\n      if (href.indexOf('/products/bracelet-reve-mystere') !== -1) {\n        return;\n      }\n\n      link.setAttribute('href', intentionUrl);\n      link.setAttribute('data-dl-legacy-product-link-normalized', '20260629-pivot');\n\n      var label = (link.textContent || '').replace(/\\s+/g, ' ').trim();\n      if (!label) {\n        return;\n      }\n\n      if (/voir le bracelet|je le veux|d\u00E9couvrir|mala|am\u00E9thyste|labradorite|obsidienne|howlite|trio|onyx/i.test(label)) {\n        link.textContent = 'Choisir le bracelet d\u2019intention';\n      } else {\n        link.textContent = label.replace(/[\\u{1F48E}\\u{2728}\\u{1F525}\\u{2192}]/gu, '').trim();\n      }\n    });\n  }\n\n  function bindArticleAnswerAnalytics() {\n    if (document.documentElement.hasAttribute('data-dl-article-answer-analytics-bound')) {\n      return;\n    }\n\n    document.documentElement.setAttribute('data-dl-article-answer-analytics-bound', 'true');\n\n    function trackAnswerView(answer) {\n      if (!answer || answer.hasAttribute('data-dl-article-answer-viewed')) {\n        return;\n      }\n\n      answer.setAttribute('data-dl-article-answer-viewed', 'true');\n      trackCashEvent('article_answer_view', getArticleAnswerPayload(answer));\n    }\n\n    var answers = Array.prototype.slice.call(document.querySelectorAll('[data-dl-article-answer]'));\n    if ('IntersectionObserver' in window) {\n      var observer = new IntersectionObserver(function (entries) {\n        entries.forEach(function (entry) {\n          if (!entry.isIntersecting) {\n            return;\n          }\n\n          trackAnswerView(entry.target);\n          observer.unobserve(entry.target);\n        });\n      }, { rootMargin: '0px 0px -15% 0px', threshold: 0.25 });\n\n      answers.forEach(function (answer) {\n        observer.observe(answer);\n      });\n    } else {\n      answers.forEach(trackAnswerView);\n    }\n\n    document.addEventListener('click', function (event) {\n      var link = event.target && event.target.closest\n        ? event.target.closest('[data-dl-article-answer-link]')\n        : null;\n\n      if (!link) {\n        return;\n      }\n\n      var answer = link.closest('[data-dl-article-answer]');\n      if (!answer) {\n        return;\n      }\n\n      var payload = getArticleAnswerPayload(answer, {\n        dl_label: (link.textContent || '').replace(/\\s+/g, ' ').trim().slice(0, 120),\n        dl_url: link.href || ''\n      });\n\n      try {\n        window.sessionStorage && window.sessionStorage.setItem('dl_article_offer_last', JSON.stringify(Object.assign({}, payload, {\n          dl_source: 'article_answer',\n          dl_offer_ts: Date.now()\n        })));\n      } catch (error) {\n        // Storage can fail in strict privacy modes; analytics must stay non-blocking.\n      }\n\n      trackCashEvent('article_answer_click', payload);\n    }, true);\n  }\n\n  function bindStickyArticleAnalytics() {\n    if (document.documentElement.hasAttribute('data-dl-sticky-article-analytics-bound')) {\n      return;\n    }\n\n    document.documentElement.setAttribute('data-dl-sticky-article-analytics-bound', 'true');\n\n    document.addEventListener('click', function (event) {\n      var link = event.target && event.target.closest\n        ? event.target.closest('[data-dl-sticky-article-link]')\n        : null;\n      if (!link) {\n        return;\n      }\n\n      var cta = link.closest('[data-dl-sticky-article-cta]');\n      trackCashEvent('sticky_article_cta_click', {\n        dl_offer_handle: link.getAttribute('data-dl-sticky-target') || '',\n        dl_sticky_intent: cta ? (cta.getAttribute('data-dl-sticky-intent') || '') : '',\n        dl_price: link.getAttribute('data-dl-sticky-price') || '',\n        dl_label: (link.textContent || '').replace(/\\s+/g, ' ').trim().slice(0, 120),\n        dl_url: link.href || '',\n        dl_path: window.location.pathname\n      });\n    }, true);\n  }\n\n  function bindArticleEmailCaptureAnalytics() {\n    if (document.documentElement.hasAttribute('data-dl-article-email-capture-analytics-bound')) {\n      return;\n    }\n\n    document.documentElement.setAttribute('data-dl-article-email-capture-analytics-bound', 'true');\n\n    function trackCaptureView(capture) {\n      if (!capture || capture.hasAttribute('data-dl-article-email-capture-viewed')) {\n        return;\n      }\n\n      capture.setAttribute('data-dl-article-email-capture-viewed', 'true');\n      trackCashEvent('article_email_capture_view', getArticleEmailCapturePayload(capture));\n    }\n\n    var captures = Array.prototype.slice.call(document.querySelectorAll('[data-dl-article-email-capture]'));\n    if ('IntersectionObserver' in window) {\n      var observer = new IntersectionObserver(function (entries) {\n        entries.forEach(function (entry) {\n          if (!entry.isIntersecting) {\n            return;\n          }\n\n          trackCaptureView(entry.target);\n          observer.unobserve(entry.target);\n        });\n      }, { rootMargin: '0px 0px -20% 0px', threshold: 0.2 });\n\n      captures.forEach(function (capture) {\n        observer.observe(capture);\n      });\n    } else {\n      captures.forEach(trackCaptureView);\n    }\n\n    document.addEventListener('click', function (event) {\n      var link = event.target && event.target.closest\n        ? event.target.closest('[data-dl-article-email-link]')\n        : null;\n\n      if (!link) {\n        return;\n      }\n\n      var capture = link.closest('[data-dl-article-email-capture]');\n      if (!capture) {\n        return;\n      }\n\n      var payload = getArticleEmailCapturePayload(capture, {\n        dl_label: (link.textContent || '').replace(/\\s+/g, ' ').trim().slice(0, 120),\n        dl_symbol: link.getAttribute('data-dl-symbol') || '',\n        dl_url: link.href || ''\n      });\n\n      try {\n        window.sessionStorage && window.sessionStorage.setItem('dl_article_offer_last', JSON.stringify(Object.assign({}, payload, {\n          dl_source: 'article_email_capture',\n          dl_offer_ts: Date.now()\n        })));\n      } catch (error) {\n        // Storage can fail in strict privacy modes; analytics must stay non-blocking.\n      }\n\n      trackCashEvent('article_email_capture_click', payload);\n    }, true);\n\n    document.addEventListener('submit', function (event) {\n      var form = event.target;\n      if (!form || !form.closest || !form.matches || !form.matches('.dl-article-email-capture__form')) {\n        return;\n      }\n\n      var capture = form.closest('[data-dl-article-email-capture]');\n      if (!capture) {\n        return;\n      }\n\n      trackCashEvent('article_email_capture_submit', getArticleEmailCapturePayload(capture));\n    }, true);\n  }\n\n  function bindProductAddToCartAnalytics() {\n    if (document.documentElement.hasAttribute('data-dl-product-atc-analytics-bound')) {\n      return;\n    }\n\n    document.documentElement.setAttribute('data-dl-product-atc-analytics-bound', 'true');\n\n    var lastSignature = '';\n    var lastTrackedAt = 0;\n\n    function getFormData(form) {\n      var idInput = form ? form.querySelector('[name=\"id\"]') : null;\n      var quantityInput = form ? form.querySelector('[name=\"quantity\"]') : null;\n      return {\n        dl_variant_id: idInput ? idInput.value : '',\n        dl_quantity: quantityInput ? quantityInput.value : '1',\n        dl_path: window.location.pathname\n      };\n    }\n\n    function trackProductAddIntent(form, source) {\n      var payload = getFormData(form);\n      payload.dl_source = source || 'product_form';\n\n      var signature = [payload.dl_path, payload.dl_variant_id, payload.dl_quantity].join('|');\n      var now = Date.now();\n      if (signature === lastSignature && now - lastTrackedAt < 1500) {\n        return;\n      }\n\n      lastSignature = signature;\n      lastTrackedAt = now;\n\n      trackCashEvent('dl_product_add_to_cart_intent', payload);\n\n      var lastArticleOffer = readLastArticleOffer();\n      if (lastArticleOffer) {\n        trackCashEvent('article_offer_add_to_cart', Object.assign({}, lastArticleOffer, payload));\n      }\n    }\n\n    document.addEventListener('submit', function (event) {\n      var form = event.target;\n      if (!form || !form.matches || !form.matches('form[action*=\"/cart/add\"]')) {\n        return;\n      }\n\n      if (event.defaultPrevented) {\n        return;\n      }\n\n      trackProductAddIntent(form, 'product_form_submit');\n    });\n\n    document.addEventListener('click', function (event) {\n      var button = event.target && event.target.closest\n        ? event.target.closest('button[name=\"add\"], [data-pf-type=\"ProductATC\"], [data-pf-type=\"ProductATC2\"]')\n        : null;\n\n      if (!button) {\n        return;\n      }\n\n      var form = button.closest('form');\n      if (!form || !form.matches || !form.matches('form[action*=\"/cart/add\"]')) {\n        return;\n      }\n\n      trackProductAddIntent(form, 'product_button_click');\n    });\n  }\n\n  function bindCashAnalytics() {\n    if (document.documentElement.hasAttribute('data-dl-cash-analytics-bound')) {\n      return;\n    }\n\n    document.documentElement.setAttribute('data-dl-cash-analytics-bound', 'true');\n\n    document.addEventListener('click', function (event) {\n      var target = event.target && event.target.closest\n        ? event.target.closest('a, button')\n        : null;\n\n      if (!target) {\n        return;\n      }\n\n      var context = getCashCtaContext(target);\n      if (!context) {\n        return;\n      }\n\n      trackCashEvent('dl_cash_cta_click', {\n        dl_context: context,\n        dl_label: (target.textContent || '').replace(/\\s+/g, ' ').trim().slice(0, 120),\n        dl_url: target.href || window.location.href,\n        dl_path: window.location.pathname\n      });\n    }, true);\n\n    document.addEventListener('change', function (event) {\n      var target = event.target;\n      if (!target || !target.matches || !target.matches('[data-dl-dream-quantity]')) {\n        return;\n      }\n\n      trackCashEvent('dl_cash_dream_formula_change', {\n        dl_quantity: target.getAttribute('data-dl-dream-quantity') || '',\n        dl_formula_key: target.getAttribute('data-dl-dream-formula') || '',\n        dl_formula: target.value || '',\n        dl_path: window.location.pathname\n      });\n    }, true);\n  }\n\n  function fixLegacyTrustCopy() {\n    var replacements = [\n      {\n        selector: 'p, h1, h2, h3, h4, h5, h6, a, button, span',\n        match: 'Plus de 1000 avis clients 5 etoiles',\n        html: 'Photos produits, suivi inclus et support client disponible'\n      },\n      {\n        selector: 'p, h1, h2, h3, h4, h5, h6, a, button, span',\n        match: 'Vertus lithotherapeutiques',\n        html: 'Lecture<br>symbolique'\n      },\n      {\n        selector: 'p, h1, h2, h3, h4, h5, h6, a, button, span',\n        match: 'Choisissez votre bienfait',\n        html: 'Choisissez votre intention'\n      }\n    ];\n\n    function normalize(value) {\n      return String(value || '')\n        .normalize('NFD')\n        .replace(/[\\u0300-\\u036f]/g, '')\n        .replace(/\\s+/g, ' ')\n        .trim();\n    }\n\n    replacements.forEach(function (replacement) {\n      document.querySelectorAll(replacement.selector).forEach(function (node) {\n        var text = normalize(node.textContent);\n        if (text.indexOf(replacement.match) === -1) {\n          return;\n        }\n\n        node.innerHTML = replacement.html;\n      });\n    });\n\n    var healthClaimReplacements = [\n      { from: /vertus th[\u00E9e]rapeutiques/gi, to: 'lectures symboliques' },\n      { from: /propri[\u00E9e]t[\u00E9e]s curatives/gi, to: 'lectures symboliques' },\n      { from: /gu[\u00E9e]rison int[\u00E9e]rieure/gi, to: 'apaisement symbolique' },\n      { from: /gu[\u00E9e]rison/gi, to: 'apaisement symbolique' },\n      { from: /gu[\u00E9e]rir|gu[\u00E9e]rit|soigner|soigne/gi, to: 'accompagner symboliquement' },\n      { from: /soulagement|soulager|soulage/gi, to: 'apaisement symbolique' },\n      { from: /troubles physiques/gi, to: 'tensions du quotidien' },\n      { from: /syst[\u00E8e]me immunitaire|d[\u00E9e]fenses immunitaires|d[\u00E9e]fenses naturelles/gi, to: 'ressources int\u00E9rieures' },\n      { from: /circulation sanguine/gi, to: \"circulation symbolique de l'\u00E9nergie\" },\n      { from: /syst[\u00E8e]me digestif|syst[\u00E8e]me nerveux|syst[\u00E8e]me circulatoire/gi, to: '\u00E9quilibre int\u00E9rieur' },\n      { from: /structure osseuse|d[\u00E9e]calcification|fractures?|articulaire|articulaires/gi, to: 'stabilit\u00E9 symbolique' },\n      { from: /douleurs?|maux physiques|maux du corps/gi, to: 'tensions ressenties' },\n      { from: /r[\u00E9e]cup[\u00E9e]rer plus rapidement/gi, to: \"retrouver progressivement de l'\u00E9lan\" },\n      { from: /croissance des cheveux/gi, to: 'renouveau personnel' },\n      { from: /attaques psychiques/gi, to: 'influences n\u00E9gatives' },\n      { from: /mauvais sorts/gi, to: 'pens\u00E9es n\u00E9gatives' },\n      { from: /blocages [\u00E9e]nerg[\u00E9e]tiques disparaissent rapidement/gi, to: 'tensions int\u00E9rieures se clarifient progressivement' },\n      { from: /[\u00E9e]chouent syst[\u00E9e]matiquement face [\u00E0a] elle/gi, to: 'sont mises \u00E0 distance dans cette lecture symbolique' },\n      { from: /rebondissent automatiquement/gi, to: 'sont mises \u00E0 distance symboliquement' },\n      { from: /s'installe d[\u00E9e]finitivement/gi, to: \"s'installe progressivement\" },\n      { from: /s'installe durablement/gi, to: \"s'installe progressivement\" },\n      { from: /am[\u00E9e]lioration du souffle/gi, to: 'meilleure pr\u00E9sence au souffle' },\n      { from: /anti-stress/gi, to: 'calme' },\n      { from: /stress/gi, to: 'tension' },\n      { from: /anxi[\u00E9e]t[\u00E9e]/gi, to: 'inqui\u00E9tude' },\n      { from: /pour votre sant[\u00E9e]/gi, to: 'pour votre \u00E9quilibre symbolique' },\n      { from: /\\bsant[\u00E9e]\\b/gi, to: '\u00E9quilibre symbolique' },\n      { from: /\\befficace\\b/gi, to: 'souvent choisi' }\n    ];\n\n    var walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, {\n      acceptNode: function (node) {\n        var parent = node.parentElement;\n        if (!parent || /^(script|style|noscript)$/i.test(parent.tagName)) {\n          return NodeFilter.FILTER_REJECT;\n        }\n        return NodeFilter.FILTER_ACCEPT;\n      }\n    });\n    var textNodes = [];\n    var currentNode = walker.nextNode();\n    while (currentNode) {\n      textNodes.push(currentNode);\n      currentNode = walker.nextNode();\n    }\n\n    textNodes.forEach(function (node) {\n      var nextValue = node.nodeValue;\n      healthClaimReplacements.forEach(function (replacement) {\n        nextValue = nextValue.replace(replacement.from, replacement.to);\n      });\n      if (nextValue !== node.nodeValue) {\n        node.nodeValue = nextValue;\n      }\n    });\n  }\n\n  function fixProductCopy() {\n    document.querySelectorAll('.pf-header-item-wrapper span').forEach(function (node) {\n      var text = node.textContent.trim();\n      if (text === 'Notre combats') {\n        node.textContent = 'Notre combat';\n      }\n    });\n\n    document.querySelectorAll('[data-pf-type=\"Paragraph3\"]').forEach(function (node) {\n      if (!node.textContent) {\n        return;\n      }\n\n      if (node.textContent.indexOf('livraison gratuiteNous') !== -1) {\n        node.innerHTML = [\n          \"Nous exp&eacute;dions du lundi au samedi, hors jours f&eacute;ri&eacute;s. Chaque commande part avec un num&eacute;ro de suivi.\",\n          \"<br><br><strong>D&eacute;lai d'exp&eacute;dition estim&eacute; :</strong> 1 &agrave; 3 jours ouvr&eacute;s.\",\n          \"<br><br><strong>Livraison offerte d&egrave;s 45 &euro; d'achat.</strong>\"\n        ].join('');\n      }\n\n      if (node.textContent.indexOf('Paiement par carte bancaire') !== -1) {\n        node.innerHTML = 'Checkout s&eacute;curis&eacute; avec les moyens de paiement disponibles au moment de la commande.';\n      }\n    });\n\n    document.querySelectorAll('h3, h4, a, span').forEach(function (node) {\n      var text = node.textContent.trim();\n      if (text.indexOf('conomisez 15%') !== -1 || text.indexOf('\u00E9conomisez 15%') !== -1) {\n        node.innerHTML = 'Associez ce bracelet &agrave; un mala assorti pour cr&eacute;er votre rituel complet';\n      }\n      if (text === 'Ajouter le bundle') {\n        node.textContent = 'Voir les bundles';\n      }\n      if (text === 'Paiement 100% s\u00E9curis\u00E9') {\n        node.textContent = 'Checkout s\u00E9curis\u00E9';\n      }\n    });\n\n    document.querySelectorAll('.__pf img, .pagefly-container img, [data-pf-type=\"Image4\"]').forEach(function (image) {\n      var src = (image.getAttribute('src') || '').toLowerCase();\n\n      if (src.indexOf('payment.svg') === -1 && src.indexOf('paiement-secu') === -1) {\n        return;\n      }\n\n      var wrapper = image.closest('[data-pf-type=\"Block\"], [data-pf-type=\"Column\"], [data-pf-type=\"Section\"], .pf-c, .__pf');\n      var wrapperText = wrapper && wrapper.textContent ? wrapper.textContent : '';\n\n      if (\n        wrapperText.indexOf('Paiement par carte bancaire') === -1 &&\n        wrapperText.indexOf('Paiement 100%') === -1 &&\n        wrapperText.indexOf('Checkout s\u00E9curis\u00E9') === -1\n      ) {\n        return;\n      }\n\n      image.setAttribute('hidden', 'hidden');\n      image.setAttribute('data-dl-hidden-legacy-payment-art', 'true');\n      image.style.display = 'none';\n    });\n\n    document.querySelectorAll('#looxReviews, [data-pf-type=\"Loox\"]').forEach(function (node) {\n      if (node.textContent && node.textContent.indexOf('You have not selected a product to show reviews') !== -1) {\n        var wrapper = node.closest('[data-pf-type=\"Loox\"]') || node;\n        wrapper.setAttribute('hidden', 'hidden');\n        wrapper.style.display = 'none';\n      }\n    });\n  }\n\n  function fixLegacyNavigationNoise() {\n    document.querySelectorAll('a[href]').forEach(function (link) {\n      var pathname = '';\n\n      try {\n        pathname = new URL(link.getAttribute('href'), window.location.origin).pathname.replace(/\\/$/, '');\n      } catch (error) {\n        pathname = '';\n      }\n\n      if (pathname !== '/collections/sarouels' && pathname !== '/collections/mala') {\n        return;\n      }\n\n      var menuItem = link.closest('li') || link.closest('details') || link;\n      menuItem.setAttribute('data-dl-nav-hidden', '');\n      menuItem.setAttribute('hidden', 'hidden');\n      menuItem.style.display = 'none';\n    });\n  }\n\n  function getHomeCashMarkup() {\n    return [\n      '<div class=\"dl-home-cash__inner dl-home-cash__inner--premium page-width\">',\n      '<div class=\"dl-home-cash__copy dl-home-cash__copy--premium\">',\n      '<p class=\"dl-home-cash__eyebrow\">Bracelet d&rsquo;intention DailyLama</p>',\n      '<h1>Vous choisissez l&rsquo;intention, on choisit le bracelet ou le mala</h1>',\n      '<p>Amour, protection, apaisement, abondance ou intuition : DailyLama s&eacute;lectionne dans le stock r&eacute;el un bracelet en pierres naturelles qui correspond &agrave; votre besoin du moment.</p>',\n      '<div class=\"dl-home-cash__actions\">',\n      '<a class=\"dl-cash-button\" href=\"/products/bracelet-reve-mystere#dl-dream-intake\">Recevoir ma s&eacute;lection</a>',\n      '<a class=\"dl-cash-link\" href=\"/products/bracelet-reve-mystere#dl-dream-intake\">Voir les 7 intentions</a>',\n      '</div>',\n      '<div class=\"dl-home-cash__trust\" aria-label=\"R\u00E9assurance DailyLama\">',\n      '<span>Stock r&eacute;el DailyLama</span>',\n      '<span>Carte d&rsquo;intention dans le colis</span>',\n      '<span>Mod&egrave;le exact selon disponibilit&eacute;</span>',\n      '</div>',\n      '</div>',\n      '<div class=\"dl-home-cash__panel dl-home-cash__panel--premium\">',\n      '<a class=\"dl-home-cash__main-product dl-home-cash__main-product--premium\" href=\"/products/bracelet-reve-mystere#dl-dream-intake\">',\n      '<img src=\"https://cdn.shopify.com/s/files/1/0042/4932/1536/files/BraceletFix1253.jpg?v=1781936308&width=860\" srcset=\"https://cdn.shopify.com/s/files/1/0042/4932/1536/files/BraceletFix1253.jpg?v=1781936308&width=520 520w, https://cdn.shopify.com/s/files/1/0042/4932/1536/files/BraceletFix1253.jpg?v=1781936308&width=860 860w, https://cdn.shopify.com/s/files/1/0042/4932/1536/files/BraceletFix1253.jpg?v=1781936308&width=1100 1100w\" sizes=\"(max-width: 989px) 92vw, 44vw\" width=\"860\" height=\"860\" alt=\"Bracelet en pierre naturelle choisi par DailyLama\" loading=\"eager\">',\n      '<span><strong>Bracelet d&rsquo;intention</strong><small>choisi dans le stock DailyLama</small></span>',\n      '</a>',\n      '<div class=\"dl-home-cash__photo-strip\" aria-label=\"Exemples de bracelets DailyLama\">',\n      '<img src=\"https://cdn.shopify.com/s/files/1/0042/4932/1536/files/BraceletFix1253.jpg?v=1781936308&width=260\" width=\"260\" height=\"260\" alt=\"Bracelet en pierre naturelle DailyLama\" loading=\"eager\">',\n      '<img src=\"https://cdn.shopify.com/s/files/1/0042/4932/1536/files/BraceletFix1147.jpg?v=1781936306&width=260\" width=\"260\" height=\"260\" alt=\"Bracelet en pierre naturelle DailyLama\" loading=\"lazy\">',\n      '<img src=\"https://cdn.shopify.com/s/files/1/0042/4932/1536/files/BraceletFix1268.jpg?v=1781936310&width=260\" width=\"260\" height=\"260\" alt=\"Bracelet en pierre naturelle DailyLama\" loading=\"lazy\">',\n      '<img src=\"https://cdn.shopify.com/s/files/1/0042/4932/1536/files/BraceletFix1325.jpg?v=1781936312&width=260\" width=\"260\" height=\"260\" alt=\"Bracelet en pierre naturelle DailyLama\" loading=\"lazy\">',\n      '</div>',\n      '<div class=\"dl-home-cash__quick-links\">',\n      '<a href=\"/products/bracelet-reve-mystere?intention=Amour#dl-dream-intake\"><strong>Amour</strong><small>lien, douceur</small></a>',\n      '<a href=\"/products/bracelet-reve-mystere?intention=Protection#dl-dream-intake\"><strong>Protection</strong><small>ancrage, limite</small></a>',\n      '<a href=\"/products/bracelet-reve-mystere?intention=Apaisement%2FSommeil#dl-dream-intake\"><strong>Apaisement</strong><small>sommeil, calme</small></a>',\n      '<a href=\"/products/bracelet-reve-mystere?intention=Abondance#dl-dream-intake\"><strong>Abondance</strong><small>projet, &eacute;lan</small></a>',\n      '<a href=\"/products/bracelet-reve-mystere?intention=Force%2F%C3%89nergie#dl-dream-intake\"><strong>Force</strong><small>&eacute;nergie, courage</small></a>',\n      '<a href=\"/products/bracelet-reve-mystere?intention=Intuition%2FSpiritualit%C3%A9#dl-dream-intake\"><strong>Intuition</strong><small>r&ecirc;ves, symboles</small></a>',\n      '</div>',\n      '</div>',\n      '</div>',\n      '<div class=\"dl-home-cash__entity dl-home-cash__entity--premium page-width\" aria-label=\"DailyLama en bref\">',\n      '<div class=\"dl-home-cash__entity-copy\">',\n      '<p class=\"dl-home-cash__entity-kicker\">Guides DailyLama</p>',\n      '<h2>Les r&ecirc;ves, pierres et intentions restent accessibles</h2>',\n      '<p>Gardez vos guides favoris et passez simplement par l&rsquo;offre claire : une intention, une s&eacute;lection, un bracelet ou un mala choisi pour vous.</p>',\n      '</div>',\n      '<ul class=\"dl-home-cash__entity-links\" aria-label=\"Acc\u00E8s secondaires DailyLama\">',\n      '<li><a href=\"/products/bracelet-reve-mystere#dl-dream-intake\">Bracelet d&rsquo;intention</a></li>',\n      '<li><a href=\"/blogs/signification-reves\">Dictionnaire des r&ecirc;ves</a></li>',\n      '<li><a href=\"/products/bracelet-reve-mystere?intention=Amour#dl-dream-intake\">Intention amour</a></li>',\n      '<li><a href=\"/products/bracelet-reve-mystere?intention=Protection#dl-dream-intake\">Intention protection</a></li>',\n      '<li><a href=\"/products/bracelet-reve-mystere?intention=Apaisement%2FSommeil#dl-dream-intake\">Intention apaisement</a></li>',\n      '<li><a href=\"/products/bracelet-reve-mystere#dl-dream-intake\">S\u00E9lection du Lama</a></li>',\n      '</ul>',\n      '</div>'\n    ].join('');\n  }\n\n  function insertHomeCashFallback() {\n    if (window.location.pathname !== '/') {\n      return;\n    }\n\n    if (document.querySelector('.dl-home-cash')) {\n      return;\n    }\n\n    var target = document.querySelector('.pagefly-container') || document.querySelector('#MainContent') || document.body;\n    if (!target) {\n      return;\n    }\n\n    var section = document.createElement('section');\n    section.className = 'dl-home-cash';\n    section.setAttribute('data-dl-home-cash-js', '');\n    section.setAttribute('data-dl-home-cash-version', '20260629-2045');\n    section.setAttribute('aria-label', 'Bracelet d\u2019intention DailyLama');\n    section.innerHTML = getHomeCashMarkup();\n\n    target.insertBefore(section, target.firstChild);\n  }\n\n  function removeDuplicateHomeCashSections() {\n    if (window.location.pathname !== '/') {\n      return;\n    }\n\n    var sections = Array.prototype.slice.call(document.querySelectorAll('.dl-home-cash'));\n    if (sections.length <= 1) {\n      return;\n    }\n\n    var nativeSection = sections[0];\n    sections.forEach(function (section) {\n      if (section !== nativeSection) {\n        section.remove();\n      }\n    });\n  }\n\n  function repairCachedHomePivot() {\n    if (window.location.pathname !== '/') {\n      return;\n    }\n\n    document.querySelectorAll('span, .announcement-bar__message').forEach(function (node) {\n      var text = node.textContent || '';\n      var link = node.closest ? node.closest('a') : null;\n\n      if (text.indexOf('Packs Rituels') !== -1) {\n        node.textContent = 'Guides pierres encore accessibles';\n        if (link) {\n          link.setAttribute('href', '/collections/all');\n        }\n      } else if (text.indexOf('Livraison offerte') !== -1) {\n        node.textContent = '7 intentions possibles selon votre besoin';\n        if (link) {\n          link.setAttribute('href', '/products/bracelet-reve-mystere#dl-dream-intake');\n        }\n      } else if (text.indexOf('R\u00EAve Myst\u00E8re') !== -1) {\n        node.textContent = 'Bracelet d\u2019intention : choisi pour vous';\n        if (link) {\n          link.setAttribute('href', '/products/bracelet-reve-mystere#dl-dream-intake');\n        }\n      }\n    });\n\n    var home = document.querySelector('[data-dl-native-home]');\n    if (!home || home.hasAttribute('data-dl-home-pivot-repaired')) {\n      return;\n    }\n\n    home.setAttribute('data-dl-home-pivot-repaired', 'true');\n\n    if (home.classList.contains('dlh') || home.querySelector('.dlh-hero')) {\n      home.className = 'dl-home-cash';\n      home.setAttribute('data-dl-home-cash-version', '20260629-2045');\n      home.setAttribute('aria-label', 'Bracelet d\u2019intention DailyLama');\n      home.innerHTML = getHomeCashMarkup();\n      return;\n    }\n\n    function setText(selector, value, scope) {\n      var node = (scope || home).querySelector(selector);\n      if (node) {\n        node.textContent = value;\n      }\n    }\n\n    function setHtml(selector, value, scope) {\n      var node = (scope || home).querySelector(selector);\n      if (node) {\n        node.innerHTML = value;\n      }\n    }\n\n    var hero = home.querySelector('.dlh-hero') || home;\n    setText('.dlh-kick', 'Bracelet d\u2019intention DailyLama', hero);\n    setHtml('.dlh-h1', 'Vous choisissez l&rsquo;intention, on choisit le bracelet ou le mala', hero);\n    setText('.dlh-sub', 'Amour, protection, apaisement, abondance ou intuition : DailyLama s\u00E9lectionne dans le stock r\u00E9el un bracelet ou un mala en pierres naturelles qui correspond \u00E0 votre besoin du moment.', hero);\n\n    var actions = hero.querySelectorAll('.dlh-actions a');\n    if (actions[0]) {\n      actions[0].setAttribute('href', '/products/bracelet-reve-mystere#dl-dream-intake');\n      actions[0].textContent = 'Recevoir ma s\u00E9lection';\n    }\n    if (actions[1]) {\n      actions[1].setAttribute('href', '/products/bracelet-reve-mystere#dl-dream-intake');\n      actions[1].textContent = 'Voir les 7 intentions';\n    }\n\n    setText('.dlh-hero-meta span:last-child', 'Stock r\u00E9el DailyLama \u00B7 carte d\u2019intention \u00B7 bracelet ou mala selon pr\u00E9f\u00E9rence', hero);\n    setText('.dlh-pcard-badge', 'S\u00E9lection DailyLama', home);\n    setHtml('.dlh-pcard-t', 'Bracelet d\u2019intention<span>Bracelet ou mala choisi dans le stock DailyLama</span>', home);\n    setText('.dlh-pcard-p', 'Selon votre intention', home);\n\n    var chipLabels = ['Amour', 'Protection', 'Intuition'];\n    home.querySelectorAll('.dlh-chip').forEach(function (chip, index) {\n      chip.textContent = chipLabels[index] || chip.textContent;\n    });\n\n    var trustLabels = [\n      'Stock r\u00E9el DailyLama',\n      'Carte d\u2019intention dans le colis',\n      'Bracelet ou mala selon pr\u00E9f\u00E9rence',\n      'S\u00E9lection symbolique'\n    ];\n    home.querySelectorAll('.dlh-trust-i').forEach(function (item, index) {\n      var icon = item.querySelector('svg');\n      item.textContent = '';\n      if (icon) {\n        item.appendChild(icon);\n      }\n      item.appendChild(document.createTextNode(trustLabels[index] || 'DailyLama'));\n    });\n\n    var steps = home.querySelectorAll('.dlh-step');\n    [\n      ['Choisissez votre intention', 'Lien et amour, calme du soir, ancrage et limites, \u00E9lan, projets ou intuition.'],\n      ['DailyLama choisit dans le stock', 'La s\u00E9lection reste symbolique, selon les bracelets et malas disponibles et vos pr\u00E9cisions.'],\n      ['Recevez votre s\u00E9lection', 'Le colis contient le bracelet ou le mala choisi et une carte d\u2019intention courte.']\n    ].forEach(function (copy, index) {\n      var step = steps[index];\n      if (!step) {\n        return;\n      }\n      setText('h3', copy[0], step);\n      setText('p', copy[1], step);\n    });\n\n    home.querySelectorAll('.dlh-rituels').forEach(function (node) {\n      var wrapper = node.closest('.dlh-wrap') || node;\n      wrapper.setAttribute('data-dl-home-packs-hidden', 'true');\n      wrapper.setAttribute('hidden', 'hidden');\n      wrapper.style.display = 'none';\n    });\n  }\n\n  function repairCachedRelatedDreamOffer() {\n    document.querySelectorAll('.dl-related-dream-links__offer a, a[href*=\"bracelet-reve-mystere\"]').forEach(function (link) {\n      var text = link.textContent || '';\n      if (\n        text.indexOf('Trio conseill\u00E9') === -1 &&\n        text.indexOf('59,70') === -1 &&\n        text.indexOf('39,80') === -1 &&\n        text.indexOf('Rituel r\u00EAve') === -1\n      ) {\n        return;\n      }\n\n      link.setAttribute('href', '/products/bracelet-reve-mystere#dl-dream-intake');\n      link.textContent = 'Choisir mon intention et recevoir le bracelet DailyLama';\n    });\n  }\n\n  function watchCachedRelatedDreamOffer() {\n    repairCachedRelatedDreamOffer();\n\n    [300, 900, 1800, 3200].forEach(function (delay) {\n      window.setTimeout(repairCachedRelatedDreamOffer, delay);\n    });\n\n    if (!document.body || window.__dl_related_offer_observer) {\n      return;\n    }\n\n    window.__dl_related_offer_observer = new MutationObserver(function () {\n      repairCachedRelatedDreamOffer();\n    });\n    window.__dl_related_offer_observer.observe(document.body, {\n      childList: true,\n      subtree: true\n    });\n\n    window.setTimeout(function () {\n      if (window.__dl_related_offer_observer) {\n        window.__dl_related_offer_observer.disconnect();\n        window.__dl_related_offer_observer = null;\n      }\n    }, 9000);\n  }\n\n  function fixHomepageLegacyPageFly() {\n    if (window.location.pathname !== '/') {\n      return;\n    }\n\n    function normalize(value) {\n      return String(value || '')\n        .normalize('NFD')\n        .replace(/[\\u0300-\\u036f]/g, '')\n        .replace(/\\s+/g, ' ')\n        .trim()\n        .toLowerCase();\n    }\n\n    document.querySelectorAll('h1, h2, h3, h4, p, a, button').forEach(function (node) {\n      var text = normalize(node.textContent);\n      if (text === 'laissez les clients parlez pour nous') {\n        node.textContent = 'Ils ont command\u00E9 chez DailyLama';\n      }\n      if (text === 'voir tous nos avis clients depuis 2019') {\n        node.textContent = 'Voir les avis clients';\n      }\n    });\n\n    document.querySelectorAll('h1, h2, h3, h4').forEach(function (heading) {\n      if (normalize(heading.textContent) !== 'categories de produits') {\n        return;\n      }\n\n      var section = heading.closest('[data-section-id]');\n      if (!section || section.hasAttribute('data-dl-home-categories-hidden')) {\n        return;\n      }\n\n      section.setAttribute('data-dl-home-categories-hidden', '');\n      section.setAttribute('hidden', 'hidden');\n      section.style.display = 'none';\n    });\n  }\n\n  function insertArticleEmailCaptureFallback() {\n    if (!document.body.classList.contains('template-article')) {\n      return;\n    }\n\n    if (document.querySelector('.dl-article-email-capture')) {\n      return;\n    }\n\n    var articleContent = document.querySelector('.article-template__content');\n    if (!articleContent) {\n      return;\n    }\n\n    var pageKey = [\n      window.location.pathname,\n      document.title,\n      document.querySelector('h1') ? document.querySelector('h1').textContent : ''\n    ].join(' ').toLowerCase();\n\n    var hasMoneyContext = document.querySelector('.dl-article-offer') || document.querySelector('[data-dl-sticky-article-cta]');\n    var hasDreamContext = /reve|r\u00EAve|serpent|voiture|mariage|plume|cheveux|dent|deced|d\u00E9c\u00E9d|defunt|d\u00E9funt|spiritualite/.test(pageKey);\n\n    if (!hasMoneyContext && !hasDreamContext) {\n      return;\n    }\n\n    var captureMeta = {\n      intent: 'reve',\n      title: 'Transformez ce r&ecirc;ve en bracelet choisi',\n      copy: 'Racontez la sc&egrave;ne, l&rsquo;&eacute;motion au r&eacute;veil et votre intention. DailyLama choisit un bracelet disponible en stock avec une note symbolique courte.',\n      cta: 'Recevoir ma s&eacute;lection d&rsquo;intention'\n    };\n\n    if (/serpent|morsure/.test(pageKey)) {\n      captureMeta.intent = 'protection';\n      captureMeta.title = 'Transformez ce r&ecirc;ve en intention de protection';\n      captureMeta.copy = 'Serpent, morsure ou menace cach&eacute;e : racontez le contexte et l&rsquo;&eacute;motion. DailyLama choisit un bracelet de protection symbolique, sans verdict religieux ni promesse de r&eacute;sultat.';\n      captureMeta.cta = 'Choisir une intention protection';\n    } else if (/accident-de-voiture|signification-reve-voiture|voiture/.test(pageKey)) {\n      captureMeta.intent = 'direction';\n      captureMeta.title = 'Reprenez une direction claire apr&egrave;s ce r&ecirc;ve';\n      captureMeta.copy = 'Voiture, route ou accident : transformez le r&ecirc;ve en intention simple, reprendre la main, ralentir ou clarifier la route. DailyLama choisit le bracelet ou le mala dans le stock disponible.';\n      captureMeta.cta = 'Choisir une intention force';\n    } else if (/deced|d\u00E9c\u00E9d|defunt|d\u00E9funt|mort|enterrement/.test(pageKey)) {\n      captureMeta.intent = 'apaisement';\n      captureMeta.title = 'Gardez une trace symbolique du r&ecirc;ve';\n      captureMeta.copy = 'D&eacute;funt, mort ou transition : le bracelet ne promet aucun contact surnaturel. Il sert seulement de rep&egrave;re concret pour poser une intention douce apr&egrave;s un r&ecirc;ve fort.';\n      captureMeta.cta = 'Choisir une intention apaisement';\n    } else if (/mariage|amour|separation|conjoint/.test(pageKey)) {\n      captureMeta.intent = 'douceur';\n      captureMeta.title = 'Posez une intention douce apr&egrave;s ce r&ecirc;ve';\n      captureMeta.copy = 'Mariage, amour ou lien affectif : racontez la sc&egrave;ne sans chercher de verdict. DailyLama choisit un bracelet pour poser douceur et recul avant une r&eacute;ponse absolue.';\n      captureMeta.cta = 'Choisir une intention amour';\n    } else if (/bijoux|boucle-doreille/.test(pageKey)) {\n      captureMeta.intent = 'bijou';\n      captureMeta.title = 'Recevez le bijou symbolique associ&eacute; au r&ecirc;ve';\n      captureMeta.copy = 'Bijou re&ccedil;u, perdu ou offert : le symbole parle d&eacute;j&agrave; d&rsquo;un objet &agrave; porter. DailyLama le transforme en bracelet choisi selon votre &eacute;motion dominante.';\n      captureMeta.cta = 'Recevoir ma s&eacute;lection bijou de r&ecirc;ve';\n    } else if (/cheveux|dent/.test(pageKey)) {\n      captureMeta.intent = 'calme-confiance';\n      captureMeta.title = 'Posez une intention calme et confiance';\n      captureMeta.copy = 'Cheveux, dents ou image de soi : ce type de r&ecirc;ve touche souvent &agrave; la vuln&eacute;rabilit&eacute;. DailyLama choisit un bracelet rep&egrave;re pour revenir au calme et &agrave; la confiance.';\n      captureMeta.cta = 'Choisir une intention calme';\n    } else if (/faire-caca|caca|excrement|vomir|balayer/.test(pageKey)) {\n      captureMeta.intent = 'liberation';\n      captureMeta.title = 'Transformez ce r&ecirc;ve en intention de lib&eacute;ration';\n      captureMeta.copy = 'G&ecirc;ne, tri ou nettoyage symbolique : racontez le contexte et DailyLama choisit un bracelet pour trier, rel&acirc;cher et revenir au calme.';\n      captureMeta.cta = 'Choisir une intention lib&eacute;ration';\n    } else if (/eau|poisson|mer|noyade|tsunami|vague/.test(pageKey)) {\n      captureMeta.intent = 'emotion';\n      captureMeta.title = 'Clarifiez l&rsquo;&eacute;motion derri&egrave;re ce r&ecirc;ve';\n      captureMeta.copy = 'Eau, poisson ou profondeur : racontez le ressenti dominant. DailyLama choisit un bracelet pour nommer l&rsquo;&eacute;motion, garder du calme et du discernement.';\n      captureMeta.cta = 'Choisir une intention apaisement';\n    } else if (/plume|ange|heure|02h20|signe/.test(pageKey)) {\n      captureMeta.intent = 'guidance';\n      captureMeta.title = 'Posez le signe sans conclusion absolue';\n      captureMeta.copy = 'Plume, heure miroir ou signe spirituel : gardez une lecture prudente. DailyLama choisit un bracelet pour une intention de guidance symbolique.';\n      captureMeta.cta = 'Choisir une intention intuition';\n    }\n\n    var wrapper = document.createElement('div');\n    wrapper.className = 'page-width page-width--narrow';\n    wrapper.setAttribute('data-dl-article-email-capture-js', '');\n    wrapper.innerHTML = [\n      '<aside class=\"dl-article-email-capture dl-article-email-capture--fallback dl-cash-card\" aria-label=\"Diagnostic r\u00EAve et pierre DailyLama\" data-dl-article-email-capture data-dl-capture-placement=\"fallback\" data-dl-capture-intent=\"' + escapeHtml(captureMeta.intent) + '\" data-dl-capture-cta=\"' + escapeHtml(captureMeta.cta) + '\" data-dl-article-handle=\"' + escapeHtml(window.location.pathname.replace(/^\\/+|\\/+$/g, '')) + '\" data-dl-blog-handle=\"\">',\n      '<div class=\"dl-article-email-capture__copy\">',\n      '<p class=\"dl-article-email-capture__eyebrow\">Apr&egrave;s la signification</p>',\n      '<h2>' + captureMeta.title + '</h2>',\n      '<p>' + captureMeta.copy + '</p>',\n      '<div class=\"dl-article-email-capture__chips\" aria-label=\"Exemples de symboles\">',\n      '<a href=\"/products/bracelet-reve-mystere?intention=Protection#dl-dream-intake\" data-dl-article-email-link data-dl-symbol=\"serpent\"><strong>Serpent</strong><span>protection</span></a>',\n      '<a href=\"/products/bracelet-reve-mystere?intention=Force%2F%C3%89nergie#dl-dream-intake\" data-dl-article-email-link data-dl-symbol=\"voiture\"><strong>Voiture</strong><span>force</span></a>',\n      '<a href=\"/products/bracelet-reve-mystere?intention=Apaisement%2FSommeil#dl-dream-intake\" data-dl-article-email-link data-dl-symbol=\"defunt\"><strong>D&eacute;funt</strong><span>apaisement</span></a>',\n      '<a href=\"/products/bracelet-reve-mystere?intention=Intuition%2FSpiritualit%C3%A9#dl-dream-intake\" data-dl-article-email-link data-dl-symbol=\"eau\"><strong>Eau</strong><span>intuition</span></a>',\n      '</div>',\n      '</div>',\n      '<div class=\"dl-article-email-capture__conversion\">',\n      '<a class=\"dl-cash-button dl-article-email-capture__product\" href=\"/products/bracelet-reve-mystere#dl-dream-intake\" data-dl-article-email-link data-dl-symbol=\"' + escapeHtml(captureMeta.intent) + '\">' + captureMeta.cta + '</a>',\n      '<a class=\"dl-cash-link dl-article-email-capture__secondary\" href=\"/products/bracelet-reve-mystere#dl-dream-intake\" data-dl-article-email-link data-dl-symbol=\"intentions\">Voir les 7 intentions</a>',\n      '<form method=\"post\" action=\"/contact#contact_form\" accept-charset=\"UTF-8\" class=\"dl-article-email-capture__form\">',\n      '<input type=\"hidden\" name=\"form_type\" value=\"customer\">',\n      '<input type=\"hidden\" name=\"utf8\" value=\"\u2713\">',\n      '<input type=\"hidden\" name=\"contact[tags]\" value=\"newsletter,dailylama-dream-guide,dailylama-dream-diagnostic,dailylama-capture-fallback\">',\n      '<input type=\"hidden\" name=\"contact[accepts_marketing]\" value=\"true\">',\n      '<div class=\"dl-article-email-capture__field\">',\n      '<label for=\"DLArticleEmailCaptureFallback-email\">Recevoir la fiche gratuite par email</label>',\n      '<input id=\"DLArticleEmailCaptureFallback-email\" type=\"email\" name=\"contact[email]\" autocomplete=\"email\" autocorrect=\"off\" autocapitalize=\"off\" required>',\n      '<button type=\"submit\" name=\"commit\">Recevoir la fiche</button>',\n      '</div>',\n      '</form>',\n      '<p class=\"dl-article-email-capture__note\">Pas de promesse m&eacute;dicale ou religieuse : seulement une note symbolique courte et une s&eacute;lection dans le stock DailyLama.</p>',\n      '</div>',\n      '</aside>'\n    ].join('');\n\n    articleContent.insertAdjacentElement('afterend', wrapper);\n  }\n\n  function insertProductConfidence() {\n    if (!document.body.classList.contains('template-product')) {\n      return;\n    }\n\n    if (document.querySelector('[data-dl-product-confidence]')) {\n      return;\n    }\n\n    var atcButton = document.querySelector('[data-pf-type=\"ProductATC\"]');\n    var standardForm = document.querySelector('product-form, .product-form');\n    var target = atcButton || standardForm;\n    if (!target || !target.parentElement) {\n      return;\n    }\n\n    var panel = document.createElement('div');\n    panel.className = 'dl-product-confidence dl-cash-card';\n    panel.setAttribute('data-dl-product-confidence', '');\n    panel.setAttribute('aria-label', 'Garanties DailyLama');\n    panel.innerHTML = [\n      '<p class=\"dl-product-confidence__title\">Achat prot&eacute;g&eacute; DailyLama</p>',\n      '<div class=\"dl-product-confidence__specs\">',\n      '<span><strong>Pierre</strong><small>Naturelle</small></span>',\n      '<span><strong>Bracelet</strong><small>Ajustable</small></span>',\n      '</div>',\n      '<div class=\"dl-product-confidence__grid\">',\n      '<span><strong>Paiement</strong><small>Checkout s&eacute;curis&eacute;</small></span>',\n      '<span><strong>Exp&eacute;dition</strong><small>Suivi inclus</small></span>',\n      '<span><strong>Retours</strong><small>Possibles</small></span>',\n      '<span><strong>Livraison</strong><small>Offerte d&egrave;s 45 &euro;</small></span>',\n      '</div>',\n      '<p class=\"dl-product-confidence__note\">Usage symbolique et bien-&ecirc;tre uniquement, sans promesse m&eacute;dicale, psychologique ou religieuse.</p>'\n    ].join('');\n\n    target.parentElement.insertBefore(panel, target.nextSibling);\n  }\n\n  function insertDreamSelectionBridge() {\n    if (!document.body.classList.contains('template-product')) {\n      return;\n    }\n\n    if (window.location.pathname.indexOf('/products/bracelet-reve-mystere') !== -1) {\n      return;\n    }\n\n    if (document.querySelector('[data-dl-dream-product-bridge]')) {\n      return;\n    }\n\n    var atcButton = document.querySelector('[data-pf-type=\"ProductATC\"]') || findPrimaryAddToCartButton();\n    var standardForm = document.querySelector('product-form, .product-form');\n    var target = document.querySelector('[data-dl-product-confidence]') || atcButton || standardForm;\n    if (!target || !target.parentElement) {\n      return;\n    }\n\n    var bridge = document.createElement('div');\n    bridge.className = 'dl-dream-product-bridge dl-cash-card';\n    bridge.setAttribute('data-dl-dream-product-bridge', '');\n    bridge.innerHTML = [\n      '<div>',\n      '<p class=\"dl-dream-product-bridge__eyebrow\">Vous h&eacute;sitez ?</p>',\n      '<p class=\"dl-dream-product-bridge__title\">Laissez DailyLama choisir selon votre intention</p>',\n      '<p class=\"dl-dream-product-bridge__copy\">Racontez votre symbole, votre &eacute;motion et votre intention. DailyLama choisit les bracelets disponibles en stock avec une note symbolique courte.</p>',\n      '</div>',\n      '<a class=\"dl-cash-button dl-dream-product-bridge__button\" href=\"/products/bracelet-reve-mystere#dl-dream-intake\">Choisir mon intention</a>'\n    ].join('');\n\n    var confidence = document.querySelector('[data-dl-product-confidence]');\n    var anchor = confidence || target;\n    anchor.parentElement.insertBefore(bridge, anchor.nextSibling);\n  }\n\n  function isDreamMysteryProduct() {\n    return window.location.pathname.indexOf('/products/bracelet-reve-mystere') !== -1;\n  }\n\n  function isCorailProduct() {\n    return window.location.pathname.indexOf('/products/bracelet-corail') !== -1;\n  }\n\n  function insertCorailRitualBridge() {\n    if (!document.body.classList.contains('template-product') || !isCorailProduct()) {\n      return;\n    }\n\n    if (document.querySelector('[data-dl-corail-ritual]')) {\n      return;\n    }\n\n    var target = document.querySelector('[data-dl-product-confidence]') || document.querySelector('[data-pf-type=\"ProductATC\"]') || document.querySelector('product-form, .product-form');\n    if (!target || !target.parentElement) {\n      return;\n    }\n\n    var bridge = document.createElement('div');\n    bridge.className = 'dl-corail-ritual dl-cash-card';\n    bridge.setAttribute('data-dl-corail-ritual', '');\n    bridge.innerHTML = [\n      '<p class=\"dl-corail-ritual__eyebrow\">Composer un rituel</p>',\n      '<h2>Associez le Corail &agrave; une intention claire</h2>',\n      '<p class=\"dl-corail-ritual__copy\">Le Corail est le point d&rsquo;entr&eacute;e le plus simple. Si vous voulez un panier plus complet, ajoutez une pierre de protection, de calme ou de clart&eacute;.</p>',\n      '<div class=\"dl-corail-ritual__items\">',\n      '<a href=\"/products/bracelet-onyx-force-et-protection\"><strong>Onyx</strong><span>Protection et ancrage</span></a>',\n      '<a href=\"/products/bracelet-turquoise\"><strong>Turquoise</strong><span>Calme et communication</span></a>',\n      '<a href=\"/products/bracelet-lapis-lazuli\"><strong>Lapis Lazuli</strong><span>Clart&eacute; et changement</span></a>',\n      '</div>',\n      '<a class=\"dl-cash-link\" href=\"/products/bracelet-reve-mystere#dl-dream-intake\">Ou laissez DailyLama choisir selon votre intention</a>'\n    ].join('');\n\n    target.parentElement.insertBefore(bridge, target.nextSibling);\n  }\n\n  function getProductPriceText() {\n    var priceNode = document.querySelector('.price .price-item--regular, .price .price-item--sale, .price__regular .price-item, [id^=\"price-\"] .price-item');\n    return priceNode && priceNode.textContent ? priceNode.textContent.replace(/\\s+/g, ' ').trim() : '';\n  }\n\n  function getProductTitleText() {\n    var titleNode = document.querySelector('.product__title h1, [data-product-type=\"title\"], h1');\n    return titleNode && titleNode.textContent ? titleNode.textContent.replace(/\\s+/g, ' ').trim() : 'Bracelet DailyLama';\n  }\n\n  function findPrimaryAddToCartButton() {\n    var selectors = [\n      'product-form form button[name=\"add\"]',\n      'form[action*=\"/cart/add\"] button[name=\"add\"]',\n      '.product-form__submit',\n      '.pf-product-form [data-pf-type=\"ProductATC\"]',\n      '.pf-product-form [data-pf-type=\"ProductATC2\"]'\n    ];\n\n    for (var i = 0; i < selectors.length; i += 1) {\n      var button = document.querySelector(selectors[i]);\n      if (button) {\n        return button;\n      }\n    }\n\n    return null;\n  }\n\n  function formatFormulaPrice(basePriceText, quantity) {\n    var normalized = basePriceText.replace(/\\s/g, '').replace(',', '.').replace(/[^\\d.]/g, '');\n    var basePrice = parseFloat(normalized);\n    if (!basePrice || quantity === 1) {\n      return basePriceText;\n    }\n    return (basePrice * quantity).toFixed(2).replace('.', ',') + '\u20AC';\n  }\n\n  function repairDreamMysteryProduct() {\n    if (!isDreamMysteryProduct()) {\n      return;\n    }\n\n    var intake = document.querySelector('[data-dl-dream-intake]');\n    if (!intake) {\n      return;\n    }\n\n    if (!intake.id) {\n      intake.id = 'dl-dream-intake';\n    }\n\n    var productTitle = document.querySelector('.product__title h1, [data-product-type=\"title\"], main h1');\n    if (productTitle && !productTitle.hasAttribute('data-dl-intention-title')) {\n      productTitle.textContent = 'Bracelet d\u2019intention - choisi pour vous';\n      productTitle.setAttribute('data-dl-intention-title', 'true');\n    }\n\n    if (document.title.indexOf('Bracelet R\u00EAve Myst\u00E8re') !== -1) {\n      document.title = 'Bracelet d\u2019intention - choisi pour vous - DailyLama';\n    }\n\n    var textRoot = document.querySelector('main') || document.body;\n    var replacements = [\n      { from: /Bracelet R\u00EAve Myst\u00E8re - s\u00E9lection personnalis\u00E9e/g, to: 'Bracelet d\u2019intention - choisi pour vous' },\n      { from: /Bracelet R\u00EAve Myst\u00E8re - Simple, Duo ou Rituel/g, to: 'Bracelet d\u2019intention - choisi pour vous' },\n      { from: /Bracelet R\u00EAve Myst\u00E8re/g, to: 'Bracelet d\u2019intention' },\n      { from: /Un bracelet surprise choisi selon votre r\u00EAve/g, to: 'Un bracelet d\u2019intention choisi selon votre besoin' },\n      { from: /s\u00E9lection personnalis\u00E9e/g, to: 's\u00E9lection d\u2019intention' }\n    ];\n\n    if (textRoot && 'TreeWalker' in window) {\n      var walker = document.createTreeWalker(textRoot, NodeFilter.SHOW_TEXT, {\n        acceptNode: function (node) {\n          var parent = node.parentElement;\n          if (!parent || /^(script|style|svg|path)$/i.test(parent.tagName)) {\n            return NodeFilter.FILTER_REJECT;\n          }\n          return /R\u00EAve Myst\u00E8re|surprise choisi selon votre r\u00EAve|s\u00E9lection personnalis\u00E9e/.test(node.nodeValue)\n            ? NodeFilter.FILTER_ACCEPT\n            : NodeFilter.FILTER_SKIP;\n        }\n      });\n      var textNode = walker.nextNode();\n      while (textNode) {\n        var nextValue = textNode.nodeValue;\n        replacements.forEach(function (replacement) {\n          nextValue = nextValue.replace(replacement.from, replacement.to);\n        });\n        if (nextValue !== textNode.nodeValue) {\n          textNode.nodeValue = nextValue;\n        }\n        textNode = walker.nextNode();\n      }\n    }\n\n    var requestedIntention = '';\n    try {\n      requestedIntention = new URLSearchParams(window.location.search).get('intention') || '';\n    } catch (error) {\n      requestedIntention = '';\n    }\n\n    if (requestedIntention) {\n      var intentionSelect = intake.querySelector('select[name=\"properties[Intention]\"]');\n      if (intentionSelect) {\n        Array.prototype.slice.call(intentionSelect.options).some(function (option) {\n          if (option.value.toLowerCase() === requestedIntention.toLowerCase()) {\n            intentionSelect.value = option.value;\n            intentionSelect.dispatchEvent(new Event('change', { bubbles: true }));\n            return true;\n          }\n          return false;\n        });\n      }\n    }\n\n    intake.querySelectorAll('.dl-dream-intake__formulas').forEach(function (formulas) {\n      if (formulas.querySelector('[data-dl-dream-quantity]')) {\n        formulas.setAttribute('hidden', 'hidden');\n        formulas.style.display = 'none';\n      }\n    });\n\n    if (!intake.querySelector('[data-dl-intention-variant-note]')) {\n      var firstFormField = intake.querySelector('.dl-dream-intake__field');\n      var note = document.createElement('p');\n      note.className = 'dl-dream-intake__formula-note';\n      note.setAttribute('data-dl-intention-variant-note', '');\n      note.textContent = 'Choisissez la formule dans les options du produit, puis indiquez votre intention ici.';\n      if (firstFormField) {\n        intake.insertBefore(note, firstFormField);\n      } else {\n        intake.appendChild(note);\n      }\n    }\n\n    if (!intake.querySelector('.dl-dream-intake__deliverables')) {\n      var firstField = intake.querySelector('.dl-dream-intake__field');\n      var deliverables = document.createElement('div');\n      deliverables.className = 'dl-dream-intake__deliverables';\n      deliverables.setAttribute('aria-label', 'Ce que vous recevez');\n      deliverables.innerHTML = [\n        '<p>Ce que vous recevez</p>',\n        '<span><strong>S&eacute;lection r&eacute;elle</strong><small>Bracelet(s) pris dans le stock disponible selon votre message.</small></span>',\n        '<span><strong>Note symbolique courte</strong><small>Un r&eacute;sum&eacute; simple du symbole, de l&rsquo;&eacute;motion et de l&rsquo;intention.</small></span>',\n        '<span><strong>Cadre clair</strong><small>Aucune promesse m&eacute;dicale, religieuse, magique ou de r&eacute;sultat.</small></span>'\n      ].join('');\n\n      if (firstField) {\n        intake.insertBefore(deliverables, firstField);\n      } else {\n        intake.appendChild(deliverables);\n      }\n    }\n  }\n\n  function insertDreamMysteryTopPrompt() {\n    if (!isDreamMysteryProduct() || document.querySelector('[data-dl-dream-top-prompt]')) {\n      return;\n    }\n\n    var titleNode = document.querySelector('.product__title') || document.querySelector('[data-pf-type=\"ProductTitle\"]') || document.querySelector('main h1');\n    if (!titleNode || !titleNode.parentElement) {\n      return;\n    }\n\n    var prompt = document.createElement('section');\n    prompt.className = 'dl-dream-top-prompt dl-cash-card';\n    prompt.setAttribute('data-dl-dream-top-prompt', '');\n    prompt.setAttribute('aria-label', 'Bracelet d\u2019intention DailyLama');\n    prompt.innerHTML = [\n      '<p class=\"dl-dream-top-prompt__eyebrow\">Bracelet d&rsquo;intention</p>',\n      '<h2>Vous choisissez l&rsquo;intention, DailyLama choisit le bracelet ou le mala</h2>',\n      '<p>Indiquez votre besoin, les couleurs &agrave; &eacute;viter et votre taille de poignet. La s&eacute;lection se fait dans le stock disponible, avec une carte d&rsquo;intention courte.</p>',\n      '<div class=\"dl-dream-top-prompt__prices\" aria-label=\"Formules disponibles\">',\n      '<span><strong>Simple</strong><small>1 bracelet</small></span>',\n      '<span><strong>Trio</strong><small>3 bracelets, le plus choisi</small></span>',\n      '<span><strong>Rituel</strong><small>5 bracelets</small></span>',\n      '</div>',\n      '<a class=\"dl-cash-button dl-dream-top-prompt__button\" href=\"#dl-dream-intake\">Choisir mon intention</a>'\n    ].join('');\n\n    titleNode.parentElement.insertBefore(prompt, titleNode.nextSibling);\n  }\n\n  function insertDreamMysteryExplainer() {\n    if (!isDreamMysteryProduct()) {\n      return;\n    }\n\n    if (document.querySelector('[data-dl-dream-explainer]')) {\n      return;\n    }\n\n    var intake = document.querySelector('[data-dl-dream-intake]');\n    var target = intake || document.querySelector('[data-dl-product-confidence]') || findPrimaryAddToCartButton();\n    if (!target || !target.parentElement) {\n      return;\n    }\n\n    var explainer = document.createElement('section');\n    explainer.className = 'dl-dream-explainer dl-cash-card';\n    explainer.setAttribute('data-dl-dream-explainer', '');\n    explainer.setAttribute('aria-label', 'Comment fonctionne la s\u00E9lection d\u2019intention');\n    explainer.innerHTML = [\n      '<div class=\"dl-dream-explainer__head\">',\n      '<p class=\"dl-dream-explainer__eyebrow\">S&eacute;lection d&rsquo;intention</p>',\n      '<h2>Vous donnez le cap. DailyLama choisit dans le stock.</h2>',\n      '<p>Ce produit sert aux visiteurs qui ne savent pas quelle pierre choisir. Vous donnez l&rsquo;intention, vos pr&eacute;f&eacute;rences et les couleurs &agrave; &eacute;viter ; DailyLama s&eacute;lectionne un bracelet disponible et ajoute une carte d&rsquo;intention courte.</p>',\n      '</div>',\n      '<ol class=\"dl-dream-explainer__steps\">',\n      '<li><strong>1. Choisissez</strong><span>Une intention principale et vos pr&eacute;f&eacute;rences.</span></li>',\n      '<li><strong>2. S&eacute;lection</strong><span>Un bracelet est choisi dans le bac correspondant.</span></li>',\n      '<li><strong>3. R&eacute;ception</strong><span>Vous recevez le bracelet avec sa carte d&rsquo;intention, sans promesse magique.</span></li>',\n      '</ol>',\n      '<div class=\"dl-dream-explainer__matrix\" aria-label=\"Exemples de correspondances symboliques\">',\n      '<span><strong>Serpent / morsure</strong><small>Protection, ancrage</small></span>',\n      '<span><strong>Eau / poisson</strong><small>Intuition, clart&eacute;</small></span>',\n      '<span><strong>D&eacute;funt / b&eacute;b&eacute;</strong><small>Apaisement, douceur</small></span>',\n      '<span><strong>Voiture / chemin</strong><small>Direction, courage</small></span>',\n      '</div>',\n      '<div class=\"dl-dream-explainer__faq\" aria-label=\"Questions fr\u00E9quentes\">',\n      '<details open><summary>Comment fonctionne le Bracelet d&rsquo;intention DailyLama ?</summary><p>Vous choisissez une intention et DailyLama s&eacute;lectionne un bracelet disponible en stock.</p></details>',\n      '<details><summary>Puis-je choisir la pierre moi-m&ecirc;me ?</summary><p>Vous pouvez indiquer vos pr&eacute;f&eacute;rences, mais le mod&egrave;le exact est choisi selon le stock.</p></details>',\n      '<details><summary>Le bracelet promet-il un effet particulier ?</summary><p>Non. DailyLama ne promet pas de soigner, prot&eacute;ger ou changer une situation. Le bracelet sert de support symbolique.</p></details>',\n      '<details><summary>Quelle formule choisir ?</summary><p>Simple pour une intention, Trio pour plusieurs bracelets compl&eacute;mentaires, Rituel pour une s&eacute;lection plus large.</p></details>',\n      '</div>',\n      '<p class=\"dl-dream-explainer__note\">Note culturelle et symbolique uniquement. Ce n&rsquo;est pas un avis m&eacute;dical, psychologique, religieux ou financier.</p>',\n      '<a class=\"dl-cash-button dl-dream-explainer__button\" href=\"#dl-dream-intake\">Remplir mon intention</a>'\n    ].join('');\n\n    target.parentElement.insertBefore(explainer, intake || target);\n  }\n\n  function insertDreamMysteryStickyCTA() {\n    if (!document.body.classList.contains('template-product') || !isDreamMysteryProduct()) {\n      return;\n    }\n\n    if (document.querySelector('[data-dl-sticky-product-cta]')) {\n      return;\n    }\n\n    var sticky = document.createElement('div');\n    sticky.className = 'dl-sticky-product-cta';\n    sticky.setAttribute('data-dl-sticky-product-cta', '');\n    sticky.innerHTML = [\n      '<div class=\"dl-sticky-product-cta__inner\">',\n      '<div>',\n      '<p class=\"dl-sticky-product-cta__title\">Bracelet d&rsquo;intention</p>',\n      '<span class=\"dl-sticky-product-cta__price\">' + escapeHtml(getProductPriceText()) + '</span>',\n      '<span class=\"dl-product-trust-inline\">s&eacute;lection choisie dans le stock</span>',\n      '</div>',\n      '<a class=\"dl-sticky-product-cta__button dl-sticky-product-cta__button--link\" href=\"#dl-dream-intake\" data-dl-dream-sticky-link>Choisir mon intention</a>',\n      '</div>'\n    ].join('');\n    document.body.appendChild(sticky);\n  }\n\n  function getSelectedDreamFormulaInput() {\n    var intake = document.querySelector('[data-dl-dream-intake]');\n    if (!intake) {\n      return null;\n    }\n\n    return intake.querySelector('[data-dl-dream-quantity]:checked') || intake.querySelector('[data-dl-dream-quantity]');\n  }\n\n  function getDreamFormulaUi(input) {\n    var quantity = input ? parseInt(input.getAttribute('data-dl-dream-quantity'), 10) : 3;\n    var key = input ? (input.getAttribute('data-dl-dream-formula') || '') : '';\n    var formula = input && input.closest ? input.closest('.dl-dream-intake__formula') : null;\n    var priceNode = formula ? formula.querySelector('em') : null;\n    var price = priceNode && priceNode.textContent ? priceNode.textContent.replace(/\\s+/g, ' ').trim() : '';\n\n    if (quantity === 1 || key === 'simple') {\n      return {\n        key: 'simple',\n        quantity: 1,\n        title: 'Simple r\u00EAve',\n        price: price,\n        trust: '1 bracelet choisi selon votre r\u00EAve',\n        button: 'Ajouter la s\u00E9lection' + (price ? ' - ' + price : '')\n      };\n    }\n\n    if (quantity === 2 || key === 'duo') {\n      return {\n        key: 'duo',\n        quantity: 2,\n        title: 'Trio compl\u00E9mentaire',\n        price: price,\n        trust: '3 bracelets compl\u00E9mentaires',\n        button: 'Ajouter le trio' + (price ? ' - ' + price : '')\n      };\n    }\n\n    return {\n      key: 'rituel',\n      quantity: 3,\n      title: \"Bracelet d'intention\",\n      price: price,\n      trust: 's\u00E9lection choisie dans le stock',\n      button: \"Ajouter ma s\u00E9lection\" + (price ? ' - ' + price : '')\n    };\n  }\n\n  function updateDreamFormulaCommerceUi(input) {\n    var meta = getDreamFormulaUi(input || getSelectedDreamFormulaInput());\n    var submitButton = document.querySelector('[data-dl-dream-product-submit]');\n    var sticky = document.querySelector('[data-dl-sticky-product-cta]');\n\n    if (submitButton) {\n      var submitLabel = submitButton.querySelector('span') || submitButton;\n      submitLabel.textContent = meta.button;\n      submitButton.setAttribute('data-dl-dream-current-formula', meta.key);\n      submitButton.setAttribute('data-dl-dream-current-quantity', String(meta.quantity));\n    }\n\n    if (sticky && isDreamMysteryProduct()) {\n      var stickyTitle = sticky.querySelector('.dl-sticky-product-cta__title');\n      var stickyPrice = sticky.querySelector('.dl-sticky-product-cta__price');\n      var stickyTrust = sticky.querySelector('.dl-product-trust-inline');\n      if (stickyTitle) {\n        stickyTitle.textContent = meta.title;\n      }\n      if (stickyPrice) {\n        stickyPrice.textContent = meta.price;\n      }\n      if (stickyTrust) {\n        stickyTrust.textContent = meta.trust;\n      }\n      sticky.setAttribute('data-dl-dream-current-formula', meta.key);\n      sticky.setAttribute('data-dl-dream-current-quantity', String(meta.quantity));\n    }\n  }\n\n  function insertGenericProductStickyCTA() {\n    if (!document.body.classList.contains('template-product') || isDreamMysteryProduct()) {\n      return;\n    }\n\n    if (document.querySelector('[data-dl-sticky-product-cta]')) {\n      return;\n    }\n\n    var atcButton = findPrimaryAddToCartButton();\n    if (!atcButton) {\n      return;\n    }\n\n    var sticky = document.createElement('div');\n    sticky.className = 'dl-sticky-product-cta dl-sticky-product-cta--standard';\n    sticky.setAttribute('data-dl-sticky-product-cta', '');\n    sticky.innerHTML = [\n      '<div class=\"dl-sticky-product-cta__inner\">',\n      '<div>',\n      '<p class=\"dl-sticky-product-cta__title\">' + escapeHtml(getProductTitleText()) + '</p>',\n      '<span class=\"dl-sticky-product-cta__price\">' + escapeHtml(getProductPriceText()) + '</span>',\n      '<span class=\"dl-product-trust-inline\">Exp&eacute;dition suivie - retours possibles</span>',\n      '</div>',\n      '<button class=\"dl-sticky-product-cta__button\" type=\"button\" data-dl-sticky-product-submit>Ajouter</button>',\n      '</div>'\n    ].join('');\n\n    sticky.querySelector('[data-dl-sticky-product-submit]').addEventListener('click', function () {\n      var button = findPrimaryAddToCartButton();\n      if (!button || button.disabled || button.getAttribute('aria-disabled') === 'true') {\n        var form = document.querySelector('product-form, .product-form, .pf-product-form, form[action*=\"/cart/add\"]');\n        if (form && typeof form.scrollIntoView === 'function') {\n          form.scrollIntoView({ behavior: 'smooth', block: 'center' });\n        }\n        return;\n      }\n\n      button.click();\n    });\n\n    document.body.appendChild(sticky);\n  }\n\n  function bindProductStickyVisibility() {\n    if (!document.body.classList.contains('template-product')) {\n      return;\n    }\n\n    if (document.documentElement.hasAttribute('data-dl-sticky-vis-bound')) {\n      return;\n    }\n\n    document.documentElement.setAttribute('data-dl-sticky-vis-bound', 'true');\n\n    var sticky = document.querySelector('[data-dl-sticky-product-cta]');\n    if (!sticky) {\n      return;\n    }\n\n    // Sentinel: the native product-form buy button area (or the form itself)\n    var sentinel = document.querySelector('product-form, .product-form');\n    if (!sentinel) {\n      // Fallback: watch the quantity selector or buy-buttons block wrapper\n      sentinel = document.querySelector('[name=\"add\"], .product-form__submit');\n    }\n\n    if (!sentinel || !('IntersectionObserver' in window)) {\n      // No IO support or no sentinel: always show on desktop too\n      sticky.setAttribute('data-dl-sticky-product-shown', '');\n      return;\n    }\n\n    function syncStickyState(isAtcVisible) {\n      if (isAtcVisible) {\n        sticky.removeAttribute('data-dl-sticky-product-shown');\n      } else {\n        sticky.setAttribute('data-dl-sticky-product-shown', '');\n      }\n    }\n\n    var observer = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        syncStickyState(entry.isIntersecting);\n      });\n    }, {\n      // Show sticky as soon as the ATC block is fully scrolled past the viewport top\n      rootMargin: '0px 0px 0px 0px',\n      threshold: 0\n    });\n\n    observer.observe(sentinel);\n  }\n\n  function bindDreamFormulaQuantity() {\n    var intake = document.querySelector('[data-dl-dream-intake]');\n    if (!intake || intake.hasAttribute('data-dl-dream-formula-bound')) {\n      return;\n    }\n\n    intake.setAttribute('data-dl-dream-formula-bound', 'true');\n\n    function getDreamProductForm(input) {\n      var productFormId = input && input.getAttribute ? input.getAttribute('form') : '';\n      var formControl = intake.querySelector('[form]');\n      if (!productFormId && formControl) {\n        productFormId = formControl.getAttribute('form') || '';\n      }\n\n      return productFormId\n        ? document.getElementById(productFormId)\n        : document.querySelector('form[action*=\"/cart/add\"]');\n    }\n\n    function getProductFormQuantityInputs(productForm) {\n      if (!productForm) {\n        return [];\n      }\n\n      return Array.prototype.slice.call(document.querySelectorAll('input[name=\"quantity\"]')).filter(function (control) {\n        return control.form === productForm || productForm.contains(control);\n      });\n    }\n\n    function ensureProductFormQuantityInput(productForm) {\n      if (!productForm) {\n        return null;\n      }\n\n      var hiddenQuantity = productForm.querySelector('[data-dl-dream-submit-quantity]');\n      if (!hiddenQuantity) {\n        hiddenQuantity = document.createElement('input');\n        hiddenQuantity.type = 'hidden';\n        hiddenQuantity.name = 'quantity';\n        hiddenQuantity.setAttribute('data-dl-dream-submit-quantity', 'true');\n        productForm.appendChild(hiddenQuantity);\n      }\n\n      return hiddenQuantity;\n    }\n\n    function syncDreamFormulaQuantity(input) {\n      if (!input) {\n        return 0;\n      }\n\n      var quantity = parseInt(input.getAttribute('data-dl-dream-quantity'), 10);\n      if (!quantity || quantity < 1) {\n        return 0;\n      }\n\n      var productForm = getDreamProductForm(input);\n      var hiddenQuantity = ensureProductFormQuantityInput(productForm);\n      var quantityInputs = getProductFormQuantityInputs(productForm);\n\n      if (hiddenQuantity && quantityInputs.indexOf(hiddenQuantity) === -1) {\n        quantityInputs.push(hiddenQuantity);\n      }\n\n      quantityInputs.forEach(function (quantityInput) {\n        quantityInput.value = String(quantity);\n        quantityInput.defaultValue = String(quantity);\n        quantityInput.setAttribute('value', String(quantity));\n        quantityInput.dispatchEvent(new Event('change', { bubbles: true }));\n      });\n\n      updateDreamFormulaCommerceUi(input);\n      return quantity;\n    }\n\n    function setQuantityFromFormula(input) {\n      if (!input) {\n        return;\n      }\n\n      var quantity = syncDreamFormulaQuantity(input);\n      if (!quantity) {\n        return;\n      }\n    }\n\n    function selectFormulaFromUrl() {\n      var requestedFormula = '';\n      try {\n        requestedFormula = new URLSearchParams(window.location.search).get('formula') || '';\n      } catch (error) {\n        requestedFormula = '';\n      }\n\n      requestedFormula = requestedFormula.toLowerCase();\n      if (!requestedFormula) {\n        return;\n      }\n\n      var requestedQuantity = '';\n      if (requestedFormula === 'rituel' || requestedFormula === 'ritual' || requestedFormula === '3') {\n        requestedQuantity = '3';\n      } else if (requestedFormula === 'duo' || requestedFormula === '2') {\n        requestedQuantity = '2';\n      } else if (requestedFormula === 'simple' || requestedFormula === '1') {\n        requestedQuantity = '1';\n      }\n\n      if (!requestedQuantity) {\n        return;\n      }\n\n      var input = intake.querySelector('[data-dl-dream-quantity=\"' + requestedQuantity + '\"]');\n      if (!input) {\n        return;\n      }\n\n      input.checked = true;\n      input.dispatchEvent(new Event('change', { bubbles: true }));\n    }\n\n    intake.querySelectorAll('[data-dl-dream-quantity]').forEach(function (input) {\n      input.addEventListener('change', function () {\n        if (input.checked) {\n          setQuantityFromFormula(input);\n        }\n      });\n    });\n\n    selectFormulaFromUrl();\n    setQuantityFromFormula(intake.querySelector('[data-dl-dream-quantity]:checked'));\n\n    var productForm = getDreamProductForm(getSelectedDreamFormulaInput());\n    if (productForm && !productForm.hasAttribute('data-dl-dream-quantity-submit-bound')) {\n      productForm.setAttribute('data-dl-dream-quantity-submit-bound', 'true');\n      productForm.addEventListener('submit', function () {\n        syncDreamFormulaQuantity(getSelectedDreamFormulaInput());\n      }, true);\n    }\n  }\n\n  function bindDreamStickyTracking() {\n    if (document.documentElement.hasAttribute('data-dl-dream-sticky-bound')) {\n      return;\n    }\n\n    document.documentElement.setAttribute('data-dl-dream-sticky-bound', 'true');\n\n    document.addEventListener('click', function (event) {\n      var link = event.target && event.target.closest ? event.target.closest('[data-dl-dream-sticky-link]') : null;\n      if (!link) {\n        return;\n      }\n\n      var meta = getDreamFormulaUi(getSelectedDreamFormulaInput());\n      trackCashEvent('dream_sticky_cta_click', {\n        dl_formula_key: meta.key,\n        dl_quantity: meta.quantity,\n        dl_price_text: meta.price,\n        dl_path: window.location.pathname\n      });\n    }, true);\n  }\n\n  function bindDreamFormValidation() {\n    if (!isDreamMysteryProduct()) {\n      return;\n    }\n\n    var intake = document.querySelector('[data-dl-dream-intake]');\n    if (!intake || intake.hasAttribute('data-dl-dream-validation-bound')) {\n      return;\n    }\n\n    var formControl = intake.querySelector('[form]');\n    var productFormId = formControl ? formControl.getAttribute('form') : '';\n    var productForm = productFormId ? document.getElementById(productFormId) : document.querySelector('form[action*=\"/cart/add\"]');\n    if (!productForm) {\n      return;\n    }\n\n    intake.setAttribute('data-dl-dream-validation-bound', 'true');\n\n    function getRequiredControls() {\n      return Array.prototype.slice.call(\n        intake.querySelectorAll('textarea[required], select[required], input[required]')\n      );\n    }\n\n    function getErrorBox() {\n      var errorBox = intake.querySelector('[data-dl-dream-error]');\n      if (errorBox) {\n        return errorBox;\n      }\n\n      errorBox = document.createElement('p');\n      errorBox.className = 'dl-dream-intake__error';\n      errorBox.setAttribute('data-dl-dream-error', '');\n      errorBox.setAttribute('role', 'alert');\n      errorBox.setAttribute('aria-live', 'polite');\n      errorBox.hidden = true;\n\n      var copy = intake.querySelector('.dl-dream-intake__copy');\n      if (copy && copy.parentElement) {\n        copy.parentElement.insertBefore(errorBox, copy.nextSibling);\n      } else {\n        intake.insertBefore(errorBox, intake.firstChild);\n      }\n\n      return errorBox;\n    }\n\n    function clearControlState(control) {\n      control.removeAttribute('aria-invalid');\n      control.classList.remove('dl-dream-intake__invalid');\n    }\n\n    function clearError() {\n      var errorBox = getErrorBox();\n      errorBox.hidden = true;\n      errorBox.textContent = '';\n      getRequiredControls().forEach(clearControlState);\n    }\n\n    function markInvalid(control) {\n      control.setAttribute('aria-invalid', 'true');\n      control.classList.add('dl-dream-intake__invalid');\n    }\n\n    function validateDreamForm(event) {\n      if (typeof getSelectedDreamFormulaInput === 'function') {\n        var selectedFormula = getSelectedDreamFormulaInput();\n        if (selectedFormula) {\n          selectedFormula.dispatchEvent(new Event('change', { bubbles: true }));\n        }\n      }\n\n      var requiredControls = getRequiredControls();\n      var invalidControls = requiredControls.filter(function (control) {\n        return !control.checkValidity();\n      });\n\n      if (!invalidControls.length) {\n        clearError();\n        return true;\n      }\n\n      if (event) {\n        event.preventDefault();\n        event.stopImmediatePropagation();\n      }\n\n      requiredControls.forEach(clearControlState);\n      invalidControls.forEach(markInvalid);\n\n      var errorBox = getErrorBox();\n      errorBox.textContent = \"Avant d'ajouter au panier, racontez votre r\u00EAve et confirmez que DailyLama choisira selon votre message et le stock disponible.\";\n      errorBox.hidden = false;\n\n      invalidControls[0].focus({ preventScroll: true });\n      intake.scrollIntoView({ behavior: 'smooth', block: 'start' });\n      return false;\n    }\n\n    productForm.addEventListener('submit', validateDreamForm, true);\n\n    var submitButton = productForm.querySelector('button[name=\"add\"], [type=\"submit\"]');\n    if (submitButton) {\n      submitButton.addEventListener('click', validateDreamForm, true);\n    }\n\n    getRequiredControls().forEach(function (control) {\n      control.addEventListener('input', function () {\n        if (control.checkValidity()) {\n          clearControlState(control);\n        }\n      });\n      control.addEventListener('change', function () {\n        if (getRequiredControls().every(function (item) { return item.checkValidity(); })) {\n          clearError();\n        } else if (control.checkValidity()) {\n          clearControlState(control);\n        }\n      });\n    });\n  }\n\n  function bindCartDreamUpgradeTracking() {\n    if (document.documentElement.hasAttribute('data-dl-cart-dream-upgrade-bound')) {\n      return;\n    }\n\n    document.documentElement.setAttribute('data-dl-cart-dream-upgrade-bound', 'true');\n\n    document.addEventListener('submit', function (event) {\n      var form = event.target;\n      if (!form || typeof form.matches !== 'function' || !form.matches('[data-dl-cart-dream-upgrade]')) {\n        return;\n      }\n\n      trackCashEvent('cart_dream_upgrade_submit', {\n        dl_target_quantity: form.getAttribute('data-dl-upgrade-target-quantity') || '',\n        dl_upgrade_price: form.getAttribute('data-dl-upgrade-price') || '',\n        dl_cart_total: form.getAttribute('data-dl-cart-total') || '',\n        dl_path: window.location.pathname\n      });\n    });\n  }\n\n  function bindCartDrawerStickySuppression() {\n    if (document.documentElement.hasAttribute('data-dl-cart-drawer-sticky-bound')) {\n      return;\n    }\n\n    document.documentElement.setAttribute('data-dl-cart-drawer-sticky-bound', 'true');\n\n    function syncCartDrawerState() {\n      var drawerIsOpen = !!document.querySelector('cart-drawer.drawer.active, cart-drawer.active, .drawer.active');\n      document.documentElement.toggleAttribute('data-dl-cart-drawer-open', drawerIsOpen);\n    }\n\n    document.querySelectorAll('cart-drawer, .drawer').forEach(function (drawer) {\n      if (!drawer || !drawer.nodeType) {\n        return;\n      }\n\n      new MutationObserver(syncCartDrawerState).observe(drawer, {\n        attributes: true,\n        attributeFilter: ['class', 'open', 'aria-hidden']\n      });\n    });\n\n    document.addEventListener('click', function () {\n      window.setTimeout(syncCartDrawerState, 0);\n      window.setTimeout(syncCartDrawerState, 350);\n    }, true);\n\n    document.addEventListener('keyup', syncCartDrawerState, true);\n    syncCartDrawerState();\n  }\n\n  function bindCartUpsellAjax() {\n    if (document.documentElement.hasAttribute('data-dl-cart-upsell-ajax-bound')) {\n      return;\n    }\n\n    document.documentElement.setAttribute('data-dl-cart-upsell-ajax-bound', 'true');\n\n    document.addEventListener('submit', function (event) {\n      var form = event.target;\n      if (!form || !form.classList || !form.classList.contains('dl-cart-upsell__form')) {\n        return;\n      }\n\n      var cartDrawer = document.querySelector('cart-drawer');\n      if (!cartDrawer || typeof cartDrawer.renderContents !== 'function' || typeof cartDrawer.getSectionsToRender !== 'function') {\n        return;\n      }\n\n      event.preventDefault();\n\n      var submitButton = form.querySelector('button[type=\"submit\"], button:not([type])');\n      var originalLabel = submitButton ? submitButton.textContent : '';\n      var errorBox = form.querySelector('[data-dl-cart-upsell-error]');\n\n      if (!errorBox) {\n        errorBox = document.createElement('p');\n        errorBox.className = 'dl-cart-upsell__error';\n        errorBox.setAttribute('data-dl-cart-upsell-error', '');\n        errorBox.setAttribute('role', 'alert');\n        errorBox.hidden = true;\n        form.appendChild(errorBox);\n      }\n\n      if (submitButton) {\n        submitButton.setAttribute('aria-disabled', 'true');\n        submitButton.disabled = true;\n        submitButton.textContent = 'Ajout...';\n      }\n\n      errorBox.hidden = true;\n      errorBox.textContent = '';\n\n      var formData = new FormData(form);\n      formData.append('sections', cartDrawer.getSectionsToRender().map(function (section) { return section.id; }).join(','));\n      formData.append('sections_url', window.location.pathname);\n\n      if (typeof cartDrawer.setActiveElement === 'function') {\n        cartDrawer.setActiveElement(document.activeElement);\n      }\n\n      var config = typeof fetchConfig === 'function'\n        ? fetchConfig('javascript')\n        : { method: 'POST', headers: { Accept: 'application/json' } };\n\n      config.headers = config.headers || {};\n      config.headers['X-Requested-With'] = 'XMLHttpRequest';\n      delete config.headers['Content-Type'];\n      config.body = formData;\n\n      fetch((window.routes && window.routes.cart_add_url) || '/cart/add.js', config)\n        .then(function (response) {\n          return response.json();\n        })\n        .then(function (response) {\n          if (response.status) {\n            throw new Error(response.description || response.message || 'Impossible d\u2019ajouter ce produit.');\n          }\n\n          if (typeof publish === 'function' && window.PUB_SUB_EVENTS && PUB_SUB_EVENTS.cartUpdate) {\n            publish(PUB_SUB_EVENTS.cartUpdate, {\n              source: 'dailylama-cart-upsell',\n              productVariantId: formData.get('id'),\n              cartData: response\n            });\n          }\n\n          trackCashEvent('cart_upsell_add_to_cart', {\n            dl_variant_id: formData.get('id') || '',\n            dl_product_handle: form.getAttribute('data-dl-upsell-handle') || '',\n            dl_product_title: form.getAttribute('data-dl-upsell-title') || '',\n            dl_upsell_label: form.getAttribute('data-dl-upsell-label') || '',\n            dl_upsell_context: form.getAttribute('data-dl-upsell-context') || '',\n            dl_upsell_price: form.getAttribute('data-dl-upsell-price') || '',\n            dl_cart_remaining: form.getAttribute('data-dl-cart-remaining') || '',\n            dl_path: window.location.pathname\n          });\n\n          cartDrawer.renderContents(response);\n        })\n        .catch(function (error) {\n          errorBox.textContent = error && error.message ? error.message : 'Impossible d\u2019ajouter ce produit pour le moment.';\n          errorBox.hidden = false;\n        })\n        .finally(function () {\n          if (submitButton) {\n            submitButton.disabled = false;\n            submitButton.removeAttribute('aria-disabled');\n            submitButton.textContent = originalLabel || 'Ajouter';\n          }\n        });\n    });\n  }\n\n  function runCashEnhancements() {\n    var isProductPage = document.body.classList.contains('template-product');\n    var isArticlePage = document.body.classList.contains('template-article');\n\n    fixLegacyTrustCopy();\n    fixLegacyNavigationNoise();\n    normalizePivotMalaCopy();\n    cleanPillarIntentionCopy();\n    normalizeLegacyQuizLinks();\n    normalizeDreamMysteryLinks();\n    bindDreamMysteryViewGuard();\n    normalizeArticleOfferMismatches();\n    watchCachedRelatedDreamOffer();\n    fixDreamMysteryPageFlyCards();\n\n    if (window.location.pathname === '/') {\n      insertHomeCashFallback();\n      removeDuplicateHomeCashSections();\n      repairCachedHomePivot();\n      fixHomepageLegacyPageFly();\n    }\n\n    if (isArticlePage) {\n      insertArticleEmailCaptureFallback();\n    }\n\n    if (isProductPage) {\n      fixProductCopy();\n      insertProductConfidence();\n      insertDreamSelectionBridge();\n      insertCorailRitualBridge();\n      insertDreamMysteryTopPrompt();\n      repairDreamMysteryProduct();\n      insertDreamMysteryExplainer();\n      insertDreamMysteryStickyCTA();\n      insertGenericProductStickyCTA();\n      bindProductStickyVisibility();\n      bindDreamFormulaQuantity();\n      bindDreamStickyTracking();\n      bindDreamFormValidation();\n    }\n\n    bindCartDreamUpgradeTracking();\n    bindCartDrawerStickySuppression();\n    bindCartUpsellAjax();\n    bindStickyArticleAnalytics();\n    bindArticleAnswerAnalytics();\n    bindArticleOfferAnalytics();\n    bindArticleEmailCaptureAnalytics();\n    bindProductAddToCartAnalytics();\n    bindCashAnalytics();\n  }\n\n  onReady(function () {\n    runCashEnhancements();\n\n    var scheduled = false;\n    var observerRuns = 0;\n    var maxObserverRuns = 6;\n    var observerTimer;\n\n    function scheduleCashEnhancements(delay) {\n      if (scheduled) {\n        return;\n      }\n\n      scheduled = true;\n      window.setTimeout(function () {\n        scheduled = false;\n        runCashEnhancements();\n      }, delay || 0);\n    }\n\n    window.addEventListener('load', function () {\n      scheduleCashEnhancements(0);\n    }, { once: true });\n\n    document.addEventListener('shopify:section:load', function () {\n      scheduleCashEnhancements(50);\n    });\n\n    if ('MutationObserver' in window) {\n      var observer = new MutationObserver(function (mutations) {\n        var hasInsertedContent = mutations.some(function (mutation) {\n          return mutation.addedNodes && mutation.addedNodes.length;\n        });\n\n        if (!hasInsertedContent) {\n          return;\n        }\n\n        observerRuns += 1;\n        window.clearTimeout(observerTimer);\n        observerTimer = window.setTimeout(function () {\n          scheduleCashEnhancements(0);\n        }, 120);\n\n        if (observerRuns >= maxObserverRuns) {\n          observer.disconnect();\n          window.clearTimeout(observerTimer);\n        }\n      });\n\n      observer.observe(document.body, { childList: true, subtree: true });\n\n      window.setTimeout(function () {\n        observer.disconnect();\n        window.clearTimeout(observerTimer);\n      }, 8000);\n    }\n  });\n})();\n\r\n"],
  "mappings": "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",
  "names": ["node", "productForm"]
}
