{
  "version": 3,
  "sources": ["/cdn/shop/t/39/compiled_assets/scripts.js?nocache=1791828187975"],
  "sourcesContent": ["(function() {\n  var __sections__ = {};\n  (function() {\n    for(var i = 0, s = document.getElementById('sections-script').getAttribute('data-sections').split(','); i < s.length; i++)\n      __sections__[s[i]] = true;\n    })();\n    (function() {\n  if (!__sections__[\"footer\"]) return;\n  try {\n    \n  class LocalizationForm extends HTMLElement {\n    constructor() {\n      super();\n      this.elements = {\n        input: this.querySelector('input[name=\"locale_code\"], input[name=\"country_code\"]'),\n        button: this.querySelector('button'),\n        panel: this.querySelector('.disclosure__list-wrapper')\n      };\n      this.elements.button.addEventListener('click', this.openSelector.bind(this));\n      this.elements.button.addEventListener('focusout', this.closeSelector.bind(this));\n      this.addEventListener('keyup', this.onContainerKeyUp.bind(this));\n\n      this.querySelectorAll('a').forEach(item => item.addEventListener('click', this.onItemClick.bind(this)));\n    }\n\n    hidePanel() {\n      this.elements.button.setAttribute('aria-expanded', 'false');\n      this.elements.panel.setAttribute('hidden', true);\n    }\n\n    onContainerKeyUp(event) {\n      if (event.code.toUpperCase() !== 'ESCAPE') return;\n\n      this.hidePanel();\n      this.elements.button.focus();\n    }\n\n    onItemClick(event) {\n      event.preventDefault();\n      const form = this.querySelector('form');\n      this.elements.input.value = event.currentTarget.dataset.value;\n      if (form) form.submit();\n    }\n\n    openSelector() {\n      this.elements.button.focus();\n      this.elements.panel.toggleAttribute('hidden');\n      this.elements.button.setAttribute('aria-expanded', (this.elements.button.getAttribute('aria-expanded') === 'false').toString());\n    }\n\n    closeSelector(event) {\n      const shouldClose = event.relatedTarget && event.relatedTarget.nodeName === 'BUTTON';\n      if (event.relatedTarget === null || shouldClose) {\n        this.hidePanel();\n      }\n    }\n  }\n\n  customElements.define('localization-form', LocalizationForm);\n\n  } catch(e) { console.error(e); }\n})();\n\n(function() {\n  if (!__sections__[\"main-collection-template\"]) return;\n  try {\n    \n    const getpagi = document.querySelector('.AjaxinatePagination');\n    if(typeof(getpagi) !== \"undefined\" && getpagi !== null){\n      document.addEventListener(\"DOMContentLoaded\", function() {\n        const elem = getpagi.getAttribute('data-pagination');\n        var endlessScroll = new Ajaxinate({\n          container: '.AjaxinateLoop',\n          pagination: '.AjaxinatePagination',\n          loadingText: '<span class=\"loader-line\"></span>',\n          method: elem == 'scroll' ? 'scroll' : 'click'\n        });\n      });\n    }\n    \n  \n  } catch(e) { console.error(e); }\n})();\n\n(function() {\n  if (!__sections__[\"parallax-banner\"] && !Shopify.designMode) return;\n  try {\n    \n  class ParallaxImage extends HTMLElement {\n    constructor() {\n      super();\n      \n    }\n  connectedCallback() {\n    const sectionId = this.getAttribute('section-id');\n    const image = this.querySelector('img');\n    const aosAnimation = this.getAttribute('data-aos');\n\n    const observer = new IntersectionObserver((entries) => {\n      entries.forEach((entry) => {\n        if (entry.isIntersecting) {\n          window.addEventListener('scroll', this.parallaxEffect);\n        } else {\n          window.removeEventListener('scroll', this.parallaxEffect);\n        }\n      });\n    });\n\n    const section = document.getElementById(sectionId);\n    observer.observe(section);\n\n    const imageContainer = this;\n    imageContainer.style.transform = 'translateY(0)';\n\n    this.parallaxEffect = () => {\n      const scrollPosition = window.pageYOffset;\n      const maxScroll = document.documentElement.scrollHeight - window.innerHeight;\n      const parallaxValue = (scrollPosition / maxScroll) * 50;\n      image.style.transform = `translateY(-${parallaxValue}%) scale(1.2)`;\n    };\n\n  }\n}\n\ncustomElements.define('parallax-image', ParallaxImage);\n\n  } catch(e) { console.error(e); }\n})();\n\n(function() {\n  if (!__sections__[\"product-content\"]) return;\n  try {\n    \n  class productPairs extends HTMLElement {\n    connectedCallback() {\n      fetch(this.dataset.url).\n      then((response) => {\n        if (!response.ok) {\n          throw new Error(\"HTTP error! Status: \".concat(response.status));\n        }\n        return response.text();\n      }).\n      then((response) => {\n        var frag = document.createDocumentFragment(),\n          fetchedContent = document.createElement('div');\n        frag.appendChild(fetchedContent);\n        fetchedContent.innerHTML = response;\n\n        var replacementContent = fetchedContent.querySelector(\"[data-id=\\\"\".concat(CSS.escape(this.dataset.id), \"\\\"]\"));\n        if (replacementContent) {\n          this.innerHTML = replacementContent.innerHTML;\n        }\n      });\n    }\n  }\n\n  customElements.define('product-pairs', productPairs);\n\n  } catch(e) { console.error(e); }\n})();\n\n(function() {\n  if (!__sections__[\"product-recommendations\"]) return;\n  try {\n    \n \nclass ProductRecommendations extends HTMLElement {\n    constructor() {\n      super();\n\n      const handleIntersection = (entries, observer) => {\n        if (!entries[0].isIntersecting) return;\n        observer.unobserve(this);\n\n        fetch(this.dataset.url)\n          .then(response => response.text())\n          .then(text => {\n            const html = document.createElement('div');\n            html.innerHTML = text;\n            const recommendations = html.querySelector('product-recommendations');\n\n            if (recommendations && recommendations.innerHTML.trim().length) {\n              this.innerHTML = recommendations.innerHTML;\n            }\n\n            if (html.querySelector('.grid__item')) {\n              this.classList.add('product-recommendations--loaded');\n              const swiperContainer = this.querySelector('.swiper-container');\n              const getID = swiperContainer.getAttribute(\"data-id\");\n              const swiperID = this.querySelector(`.swipercol-${getID}`);\n              const spaceBetween = parseInt(swiperContainer.getAttribute('data-space-between'), 10);\n              const perviewDesktop = swiperContainer.getAttribute('data-perview-desktop');\n              if (swiperContainer) {\n                new Swiper(swiperContainer, {\n                  slidesPerView: \"auto\",\n                  freeMode: false,\n                  autoHeight: true,\n                  calculateHeight:true,\n                  freeModeSticky: true,\n                  centeredSlides: false,\n                  grabCursor: true,\n                  watchSlidesVisibility: true,\n                  watchSlidesProgress: true,\n                  preloadImages: true,\n                  updateOnImagesReady: true,\n                  spaceBetween: spaceBetween,\n                  observer: true,\n                  observeParents: true,\n                  parallax:true,\n                  a11y: true,\n                  keyboard: {\n                    enabled: true,\n                  },\n                  breakpoints: {\n                    320: {\n                      slidesPerView: 2,\n                      spaceBetween: 20\n                    },\n                    576: {\n                      slidesPerView: 2,\n                    },\n                    768: {\n                      slidesPerView: 3,\n                    },\n                    992: {\n                      slidesPerView: perviewDesktop,\n                    }\n                  },\n                  scrollbar: {\n                    el: this.querySelector(\".swiper-scrollbar\"),\n                  },\n                  navigation: {\n                    nextEl: this.querySelector(\".swiper-button-next\"),\n                    prevEl: this.querySelector(\".swiper-button-prev\"),\n                  },\n                });\n              } else {\n                console.error('No element with class \"swiper-container\" found.');\n              }\n            }\n            if(typeof jdgm !== 'undefined'){\n              jdgm.customizeBadges();\n            }\n            if (window.SPR && theme.review ) {\n              if ($('.shopify-product-reviews-badge').length > 0) {\n                return window.SPR.registerCallbacks(), window.SPR.initRatingHandler(), window.SPR.initDomEls(), window.SPR.loadProducts(), window.SPR.loadBadges();\n              };\n            }\n          })\n          .catch(e => {\n            console.error(e);\n          });\n      }\n\n      new IntersectionObserver(handleIntersection.bind(this), {rootMargin: '0px 0px 500px 0px'}).observe(this);\n    }\n  }\n\n  customElements.define('product-recommendations', ProductRecommendations);\n\n\n  } catch(e) { console.error(e); }\n})();\n\n(function() {\n  if (!__sections__[\"product-template-1\"]) return;\n  try {\n    \nclass productPairsRight extends HTMLElement {\n  connectedCallback() {\n    fetch(this.dataset.url).\n    then((response) => {\n      if (!response.ok) {\n        throw new Error(\"HTTP error! Status: \".concat(response.status));\n      }\n      return response.text();\n    }).\n    then((response) => {\n      var frag = document.createDocumentFragment(),\n        fetchedContent = document.createElement('div');\n      frag.appendChild(fetchedContent);\n      fetchedContent.innerHTML = response;\n\n      var replacementContent = fetchedContent.querySelector(\"[data-id=\\\"\".concat(CSS.escape(this.dataset.id), \"\\\"]\"));\n      if (replacementContent) {\n        this.innerHTML = replacementContent.innerHTML;\n      }\n    });\n  }\n}\n\ncustomElements.define('product-pairsright', productPairsRight);\n\nclass BuyNow extends HTMLElement {\n  constructor() {\n    super();\n    this.addEventListener('click', this.handleClick.bind(this));\n  }\n\n  connectedCallback() {\n    this.checkAgreement();\n  }\n\n  handleClick(event) {\n    const agreeCheckbox = this.querySelector('.checkbox__input');\n    const checkoutButton = this.querySelector('.product-form__buynow');\n    \n    if (event.target === agreeCheckbox || event.target === this.querySelector('.checkbox__label')) {\n      if (agreeCheckbox.checked) {\n        checkoutButton.classList.remove('disabled');\n      } else {\n        checkoutButton.classList.add('disabled');\n      }\n    }\n  }\n  checkAgreement() {\n    const agreeCheckbox = this.querySelector('.checkbox__input');\n    return agreeCheckbox.checked;\n  }\n}\n\ncustomElements.define('buy-now', BuyNow);\n\n\n\n  } catch(e) { console.error(e); }\n})();\n\n(function() {\n  if (!__sections__[\"ss-2026-best-sellers\"] && !Shopify.designMode) return;\n  try {\n    \n  (function () {\n    function init(root) {\n      var sections = (root || document).querySelectorAll('[data-ss-bestsellers]');\n      Array.prototype.forEach.call(sections, function (section) {\n        if (section.__ssQv) return;\n        section.__ssQv = true;\n        var modal = section.querySelector('[data-ss-qv]');\n        if (!modal) return;\n\n        var liveEl = section.querySelector('[data-ss-bs-live]');\n        var dialog = modal.querySelector('.ss-qv__dialog');\n        var imgEl = modal.querySelector('.ss-qv__image');\n        var titleEl = modal.querySelector('.ss-qv__title');\n        var ratingRow = modal.querySelector('.ss-qv__rating');\n        var starsWrap = ratingRow.querySelector('.ss-stars');\n        var starsFill = ratingRow.querySelector('.ss-stars__fill');\n        var ratingCountEl = ratingRow.querySelector('.ss-qv__rating-count');\n        var priceEl = modal.querySelector('.ss-qv__price');\n        var variantsEl = modal.querySelector('.ss-qv__variants');\n        var addBtn = modal.querySelector('.ss-qv__add');\n        var confirmEl = modal.querySelector('.ss-qv__confirm');\n        var detailsLink = modal.querySelector('.ss-qv__details');\n        var defaultConfirm = confirmEl.textContent;\n        var FOCUSABLE = 'a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),[tabindex]:not([tabindex=\"-1\"])';\n        var lastTrigger = null;\n        var selectedVariantId = null;\n\n        function money(cents) { return '$' + (cents / 100).toFixed(2); }\n\n        function updateHeaderCount(cart) {\n          var n = cart.item_count;\n          Array.prototype.forEach.call(document.querySelectorAll('.ss-header__bag'), function (bag) {\n            bag.textContent = 'Bag (' + n + ')';\n            bag.setAttribute('aria-label', 'Shopping bag, ' + n + ' item' + (n === 1 ? '' : 's'));\n          });\n        }\n\n        function buildVariants(product) {\n          variantsEl.innerHTML = '';\n          if (product.variants.length > 1) {\n            variantsEl.hidden = false;\n            product.variants.forEach(function (v) {\n              var label = document.createElement('label');\n              label.className = 'ss-qv__variant' + (v.available ? '' : ' is-unavailable');\n              var input = document.createElement('input');\n              input.type = 'radio';\n              input.name = 'ss-qv-variant-' + product.id;\n              input.value = v.id;\n              if (!v.available) input.disabled = true;\n              var span = document.createElement('span');\n              span.textContent = v.title;\n              label.appendChild(input);\n              label.appendChild(span);\n              input.addEventListener('change', function () {\n                selectedVariantId = v.id;\n                priceEl.textContent = money(v.price);\n              });\n              variantsEl.appendChild(label);\n            });\n            var firstAvail = null, i;\n            for (i = 0; i < product.variants.length; i++) {\n              if (product.variants[i].available) { firstAvail = product.variants[i]; break; }\n            }\n            if (!firstAvail) firstAvail = product.variants[0];\n            var inp = variantsEl.querySelector('input[value=\"' + firstAvail.id + '\"]');\n            if (inp) inp.checked = true;\n            selectedVariantId = firstAvail.id;\n          } else {\n            variantsEl.hidden = true;\n            selectedVariantId = product.variants[0] ? product.variants[0].id : null;\n          }\n        }\n\n        function populate(product, looxRating, looxCount, cardTitle) {\n          var displayTitle = cardTitle || product.title;\n          titleEl.textContent = displayTitle;\n          dialog.setAttribute('aria-label', displayTitle);\n\n          var src = product.featured_image || (product.images && product.images[0]) || '';\n          if (src) {\n            if (src.indexOf('//') === 0) src = 'https:' + src;\n            src += (src.indexOf('?') > -1 ? '&' : '?') + 'width=800';\n            imgEl.src = src;\n            imgEl.alt = displayTitle;\n          } else {\n            imgEl.removeAttribute('src');\n            imgEl.alt = '';\n          }\n\n          if (looxCount > 0 && looxRating > 0) {\n            starsFill.style.setProperty('--rating', (looxRating * 20) + '%');\n            starsWrap.setAttribute('aria-label', 'Rating: ' + looxRating + ' out of 5');\n            ratingCountEl.textContent = '(' + looxCount + ')';\n            ratingRow.hidden = false;\n          } else {\n            ratingRow.hidden = true;\n          }\n\n          buildVariants(product);\n\n          if (product.price_varies) { priceEl.textContent = 'From ' + money(product.price_min); }\n          else { priceEl.textContent = money(product.price); }\n\n          detailsLink.href = product.url;\n          confirmEl.hidden = true;\n          confirmEl.textContent = defaultConfirm;\n          addBtn.disabled = false;\n        }\n\n        function onKeydown(e) {\n          if (e.key === 'Escape' || e.key === 'Esc') { e.preventDefault(); closeModal(); return; }\n          if (e.key === 'Tab') {\n            var nodes = Array.prototype.slice.call(modal.querySelectorAll(FOCUSABLE)).filter(function (el) {\n              return el.offsetWidth || el.offsetHeight || el.getClientRects().length;\n            });\n            if (!nodes.length) return;\n            var first = nodes[0], last = nodes[nodes.length - 1];\n            if (e.shiftKey && document.activeElement === first) { e.preventDefault(); last.focus(); }\n            else if (!e.shiftKey && document.activeElement === last) { e.preventDefault(); first.focus(); }\n          }\n        }\n\n        function openModal(trigger) {\n          lastTrigger = trigger;\n          var handle = trigger.getAttribute('data-product-handle');\n          var looxRating = parseFloat(trigger.getAttribute('data-loox-rating')) || 0;\n          var looxCount = parseInt(trigger.getAttribute('data-loox-count'), 10) || 0;\n          var cardTitle = trigger.getAttribute('data-card-title') || '';\n          if (!handle) return;\n          fetch('/products/' + handle + '.js', { headers: { 'Accept': 'application/json' } })\n            .then(function (r) { if (!r.ok) throw new Error('fetch'); return r.json(); })\n            .then(function (product) {\n              populate(product, looxRating, looxCount, cardTitle);\n              modal.hidden = false;\n              document.body.style.overflow = 'hidden';\n              document.addEventListener('keydown', onKeydown);\n              var focusFirst = modal.querySelector('.ss-qv__close');\n              (focusFirst || dialog).focus();\n            })\n            .catch(function () { window.location.href = '/products/' + handle; });\n        }\n\n        function closeModal() {\n          modal.hidden = true;\n          document.body.style.overflow = '';\n          document.removeEventListener('keydown', onKeydown);\n          if (lastTrigger && typeof lastTrigger.focus === 'function') lastTrigger.focus();\n        }\n\n        Array.prototype.forEach.call(modal.querySelectorAll('[data-ss-qv-close]'), function (el) {\n          el.addEventListener('click', function () { closeModal(); });\n        });\n\n        addBtn.addEventListener('click', function () {\n          if (!selectedVariantId) return;\n          addBtn.disabled = true;\n          fetch('/cart/add.js', {\n            method: 'POST',\n            headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },\n            body: JSON.stringify({ items: [{ id: selectedVariantId, quantity: 1 }] })\n          })\n            .then(function (r) { if (!r.ok) throw new Error('add'); return r.json(); })\n            .then(function () { return fetch('/cart.js', { headers: { 'Accept': 'application/json' } }); })\n            .then(function (r) { return r.json(); })\n            .then(function (cart) {\n              updateHeaderCount(cart);\n              confirmEl.textContent = defaultConfirm;\n              confirmEl.hidden = false;\n              document.dispatchEvent(new CustomEvent('cart:updated', { detail: { source: 'quick-view', cart: cart } }));\n              addBtn.disabled = false;\n            })\n            .catch(function () {\n              confirmEl.textContent = 'Could not add to cart. Please try again.';\n              confirmEl.hidden = false;\n              addBtn.disabled = false;\n            });\n        });\n\n        Array.prototype.forEach.call(section.querySelectorAll('[data-ss-qv-trigger]'), function (btn) {\n          btn.addEventListener('click', function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n            openModal(btn);\n          });\n        });\n\n        /* Single-variant cards add directly via the same AJAX cart flow, then open the cart drawer via cart:updated. Multi-variant cards use the Quick View trigger above. */\n        Array.prototype.forEach.call(section.querySelectorAll('[data-ss-add-single]'), function (btn) {\n          btn.addEventListener('click', function () {\n            var variantId = btn.getAttribute('data-variant-id');\n            if (!variantId || btn.disabled) return;\n            var original = btn.getAttribute('data-label') || btn.textContent;\n            btn.setAttribute('data-label', original);\n            btn.disabled = true;\n            btn.textContent = 'Adding\u2026';\n            fetch('/cart/add.js', {\n              method: 'POST',\n              headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },\n              body: JSON.stringify({ items: [{ id: variantId, quantity: 1 }] })\n            })\n              .then(function (r) { if (!r.ok) throw new Error('add'); return r.json(); })\n              .then(function () { return fetch('/cart.js', { headers: { 'Accept': 'application/json' } }); })\n              .then(function (r) { return r.json(); })\n              .then(function (cart) {\n                updateHeaderCount(cart);\n                if (liveEl) liveEl.textContent = 'Added to cart.';\n                document.dispatchEvent(new CustomEvent('cart:updated', { detail: { source: 'product-card', cart: cart } }));\n                btn.textContent = 'Added';\n                setTimeout(function () { btn.textContent = original; btn.disabled = false; }, 1500);\n              })\n              .catch(function () {\n                if (liveEl) liveEl.textContent = 'Could not add to cart. Please try again.';\n                btn.textContent = original;\n                btn.disabled = false;\n              });\n          });\n        });\n      });\n    }\n\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', function () { init(document); });\n    } else {\n      init(document);\n    }\n    document.addEventListener('shopify:section:load', function (e) { init(e.target); });\n  })();\n\n  } catch(e) { console.error(e); }\n})();\n\n(function() {\n  if (!__sections__[\"ss-2026-reviews-ugc\"] && !Shopify.designMode) return;\n  try {\n    \n  (function () {\n    var sections = document.querySelectorAll('.ss-reviews-ugc');\n    sections.forEach(function (sec) {\n      var items = Array.prototype.slice.call(sec.querySelectorAll('[data-ss-review]'));\n      items.forEach(function (item) {\n        var video = item.querySelector('[data-ss-video]');\n        if (!video) return;\n        var hideAllTracks = function () {\n          if (!video.textTracks) return;\n          for (var i = 0; i < video.textTracks.length; i++) { video.textTracks[i].mode = 'hidden'; }\n        };\n        hideAllTracks();\n        video.addEventListener('loadedmetadata', hideAllTracks);\n        var ccBtn = item.querySelector('[data-ss-cc]');\n        if (ccBtn) {\n          ccBtn.addEventListener('click', function () {\n            var tracks = video.textTracks;\n            if (!tracks || !tracks.length) return;\n            var tr = tracks[0];\n            var on = tr.mode !== 'showing';\n            tr.mode = on ? 'showing' : 'hidden';\n            ccBtn.setAttribute('aria-pressed', on ? 'true' : 'false');\n            ccBtn.setAttribute('aria-label', on ? 'Hide captions' : 'Show captions');\n          });\n        }\n        var soundBtn = item.querySelector('[data-ss-sound]');\n        if (soundBtn) {\n          var setMutedState = function (btn, vid, muted) {\n            vid.muted = muted;\n            btn.setAttribute('aria-pressed', muted ? 'false' : 'true');\n            btn.setAttribute('aria-label', muted ? 'Unmute audio' : 'Mute audio');\n            var off = btn.querySelector('.ss-review__sound-icon--off');\n            var on = btn.querySelector('.ss-review__sound-icon--on');\n            if (off && on) { off.hidden = !muted; on.hidden = muted; }\n          };\n          soundBtn.addEventListener('click', function () {\n            if (video.muted) {\n              items.forEach(function (other) {\n                if (other === item) return;\n                var ov = other.querySelector('[data-ss-video]');\n                var ob = other.querySelector('[data-ss-sound]');\n                if (ov && ob) setMutedState(ob, ov, true);\n              });\n              setMutedState(soundBtn, video, false);\n            } else {\n              setMutedState(soundBtn, video, true);\n            }\n          });\n        }\n      });\n    });\n  })();\n\n  } catch(e) { console.error(e); }\n})();\n\n(function() {\n  if (!__sections__[\"ss-tt-chooser\"] && !Shopify.designMode) return;\n  try {\n    \n(function () {\n  /* Quick view for the chooser: a copy of the homepage best-sellers quick view (ss-2026-best-sellers),\n     plus the card's feeling word and one line. Adds one unit, one-time purchase, then fires\n     cart:updated with source 'quick-view' so the existing cart drawer closes this pop-up and opens. */\n  function money(cents) {\n    var d = cents / 100;\n    return '$' + (d % 1 === 0 ? d.toFixed(0) : d.toFixed(2));\n  }\n  function init() {\n    Array.prototype.forEach.call(document.querySelectorAll('.ttch'), function (section) {\n      if (section.__ttqv) return;\n      var modal = section.querySelector('[data-ttqv]');\n      if (!modal) return;\n      section.__ttqv = true;\n      var dialog = modal.querySelector('.ttqv__dialog');\n      var imgEl = modal.querySelector('.ttqv__image');\n      var feelEl = modal.querySelector('.ttqv__feel');\n      var titleEl = modal.querySelector('.ttqv__title');\n      var oneEl = modal.querySelector('.ttqv__one');\n      var ratingRow = modal.querySelector('.ttqv__rating');\n      var starsWrap = ratingRow.querySelector('.ttqv__stars');\n      var starsFill = ratingRow.querySelector('.ttqv__stars-fill');\n      var ratingCountEl = ratingRow.querySelector('.ttqv__rating-count');\n      var priceEl = modal.querySelector('.ttqv__price');\n      var variantsEl = modal.querySelector('.ttqv__variants');\n      var addBtn = modal.querySelector('.ttqv__add');\n      var confirmEl = modal.querySelector('.ttqv__confirm');\n      var detailsLink = modal.querySelector('.ttqv__details');\n      var defaultConfirm = confirmEl.textContent;\n      var FOCUSABLE = 'a[href],button:not([disabled]),input:not([disabled]),[tabindex]:not([tabindex=\"-1\"])';\n      var lastTrigger = null;\n      var selectedVariantId = null;\n\n      function buildVariants(product) {\n        variantsEl.innerHTML = '';\n        var firstAvail = null, i;\n        for (i = 0; i < product.variants.length; i++) {\n          if (product.variants[i].available) { firstAvail = product.variants[i]; break; }\n        }\n        if (product.variants.length > 1) {\n          variantsEl.hidden = false;\n          product.variants.forEach(function (v) {\n            var label = document.createElement('label');\n            label.className = 'ttqv__variant' + (v.available ? '' : ' is-unavailable');\n            var input = document.createElement('input');\n            input.type = 'radio';\n            input.name = 'ttqv-variant-' + product.id;\n            input.value = v.id;\n            if (!v.available) input.disabled = true;\n            var span = document.createElement('span');\n            span.textContent = v.title + (v.available ? '' : ' (sold out)');\n            label.appendChild(input);\n            label.appendChild(span);\n            input.addEventListener('change', function () {\n              selectedVariantId = v.id;\n              priceEl.textContent = money(v.price);\n              confirmEl.hidden = true;\n            });\n            variantsEl.appendChild(label);\n          });\n          if (firstAvail) {\n            var inp = variantsEl.querySelector('input[value=\"' + firstAvail.id + '\"]');\n            if (inp) inp.checked = true;\n          }\n        } else {\n          variantsEl.hidden = true;\n        }\n        selectedVariantId = firstAvail ? firstAvail.id : null;\n        priceEl.textContent = money(firstAvail ? firstAvail.price : product.price_min);\n        addBtn.disabled = !firstAvail;\n        addBtn.textContent = firstAvail ? 'Add to cart' : 'Sold out';\n      }\n\n      function populate(product, t) {\n        var title = t.getAttribute('data-title') || product.title;\n        feelEl.textContent = t.getAttribute('data-feel') || '';\n        titleEl.textContent = title;\n        oneEl.textContent = t.getAttribute('data-oneline') || '';\n        dialog.setAttribute('aria-label', title);\n        var src = product.featured_image || (product.images && product.images[0]) || '';\n        if (src) {\n          if (src.indexOf('//') === 0) src = 'https:' + src;\n          src += (src.indexOf('?') > -1 ? '&' : '?') + 'width=800';\n          imgEl.src = src;\n          imgEl.alt = title;\n        } else { imgEl.removeAttribute('src'); imgEl.alt = ''; }\n        var rating = parseFloat(t.getAttribute('data-loox-rating')) || 0;\n        var count = parseInt(t.getAttribute('data-loox-count'), 10) || 0;\n        if (rating > 0 && count > 0) {\n          starsFill.style.setProperty('--rating', (rating * 20) + '%');\n          starsWrap.setAttribute('aria-label', 'Rating: ' + rating + ' out of 5');\n          ratingCountEl.textContent = '(' + count + ')';\n          ratingRow.hidden = false;\n        } else { ratingRow.hidden = true; }\n        buildVariants(product);\n        detailsLink.href = product.url;\n        detailsLink.setAttribute('aria-label', 'View full details for ' + title);\n        confirmEl.hidden = true;\n        confirmEl.textContent = defaultConfirm;\n      }\n\n      function onKeydown(e) {\n        if (e.key === 'Escape' || e.key === 'Esc') { e.preventDefault(); closeModal(); return; }\n        if (e.key === 'Tab') {\n          var nodes = Array.prototype.slice.call(modal.querySelectorAll(FOCUSABLE)).filter(function (el) {\n            return el.offsetWidth || el.offsetHeight || el.getClientRects().length;\n          });\n          if (!nodes.length) return;\n          var first = nodes[0], last = nodes[nodes.length - 1];\n          if (e.shiftKey && document.activeElement === first) { e.preventDefault(); last.focus(); }\n          else if (!e.shiftKey && document.activeElement === last) { e.preventDefault(); first.focus(); }\n        }\n      }\n\n      function openModal(trigger) {\n        lastTrigger = trigger;\n        var handle = trigger.getAttribute('data-product-handle');\n        if (!handle) return;\n        trigger.setAttribute('aria-expanded', 'true');\n        fetch('/products/' + handle + '.js', { headers: { 'Accept': 'application/json' } })\n          .then(function (r) { if (!r.ok) throw new Error('fetch'); return r.json(); })\n          .then(function (product) {\n            populate(product, trigger);\n            modal.hidden = false;\n            document.body.style.overflow = 'hidden';\n            document.addEventListener('keydown', onKeydown);\n            (modal.querySelector('.ttqv__close') || dialog).focus();\n          })\n          .catch(function () { window.location.href = trigger.getAttribute('data-product-url') || ('/products/' + handle); });\n      }\n\n      function closeModal() {\n        if (modal.hidden) return;\n        modal.hidden = true;\n        document.body.style.overflow = '';\n        document.removeEventListener('keydown', onKeydown);\n        if (lastTrigger) {\n          lastTrigger.removeAttribute('aria-expanded');\n          if (typeof lastTrigger.focus === 'function' && document.body.contains(lastTrigger)) lastTrigger.focus();\n        }\n      }\n\n      /* The drawer closes us by clicking a [data-ss-qv-close]; route every close through closeModal. */\n      Array.prototype.forEach.call(modal.querySelectorAll('[data-ttqv-close], [data-ss-qv-close]'), function (el) {\n        el.addEventListener('click', function () { closeModal(); });\n      });\n\n      addBtn.addEventListener('click', function () {\n        if (!selectedVariantId || addBtn.disabled) return;\n        addBtn.disabled = true;\n        fetch('/cart/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },\n          body: JSON.stringify({ items: [{ id: selectedVariantId, quantity: 1 }] })\n        })\n          .then(function (r) {\n            return r.json().then(function (data) { if (!r.ok) { var err = new Error('add'); err.data = data; throw err; } return data; });\n          })\n          .then(function () { return fetch('/cart.js', { headers: { 'Accept': 'application/json' } }); })\n          .then(function (r) { return r.json(); })\n          .then(function (cart) {\n            confirmEl.textContent = defaultConfirm;\n            confirmEl.hidden = false;\n            addBtn.disabled = false;\n            document.dispatchEvent(new CustomEvent('cart:updated', { detail: { source: 'quick-view', cart: cart } }));\n          })\n          .catch(function (err) {\n            confirmEl.textContent = (err && err.data && err.data.description) || 'Could not add to cart. Please try again.';\n            confirmEl.hidden = false;\n            addBtn.disabled = false;\n          });\n      });\n\n      Array.prototype.forEach.call(section.querySelectorAll('[data-ttqv-trigger]'), function (btn) {\n        btn.addEventListener('click', function (e) { e.preventDefault(); e.stopPropagation(); openModal(btn); });\n      });\n    });\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n  document.addEventListener('shopify:section:load', init);\n})();\n\n  } catch(e) { console.error(e); }\n})();\n\n(function() {\n  if (!__sections__[\"ss-tt-ugc\"] && !Shopify.designMode) return;\n  try {\n    \n(function () {\n  var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  document.querySelectorAll('.ttugc').forEach(function (sec) {\n    if (sec.dataset.ttugcBound === '1') return;\n    sec.dataset.ttugcBound = '1';\n    var items = Array.prototype.slice.call(sec.querySelectorAll('[data-ttugc-item]'));\n\n    function setPlayUi(item, playing) {\n      var b = item.querySelector('[data-ttugc-play]');\n      if (!b) return;\n      b.setAttribute('aria-pressed', playing ? 'true' : 'false');\n      b.setAttribute('aria-label', playing ? 'Pause video' : 'Play video');\n      b.querySelector('.ttugc__ico--play').hidden = playing;\n      b.querySelector('.ttugc__ico--pause').hidden = !playing;\n    }\n    function setMuted(item, muted) {\n      var v = item.querySelector('[data-ttugc-video]');\n      var b = item.querySelector('[data-ttugc-sound]');\n      if (!v || !b) return;\n      v.muted = muted;\n      b.setAttribute('aria-pressed', muted ? 'false' : 'true');\n      b.setAttribute('aria-label', muted ? 'Unmute audio' : 'Mute audio');\n      b.querySelector('.ttugc__ico--off').hidden = !muted;\n      b.querySelector('.ttugc__ico--on').hidden = muted;\n    }\n\n    items.forEach(function (item) {\n      var v = item.querySelector('[data-ttugc-video]');\n      if (!v) return;\n      v.muted = true;\n      v.addEventListener('play', function () { setPlayUi(item, true); });\n      v.addEventListener('pause', function () { setPlayUi(item, false); });\n      var hide = function () { if (!v.textTracks) return; for (var i = 0; i < v.textTracks.length; i++) { v.textTracks[i].mode = 'hidden'; } };\n      hide();\n      v.addEventListener('loadedmetadata', hide);\n\n      /* userPaused: once someone pauses a video, scrolling never restarts it. */\n      item.querySelector('[data-ttugc-play]').addEventListener('click', function () {\n        if (v.paused) { item.dataset.userPaused = ''; var p = v.play(); if (p && p.catch) p.catch(function () {}); }\n        else { item.dataset.userPaused = '1'; v.pause(); }\n      });\n\n      var cc = item.querySelector('[data-ttugc-cc]');\n      if (cc) cc.addEventListener('click', function () {\n        if (!v.textTracks || !v.textTracks.length) return;\n        var on = v.textTracks[0].mode !== 'showing';\n        v.textTracks[0].mode = on ? 'showing' : 'hidden';\n        cc.setAttribute('aria-pressed', on ? 'true' : 'false');\n        cc.setAttribute('aria-label', on ? 'Hide captions' : 'Show captions');\n      });\n\n      var snd = item.querySelector('[data-ttugc-sound]');\n      if (snd) snd.addEventListener('click', function () {\n        if (v.muted) {\n          items.forEach(function (o) { if (o !== item) setMuted(o, true); });\n          setMuted(item, false);\n        } else { setMuted(item, true); }\n      });\n    });\n\n    /* Position dots (phones): follow the swipe, jump on tap. */\n    var row = sec.querySelector('.ttugc__row');\n    var dots = Array.prototype.slice.call(sec.querySelectorAll('[data-ttugc-dot]'));\n    if (row && dots.length) {\n      var setActive = function (idx) {\n        dots.forEach(function (d, i) { if (i === idx) { d.setAttribute('aria-current', 'true'); } else { d.removeAttribute('aria-current'); } });\n      };\n      var current = function () {\n        var max = row.scrollWidth - row.clientWidth;\n        if (row.scrollLeft >= max - 2) return items.length - 1;\n        var best = 0, bestDist = Infinity;\n        items.forEach(function (it, i) {\n          var dist = Math.abs(it.offsetLeft - row.offsetLeft - 20 - row.scrollLeft);\n          if (dist < bestDist) { bestDist = dist; best = i; }\n        });\n        return best;\n      };\n      var ticking = false;\n      row.addEventListener('scroll', function () {\n        if (ticking) return;\n        ticking = true;\n        window.requestAnimationFrame(function () { setActive(current()); ticking = false; });\n      }, { passive: true });\n      dots.forEach(function (d, i) {\n        d.addEventListener('click', function () {\n          var it = items[i];\n          if (!it) return;\n          row.scrollTo({ left: it.offsetLeft - row.offsetLeft - 20, behavior: reduce ? 'auto' : 'smooth' });\n        });\n      });\n    }\n\n    /* Play only while at least half visible. Never autoplay under reduced motion. */\n    if (reduce || !('IntersectionObserver' in window)) return;\n    var io = new IntersectionObserver(function (entries) {\n      entries.forEach(function (e) {\n        var item = e.target;\n        var v = item.querySelector('[data-ttugc-video]');\n        if (!v) return;\n        if (e.isIntersecting && e.intersectionRatio >= 0.5) {\n          if (item.dataset.userPaused === '1') return;\n          var p = v.play(); if (p && p.catch) p.catch(function () {});\n        } else if (!v.paused) {\n          v.pause();\n        }\n      });\n    }, { threshold: [0, 0.5, 1] });\n    items.forEach(function (item) { io.observe(item); });\n  });\n})();\n\n  } catch(e) { console.error(e); }\n})();\n\n(function() {\n  if (!__sections__[\"timeline\"] && !Shopify.designMode) return;\n  try {\n    \n  !function(){function e(e){this.element=e,this.blocks=this.element.getElementsByClassName(\"js-cd-block\"),this.images=this.element.getElementsByClassName(\"js-cd-img\"),this.contents=this.element.getElementsByClassName(\"js-cd-content\"),this.offset=.8,this.hideBlocks()}e.prototype.hideBlocks=function(){if(!(!1 in document.documentElement))for(var e,t=this,s=0;s<this.blocks.length;s++)e=s,t.blocks[e].getBoundingClientRect().top>window.innerHeight*t.offset&&(t.images[e].classList.add(\"cd-is-hidden\"),t.contents[e].classList.add(\"cd-is-hidden\"))},e.prototype.showBlocks=function(){if(!(!1 in document.documentElement))for(var e,t=this,s=0;s<this.blocks.length;s++)e=s,t.contents[e].classList.contains(\"cd-is-hidden\")&&t.blocks[e].getBoundingClientRect().top<=window.innerHeight*t.offset&&(t.images[e].classList.add(\"or-timeline__img--bounce-in\"),t.contents[e].classList.add(\"or-timeline__content--bounce-in\"),t.images[e].classList.remove(\"cd-is-hidden\"),t.contents[e].classList.remove(\"cd-is-hidden\"))};var t,s=document.getElementsByClassName(\"js-or-timeline\"),n=[],i=!1;if(s.length>0){for(var o=0;o<s.length;o++)t=o,n.push(new e(s[t]));window.addEventListener(\"scroll\",function(e){i||(i=!0,window.requestAnimationFrame?window.requestAnimationFrame(c):setTimeout(c,250))})}function c(){n.forEach(function(e){e.showBlocks()}),i=!1}}();\n\n  } catch(e) { console.error(e); }\n})();\n})();\n"],
  "mappings": "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",
  "names": ["e", "t", "s"]
}
