{
  "version": 3,
  "sources": ["/cdn/shop/t/996/assets/reviews-carousel.js?utm_bot_source=7516fd43adaa"],
  "sourcesContent": ["(function () {\n  function initCarousel(root) {\n    if (!root || root.dataset.reviewsCarouselInit === '1') return;\n    root.dataset.reviewsCarouselInit = '1';\n\n    var track = root.querySelector('[data-reviews-carousel-track]');\n    var slides = root.querySelectorAll('[data-reviews-carousel-slide]');\n    var prevBtn = root.querySelector('[data-reviews-carousel-prev]');\n    var nextBtn = root.querySelector('[data-reviews-carousel-next]');\n    var dotsContainer = root.querySelector('[data-reviews-carousel-dots]');\n\n    if (!track || slides.length === 0 || !dotsContainer) return;\n\n    var total = slides.length;\n    var active = 0;\n\n    dotsContainer.innerHTML = '';\n    var dots = [];\n    for (var i = 0; i < total; i++) {\n      var dot = document.createElement('button');\n      dot.type = 'button';\n      dot.className = 'reviews-carousel__dot';\n      dot.setAttribute('role', 'tab');\n      dot.setAttribute('aria-label', 'Go to slide ' + (i + 1));\n      dot.dataset.index = String(i);\n      (function (index) {\n        dot.addEventListener('click', function () { goTo(index); });\n      })(i);\n      dotsContainer.appendChild(dot);\n      dots.push(dot);\n    }\n\n    function update() {\n      track.style.transform = 'translateX(-' + (active * 100) + '%)';\n      for (var s = 0; s < slides.length; s++) {\n        var isActive = s === active;\n        slides[s].classList.toggle('is-active', isActive);\n        slides[s].setAttribute('aria-hidden', isActive ? 'false' : 'true');\n        // `inert` pulls off-screen slides (and their links) out of the tab order\n        // and the a11y tree, so keyboard users can't tab into hidden cards.\n        // Property assignment is a harmless no-op on browsers without support.\n        slides[s].inert = !isActive;\n      }\n      for (var d = 0; d < dots.length; d++) {\n        var isActiveDot = d === active;\n        dots[d].classList.toggle('is-active', isActiveDot);\n        dots[d].setAttribute('aria-selected', isActiveDot ? 'true' : 'false');\n      }\n    }\n\n    function goTo(i) {\n      if (total <= 0) return;\n      active = ((i % total) + total) % total;\n      update();\n    }\n\n    if (total <= 1) {\n      if (prevBtn) prevBtn.style.display = 'none';\n      if (nextBtn) nextBtn.style.display = 'none';\n      dotsContainer.style.display = 'none';\n    } else {\n      if (prevBtn) prevBtn.addEventListener('click', function () { goTo(active - 1); prevBtn.blur(); });\n      if (nextBtn) nextBtn.addEventListener('click', function () { goTo(active + 1); nextBtn.blur(); });\n\n      // Touch swipe \u2014 horizontal-dominant gesture advances/rewinds one slide.\n      // Threshold: 50px horizontal AND 2\u00D7 larger than vertical delta (so a\n      // diagonal page-scroll doesn't get hijacked as a swipe).\n      var touchStartX = 0;\n      var touchStartY = 0;\n      var touchActive = false;\n      var SWIPE_THRESHOLD = 50;\n\n      track.addEventListener('touchstart', function (e) {\n        if (!e.touches || e.touches.length !== 1) return;\n        touchStartX = e.touches[0].clientX;\n        touchStartY = e.touches[0].clientY;\n        touchActive = true;\n      }, { passive: true });\n\n      track.addEventListener('touchend', function (e) {\n        if (!touchActive) return;\n        touchActive = false;\n        var t = (e.changedTouches && e.changedTouches[0]);\n        if (!t) return;\n        var dx = t.clientX - touchStartX;\n        var dy = t.clientY - touchStartY;\n        if (Math.abs(dx) < SWIPE_THRESHOLD) return;\n        if (Math.abs(dx) < Math.abs(dy) * 2) return;\n        if (dx < 0) goTo(active + 1); else goTo(active - 1);\n      }, { passive: true });\n\n      track.addEventListener('touchcancel', function () { touchActive = false; }, { passive: true });\n    }\n\n    update();\n  }\n\n  function initAll(scope) {\n    var roots = (scope || document).querySelectorAll('[data-reviews-carousel]');\n    for (var i = 0; i < roots.length; i++) initCarousel(roots[i]);\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', function () { initAll(); });\n  } else {\n    initAll();\n  }\n\n  document.addEventListener('shopify:section:load', function (event) {\n    var node = event.target;\n    if (!node) return;\n    var root = (node.matches && node.matches('[data-reviews-carousel]'))\n      ? node\n      : (node.querySelector ? node.querySelector('[data-reviews-carousel]') : null);\n    if (root) {\n      delete root.dataset.reviewsCarouselInit;\n      initCarousel(root);\n    }\n  });\n})();\n"],
  "mappings": "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",
  "names": ["i"]
}
