{
  "version": 3,
  "sources": ["/cdn/shop/t/29/assets/mbs-home-reviews.js?reviews_revision=3"],
  "sourcesContent": ["(() => {\n  const init = () => document.querySelectorAll('.mbshr:not([data-ready])').forEach(section => {\n    const track = section.querySelector('.mbshr__track');\n    const cards = [...track.children].sort((a, b) => Number(a.dataset.order) - Number(b.dataset.order));\n    cards.forEach(card => track.append(card));\n    if (!cards.length) return;\n    const dialog = section.querySelector('dialog');\n    const gallery = section.querySelector('.mbshr__gallery');\n    const photoPrev = dialog.querySelector('[data-photo-prev]');\n    const photoNext = dialog.querySelector('[data-photo-next]');\n    const photoPosition = dialog.querySelector('.mbshr__photo-position');\n    let photoIndex = 0;\n    const photoStep = () => gallery.clientWidth + parseFloat(getComputedStyle(gallery).gap);\n    const updatePhotos = () => {\n      const count = gallery.children.length;\n      photoPosition.textContent = count ? `${photoIndex + 1} / ${count}` : '';\n      photoPrev.disabled = photoIndex <= 0;\n      photoNext.disabled = photoIndex >= count - 1;\n      dialog.querySelector('.mbshr__photo-nav').hidden = count <= 1;\n    };\n    const movePhoto = direction => {\n      photoIndex = Math.max(0, Math.min(gallery.children.length - 1, photoIndex + direction));\n      gallery.scrollTo({ left: photoIndex * photoStep(), behavior: 'instant' });\n      updatePhotos();\n    };\n    photoPrev.addEventListener('click', () => movePhoto(-1));\n    photoNext.addEventListener('click', () => movePhoto(1));\n    gallery.addEventListener('scroll', () => {\n      photoIndex = Math.round(gallery.scrollLeft / photoStep());\n      updatePhotos();\n    }, { passive: true });\n    dialog.addEventListener('keydown', e => {\n      if (e.key !== 'ArrowLeft' && e.key !== 'ArrowRight') return;\n      e.preventDefault();\n      e.stopPropagation();\n      movePhoto(e.key === 'ArrowLeft' ? -1 : 1);\n    });\n    const photoResize = new ResizeObserver(() => {\n      if (dialog.open) {\n        gallery.scrollTo({ left: photoIndex * photoStep(), behavior: 'instant' });\n        updatePhotos();\n      }\n    });\n    photoResize.observe(gallery);\n    const motion = window.matchMedia('(prefers-reduced-motion: reduce)');\n    let visible = false, resumeAt = 0, hovered = false, opener;\n    const pause = () => { resumeAt = Date.now() + 10000; };\n    section.addEventListener('pointerenter', e => { if (e.pointerType === 'mouse') hovered = true; });\n    section.addEventListener('pointerleave', () => { hovered = false; pause(); });\n    section.addEventListener('pointerdown', pause);\n    section.addEventListener('keydown', pause);\n    track.addEventListener('wheel', pause, { passive: true });\n    const move = direction => {\n      const step = cards[0].getBoundingClientRect().width + parseFloat(getComputedStyle(track).gap);\n      const max = track.scrollWidth - track.clientWidth;\n      let target = track.scrollLeft + direction * step;\n      if (direction > 0 && track.scrollLeft >= max - 2) target = 0;\n      if (direction < 0 && track.scrollLeft <= 2) target = max;\n      track.scrollTo({ left: Math.max(0, Math.min(max, target)), behavior: motion.matches ? 'instant' : 'smooth' });\n    };\n    const update = () => {\n      cards.forEach(card => {\n        const text = card.querySelector('.mbshr__excerpt');\n        const button = card.querySelector('.mbshr__more');\n        button.hidden = !text.classList.contains('is-expanded') && text.scrollHeight <= text.clientHeight + 1;\n      });\n    };\n    track.addEventListener('scroll', update, { passive: true });\n    section.addEventListener('click', e => {\n      const more = e.target.closest('.mbshr__more');\n      if (more) {\n        const text = more.closest('.mbshr__card').querySelector('.mbshr__excerpt');\n        const expanded = text.classList.toggle('is-expanded');\n        more.setAttribute('aria-expanded', String(expanded));\n        more.textContent = expanded ? more.dataset.less : more.dataset.more;\n        return;\n      }\n      const photo = e.target.closest('.mbshr__photo');\n      if (!photo) return;\n      e.stopPropagation();\n      opener = photo;\n      gallery.replaceChildren(photo.closest('.mbshr__card').querySelector('template').content.cloneNode(true));\n      gallery.querySelectorAll('img').forEach(img => { img.src = img.dataset.src; });\n      dialog.showModal();\n      photoIndex = 0;\n      gallery.scrollLeft = 0;\n      updatePhotos();\n    });\n    section.dataset.ready = 'true';\n    dialog.querySelector('.mbshr__close').addEventListener('click', () => dialog.close());\n    dialog.addEventListener('click', e => {\n      e.stopPropagation();\n      if (e.target !== dialog) return;\n      const r = dialog.getBoundingClientRect();\n      if (e.clientX < r.left || e.clientX > r.right || e.clientY < r.top || e.clientY > r.bottom) dialog.close();\n    });\n    dialog.addEventListener('close', () => { gallery.replaceChildren(); pause(); opener?.focus(); });\n    const observer = new IntersectionObserver(entries => { visible = entries[0].isIntersecting; }, { threshold: 0.25 });\n    observer.observe(section);\n    const resize = new ResizeObserver(update);\n    resize.observe(track);\n    update();\n    const timer = window.setInterval(() => {\n      if (!section.isConnected) {\n        window.clearInterval(timer); observer.disconnect(); resize.disconnect(); photoResize.disconnect(); return;\n      }\n      if (section.dataset.autoplay !== 'true' || !visible || document.hidden || motion.matches ||\n          hovered || Date.now() < resumeAt || section.contains(document.activeElement) || dialog.open ||\n          section.querySelector('.mbshr__excerpt.is-expanded')) return;\n      move(1);\n    }, 5000);\n  });\n  init();\n  document.addEventListener('shopify:section:load', init);\n})();\n"],
  "mappings": "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",
  "names": []
}
