{
  "version": 3,
  "sources": ["/cdn/shop/t/13/assets/nano-product.js?mini_atc=20260717"],
  "sourcesContent": ["(function(){\n  function refreshCartCount(){\n    fetch('/cart.js').then(function(r){return r.json();}).then(function(cart){\n      document.querySelectorAll('[data-cart-count]').forEach(function(node){node.textContent=cart.item_count;});\n    }).catch(function(){});\n  }\n\n  document.querySelectorAll('[data-gallery]').forEach(function(gallery){\n    var slides=[].slice.call(gallery.querySelectorAll('[data-slide]'));\n    var thumbs=[].slice.call(gallery.querySelectorAll('[data-thumb]'));\n    var active=0;\n    function show(index){\n      if(!slides.length) return;\n      active=(index+slides.length)%slides.length;\n      slides.forEach(function(slide,i){slide.classList.toggle('is-active',i===active);});\n      thumbs.forEach(function(thumb,i){\n        var isActive=i===active;\n        thumb.classList.toggle('is-active',isActive);\n        thumb.setAttribute('aria-current',isActive ? 'true' : 'false');\n        if(isActive && typeof thumb.scrollIntoView === 'function'){\n          thumb.scrollIntoView({behavior:'auto',block:'nearest',inline:'center'});\n        }\n      });\n    }\n    thumbs.forEach(function(thumb,i){thumb.addEventListener('click',function(){show(i);});});\n    var prev=gallery.querySelector('[data-prev]');\n    var next=gallery.querySelector('[data-next]');\n    if(prev) prev.addEventListener('click',function(){show(active-1);});\n    if(next) next.addEventListener('click',function(){show(active+1);});\n  });\n\n  var productPage=document.querySelector('[data-product-page]');\n  if(productPage){\n    var variantsNode=document.querySelector('[data-product-variants]');\n    var variants=[];\n    try{variants=JSON.parse(variantsNode ? variantsNode.textContent : '[]');}catch(e){}\n    var variantInput=document.querySelector('[data-variant-id]');\n    var colorOneLabel=document.querySelector('[data-color-label-one]');\n    var colorTwoLabel=document.querySelector('[data-color-label-two]');\n    var propOne=document.querySelector('[data-property-color-one]');\n    var propTwo=document.querySelector('[data-property-color-two]');\n    var priceNode=document.querySelector('[data-price]');\n    var compareNode=document.querySelector('[data-compare]');\n    var form=document.querySelector('[data-product-form]');\n    var stickyAtc=document.querySelector('[data-sticky-atc]');\n    var stickyAtcPrice=document.querySelector('[data-sticky-atc-price]');\n    var bundleTarget=document.querySelector('[data-bundle-target]');\n    var serumGiftVariantId=Number(productPage.getAttribute('data-serum-gift-variant-id') || 0);\n    var serumGiftOffer=productPage.getAttribute('data-serum-gift-offer') || 'Free Batana hair oil serum';\n    var isFrench=(document.documentElement.getAttribute('lang') || '').toLowerCase().indexOf('fr') === 0;\n    var atcLabel=isFrench ? 'Ajouter au panier' : 'Add to cart';\n    var soldOutLabel=isFrench ? 'Rupture de stock' : 'Sold out';\n    var stickyLabel=isFrench ? 'Choisir mon offre' : 'Choose my offer';\n    function money(cents){\n      var currency = (window.Shopify && window.Shopify.currency && window.Shopify.currency.active) || 'USD';\n      try {\n        return new Intl.NumberFormat(undefined, {\n          style: 'currency',\n          currency: currency\n        }).format((Number(cents || 0) / 100));\n      } catch(e) {\n        return (Number(cents || 0) / 100).toFixed(2);\n      }\n    }\n    function setMainVariant(input){\n      var variant=variants.filter(function(v){return String(v.id)===String(input.value);})[0];\n      if(!variant) return;\n      if(variantInput) variantInput.value=variant.id;\n      if(colorOneLabel) colorOneLabel.textContent=input.getAttribute('data-color-name') || variant.option1;\n      if(propOne) propOne.value=input.getAttribute('data-color-name') || variant.option1;\n      var formattedPrice = input.getAttribute('data-price-formatted') || money(variant.price);\n      var formattedCompare = input.getAttribute('data-compare-formatted') || money(variant.compare_at_price || 5990);\n      if(priceNode) priceNode.textContent=formattedPrice;\n      if(compareNode) compareNode.textContent=formattedCompare;\n      if(stickyAtcPrice) stickyAtcPrice.textContent=formattedPrice;\n      var atc=document.querySelector('.atc,.sc-atc');\n      if(atc){\n        atc.disabled=!variant.available;\n        atc.textContent=variant.available ? atcLabel + ' - ' + formattedPrice : soldOutLabel;\n      }\n      if(stickyAtc){\n        stickyAtc.disabled=!variant.available;\n        stickyAtc.innerHTML=variant.available ? stickyLabel + '&nbsp;<span data-sticky-atc-price>' + formattedPrice + '</span>' : soldOutLabel;\n        stickyAtcPrice=stickyAtc.querySelector('[data-sticky-atc-price]');\n      }\n    }\n    document.querySelectorAll('[data-color-one]').forEach(function(input){\n      input.addEventListener('change',function(){setMainVariant(input);});\n    });\n    document.querySelectorAll('[data-color-two]').forEach(function(input){\n      input.addEventListener('change',function(){\n        var name=input.getAttribute('data-color-name') || input.value;\n        if(colorTwoLabel) colorTwoLabel.textContent=name;\n        if(propTwo) propTwo.value=name;\n      });\n    });\n    var selectedTwo=document.querySelector('[data-color-two]:checked');\n    if(selectedTwo && propTwo) propTwo.value=selectedTwo.getAttribute('data-color-name') || selectedTwo.value;\n\n    if(form){\n      if(stickyAtc){\n        stickyAtc.addEventListener('click',function(){\n          var target=bundleTarget || form;\n          if(!target) return;\n          target.scrollIntoView({behavior:'smooth',block:'center'});\n          var firstChoice=target.querySelector('[data-color-one]');\n          if(firstChoice) {\n            setTimeout(function(){ firstChoice.focus({preventScroll:true}); }, 450);\n          }\n        });\n\n        if(bundleTarget && 'IntersectionObserver' in window){\n          var stickyObserver=new IntersectionObserver(function(entries){\n            entries.forEach(function(entry){\n              stickyAtc.classList.toggle('is-hidden', entry.isIntersecting);\n            });\n          }, {threshold:0.28});\n          stickyObserver.observe(bundleTarget);\n        }\n      }\n\n      form.addEventListener('submit',function(event){\n        event.preventDefault();\n        if(form.dataset.atcBusy === 'true') return;\n        form.dataset.atcBusy = 'true';\n        var atcButton = form.querySelector('[type=\"submit\"], .sc-atc, .atc');\n        var atcOriginalText = atcButton ? atcButton.textContent : '';\n        if(atcButton){\n          atcButton.disabled = true;\n          atcButton.setAttribute('aria-busy','true');\n          atcButton.classList.add('is-loading');\n          atcButton.textContent = isFrench ? 'Ajout en cours...' : 'Adding...';\n        }\n        function resetAtcButton(){\n          form.dataset.atcBusy = 'false';\n          if(!atcButton) return;\n          atcButton.disabled = false;\n          atcButton.removeAttribute('aria-busy');\n          atcButton.classList.remove('is-loading');\n          atcButton.textContent = atcOriginalText;\n        }\n        var paidVariantId=variantInput ? variantInput.value : '';\n        var selectedFree=document.querySelector('[data-color-two]:checked');\n        var freeVariantId=selectedFree ? selectedFree.getAttribute('data-free-variant-id') : paidVariantId;\n        var paidColor=propOne ? propOne.value : '';\n        var freeColor=propTwo ? propTwo.value : '';\n        var replaceVariantIds=variants.map(function(variant){return Number(variant.id);}).filter(Boolean);\n        var payload={\n          items:[\n            {\n              id:Number(paidVariantId),\n              quantity:1,\n              properties:{\n                Offer:'1 Hydra Brusheo + 1 free',\n                'First brush color':paidColor,\n                'Free brush color':freeColor\n              }\n            },\n            {\n              id:Number(freeVariantId),\n              quantity:1,\n              properties:{\n                _gift:'true',\n                gift_free:'true',\n                Offer:'Free Hydra Brusheo',\n                'Free brush color':freeColor\n              }\n            }\n          ]\n        };\n        if(serumGiftVariantId){\n          payload.items.push({\n            id:serumGiftVariantId,\n            quantity:1,\n            properties:{\n              _gift:'true',\n              gift_free:'true',\n              gift_serum:'true',\n              Offer:serumGiftOffer\n            }\n          });\n        }\n        document.dispatchEvent(new CustomEvent('cart:add',{\n          detail:{\n            items:payload.items,\n            source:'product-bogo',\n            replaceVariantIds:replaceVariantIds,\n            onSuccess:function(){\n              refreshCartCount();\n              resetAtcButton();\n            },\n            onError:function(){\n              resetAtcButton();\n              fetch('/cart/add.js',{method:'POST',body:JSON.stringify({items:[payload.items[0]]}),headers:{Accept:'application/json','Content-Type':'application/json'}})\n                .then(function(response){\n                  if(!response.ok) throw new Error('add failed');\n                  return response.json();\n                })\n                .then(function(){\n                  refreshCartCount();\n                  if(window.openGSCart) window.openGSCart();\n                })\n                .catch(function(){form.submit();});\n            }\n          }\n        }));\n      });\n    }\n  }\n\n  var reviewList=document.querySelector('[data-sc-review-list]');\n  var reviewButton=document.querySelector('[data-sc-review-more]');\n  if(reviewList && reviewButton){\n    reviewButton.addEventListener('click',function(){\n      var expanded=reviewList.classList.toggle('is-expanded');\n      reviewButton.setAttribute('aria-expanded',expanded ? 'true' : 'false');\n      reviewButton.textContent=expanded ? 'Show fewer reviews' : 'Show more reviews';\n    });\n  }\n})();\n"],
  "mappings": "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",
  "names": ["money", "setMainVariant"]
}
