{
  "version": 3,
  "sources": ["/cdn/shop/t/9/assets/ck-variant-gallery-stable.js?ckv=20260629-gallery-stable-path-2118"],
  "sourcesContent": [";(function() {\n  if (window.location && window.location.pathname.replace(/\\/+$/, '') === '/products/uppababy-cruz-v2-stroller') {\n    window.ckCruzV2StableGalleryBypassed = true;\n    try {\n      var originalReplaceState = window.history && window.history.replaceState;\n      if (originalReplaceState && !window.__ckCruzV2BlockDeskfixReplaceState) {\n        window.__ckCruzV2BlockDeskfixReplaceState = true;\n        window.history.replaceState = function(state, title, url) {\n          if (typeof url === 'string' && /[?&]view=ckdeskfix(?:&|$)/.test(url)) {\n            var cleaned = url\n              .replace(/([?&])view=ckdeskfix&/, '$1')\n              .replace(/[?&]view=ckdeskfix$/, '')\n              .replace(/\\?&/, '?')\n              .replace(/\\?$/, '');\n            return originalReplaceState.call(window.history, state, title, cleaned || window.location.pathname + window.location.search + window.location.hash);\n          }\n          return originalReplaceState.apply(window.history, arguments);\n        };\n      }\n    } catch (error) {}\n    return;\n  }\n\n  if (window.location && window.location.pathname.replace(/\\/+$/, '') === '/products/joolz-aer2-lightweight-compact-stroller') {\n    window.ckAer2StableGalleryBypassed = true;\n    return;\n  }\n\n  if (window.location && window.location.pathname.replace(/\\/$/, '') === '/products/joolz-dot-travel-stroller') {\n    window.ckVariantGalleryFixLoaded = true;\n    window.ckJoolzDotStarAppsOnly = true;\n    window.ckDotGalleryAssetCurtainVersion = '20260706-dot-alias-curtain-1922';\n\n    (function installJoolzDotStarAppsCurtain() {\n      var started = Date.now();\n      var groups = {\n        '42966026846302': { token: 'spaceblack', label: 'Space Black', min: 6 },\n        '42966026879070': { token: 'dunebeige', label: 'Dune Beige', min: 6 },\n        '42966026911838': { token: 'lagoonblue', label: 'Lagoon Blue', min: 7 }\n      };\n\n      function installStyle() {\n        if (!document.head || document.getElementById('ck-dot-gallery-asset-curtain-style')) return;\n        var style = document.createElement('style');\n        style.id = 'ck-dot-gallery-asset-curtain-style';\n        style.textContent = [\n          'html.ck-dot-gallery-prehide body.template-product .product__photos,',\n          'html.ck-dot-gallery-prehide body.template-product .product__main-photos,',\n          'html.ck-dot-gallery-prehide body.template-product .product-single__photos,',\n          'html.ck-dot-gallery-prehide body.template-product .product-slideshow,',\n          'html.ck-dot-gallery-prehide body.template-product [data-product-photos]{opacity:0!important;pointer-events:none!important;}',\n          'html.ck-dot-gallery-prehide body.template-product .product__photos,',\n          'html.ck-dot-gallery-prehide body.template-product .product__main-photos,',\n          'html.ck-dot-gallery-prehide body.template-product .product-single__photos,',\n          'html.ck-dot-gallery-prehide body.template-product [data-product-photos]{min-height:420px;}',\n          '@media screen and (max-width:749px){html.ck-dot-gallery-prehide body.template-product .product__photos,html.ck-dot-gallery-prehide body.template-product .product__main-photos,html.ck-dot-gallery-prehide body.template-product .product-single__photos,html.ck-dot-gallery-prehide body.template-product [data-product-photos]{min-height:360px;}}'\n        ].join('');\n        document.head.appendChild(style);\n      }\n\n      function clean(src) {\n        return String(src || '').split('?')[0].split('#')[0].split('/').pop().toLowerCase()\n          .replace(/_(pico|icon|thumb|small|compact|medium|large|grande|\\d+x\\d+|master)(?=\\.)/, '');\n      }\n\n      function currentGroup() {\n        var params = new URLSearchParams(window.location.search || '');\n        var fromHash = ((window.location.hash || '').match(/(?:^|[#&])(?:variant|ck_variant)=(\\d+)/) || [])[1];\n        var fromUrl = params.get('variant') || params.get('ck_variant') || fromHash;\n        if (groups[fromUrl]) return groups[fromUrl];\n        var input = document.querySelector('[name=\"id\"]');\n        if (input && groups[String(input.value)]) return groups[String(input.value)];\n        return groups['42966026846302'];\n      }\n\n      function aliasVariantId() {\n        var params = new URLSearchParams(window.location.search || '');\n        var fromHash = ((window.location.hash || '').match(/(?:^|[#&])(?:variant|ck_variant)=(\\d+)/) || [])[1];\n        var value = params.get('ck_variant') || fromHash || '';\n        return groups[value] ? value : '';\n      }\n\n      function tokenFromValue(value) {\n        var text = String(value || '').toLowerCase();\n        if (/lagoon\\s*blue|lagoon-blue|lagoonblue/.test(text)) return 'lagoonblue';\n        if (/dune\\s*beige|dune-beige|dunebeige/.test(text)) return 'dunebeige';\n        if (/space\\s*black|space-black|spaceblack/.test(text)) return 'spaceblack';\n        return '';\n      }\n\n      function syncAliasVariant() {\n        var id = aliasVariantId();\n        if (!id) return;\n        var group = groups[id];\n        var select = document.querySelector('select[name=\"id\"]');\n        if (select && select.value !== id) {\n          select.value = id;\n          select.dispatchEvent(new Event('change', { bubbles: true }));\n        }\n        var idInput = document.querySelector('input[name=\"id\"]');\n        if (idInput && idInput.value !== id) {\n          idInput.value = id;\n          idInput.dispatchEvent(new Event('change', { bubbles: true }));\n        }\n        var optionInput = Array.prototype.slice.call(document.querySelectorAll('[data-variant-input], input[type=\"radio\"]')).find(function(node) {\n          return tokenFromValue(node.value) === group.token;\n        });\n        if (optionInput && !optionInput.checked) {\n          optionInput.checked = true;\n          optionInput.dispatchEvent(new Event('change', { bubbles: true }));\n          if (typeof optionInput.click === 'function') optionInput.click();\n        }\n      }\n\n      function fileFor(node) {\n        if (!node) return '';\n        var link = node.matches && node.matches('a[href]') ? node : node.querySelector && node.querySelector('a[href]');\n        var image = node.matches && node.matches('img') ? node : node.querySelector && node.querySelector('img');\n        return clean((link && link.getAttribute('href')) || (image && (image.currentSrc || image.src)));\n      }\n\n      function galleryFiles() {\n        var slider = document.querySelector('[data-product-photos]');\n        var flkty = slider && window.Flickity && window.Flickity.data(slider);\n        var files = flkty\n          ? flkty.cells.map(function(cell) { return fileFor(cell.element); })\n          : Array.prototype.slice.call(document.querySelectorAll('[data-product-photos] .product-main-slide')).map(fileFor);\n        return files.filter(function(file, index, list) {\n          return file && list.indexOf(file) === index;\n        });\n      }\n\n      function starappsLoaded() {\n        return Array.prototype.slice.call(document.scripts).some(function(script) {\n          return /cdn\\.starapps\\.studio\\/apps\\/via\\//.test(script.src || '');\n        });\n      }\n\n      function release(reason) {\n        window.ckDotGalleryPrehideReleaseReason = reason;\n        document.documentElement.classList.remove('ck-dot-gallery-prehide');\n        document.documentElement.classList.add('ck-dot-gallery-ready');\n      }\n\n      function poll() {\n        installStyle();\n        document.documentElement.classList.add('ck-dot-gallery-prehide');\n        syncAliasVariant();\n        var group = currentGroup();\n        var files = galleryFiles();\n        var ready = starappsLoaded() &&\n          files.length >= group.min &&\n          files.every(function(file) { return file.indexOf(group.token) !== -1; });\n        if (ready) return release('starapps-ready');\n        if (Date.now() - started > 14000) return release('timeout');\n        window.setTimeout(poll, 80);\n      }\n\n      poll();\n    })();\n    return;\n  }\n\n  if (window.ckVariantGalleryFixLoaded) return;\n  window.ckVariantGalleryFixLoaded = true;\n  window.ckVistaBundleControllerVersion = '20260702-review-controller';\n\n  (function installCruzV3DirectVariantCurtain() {\n    if (!window.location || window.location.pathname.replace(/\\/$/, '') !== '/products/uppababy-cruz-v3-stroller') return;\n    var groups = {\n      '42857833005150': { color: 'ada' },\n      '42857833037918': { color: 'callum' },\n      '42857833070686': { color: 'declan' },\n      '42857833103454': { color: 'evelyn' },\n      '42857833136222': { color: 'greyson' },\n      '42857833168990': { color: 'jake' },\n      '42857833201758': { color: 'savannah' }\n    };\n    var variantId = ((window.location.search || '').match(/[?&]variant=(\\d+)/) || [])[1] || '';\n    var group = groups[variantId];\n    if (!group || group.color === 'ada') return;\n\n    var started = Date.now();\n    document.documentElement.classList.add('ck-cruz-v3-gallery-prehide');\n\n    function installStyle() {\n      if (!document.head || document.getElementById('ck-cruz-v3-gallery-prehide-style')) return;\n      var style = document.createElement('style');\n      style.id = 'ck-cruz-v3-gallery-prehide-style';\n      style.textContent = [\n        'html.ck-cruz-v3-gallery-prehide .product__photos,',\n        'html.ck-cruz-v3-gallery-prehide .product__main-photos,',\n        'html.ck-cruz-v3-gallery-prehide .product-single__photos,',\n        'html.ck-cruz-v3-gallery-prehide [data-product-photos]{min-height:390px!important;pointer-events:none!important;}',\n        'html.ck-cruz-v3-gallery-prehide .product-main-slide,',\n        'html.ck-cruz-v3-gallery-prehide .ck-cruz-v3-fallback-main,',\n        'html.ck-cruz-v3-gallery-prehide .product__thumb-item{visibility:hidden!important;opacity:0!important;}'\n      ].join('');\n      document.head.appendChild(style);\n    }\n\n    function clean(src) {\n      return String(src || '').split('?')[0].split('#')[0].split('/').pop().toLowerCase();\n    }\n\n    function fileMatchesColor(file, color) {\n      var normalized = clean(file);\n      if (color === 'callum') return normalized.indexOf('0403-crz-clm') !== -1 || normalized.indexOf('0403-crz-na-clm') !== -1;\n      if (color === 'declan') return normalized.indexOf('0403-crz-dcl') !== -1 || normalized.indexOf('0403-crz-na-dcl') !== -1;\n      if (color === 'evelyn') return normalized.indexOf('0403-crz-eve') !== -1 || normalized.indexOf('0403-crz-na-eve') !== -1 || normalized.indexOf('71rxlz5flel') !== -1;\n      if (color === 'greyson') return normalized.indexOf('0403-crz-gry') !== -1 || normalized.indexOf('0403-crz-na-gry') !== -1;\n      if (color === 'jake') return normalized.indexOf('0403-crz-jke') !== -1 || normalized.indexOf('0403-crz-na-jke') !== -1;\n      if (color === 'savannah') return normalized.indexOf('0403-crz-sav') !== -1 || normalized.indexOf('0403-crz-na-sav') !== -1;\n      return false;\n    }\n\n    function fileFor(node) {\n      if (!node) return '';\n      var link = node.matches && node.matches('a[href]') ? node : node.querySelector && node.querySelector('a[href]');\n      var image = node.matches && node.matches('img') ? node : node.querySelector && node.querySelector('img');\n      return clean((link && link.getAttribute('href')) || (image && (image.currentSrc || image.src)));\n    }\n\n    function activeFiles() {\n      var fallback = document.querySelector('.ck-cruz-v3-fallback-main:not([hidden])');\n      if (fallback && fileMatchesColor(fileFor(fallback), group.color)) return [fileFor(fallback)];\n      return Array.prototype.slice.call(document.querySelectorAll('.product-main-slide')).filter(function(slide) {\n        return !slide.classList.contains('ck-color-hidden') && fileFor(slide);\n      }).map(fileFor);\n    }\n\n    function release(reason) {\n      window.ckCruzV3PrehideReleaseReason = reason;\n      document.documentElement.classList.remove('ck-cruz-v3-gallery-prehide');\n      document.documentElement.classList.add('ck-cruz-v3-gallery-ready');\n    }\n\n    function poll() {\n      installStyle();\n      var files = activeFiles();\n      if (Date.now() - started > 1300 && files.length && files.every(function(file) { return fileMatchesColor(file, group.color); })) {\n        return release('selected-color-ready');\n      }\n      if (Date.now() - started > 6500) return release('timeout');\n      window.setTimeout(poll, 60);\n    }\n\n    poll();\n  })();\n\n  (function ensureVistaBundleDefaultVariantUrl() {\n    if (!window.location || /[?&]variant=/.test(window.location.search)) return;\n    var html = document.documentElement ? document.documentElement.innerHTML : '';\n    var isVistaBundleDraft = html.indexOf('7691562418270') !== -1 &&\n      html.indexOf('UPPAbaby Vista V3 Stroller + Bassinet V3 Bundle') !== -1;\n    if (!isVistaBundleDraft) return;\n    var nextUrl = new URL(window.location.href);\n    nextUrl.searchParams.set('variant', '42965756575838');\n    window.location.replace(nextUrl.toString());\n  })();\n\n  function isImageFileHref(href) {\n    return /\\.(jpe?g|png|webp|gif)(\\?|$)/i.test(String(href || '').split('#')[0]);\n  }\n\n  function installDirectImageLinkGuard() {\n    if (window.ckProductThumbDirectLinkGuard) return;\n    window.ckProductThumbDirectLinkGuard = true;\n\n    document.addEventListener('click', function(event) {\n      if (isAdaptiveImprovListing()) return;\n      var link = event.target && event.target.closest && event.target.closest('a.product__thumb[href]');\n      if (!link || !isImageFileHref(link.getAttribute('href'))) return;\n\n      event.preventDefault();\n      if (isVistaBundleDraftProduct()) {\n        var container = productContainer(link);\n        var item = link.closest && link.closest('.product__thumb-item[data-group]');\n        var image = link.querySelector && link.querySelector('img');\n        var currentVariant = vistaBundleAuthoritativeVariant(container);\n        var group = (item && item.getAttribute('data-group')) ||\n          link.getAttribute('data-group') ||\n          (image && image.getAttribute('data-group')) ||\n          vistaBundleGroupForColor(vistaBundleColorForVariant(currentVariant));\n        var imageData = vistaBundleImageDataFromThumb(link);\n        if (container && group && imageData) {\n          if (currentVariant && currentVariant.id) {\n            container.__ckVistaBundleVariantId = currentVariant.id;\n            container.__ckVariantGalleryVariantId = currentVariant.id;\n          }\n          container.__ckVistaBundleSelectedFile = cleanFile(link.getAttribute('href'));\n          container.__ckVistaBundleManualImageAt = Date.now();\n          container.__ckVistaBundleManualImage = { group: group, imageData: imageData };\n          window.ckVistaBundleLastThumbClick = { source: 'direct-link-guard', group: group, file: container.__ckVistaBundleSelectedFile, at: Date.now() };\n          container.querySelectorAll('.product__thumb').forEach(function(thumb) {\n            thumb.classList.toggle('is-active', thumb === link);\n          });\n          showVistaBundleFallbackImage(container, imageData);\n          window.setTimeout(function() { vistaBundleApply(container, { resetSelection: false }); }, 0);\n          window.setTimeout(function() { vistaBundleApply(container, { resetSelection: false }); }, 160);\n          window.setTimeout(function() { vistaBundleApply(container, { resetSelection: false }); }, 520);\n        }\n      }\n    }, true);\n  }\n\n  function installVistaBundleDirectThumbGuard() {\n    if (window.ckVistaBundleDirectThumbGuard) return;\n    window.ckVistaBundleDirectThumbGuard = true;\n\n    document.addEventListener('click', function(event) {\n      if (!isVistaBundleDraftProduct()) return;\n      var link = event.target && event.target.closest && event.target.closest('a.product__thumb[href]');\n      if (!link || !isImageFileHref(link.getAttribute('href'))) return;\n\n      var container = productContainer(link);\n      var item = link.closest && link.closest('.product__thumb-item[data-group]');\n      var image = link.querySelector && link.querySelector('img');\n      var currentVariant = vistaBundleAuthoritativeVariant(container);\n      var group = (item && item.getAttribute('data-group')) ||\n        link.getAttribute('data-group') ||\n        (image && image.getAttribute('data-group')) ||\n        vistaBundleGroupForColor(vistaBundleColorForVariant(currentVariant));\n      var imageData = vistaBundleImageDataFromThumb(link);\n      if (!container || !group || !imageData) return;\n\n      event.preventDefault();\n      if (currentVariant && currentVariant.id) {\n        container.__ckVistaBundleVariantId = currentVariant.id;\n        container.__ckVariantGalleryVariantId = currentVariant.id;\n      }\n      container.__ckVistaBundleSelectedFile = cleanFile(link.getAttribute('href'));\n      container.__ckVistaBundleManualImageAt = Date.now();\n      container.__ckVistaBundleManualImage = { group: group, imageData: imageData };\n      window.ckVistaBundleLastThumbClick = { source: 'vista-direct-guard', group: group, file: container.__ckVistaBundleSelectedFile, at: Date.now() };\n      container.querySelectorAll('.product__thumb').forEach(function(thumb) {\n        thumb.classList.toggle('is-active', thumb === link);\n      });\n      showVistaBundleFallbackImage(container, imageData);\n      window.setTimeout(function() { vistaBundleApply(container, { resetSelection: false }); }, 0);\n      window.setTimeout(function() { vistaBundleApply(container, { resetSelection: false }); }, 160);\n      window.setTimeout(function() { vistaBundleApply(container, { resetSelection: false }); }, 520);\n      window.setTimeout(function() { showVistaBundleFallbackImage(container, imageData); }, 900);\n    }, true);\n  }\n\n  function installDotDirectThumbGuard() {\n    if (window.ckDotDirectThumbGuard) return;\n    window.ckDotDirectThumbGuard = true;\n\n    document.addEventListener('click', function(event) {\n      if (!isJoolzDotListing()) return;\n      var link = event.target && event.target.closest && event.target.closest('a.product__thumb[href]');\n      if (!link || !isImageFileHref(link.getAttribute('href'))) return;\n\n      var container = productContainer(link);\n      var image = link.querySelector && link.querySelector('img');\n      var item = link.closest && link.closest('.product__thumb-item');\n      var itemHidden = item && (\n        item.hidden ||\n        item.classList.contains('hide') ||\n        item.classList.contains('ck-color-hidden')\n      );\n      var thumbColor = mediaColorFromElements(link, image);\n      var selectedColor = dotSelectedColor(container) || thumbColor;\n      var imageData = dotImageDataFromThumb(link);\n      if (itemHidden || !thumbColor || thumbColor !== selectedColor || !imageData || !imageData.src) return;\n\n      event.preventDefault();\n      event.stopPropagation();\n      if (event.stopImmediatePropagation) {\n        event.stopImmediatePropagation();\n      }\n\n      container.__ckDotManualImage = {\n        color: selectedColor,\n        imageData: imageData\n      };\n      container.__ckDotManualFile = cleanFile(link.getAttribute('href') || imageData.src);\n      container.__ckDotManualImageAt = Date.now();\n      applyDotActiveThumb(container.__ckDotManualFile, link);\n      syncDotFallbackImage(container);\n      scheduleDotFallbackImage(container);\n      scheduleDotActiveThumb(container.__ckDotManualFile, link);\n      syncGalleryIndicatorSoon(container);\n    }, true);\n  }\n\n  function cleanFile(src) {\n    return String(src || '')\n      .split('?')[0]\n      .split('/')\n      .pop()\n      .replace(/_(pico|icon|thumb|small|compact|medium|large|grande|\\d+x\\d+|master)(?=\\.)/, '');\n  }\n\n  function productContainer(el) {\n    return el.closest('[data-section-type=\"product\"]') || el.closest('.product-section') || document;\n  }\n\n  function isAdaptiveImprovListing() {\n    return Boolean(window.location && window.location.pathname.replace(/\\/$/, '') === '/products/adaptive-star-axiom-improv-indoor-outdoor-mobility-push-chair');\n  }\n\n  function isObservableContainer(container) {\n    return Boolean(\n      container &&\n      typeof container.nodeType === 'number' &&\n      typeof container.querySelectorAll === 'function'\n    );\n  }\n\n  function ensureGalleryFilterStyle() {\n    if (document.getElementById('ck-variant-gallery-filter-style')) return;\n    var style = document.createElement('style');\n    style.id = 'ck-variant-gallery-filter-style';\n    style.textContent = [\n      '.product__thumb-item.ck-color-hidden{display:none!important;visibility:hidden!important;pointer-events:none!important;}',\n      '.product-main-slide.ck-color-hidden{display:none!important;visibility:hidden!important;pointer-events:none!important;}',\n      '.ck-gallery-hidden-deck{display:none!important;visibility:hidden!important;}',\n      '.product-slideshow.ck-gallery-height-locked{min-height:var(--ck-gallery-min-height,0px)!important;}',\n      '.product-slideshow.ck-gallery-height-locked .flickity-viewport{height:var(--ck-gallery-min-height,auto)!important;min-height:var(--ck-gallery-min-height,0px)!important;}',\n      '.product-slideshow.ck-gallery-height-locked:not(.flickity-enabled) .product-main-slide.is-selected{display:block!important;visibility:visible!important;position:relative!important;width:100%!important;}',\n      '.product-slideshow.ck-gallery-height-locked:not(.flickity-enabled) .product-main-slide.is-selected img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;}',\n      '.ck-vista-bundle-fallback-frame{position:relative!important;}',\n      '.ck-vista-bundle-fallback-main{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#fff!important;z-index:6!important;display:block!important;opacity:1!important;visibility:visible!important;pointer-events:none!important;}',\n      '.ck-vista-v2-fallback-frame{position:relative!important;overflow:hidden!important;min-height:var(--ck-gallery-min-height,440px)!important;}',\n      '.ck-vista-v2-fallback-main{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#fff!important;z-index:9!important;display:block!important;opacity:1!important;visibility:visible!important;pointer-events:none!important;}',\n      '.ck-vista-v2-fallback-count{position:absolute!important;top:10px!important;right:10px!important;z-index:21!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:42px!important;height:24px!important;padding:0 9px!important;border-radius:999px!important;background:rgba(30,47,53,.72)!important;color:#fff!important;font-size:12px!important;font-weight:600!important;line-height:1!important;letter-spacing:0!important;box-shadow:0 1px 6px rgba(0,0,0,.12)!important;pointer-events:none!important;}',\n      '.ck-vista-v2-fallback-dots{position:absolute!important;left:0!important;right:0!important;bottom:8px!important;z-index:21!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:20px!important;pointer-events:none!important;}',\n      '.ck-vista-v2-fallback-dot{display:block!important;width:6px!important;height:6px!important;border-radius:999px!important;background:rgba(30,47,53,.28)!important;}',\n      '.ck-vista-v2-fallback-dot.is-active{width:18px!important;background:#1e2f35!important;}',\n      '.ck-dot-fallback-frame{position:relative!important;overflow:hidden!important;min-height:var(--ck-dot-gallery-min-height,520px)!important;height:var(--ck-dot-gallery-min-height,auto)!important;}',\n      '.ck-dot-fallback-frame .product-slideshow{visibility:hidden!important;pointer-events:none!important;}',\n      '.ck-dot-fallback-main{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#fff!important;z-index:7!important;display:block!important;opacity:1!important;visibility:visible!important;pointer-events:none!important;}',\n      '.ck-aer-plus-fallback-frame{position:relative!important;min-height:var(--ck-aer-plus-gallery-min-height,520px)!important;height:var(--ck-aer-plus-gallery-min-height,auto)!important;}',\n      '.ck-aer-plus-fallback-main{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#fff!important;z-index:8!important;display:block!important;opacity:1!important;visibility:visible!important;pointer-events:none!important;}',\n      '.ck-aer-plus-custom-thumb-rail{position:relative!important;overflow:visible!important;}',\n      '.ck-aer-plus-custom-thumb-rail .product__thumbs--scroller{visibility:hidden!important;}',\n      '.ck-aer-plus-custom-thumbs{position:absolute;top:0;left:0;z-index:12;display:flex;flex-direction:column;gap:8px;width:80px;}',\n      '.ck-aer-plus-custom-thumb{display:flex;align-items:center;justify-content:center;width:76px;height:76px;padding:0;border:1px solid rgba(30,47,53,.18);background:#fff;cursor:pointer;}',\n      '.ck-aer-plus-custom-thumb.is-active{border-color:#1e2f35;box-shadow:0 0 0 1px #1e2f35;}',\n      '.ck-aer-plus-custom-thumb img{display:block;width:100%;height:100%;object-fit:contain;}',\n      '.ck-gallery-count-pill,.ck-gallery-dots{display:none;}',\n      '@media only screen and (min-width:769px){.product__thumbs--beside.ck-single-visible-thumb{display:block!important;visibility:visible!important;}.product__thumbs--beside.ck-multiple-visible-thumbs .product__thumbs--scroller,.product__thumbs--beside.ck-single-visible-thumb .product__thumbs--scroller{box-sizing:border-box!important;padding-top:30px!important;padding-bottom:30px!important;}.product__thumbs--beside .product__thumb-item{width:100%!important;max-width:80px!important;}.product__thumbs--beside .product__thumb{background:#fff;overflow:hidden;}.product__thumbs--beside .product__thumb .image-wrap{display:flex!important;align-items:center!important;justify-content:center!important;aspect-ratio:1/1!important;height:auto!important;padding-bottom:0!important;background:#fff!important;}.product__thumbs--beside .product__thumb image-element{display:block!important;width:100%!important;height:100%!important;opacity:1!important;}.product__thumbs--beside .product__thumb img{display:block!important;width:100%!important;height:100%!important;position:static!important;object-fit:contain!important;opacity:1!important;}}',\n      '@media only screen and (max-width:768px){.ck-gallery-indicator-frame{position:relative;}.ck-gallery-indicator-frame .ck-gallery-count-pill{display:flex;position:absolute;top:10px;right:10px;z-index:20;align-items:center;justify-content:center;min-width:42px;height:24px;padding:0 9px;border-radius:999px;background:rgba(30,47,53,.72);color:#fff;font-size:12px;font-weight:600;line-height:1;letter-spacing:0;box-shadow:0 1px 6px rgba(0,0,0,.12);backdrop-filter:blur(4px);pointer-events:none;}.ck-gallery-indicator-frame .ck-gallery-dots{display:flex;position:absolute;left:0;right:0;bottom:8px;z-index:20;align-items:center;justify-content:center;gap:6px;height:20px;margin:0;pointer-events:none;}.ck-gallery-indicator-frame .ck-gallery-dot{display:block;width:6px;height:6px;border-radius:999px;background:rgba(30,47,53,.28);transition:width .18s ease,background-color .18s ease;}.ck-gallery-indicator-frame .ck-gallery-dot.is-active{width:18px;background:#1e2f35;}.ck-gallery-indicator-frame .ck-gallery-count-pill[hidden],.ck-gallery-indicator-frame .ck-gallery-dots[hidden]{display:none!important;}}'\n    ].join('');\n    document.head.appendChild(style);\n  }\n\n  function variantsFor(container) {\n    var json = container.querySelector('[data-variant-json]');\n    if (!json) return [];\n    try {\n      return JSON.parse(json.textContent || json.value || '[]');\n    } catch (e) {\n      return [];\n    }\n  }\n\n  function selectedOptions(container) {\n    var values = {};\n    var lockedIndexes = {};\n    var checkedColor = (container && container.querySelector && container.querySelector('.variant__input--color-swatch:checked')) ||\n      document.querySelector('.variant__input--color-swatch:checked');\n\n    if (checkedColor && checkedColor.dataset && checkedColor.dataset.index) {\n      values[checkedColor.dataset.index] = checkedColor.value;\n      lockedIndexes[checkedColor.dataset.index] = true;\n    }\n\n    container.querySelectorAll('[data-variant-input]').forEach(function(input) {\n      var type = input.getAttribute('type');\n      var index = input.dataset.index;\n      if (!index) return;\n      if ((type === 'radio' || type === 'checkbox') && !input.checked) return;\n      if (lockedIndexes[index]) return;\n      values[index] = input.value;\n    });\n\n    return [values.option1, values.option2, values.option3].filter(function(value) {\n      return value != null && value !== '';\n    });\n  }\n\n  function selectedVariant(container) {\n    var selected = selectedOptions(container);\n    var match = variantsFor(container).find(function(variant) {\n      return selected.every(function(value, index) {\n        return variant['option' + (index + 1)] === value;\n      });\n    });\n\n    if (match) return match;\n\n    var select = container.querySelector('[data-product-select]');\n    var selectedId = select && select.value;\n    if (!selectedId) return null;\n    return variantsFor(container).find(function(variant) {\n      return String(variant.id) === String(selectedId);\n    }) || null;\n  }\n\n  function isSingleOptionProduct(container) {\n    return variantsFor(container).every(function(variant) {\n      return !variant.option2 && !variant.option3;\n    });\n  }\n\n  function variantForInputValue(container, value) {\n    return variantsFor(container).find(function(variant) {\n      return variant.option1 === value || variant.option2 === value || variant.option3 === value;\n    }) || null;\n  }\n\n  function setSelectedVariant(container, variant) {\n    if (!variant) return;\n    var select = container.querySelector('[data-product-select]');\n    if (select) {\n      select.value = String(variant.id);\n    }\n  }\n\n  function handleizeToken(value) {\n    var normalized = String(value || '').toLowerCase();\n    if (normalized.normalize) {\n      normalized = normalized.normalize('NFKD').replace(/[\\u0300-\\u036f]/g, '');\n    }\n    return normalized\n      .replace(/&/g, ' and ')\n      .replace(/[^a-z0-9]+/g, '-')\n      .replace(/^-+|-+$/g, '');\n  }\n\n  function containsAny(normalized, compact, terms) {\n    return terms.some(function(term) {\n      var value = String(term || '').toLowerCase();\n      return normalized.indexOf(value) !== -1 || compact.indexOf(handleizeToken(value)) !== -1;\n    });\n  }\n\n  function colorMarkerToken(normalized) {\n    var marker = String(normalized || '').match(/(?:^|[^a-z0-9])color[_-]([a-z0-9-]+)/);\n    return marker && marker[1] ? marker[1].replace(/-+$/g, '') : '';\n  }\n\n  function colorToken(value) {\n    var normalized = String(value || '').toLowerCase();\n    var compact = handleizeToken(normalized);\n    if (\n      (\n        normalized.indexOf('reflect wheel') !== -1 ||\n        normalized.indexOf('reflect-wheel') !== -1 ||\n        normalized.indexOf('reflective wheel') !== -1 ||\n        normalized.indexOf('reflective-wheel') !== -1 ||\n        normalized.indexOf('wheel kit') !== -1 ||\n        normalized.indexOf('wheel-kit') !== -1 ||\n        normalized.indexOf('relfectors') !== -1 ||\n        normalized.indexOf('refelctors') !== -1 ||\n        normalized.indexOf('reflectors') !== -1\n      ) &&\n      normalized.indexOf('leg rest') === -1 &&\n      normalized.indexOf('leg-rest') === -1 &&\n      normalized.indexOf('legrest') === -1\n    ) {\n      return '';\n    }\n\n    var marker = colorMarkerToken(normalized);\n    if (marker) return marker;\n\n    if (containsAny(normalized, compact, ['graphite glacier'])) return 'graphite-glacier';\n    if (containsAny(normalized, compact, ['navy glacier'])) return 'navy-glacier';\n    if (containsAny(normalized, compact, ['onyx glacier'])) return 'onyx-glacier';\n    if (containsAny(normalized, compact, ['glacier onyx'])) return 'glacier-onyx';\n    if (containsAny(normalized, compact, ['graphite onyx'])) return 'graphite-onyx';\n    if (containsAny(normalized, compact, ['jade onyx'])) return 'jade-onyx';\n    if (containsAny(normalized, compact, ['raven black'])) return 'raven-black';\n    if (containsAny(normalized, compact, ['sand onyx'])) return 'sand-onyx';\n    if (containsAny(normalized, compact, ['teak'])) return 'teak';\n    if (containsAny(normalized, compact, ['blush pink'])) return 'blush-pink';\n    if (containsAny(normalized, compact, ['desert green'])) return 'desert-green';\n    if (containsAny(normalized, compact, ['grey hound', 'greyhound'])) return 'greyhound';\n    if (containsAny(normalized, compact, ['ocean blue'])) return 'ocean-blue';\n    if (containsAny(normalized, compact, ['racing green'])) return 'racing-green';\n    if (containsAny(normalized, compact, ['royal blue'])) return 'royal-blue';\n    if (containsAny(normalized, compact, ['sahara sand'])) return 'sahara-sand';\n    if (containsAny(normalized, compact, ['flame red'])) return 'flame-red';\n    if (containsAny(normalized, compact, ['gold'])) return 'gold';\n    if (containsAny(normalized, compact, ['midnight'])) return 'midnight';\n    if (containsAny(normalized, compact, ['vacation'])) return 'vacation';\n    if (containsAny(normalized, compact, ['nitro black'])) return 'nitro-black';\n    if (containsAny(normalized, compact, ['delightful grey'])) return 'delightful-grey';\n    if (containsAny(normalized, compact, ['dune beige'])) return 'dune-beige';\n    if (containsAny(normalized, compact, ['lagoon blue'])) return 'lagoon-blue';\n    if (containsAny(normalized, compact, ['lovely taupe'])) return 'lovely-taupe';\n    if (containsAny(normalized, compact, ['mighty green'])) return 'mighty-green';\n    if (containsAny(normalized, compact, ['navy blue'])) return 'navy-blue';\n    if (containsAny(normalized, compact, ['sage green'])) return 'sage-green';\n    if (containsAny(normalized, compact, ['chic renaissance black', 'renaissance black'])) return 'chic-renaissance-black';\n    if (containsAny(normalized, compact, ['refined black'])) return 'refined-black';\n    if (containsAny(normalized, compact, ['space black'])) return 'space-black';\n    if (containsAny(normalized, compact, ['stone grey', 'stone gray'])) return 'stone-grey';\n    if (containsAny(normalized, compact, ['sandy taupe'])) return 'sandy-taupe';\n    if (containsAny(normalized, compact, ['pebble grey', 'pebble gray'])) return 'pebble-grey';\n    if (containsAny(normalized, compact, ['forest green'])) return 'forest-green';\n    if (containsAny(normalized, compact, ['hazel brown'])) return 'hazel-brown';\n    if (containsAny(normalized, compact, ['anthony', ' ath', '-ath', '_ath', 'white grey chenille', 'white and grey chenille'])) return 'anthony';\n    if (containsAny(normalized, compact, ['ada'])) return 'ada';\n    if (containsAny(normalized, compact, ['callum', ' clm', '-clm', '_clm'])) return 'callum';\n    if (containsAny(normalized, compact, ['declan', ' dcl', '-dcl', '_dcl', 'oat melange'])) return 'declan';\n    if (containsAny(normalized, compact, ['dillan', ' dln', '-dln', '_dln'])) return 'dillan';\n    if (containsAny(normalized, compact, ['evelyn', ' evn', '-evn', '_evn', ' eve', '-eve', '_eve'])) return 'evelyn';\n    if (containsAny(normalized, compact, ['james'])) return 'james';\n    if (containsAny(normalized, compact, ['kenzi', ' knz', '-knz', '_knz'])) return 'kenzi';\n    if (containsAny(normalized, compact, ['lucy', ' lcy', '-lcy', '_lcy', 'rosewood melange'])) return 'lucy';\n    if (containsAny(normalized, compact, ['owen', ' own', '-own', '_own'])) return 'owen';\n    if (containsAny(normalized, compact, ['savannah', ' sav', '-sav', '_sav'])) return 'savannah';\n    if (\n      normalized.indexOf('color_jake') !== -1 ||\n      normalized.indexOf('color-jake') !== -1 ||\n      normalized.indexOf('jake') !== -1 ||\n      normalized.indexOf('jke') !== -1\n    ) {\n      return 'jake';\n    }\n    if (\n      normalized.indexOf('color_gwen') !== -1 ||\n      normalized.indexOf('color-gwen') !== -1 ||\n      normalized.indexOf('gwen') !== -1 ||\n      normalized.indexOf('gwn') !== -1 ||\n      normalized.indexOf('green-melange') !== -1 ||\n      normalized.indexOf('green melange') !== -1\n    ) {\n      return 'gwen';\n    }\n    if (\n      normalized.indexOf('color_greyson') !== -1 ||\n      normalized.indexOf('color-greyson') !== -1 ||\n      normalized.indexOf('greyson') !== -1 ||\n      normalized.indexOf('grayson') !== -1 ||\n      normalized.indexOf(' gry') !== -1 ||\n      normalized.indexOf('-gry') !== -1 ||\n      normalized.indexOf('_gry') !== -1 ||\n      normalized.indexOf('charcoal-melange') !== -1 ||\n      normalized.indexOf('charcoal melange') !== -1 ||\n      normalized.indexOf('0320-vis-gry') !== -1 ||\n      normalized.indexOf('v2-gry') !== -1\n    ) {\n      return 'greyson';\n    }\n    if (\n      normalized.indexOf('color_noa') !== -1 ||\n      normalized.indexOf('color-noa') !== -1 ||\n      normalized.indexOf('noa') !== -1 ||\n      normalized.indexOf('0320-vis-noa') !== -1\n    ) {\n      return 'noa';\n    }\n    if (\n      normalized.indexOf('axiom-improv-red-right') !== -1 ||\n      normalized.indexOf('3143c087e21c1af18339e8cbc91d22fd') !== -1 ||\n      normalized.indexOf('dabaf47a93172be5ef6a656e4bf7fa9b') !== -1\n    ) {\n      return 'red';\n    }\n    if (\n      normalized.indexOf('axiom-improv-blue-navy') !== -1 ||\n      normalized.indexOf('591bd2298de45cb647daf69265980879') !== -1 ||\n      normalized.indexOf('1ecfda212a996b0e36f2e3936e4bf8ca') !== -1 ||\n      normalized.indexOf('de042627a91e8941fec2a01868541534') !== -1 ||\n      normalized.indexOf('b23e154237cff2fe778c18d36cd9839a') !== -1\n    ) {\n      return 'navy';\n    }\n    if (\n      normalized.indexOf('majolica blue') !== -1 ||\n      normalized.indexOf('majolica-blue') !== -1 ||\n      normalized.indexOf('majolica') !== -1 ||\n      normalized.indexOf('11300103') !== -1\n    ) {\n      return 'majolica-blue';\n    }\n    if (\n      normalized.indexOf('shadow grey') !== -1 ||\n      normalized.indexOf('shadow-gray') !== -1 ||\n      normalized.indexOf('shadow-grey') !== -1 ||\n      normalized.indexOf('11300102') !== -1\n    ) {\n      return 'shadow-grey';\n    }\n    if (\n      normalized.indexOf('misty rose') !== -1 ||\n      normalized.indexOf('misty-rose') !== -1 ||\n      normalized.indexOf('11300208') !== -1\n    ) {\n      return 'misty-rose';\n    }\n    if (\n      normalized.indexOf('olive') !== -1 ||\n      normalized.indexOf('11300104') !== -1\n    ) {\n      return 'olive';\n    }\n    if (\n      normalized.indexOf('grey melange') !== -1 ||\n      normalized.indexOf('gray melange') !== -1 ||\n      normalized.indexOf('grey-melange') !== -1 ||\n      normalized.indexOf('gray-melange') !== -1 ||\n      normalized.indexOf('11300205') !== -1\n    ) {\n      return 'grey-melange';\n    }\n    if (\n      normalized.indexOf('black/black') !== -1 ||\n      normalized.indexOf('black-black') !== -1 ||\n      normalized.indexOf('black') !== -1 ||\n      normalized.indexOf('11300201') !== -1\n    ) {\n      return 'black';\n    }\n    if (normalized.indexOf('red') !== -1) return 'red';\n    if (normalized.indexOf('orange') !== -1) return 'orange';\n    if (normalized.indexOf('purple') !== -1) return 'purple';\n    if (normalized.indexOf('pink') !== -1) return 'pink';\n    if (normalized.indexOf('green') !== -1) return 'green';\n    if (normalized.indexOf('grey') !== -1 || normalized.indexOf('gray') !== -1) return 'grey';\n    if (normalized.indexOf('navy') !== -1 || normalized.indexOf('blue') !== -1) return 'navy';\n    return '';\n  }\n\n  function hasColorSwatches(container) {\n    return Boolean(container && container.querySelector && container.querySelector('label.color-swatch, .variant__button-label.color-swatch'));\n  }\n\n  function variantColorToken(variant, container) {\n    var checkedColor = (container && container.querySelector && container.querySelector('.variant__input--color-swatch:checked')) ||\n      document.querySelector('.variant__input--color-swatch:checked');\n    if (checkedColor && checkedColor.value) {\n      return colorToken(checkedColor.value) || handleizeToken(checkedColor.value);\n    }\n\n    if (!variant) return '';\n    var options = [variant.option1, variant.option2, variant.option3].filter(function(option) {\n      return option && option !== 'Default Title';\n    });\n    var known = colorToken(options.join(' '));\n    if (known) return known;\n    if (options.length === 1 && hasColorSwatches(container)) {\n      return handleizeToken(options[0]);\n    }\n    return '';\n  }\n\n  function variantImageSrc(variant) {\n    return variant && variant.featured_image && variant.featured_image.src ? variant.featured_image.src : '';\n  }\n\n  function closestGroup(el) {\n    if (!el || !el.closest) return '';\n    var group = el.closest('[data-group]');\n    return group ? group.getAttribute('data-group') : '';\n  }\n\n  function displaySrc(src) {\n    if (!src) return '';\n    return src + (src.indexOf('?') === -1 ? '?width=900' : '&width=900');\n  }\n\n  var THULE_SPRING_PATH = '/products/thule-spring-stroller';\n  var THULE_WHEEL_KIT_IMAGE = 'https://cdn.shopify.com/s/files/1/0078/5393/2596/files/thule-spring-reflect-wheel-kit-included.png?v=1782749501';\n  var THULE_WHEEL_KIT_ALT = 'Free Thule Spring Reflect Wheel Kit included with every color';\n\n  function isThuleSpringMainListing() {\n    return window.location && window.location.pathname.replace(/\\/$/, '') === THULE_SPRING_PATH;\n  }\n\n  function thuleSpringFileMatchesColor(file, selectedColor) {\n    if (!isThuleSpringMainListing() || !file || !selectedColor) return false;\n    var normalizedFile = cleanFile(file).toLowerCase();\n    var color = String(selectedColor || '').toLowerCase();\n    var colorFiles = {\n      'black': [\n        'thule-spring-stroller-black-2.jpg',\n        'thule-spring-stroller-black-46.jpg'\n      ],\n      'majolica-blue': [\n        'thule-spring-stroller-majolica-blue-16.jpg',\n        'thule-spring-stroller-majolica-blue-26.jpg'\n      ],\n      'shadow-grey': [\n        'thule-spring-stroller-shadow-grey-16.jpg',\n        'thule-spring-stroller-shadow-grey-26.jpg'\n      ],\n      'misty-rose': [\n        'thule-spring-stroller-misty-rose-103_87e3a76f-de78-4c9f-adad-f87635f2899a.jpg'\n      ],\n      'olive': [\n        'thule-spring-stroller-olive-16.jpg',\n        'thule-spring-stroller-olive-21.jpg'\n      ],\n      'grey-melange': [\n        'thule-spring-stroller-black-grey-melange-16.jpg',\n        'thule-spring-stroller-black-grey-melange-26.jpg'\n      ]\n    };\n\n    return Boolean(colorFiles[color] && colorFiles[color].indexOf(normalizedFile) !== -1);\n  }\n\n  function isWheelKitMediaText(value) {\n    var text = String(value || '').toLowerCase();\n    return (\n      text.indexOf('thule-spring-reflect-wheel-kit-included') !== -1 ||\n      text.indexOf('reflect wheel') !== -1 ||\n      text.indexOf('reflective wheel') !== -1 ||\n      text.indexOf('wheel kit') !== -1 ||\n      text.indexOf('wheel-kit') !== -1 ||\n      text.indexOf('relfectors') !== -1 ||\n      text.indexOf('refelctors') !== -1\n    ) && text.indexOf('leg rest') === -1 && text.indexOf('leg-rest') === -1 && text.indexOf('legrest') === -1;\n  }\n\n  function elementLooksLikeWheelKit(node) {\n    if (!node) return false;\n    var image = node.querySelector && node.querySelector('img');\n    var link = node.querySelector && node.querySelector('a[href]');\n    return isWheelKitMediaText([\n      node.getAttribute && node.getAttribute('data-group'),\n      node.getAttribute && node.getAttribute('data-media-id'),\n      image && image.getAttribute('alt'),\n      image && image.getAttribute('src'),\n      image && image.getAttribute('srcset'),\n      image && image.currentSrc,\n      link && link.getAttribute('href')\n    ].join(' '));\n  }\n\n  function makeMediaElementShared(node) {\n    if (!node) return;\n    node.classList.remove('hide');\n    node.classList.remove('ck-color-hidden');\n    node.classList.remove('is-selected');\n    node.hidden = false;\n    node.style.removeProperty('display');\n    node.style.removeProperty('visibility');\n    node.style.removeProperty('pointer-events');\n    node.removeAttribute('aria-hidden');\n    node.removeAttribute('tabindex');\n  }\n\n  function setWheelKitImage(node) {\n    if (!node) return;\n    var link = node.querySelector && node.querySelector('a[href]');\n    if (link) {\n      link.setAttribute('href', THULE_WHEEL_KIT_IMAGE);\n      link.removeAttribute('data-group');\n    }\n\n    Array.prototype.forEach.call(node.querySelectorAll ? node.querySelectorAll('img') : [], function(image) {\n      image.setAttribute('alt', THULE_WHEEL_KIT_ALT);\n      image.setAttribute('src', displaySrc(THULE_WHEEL_KIT_IMAGE));\n      image.removeAttribute('srcset');\n      image.removeAttribute('data-srcset');\n      image.removeAttribute('data-src');\n      image.removeAttribute('data-group');\n    });\n  }\n\n  function ensureThuleSpringWheelKitSlide(container) {\n    if (!isThuleSpringMainListing()) return;\n\n    var slider = gallerySlider(container);\n    if (!slider) return;\n\n    var flkty = window.Flickity && window.Flickity.data(slider);\n    var slideParent = (flkty && flkty.slider) || slider.querySelector('.flickity-slider') || slider;\n    var existingSlide = Array.prototype.slice.call(slider.querySelectorAll('.product-main-slide')).find(elementLooksLikeWheelKit);\n    if (existingSlide) {\n      if (existingSlide.parentNode !== slideParent) {\n        slideParent.appendChild(existingSlide);\n      }\n      makeMediaElementShared(existingSlide);\n      setWheelKitImage(existingSlide);\n    } else {\n      var templateSlide = slider.querySelector('.product-main-slide.secondary-slide') || slider.querySelector('.product-main-slide');\n      if (templateSlide) {\n        var slide = templateSlide.cloneNode(true);\n        makeMediaElementShared(slide);\n        slide.classList.remove('starting-slide');\n        slide.classList.add('secondary-slide');\n        slide.classList.add('ck-shared-promo-slide');\n        slide.setAttribute('data-media-id', 'ck-thule-wheel-kit');\n        slide.setAttribute('data-index', String(slider.querySelectorAll('.product-main-slide').length));\n        setWheelKitImage(slide);\n        slideParent.appendChild(slide);\n      }\n    }\n\n    var rail = container.querySelector('[data-product-thumbs]');\n    var thumbWrap = rail && (rail.querySelector('.product__thumbs--scroller') || rail);\n    if (!thumbWrap) return;\n\n    var existingThumb = Array.prototype.slice.call(thumbWrap.querySelectorAll('.product__thumb-item')).find(elementLooksLikeWheelKit);\n    if (existingThumb) {\n      makeMediaElementShared(existingThumb);\n      setWheelKitImage(existingThumb);\n      return;\n    }\n\n    var templateThumb = thumbWrap.querySelector('.product__thumb-item');\n    if (!templateThumb) return;\n    var thumb = templateThumb.cloneNode(true);\n    makeMediaElementShared(thumb);\n    thumb.classList.add('ck-shared-promo-thumb');\n    thumb.removeAttribute('data-index');\n    setWheelKitImage(thumb);\n    thumbWrap.appendChild(thumb);\n  }\n\n  function shouldFilterMainSlides() {\n    return true;\n  }\n\n  function ensureThuleSpringDefaultVariant(container) {\n    if (!isThuleSpringMainListing() || container.__ckThuleSpringDefaulted) return;\n    if (window.location.search && /(?:[?&])variant=/.test(window.location.search)) return;\n\n    var blackInput = Array.prototype.slice.call(container.querySelectorAll('[data-variant-input]')).find(function(input) {\n      return input.value === 'Black';\n    });\n    if (!blackInput || blackInput.checked) {\n      container.__ckThuleSpringDefaulted = true;\n      return;\n    }\n\n    blackInput.checked = true;\n    var blackVariant = variantsFor(container).find(function(variant) {\n      return variant.option1 === 'Black' || variant.option2 === 'Black' || variant.option3 === 'Black';\n    });\n    var select = container.querySelector('[data-product-select]');\n    if (select && blackVariant) {\n      select.value = blackVariant.id;\n    }\n\n    container.__ckThuleSpringDefaulted = true;\n    blackInput.dispatchEvent(new Event('change', { bubbles: true }));\n  }\n\n  function gallerySlideParent(container) {\n    var slider = gallerySlider(container);\n    if (!slider || !window.Flickity) return null;\n\n    var flkty = window.Flickity.data(slider);\n    return (flkty && flkty.slider) || slider.querySelector('.flickity-slider');\n  }\n\n  function hiddenSlideDeck(container) {\n    var slider = gallerySlider(container);\n    if (!slider) return null;\n\n    if (!slider.__ckGalleryHiddenDeck) {\n      var deck = document.createElement('div');\n      deck.className = 'ck-gallery-hidden-deck';\n      deck.hidden = true;\n      slider.appendChild(deck);\n      slider.__ckGalleryHiddenDeck = deck;\n    }\n\n    return slider.__ckGalleryHiddenDeck;\n  }\n\n  function galleryMainSlides(container) {\n    var slider = gallerySlider(container);\n    var scope = slider || container;\n    return Array.prototype.slice.call(scope.querySelectorAll('.product-main-slide')).filter(function(slide) {\n      return !slide.closest('.ck-gallery-hidden-deck');\n    });\n  }\n\n  function orderedMainSlides(container) {\n    var slides = galleryMainSlides(container);\n    slides.forEach(function(slide, index) {\n      if (!slide.hasAttribute('data-ck-original-index')) {\n        slide.setAttribute('data-ck-original-index', String(index));\n      }\n    });\n\n    return slides.sort(function(a, b) {\n      return Number(a.getAttribute('data-ck-original-index') || 0) -\n        Number(b.getAttribute('data-ck-original-index') || 0);\n    });\n  }\n\n  function findVariantThumb(container, variant) {\n    var targetFile = cleanFile(variantImageSrc(variant));\n    if (!targetFile) return null;\n\n    var found = null;\n    container.querySelectorAll('.product__thumb').forEach(function(thumb) {\n      if (found) return;\n      if (cleanFile(thumb.getAttribute('href')) === targetFile) {\n        found = thumb;\n      }\n    });\n    return found;\n  }\n\n  function visibleSelectedSlide(container) {\n    var slides = orderedMainSlides(container).filter(function(slide) {\n      return slide.classList.contains('is-selected');\n    });\n    var visible = slides.find(function(slide) {\n      var rect = slide.getBoundingClientRect();\n      return rect.width > 20 && rect.height > 20;\n    });\n    return visible || slides[0] || orderedMainSlides(container)[0] || null;\n  }\n\n  function mediaColorFromElements(link, image) {\n    return colorToken([\n      link && link.getAttribute('data-group'),\n      image && image.getAttribute('data-group'),\n      closestGroup(link),\n      closestGroup(image),\n      image && image.getAttribute('alt'),\n      image && image.getAttribute('src'),\n      image && image.getAttribute('srcset'),\n      image && image.currentSrc,\n      link && link.getAttribute('href')\n    ].join(' '));\n  }\n\n  function syncColorThumbnails(container, variant) {\n    var selectedColor = variantColorToken(variant, container);\n    if (!selectedColor) return;\n\n    container.querySelectorAll('.product__thumb-item').forEach(function(item) {\n      var link = item.querySelector('.product__thumb');\n      var image = item.querySelector('img');\n      var mediaColor = mediaColorFromElements(link, image);\n      var mediaFile = cleanFile((link && link.getAttribute('href')) || (image && (image.currentSrc || image.src)));\n      var exactColorFile = thuleSpringFileMatchesColor(mediaFile, selectedColor);\n      var shouldHide = isJoolzAerPlusListing()\n        ? Boolean(mediaColor !== selectedColor && !exactColorFile)\n        : Boolean(mediaColor && mediaColor !== selectedColor && !exactColorFile);\n      item.classList.toggle('hide', shouldHide);\n      item.classList.toggle('ck-color-hidden', shouldHide);\n      if (shouldHide) {\n        item.style.setProperty('display', 'none', 'important');\n        item.setAttribute('aria-hidden', 'true');\n        item.hidden = true;\n      } else {\n        item.style.removeProperty('display');\n        item.removeAttribute('aria-hidden');\n        item.hidden = false;\n      }\n    });\n  }\n\n  function visibleThumbItems(container) {\n    return Array.prototype.slice.call(container.querySelectorAll('.product__thumb-item')).filter(function(item) {\n      return !item.hidden &&\n        !item.classList.contains('hide') &&\n        !item.classList.contains('ck-color-hidden') &&\n        item.style.display !== 'none';\n    });\n  }\n\n  function syncThumbRailState(container) {\n    var rail = container.querySelector('[data-product-thumbs]');\n    if (!rail) return;\n\n    var visibleCount = visibleThumbItems(container).length;\n    var isSingle = visibleCount <= 1;\n    rail.classList.toggle('ck-single-visible-thumb', isSingle);\n    rail.classList.toggle('ck-multiple-visible-thumbs', visibleCount > 1);\n    rail.setAttribute('data-ck-visible-thumbs', String(visibleCount));\n\n    rail.querySelectorAll('.product__thumb-arrow').forEach(function(arrow) {\n      arrow.hidden = isSingle;\n      if (isSingle) {\n        arrow.setAttribute('aria-hidden', 'true');\n      } else {\n        arrow.removeAttribute('aria-hidden');\n      }\n    });\n  }\n\n  function syncAerPlusVisibleThumbs(container, selectedColor) {\n    if (!isJoolzAerPlusListing() || !container || !selectedColor) return;\n\n    var style = document.getElementById('ck-aer-plus-thumb-visibility-style');\n    if (!style) {\n      style = document.createElement('style');\n      style.id = 'ck-aer-plus-thumb-visibility-style';\n      document.head.appendChild(style);\n    }\n    var group = 'color_' + selectedColor;\n    style.textContent = [\n      '[data-product-thumbs]{overflow:visible!important;}',\n      '[data-product-thumbs] .product__thumbs--scroller{height:auto!important;max-height:none!important;overflow:visible!important;transform:none!important;}',\n      '[data-product-thumbs] .product__thumb-item[data-group]{display:none!important;visibility:hidden!important;}',\n      '[data-product-thumbs] .product__thumb-item[data-group=\"' + group + '\"]{display:block!important;visibility:visible!important;position:relative!important;top:auto!important;left:auto!important;transform:none!important;opacity:1!important;margin-bottom:8px!important;}'\n    ].join('');\n\n    container.querySelectorAll('.product__thumb-item').forEach(function(item) {\n      var link = item.querySelector('.product__thumb');\n      var image = item.querySelector('img');\n      var groupColor = colorToken(item.getAttribute('data-group') || '');\n      var mediaColor = groupColor || mediaColorFromElements(link, image);\n      var shouldHide = mediaColor !== selectedColor;\n      item.classList.toggle('hide', shouldHide);\n      item.classList.toggle('ck-color-hidden', shouldHide);\n      if (shouldHide) {\n        item.style.setProperty('display', 'none', 'important');\n        item.setAttribute('aria-hidden', 'true');\n        item.hidden = true;\n      } else {\n        item.style.removeProperty('display');\n        item.style.removeProperty('visibility');\n        item.removeAttribute('aria-hidden');\n        item.hidden = false;\n      }\n    });\n\n    syncThumbRailState(container);\n    syncAerPlusCustomThumbs(container, selectedColor);\n  }\n\n  function aerPlusImageDataFromSlide(slide) {\n    if (!slide) return null;\n    var link = slide.querySelector('a[href]');\n    var image = slide.querySelector('img');\n    var src = (link && link.getAttribute('href')) || (image && (image.currentSrc || image.src)) || '';\n    if (!src) return null;\n    return {\n      src: displaySrc(src),\n      previewSrc: image && (image.currentSrc || image.src) || '',\n      alt: image && image.alt || ''\n    };\n  }\n\n  function syncAerPlusCustomThumbs(container, selectedColor) {\n    var rail = container.querySelector('[data-product-thumbs]');\n    if (!rail || !selectedColor) return;\n\n    var strip = rail.querySelector('.ck-aer-plus-custom-thumbs');\n    if (!strip) {\n      strip = document.createElement('div');\n      strip.className = 'ck-aer-plus-custom-thumbs';\n      rail.appendChild(strip);\n    }\n    rail.classList.add('ck-aer-plus-custom-thumb-rail');\n    rail.style.setProperty('position', 'relative', 'important');\n    rail.style.setProperty('overflow', 'visible', 'important');\n\n    var slides = aerPlusSlides(container).filter(function(slide) {\n      return slideColor(slide) === selectedColor;\n    });\n    var seen = {};\n    var imageItems = slides.map(aerPlusImageDataFromSlide).filter(function(imageData) {\n      if (!imageData || !imageData.src || seen[imageData.src]) return false;\n      seen[imageData.src] = true;\n      return true;\n    });\n\n    strip.innerHTML = '';\n    imageItems.forEach(function(imageData, index) {\n      var button = document.createElement('button');\n      button.type = 'button';\n      button.className = 'ck-aer-plus-custom-thumb' + (index === 0 ? ' is-active' : '');\n      button.setAttribute('aria-label', imageData.alt || selectedColor);\n      var image = document.createElement('img');\n      image.src = imageData.previewSrc || imageData.src;\n      image.alt = imageData.alt || selectedColor;\n      image.loading = 'eager';\n      image.decoding = 'async';\n      button.appendChild(image);\n      button.addEventListener('click', function() {\n        container.__ckAerPlusManualImage = {\n          color: selectedColor,\n          imageData: imageData\n        };\n        strip.querySelectorAll('.ck-aer-plus-custom-thumb').forEach(function(item) {\n          item.classList.toggle('is-active', item === button);\n        });\n        syncAerPlusFallbackImage(container);\n      });\n      strip.appendChild(button);\n    });\n  }\n\n  function lockGalleryHeight(container, selectedColor) {\n    var slider = container.querySelector('[data-product-photos]');\n    if (!slider) return;\n\n    var viewport = slider.querySelector('.flickity-viewport');\n    var rect = viewport ? viewport.getBoundingClientRect() : slider.getBoundingClientRect();\n    var width = Math.round(rect.width || slider.getBoundingClientRect().width || 0);\n    var height = Math.round(rect.height || 0);\n\n    if (height < 120) {\n      var selected = slider.querySelector('.product-main-slide.is-selected img') || slider.querySelector('.product-main-slide img');\n      if (selected) {\n        height = Math.round(selected.getBoundingClientRect().height || 0);\n      }\n    }\n\n    orderedMainSlides(container).forEach(function(slide) {\n      var mediaColor = slideColor(slide);\n      if (selectedColor && mediaColor && mediaColor !== selectedColor) return;\n\n      var slideRect = slide.getBoundingClientRect();\n      if (slideRect.height > height) {\n        height = Math.round(slideRect.height);\n      }\n\n      var image = slide.querySelector('img');\n      if (!image) return;\n\n      var imageRect = image.getBoundingClientRect();\n      if (imageRect.height > height) {\n        height = Math.round(imageRect.height);\n      }\n\n      if (width >= 120 && image.naturalWidth && image.naturalHeight) {\n        var naturalHeight = Math.round(width * image.naturalHeight / image.naturalWidth);\n        if (naturalHeight > height) {\n          height = naturalHeight;\n        }\n      }\n    });\n\n    var current = parseInt(slider.style.getPropertyValue('--ck-gallery-min-height'), 10);\n    if (current && current > height) {\n      height = current;\n    }\n\n    if (height < 120 && isVistaV2Listing()) {\n      height = window.innerWidth && window.innerWidth < 769 ? 440 : 680;\n    }\n\n    if (height >= 120) {\n      slider.classList.add('ck-gallery-height-locked');\n      slider.style.setProperty('--ck-gallery-min-height', height + 'px');\n    }\n  }\n\n  var CRUZ_V2_PATH = '/products/uppababy-cruz-v2-stroller';\n  var CRUZ_V3_PATH = '/products/uppababy-cruz-v3-stroller';\n  var MINU_V3_PATH = '/products/uppababy-minu-v3-compact-stroller';\n  var VISTA_V2_PATH = '/products/uppababy-vista-v2-stroller-bassinet';\n  var DOT_PRODUCT_PATH = '/products/joolz-dot-travel-stroller';\n  var AER_PLUS_PRODUCT_PATH = '/products/joolz-aer-lightweight-compact-stroller';\n  var AER_PLUS_PRODUCT_PATH_NEW = '/products/joolz-aer-plus-lightweight-compact-stroller';\n  var AER_PLUS_PRODUCT_PATH_FINAL = '/products/joolz-aer-plus-stroller';\n  var AER_PLUS_PRODUCT_PATH_AER2 = '/products/joolz-aer2-lightweight-compact-stroller';\n  var AER_PLUS_FALLBACK_COLORS = {\n    'delightful-grey': true,\n    'forest-green': true,\n    'hazel-brown': true,\n    'lovely-taupe': true,\n    'mighty-green': true,\n    'navy-blue': true,\n    'ocean-blue': true,\n    'pebble-gray': true,\n    'pebble-grey': true,\n    'sage-green': true,\n    'sandy-taupe': true,\n    'space-black': true,\n    'stone-grey': true,\n    'refined-black': true,\n    'chic-renaissance-black': true\n  };\n\n  function isCruzV2Listing() {\n    return window.location &&\n      window.location.pathname.replace(/\\/$/, '') === CRUZ_V2_PATH;\n  }\n\n  function isCruzV3Listing() {\n    return window.location &&\n      window.location.pathname.replace(/\\/$/, '') === CRUZ_V3_PATH;\n  }\n\n  function isCruzFamilyListing() {\n    return isCruzV2Listing() || isCruzV3Listing();\n  }\n\n  function isCruzManualFallbackListing() {\n    return isCruzFamilyListing() || isMinuV3Listing();\n  }\n\n  function isMinuV3Listing() {\n    return window.location &&\n      window.location.pathname.replace(/\\/$/, '') === MINU_V3_PATH;\n  }\n\n  function isVistaV2Listing() {\n    return window.location &&\n      window.location.pathname.replace(/\\/$/, '') === VISTA_V2_PATH;\n  }\n\n  function isJoolzDotListing() {\n    return window.location &&\n      window.location.pathname.replace(/\\/$/, '') === DOT_PRODUCT_PATH;\n  }\n\n  function isJoolzAerPlusListing() {\n    if (!window.location) return false;\n    var path = window.location.pathname.replace(/\\/$/, '');\n    return path === AER_PLUS_PRODUCT_PATH ||\n      path === AER_PLUS_PRODUCT_PATH_NEW ||\n      path === AER_PLUS_PRODUCT_PATH_FINAL ||\n      path === AER_PLUS_PRODUCT_PATH_AER2;\n  }\n\n  function aerPlusNeedsFallbackColor(selectedColor) {\n    return Boolean(AER_PLUS_FALLBACK_COLORS[String(selectedColor || '').toLowerCase()]);\n  }\n\n  function cruzFileMatchesColor(file, selectedColor) {\n    var normalized = cleanFile(file).toLowerCase();\n    var color = String(selectedColor || '').toLowerCase();\n    if (!normalized || !color) return false;\n    if (color === 'jake') return normalized.indexOf('jake-black-carbon') !== -1;\n    if (color === 'anthony') return normalized.indexOf('anthony-white-and-grey') !== -1;\n    if (color === 'greyson') return normalized.indexOf('greyson-charcoal-melange') !== -1;\n    if (color === 'lucy') return normalized.indexOf('lucy-rosewood-melange') !== -1;\n    return false;\n  }\n\n  function cruzV3FileMatchesColor(file, selectedColor) {\n    var normalized = cleanFile(file).toLowerCase();\n    var color = String(selectedColor || '').toLowerCase();\n    if (!normalized || !color) return false;\n    if (color === 'ada') return normalized.indexOf('0403-crz-ada') !== -1 || normalized.indexOf('0403-crz-na-ada') !== -1;\n    if (color === 'callum') return normalized.indexOf('0403-crz-clm') !== -1 || normalized.indexOf('0403-crz-na-clm') !== -1;\n    if (color === 'declan') return normalized.indexOf('0403-crz-dcl') !== -1 || normalized.indexOf('0403-crz-na-dcl') !== -1;\n    if (color === 'evelyn') return normalized.indexOf('0403-crz-eve') !== -1 || normalized.indexOf('0403-crz-na-eve') !== -1 || normalized.indexOf('71rxlz5flel') !== -1;\n    if (color === 'greyson') return normalized.indexOf('0403-crz-gry') !== -1 || normalized.indexOf('0403-crz-na-gry') !== -1;\n    if (color === 'jake') return normalized.indexOf('0403-crz-jke') !== -1 || normalized.indexOf('0403-crz-na-jke') !== -1;\n    if (color === 'savannah') return normalized.indexOf('0403-crz-sav') !== -1 || normalized.indexOf('0403-crz-na-sav') !== -1;\n    return false;\n  }\n\n  function minuFileMatchesColor(file, selectedColor) {\n    var normalized = cleanFile(file).toLowerCase();\n    var color = String(selectedColor || '').toLowerCase();\n    if (!normalized || !color) return false;\n    if (color === 'dillan') return normalized.indexOf('0803-min-dil') !== -1 || normalized.indexOf('0803-min-na-dil') !== -1;\n    if (color === 'evelyn') return normalized.indexOf('0803-min-eve') !== -1;\n    if (color === 'greyson') return normalized.indexOf('0803-min-gry') !== -1;\n    if (color === 'jake') return normalized.indexOf('0803-min-jke') !== -1 || normalized.indexOf('0803-min-na-jke') !== -1;\n    if (color === 'savannah') return normalized.indexOf('0803-min-sav') !== -1;\n    return false;\n  }\n\n  function hideSlide(slide) {\n    if (!slide) return;\n    slide.classList.add('ck-color-hidden');\n    slide.style.setProperty('display', 'none', 'important');\n    slide.style.setProperty('visibility', 'hidden', 'important');\n    slide.style.setProperty('pointer-events', 'none', 'important');\n    slide.setAttribute('aria-hidden', 'true');\n    slide.setAttribute('tabindex', '-1');\n  }\n\n  function dotTrackedSlides(container) {\n    var slider = gallerySlider(container);\n    if (!slider) return [];\n\n    var stored = slider.__ckDotTrackedSlides || [];\n    var seen = new Set(stored);\n    Array.prototype.slice.call(slider.querySelectorAll('.product-main-slide')).forEach(function(slide) {\n      if (seen.has(slide)) return;\n      if (!slide.hasAttribute('data-ck-original-index')) {\n        slide.setAttribute('data-ck-original-index', String(stored.length));\n      }\n      stored.push(slide);\n      seen.add(slide);\n    });\n\n    stored = stored.filter(function(slide) {\n      return slide && slider.contains(slide);\n    });\n    stored.sort(function(a, b) {\n      return Number(a.getAttribute('data-ck-original-index') || 0) -\n        Number(b.getAttribute('data-ck-original-index') || 0);\n    });\n    slider.__ckDotTrackedSlides = stored;\n    return stored.slice();\n  }\n\n  function primeSlideImage(slide) {\n    if (!slide) return;\n    var image = slide.querySelector('img');\n    if (!image) return;\n    image.setAttribute('loading', 'eager');\n    var link = slide.querySelector('a[href]');\n    var href = link && link.getAttribute('href');\n    var current = image.getAttribute('src') || image.currentSrc || '';\n    if (href && (!current || current.indexOf('data:image') === 0)) {\n      image.src = displaySrc(href);\n    }\n  }\n\n  function aerPlusSlides(container) {\n    var slider = gallerySlider(container);\n    if (!slider) return [];\n\n    var slides = Array.prototype.slice.call(slider.querySelectorAll('.product-main-slide'));\n    slides.forEach(function(slide, index) {\n      if (!slide.hasAttribute('data-ck-original-index')) {\n        slide.setAttribute('data-ck-original-index', String(index));\n      }\n    });\n\n    return slides.sort(function(a, b) {\n      return Number(a.getAttribute('data-ck-original-index') || 0) -\n        Number(b.getAttribute('data-ck-original-index') || 0);\n    });\n  }\n\n  function syncDotSlides(container, selectedColor) {\n    if (!isJoolzDotListing() || !selectedColor) return false;\n\n    var slider = gallerySlider(container);\n    if (!slider) return false;\n\n    var slides = orderedMainSlides(container);\n    var matches = slides.filter(function(slide) {\n      return slideColor(slide) === selectedColor;\n    });\n    if (!matches.length) return false;\n\n    slides.forEach(function(slide) {\n      if (matches.indexOf(slide) !== -1) {\n        revealSlide(slide);\n        primeSlideImage(slide);\n      } else if (slideColor(slide)) {\n        hideSlide(slide);\n      }\n    });\n\n    var target = selectedUsableSlide(container, selectedColor) || matches[0];\n    syncSelectedSlideClass(container, selectedColor, target);\n    syncActiveThumbForSlide(container, target);\n\n    var flkty = window.Flickity && window.Flickity.data(slider);\n    if (flkty) {\n      if (typeof flkty.reloadCells === 'function') flkty.reloadCells();\n      if (typeof flkty.selectCell === 'function') flkty.selectCell(target, true, true);\n      if (typeof flkty.resize === 'function') flkty.resize();\n      [80, 220].forEach(function(delay) {\n        window.setTimeout(function() {\n          vistaBundleRevealElement(target);\n          if (typeof flkty.reloadCells === 'function') flkty.reloadCells();\n          if (typeof flkty.selectCell === 'function') flkty.selectCell(target, true, true);\n          if (typeof flkty.resize === 'function') flkty.resize();\n        }, delay);\n      });\n    } else {\n      selectSlide(container, target, true);\n    }\n\n    return true;\n  }\n\n  function syncAerPlusSlides(container, selectedColor) {\n    if (!isJoolzAerPlusListing() || !selectedColor) return false;\n\n    var slider = gallerySlider(container);\n    if (!slider) return false;\n\n    var slideParent = gallerySlideParent(container) || slider;\n    var deck = hiddenSlideDeck(container);\n    var slides = aerPlusSlides(container);\n    var matches = slides.filter(function(slide) {\n      return slideColor(slide) === selectedColor;\n    });\n    if (!matches.length) return false;\n\n    slides.forEach(function(slide) {\n      if (matches.indexOf(slide) !== -1) {\n        if (slide.parentNode !== slideParent) {\n          slideParent.appendChild(slide);\n        }\n        revealSlide(slide);\n        primeSlideImage(slide);\n      } else {\n        if (deck && slide.parentNode !== deck) {\n          deck.appendChild(slide);\n        }\n        hideSlide(slide);\n      }\n    });\n    matches.forEach(function(slide) {\n      if (slide.parentNode === slideParent) {\n        slideParent.appendChild(slide);\n      }\n    });\n\n    var target = matches[0];\n    syncSelectedSlideClass(container, selectedColor, target);\n    syncActiveThumbForSlide(container, target);\n\n    var flkty = window.Flickity && window.Flickity.data(slider);\n    if (flkty) {\n      if (typeof flkty.reloadCells === 'function') flkty.reloadCells();\n      selectAerPlusFlickityTarget(flkty, target);\n      if (typeof flkty.resize === 'function') flkty.resize();\n      window.setTimeout(function() {\n        revealSlide(target);\n        if (typeof flkty.reloadCells === 'function') flkty.reloadCells();\n        selectAerPlusFlickityTarget(flkty, target);\n        if (typeof flkty.resize === 'function') flkty.resize();\n        syncSelectedSlideClass(container, selectedColor, target);\n      }, 80);\n    } else {\n      selectSlide(container, target, true);\n    }\n\n    return true;\n  }\n\n  function selectAerPlusFlickityTarget(flkty, target) {\n    if (!flkty || !target) return false;\n\n    var targetIndex = -1;\n    if (flkty.cells && flkty.cells.length) {\n      for (var i = 0; i < flkty.cells.length; i += 1) {\n        if (flkty.cells[i] && flkty.cells[i].element === target) {\n          targetIndex = i;\n          break;\n        }\n      }\n    }\n\n    if (targetIndex >= 0 && typeof flkty.select === 'function') {\n      flkty.select(targetIndex, true, true);\n      return true;\n    }\n\n    if (typeof flkty.selectCell === 'function') {\n      flkty.selectCell(target, true, true);\n      return true;\n    }\n\n    return false;\n  }\n\n  function stabilizeAerPlusGallery(container, selectedColor) {\n    if (!isJoolzAerPlusListing() || !container) return;\n    selectedColor = selectedColor || aerPlusSelectedColor(container);\n    if (!selectedColor) return;\n\n    if (syncAerPlusSlides(container, selectedColor)) {\n      syncAerPlusVisibleThumbs(container, selectedColor);\n      syncAerPlusFallbackImage(container);\n      syncThumbRailState(container);\n    }\n  }\n\n  function scheduleAerPlusSlideStabilize(container, selectedColor) {\n    if (!isJoolzAerPlusListing() || !container) return;\n    [0, 80, 220, 520, 900, 1500, 2400, 3400].forEach(function(delay) {\n      window.setTimeout(function() {\n        stabilizeAerPlusGallery(container, selectedColor);\n      }, delay);\n    });\n  }\n\n  function cruzSlidesForColor(container, selectedColor) {\n    if (!isCruzFamilyListing() || !selectedColor) return [];\n    var slides = orderedMainSlides(container);\n    var matches = slides.filter(function(slide) {\n      return isCruzV3Listing()\n        ? cruzV3FileMatchesColor(slideFile(slide), selectedColor)\n        : cruzFileMatchesColor(slideFile(slide), selectedColor);\n    });\n    if (!matches.length && isCruzV2Listing() && selectedColor === 'jake') {\n      matches = slides.slice(0, 7);\n    }\n    if (!matches.length) {\n      matches = slides.slice(0, 1);\n    }\n    return matches;\n  }\n\n  function minuSlidesForColor(container, selectedColor) {\n    if (!isMinuV3Listing() || !selectedColor) return [];\n    var slides = orderedMainSlides(container);\n    var matches = slides.filter(function(slide) {\n      return minuFileMatchesColor(slideFile(slide), selectedColor);\n    });\n    if (!matches.length) {\n      matches = slides.slice(0, 1);\n    }\n    return matches;\n  }\n\n  function currentCruzColor(container) {\n    if (!isCruzFamilyListing()) return '';\n    var checked = container.querySelector('[data-variant-input]:checked, input[type=\"radio\"][name=\"Color\"]:checked');\n    var value = checked && checked.value ? checked.value : '';\n    if (!value) {\n      var select = container.querySelector('select[name=\"id\"]');\n      var option = select && select.options ? select.options[select.selectedIndex] : null;\n      value = option ? option.textContent : '';\n    }\n    return colorToken(value);\n  }\n\n  function currentMinuColor(container) {\n    if (!isMinuV3Listing()) return '';\n    var checked = container.querySelector('[data-variant-input]:checked, input[type=\"radio\"][name=\"Color\"]:checked');\n    var value = checked && checked.value ? checked.value : '';\n    if (!value) {\n      var select = container.querySelector('select[name=\"id\"]');\n      var option = select && select.options ? select.options[select.selectedIndex] : null;\n      value = option ? option.textContent : '';\n    }\n    return colorToken(value);\n  }\n\n  function syncCruzIndicator(container, selectedColor) {\n    var indicator = ensureGalleryIndicator(container);\n    if (!indicator) return;\n\n    var slides = isMinuV3Listing() ? minuSlidesForColor(container, selectedColor) : cruzSlidesForColor(container, selectedColor);\n    var count = slides.length;\n    if (!count) {\n      indicator.pill.hidden = true;\n      indicator.dots.hidden = true;\n      return;\n    }\n\n    var active = activeSlide(container);\n    var index = slides.indexOf(active);\n    if (container.__ckCruzManualColor === selectedColor &&\n      typeof container.__ckCruzManualIndex === 'number' &&\n      container.__ckCruzManualIndex >= 0 &&\n      container.__ckCruzManualIndex < slides.length) {\n      index = container.__ckCruzManualIndex;\n    }\n    if (index === -1) index = 0;\n\n    indicator.pill.hidden = count <= 1;\n    indicator.pill.textContent = String(index + 1) + ' / ' + String(count);\n    indicator.dots.hidden = count <= 1;\n    indicator.dots.innerHTML = '';\n    slides.forEach(function(_, dotIndex) {\n      var dot = document.createElement('span');\n      dot.className = 'ck-gallery-dot' + (dotIndex === index ? ' is-active' : '');\n      indicator.dots.appendChild(dot);\n    });\n  }\n\n  function cruzImageDataFromSlide(slide) {\n    if (!slide) return null;\n    var link = slide.querySelector('a[href]');\n    var image = slide.querySelector('img');\n    var src = (link && link.getAttribute('href')) ||\n      (image && (image.currentSrc || image.src || image.getAttribute('data-src'))) ||\n      '';\n    if (!src) return null;\n    return {\n      src: displaySrc(src),\n      file: cleanFile(src),\n      alt: (image && image.alt) || (link && link.getAttribute('aria-label')) || ''\n    };\n  }\n\n  function removeCruzFallbackImage(container) {\n    var frame = container && (container.querySelector('.product__main-photos') || gallerySlider(container));\n    if (!frame) return;\n    frame.querySelectorAll('.ck-cruz-v2-fallback-main, .ck-cruz-v3-fallback-main, .ck-minu-v3-fallback-main').forEach(function(image) {\n      if (image.parentNode) image.parentNode.removeChild(image);\n    });\n    frame.classList.remove('ck-cruz-v2-fallback-frame');\n    frame.classList.remove('ck-cruz-v3-fallback-frame');\n    frame.classList.remove('ck-minu-v3-fallback-frame');\n    frame.style.removeProperty('--ck-cruz-v2-gallery-min-height');\n  }\n\n  function showCruzFallbackImage(container, targetSlide, selectedColor, targetIndex) {\n    var isManualFallbackProduct = isCruzManualFallbackListing();\n    window.__ckCruzSwipeDebug = window.__ckCruzSwipeDebug || {};\n    window.__ckCruzSwipeDebug.showAttempt = {\n      isCruz: isCruzV2Listing(),\n      isCruzV3: isCruzV3Listing(),\n      isMinu: isMinuV3Listing(),\n      hasContainer: Boolean(container),\n      hasTarget: Boolean(targetSlide),\n      selectedColor: selectedColor || '',\n      targetIndex: targetIndex\n    };\n    if (!isManualFallbackProduct || !container || !targetSlide || !selectedColor) {\n      window.__ckCruzSwipeDebug.showFail = 'missing-required-input';\n      return false;\n    }\n    var imageData = cruzImageDataFromSlide(targetSlide);\n    window.__ckCruzSwipeDebug.showImageData = imageData || null;\n    if (!imageData || !imageData.src || !imageData.file) {\n      window.__ckCruzSwipeDebug.showFail = 'missing-image-data';\n      return false;\n    }\n\n    var frame = container.querySelector('.product__main-photos') || gallerySlider(container);\n    if (!frame) {\n      window.__ckCruzSwipeDebug.showFail = 'missing-frame';\n      return false;\n    }\n    var rect = frame.getBoundingClientRect ? frame.getBoundingClientRect() : null;\n    var height = Math.round((rect && rect.height) || frame.offsetHeight || 0);\n    if (height < 240) {\n      var width = Math.round((rect && rect.width) || frame.offsetWidth || window.innerWidth || 390);\n      height = Math.max(320, Math.round(width * 1.1));\n    }\n\n    var fallbackFrameClass = isMinuV3Listing()\n      ? 'ck-minu-v3-fallback-frame'\n      : (isCruzV3Listing() ? 'ck-cruz-v3-fallback-frame' : 'ck-cruz-v2-fallback-frame');\n    var fallbackImageClass = isMinuV3Listing()\n      ? 'ck-minu-v3-fallback-main'\n      : (isCruzV3Listing() ? 'ck-cruz-v3-fallback-main' : 'ck-cruz-v2-fallback-main');\n    frame.classList.add(fallbackFrameClass);\n    frame.style.position = frame.style.position || 'relative';\n    frame.style.setProperty('--ck-cruz-v2-gallery-min-height', height + 'px');\n    frame.style.minHeight = height + 'px';\n\n    var image = frame.querySelector('.' + fallbackImageClass);\n    if (!image) {\n      image = document.createElement('img');\n      image.className = fallbackImageClass;\n      image.loading = 'eager';\n      image.decoding = 'async';\n      image.style.position = 'absolute';\n      image.style.left = '0';\n      image.style.top = '0';\n      image.style.width = '100%';\n      image.style.height = '100%';\n      image.style.objectFit = 'contain';\n      image.style.background = '#fff';\n      image.style.zIndex = '8';\n      image.style.pointerEvents = 'none';\n      frame.appendChild(image);\n    }\n    if (image.src !== imageData.src) image.src = imageData.src;\n    if (imageData.alt) image.alt = imageData.alt;\n\n    container.__ckCruzManualColor = selectedColor;\n    container.__ckCruzManualFile = imageData.file;\n    container.__ckCruzManualIndex = targetIndex;\n    container.__ckCruzManualAt = Date.now();\n    syncActiveThumbForSlide(container, targetSlide);\n    syncCruzIndicator(container, selectedColor);\n    scheduleCruzManualIndicator(container, selectedColor);\n\n    window.__ckCruzSwipeDebug.visibleSet = {\n      color: selectedColor,\n      index: targetIndex,\n      file: imageData.file,\n      src: imageData.src\n    };\n    return true;\n  }\n\n  function scheduleCruzManualIndicator(container, selectedColor) {\n    if (!isCruzManualFallbackListing() || !container || !selectedColor) return;\n    [0, 80, 180, 360, 700, 1200, 1900, 2800, 3800, 5200, 7200].forEach(function(delay) {\n      window.setTimeout(function() {\n        if (container.__ckCruzManualColor === selectedColor) {\n          syncCruzIndicator(container, selectedColor);\n        }\n      }, delay);\n    });\n  }\n\n  function syncCruzSlides(container, selectedColor) {\n    selectedColor = selectedColor || (isMinuV3Listing() ? currentMinuColor(container) : currentCruzColor(container));\n    var matches = isMinuV3Listing() ? minuSlidesForColor(container, selectedColor) : cruzSlidesForColor(container, selectedColor);\n    if (!matches.length) return false;\n\n    if (container.__ckCruzManualColor && container.__ckCruzManualColor !== selectedColor) {\n      container.__ckCruzManualColor = '';\n      container.__ckCruzManualFile = '';\n      container.__ckCruzManualIndex = -1;\n      removeCruzFallbackImage(container);\n    }\n\n    orderedMainSlides(container).forEach(function(slide) {\n      if (matches.indexOf(slide) === -1) {\n        hideSlide(slide);\n      } else {\n        revealSlide(slide);\n      }\n    });\n\n    syncSelectedSlideClass(container, selectedColor, selectedUsableSlide(container, selectedColor) || matches[0]);\n    return true;\n  }\n\n  function stabilizeCruzGallery(container, selectedColor) {\n    selectedColor = selectedColor || (isMinuV3Listing() ? currentMinuColor(container) : currentCruzColor(container));\n    if (!syncCruzSlides(container, selectedColor)) return;\n\n    if (container.__ckVariantGalleryObserver) {\n      container.__ckVariantGalleryObserver.disconnect();\n      container.__ckVariantGalleryObserver = null;\n    }\n    window.clearTimeout(container.__ckVariantGalleryObserverTimer);\n\n    var slider = container.querySelector('[data-product-photos]');\n    var flkty = slider && window.Flickity && window.Flickity.data(slider);\n    var matches = isMinuV3Listing() ? minuSlidesForColor(container, selectedColor) : cruzSlidesForColor(container, selectedColor);\n    var target = selectedUsableSlide(container, selectedColor) || matches[0] || null;\n\n    if (flkty) {\n      if (typeof flkty.reloadCells === 'function') flkty.reloadCells();\n      if (target && typeof flkty.selectCell === 'function') flkty.selectCell(target, true, true);\n      if (typeof flkty.resize === 'function') flkty.resize();\n    }\n\n    syncCruzIndicator(container, selectedColor);\n  }\n\n  function installCruzFlickityManualGuard(container) {\n    if (!isCruzManualFallbackListing() || !container) return;\n    var slider = gallerySlider(container);\n    var flkty = slider && window.Flickity && window.Flickity.data(slider);\n    if (!slider || !flkty) return;\n    if (slider.__ckCruzFlickityManualGuardAttached && slider.__ckCruzFlickityManualGuardInstance === flkty) return;\n    slider.__ckCruzFlickityManualGuardAttached = true;\n    slider.__ckCruzFlickityManualGuardInstance = flkty;\n    window.__ckCruzSwipeDebug = window.__ckCruzSwipeDebug || {};\n    window.__ckCruzSwipeDebug.guardAttached = true;\n\n    var rememberSelection = function() {\n      var selectedColor = isMinuV3Listing() ? currentMinuColor(container) : currentCruzColor(container);\n      if (!selectedColor) return;\n      var slides = isMinuV3Listing() ? minuSlidesForColor(container, selectedColor) : cruzSlidesForColor(container, selectedColor);\n      if (slides.length < 2) return;\n      var selected = flkty.selectedElement || activeSlide(container);\n      var index = slides.indexOf(selected);\n      if (index <= 0) return;\n\n      showCruzFallbackImage(container, selected, selectedColor, index);\n      [120, 420, 900, 1600, 2600, 4200].forEach(function(delay) {\n        window.setTimeout(function() {\n          if (container.__ckCruzManualColor !== selectedColor || container.__ckCruzManualIndex !== index) return;\n          showCruzFallbackImage(container, selected, selectedColor, index);\n        }, delay);\n      });\n    };\n\n    if (typeof flkty.on === 'function') {\n      flkty.on('change', rememberSelection);\n      flkty.on('select', rememberSelection);\n    }\n\n    if (!flkty.__ckCruzManualWrapped) {\n      flkty.__ckCruzManualWrapped = true;\n      var originalNext = flkty.next;\n      var originalSelect = flkty.select;\n      var originalSelectCell = flkty.selectCell;\n      var scheduleRemember = function() {\n        window.setTimeout(rememberSelection, 0);\n        window.setTimeout(rememberSelection, 90);\n        window.setTimeout(rememberSelection, 240);\n      };\n      if (typeof originalNext === 'function') {\n        flkty.next = function() {\n          var result = originalNext.apply(this, arguments);\n          scheduleRemember();\n          return result;\n        };\n      }\n      if (typeof originalSelect === 'function') {\n        flkty.select = function() {\n          var result = originalSelect.apply(this, arguments);\n          scheduleRemember();\n          return result;\n        };\n      }\n      if (typeof originalSelectCell === 'function') {\n        flkty.selectCell = function() {\n          var result = originalSelectCell.apply(this, arguments);\n          scheduleRemember();\n          return result;\n        };\n      }\n    }\n  }\n\n  function scheduleCruzStabilize(container) {\n    if (!isCruzManualFallbackListing() || !container) return;\n    installCruzFlickityManualGuard(container);\n    [40, 220, 620, 1200, 2100, 3200].forEach(function(delay) {\n      window.setTimeout(function() {\n        installCruzFlickityManualGuard(container);\n        stabilizeCruzGallery(container);\n      }, delay);\n    });\n  }\n\n  function variantIdFromUrl() {\n    if (!window.location) return '';\n    var match = window.location.search.match(/[?&]variant=(\\d+)/);\n    return match ? match[1] : '';\n  }\n\n  function variantById(container, id) {\n    if (!id) return null;\n    return variantsFor(container).find(function(variant) {\n      return String(variant.id) === String(id);\n    }) || null;\n  }\n\n  function vistaV2RememberVariant(container, variant) {\n    if (!isVistaV2Listing() || !container || !variant) return;\n    container.__ckVistaV2ManualVariantId = variant.id;\n    container.__ckVistaV2ManualVariantAt = Date.now();\n  }\n\n  function vistaV2AuthoritativeVariant(container) {\n    if (!isVistaV2Listing() || !container) return null;\n    if (container.__ckVistaV2ManualVariantId && Date.now() - (container.__ckVistaV2ManualVariantAt || 0) < 2600) {\n      return variantById(container, container.__ckVistaV2ManualVariantId);\n    }\n    return variantById(container, variantIdFromUrl()) || selectedVariant(container);\n  }\n\n  function currentVistaV2Color(container) {\n    if (!isVistaV2Listing()) return '';\n    var variant = vistaV2AuthoritativeVariant(container);\n    if (variant) return colorToken(variant.option1 || variant.title || '');\n    var checked = container.querySelector('[data-variant-input]:checked, input[type=\"radio\"][name=\"Color\"]:checked, .variant__input--color-swatch:checked');\n    var value = checked && checked.value ? checked.value : '';\n    if (!value) {\n      var select = container.querySelector('select[name=\"id\"]');\n      var option = select && select.options ? select.options[select.selectedIndex] : null;\n      value = option ? option.textContent : '';\n    }\n    return colorToken(value);\n  }\n\n  var VISTA_V2_STATIC_IMAGES = {\n    'jake': [\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/products/uppababy-2020-vista-v2-stroller-jake-black-carbon-black-leather-42.jpg?v=1575341502', 'UPPAbaby Vista V2 Stroller & Bassinet - Jake'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/products/uppababy-2020-vista-v2-stroller-jake-black-carbon-black-leather-86_2.jpg?v=1653506393', 'UPPAbaby Vista V2 Stroller & Bassinet - Jake'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/products/uppababy-2020-vista-v2-stroller-jake-black-carbon-black-leather-85_2.jpg?v=1653506393', 'UPPAbaby Vista V2 Stroller & Bassinet - Jake'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/products/uppababy-2020-vista-v2-stroller-jake-black-carbon-black-leather-90_2.jpg?v=1653506394', 'UPPAbaby Vista V2 Stroller & Bassinet - Jake'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/products/uppababy-2020-vista-v2-stroller-jake-black-carbon-black-leather-87_2.jpg?v=1653506393', 'UPPAbaby Vista V2 Stroller & Bassinet - Jake'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/products/uppababy-2020-vista-v2-stroller-jake-black-carbon-black-leather-88_2.jpg?v=1653506393', 'UPPAbaby Vista V2 Stroller & Bassinet - Jake'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/products/uppababy-2020-vista-v2-stroller-jake-black-carbon-black-leather-89_2.jpg?v=1653506393', 'UPPAbaby Vista V2 Stroller & Bassinet - Jake']\n    ],\n    'greyson': [\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-greyson-charcoal-melange-carbon-saddle-leather-17.jpg?v=1782441520', 'UPPAbaby Vista V2 Stroller & Bassinet - Greyson'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-greyson-charcoal-melange-carbon-saddle-leather-18_da015e5f-10f7-49fe-96b4-532c8ef8d3c9.jpg?v=1782483471', 'UPPAbaby Vista V2 Stroller & Bassinet - Greyson'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-greyson-charcoal-melange-carbon-saddle-leather-19.jpg?v=1782483473', 'UPPAbaby Vista V2 Stroller & Bassinet - Greyson'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-greyson-charcoal-melange-carbon-saddle-leather-20_4d9cc292-f39e-46c0-9175-5f96a9df6ace.jpg?v=1782483475', 'UPPAbaby Vista V2 Stroller & Bassinet - Greyson'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-greyson-charcoal-melange-carbon-saddle-leather-21_9601a96a-632f-4e57-87ca-a6b5e7d1eb7b.jpg?v=1782483477', 'UPPAbaby Vista V2 Stroller & Bassinet - Greyson'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-greyson-charcoal-melange-carbon-saddle-leather-22_f71879ab-bd0d-43c1-94fb-7599c8f91801.jpg?v=1782483480', 'UPPAbaby Vista V2 Stroller & Bassinet - Greyson'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-greyson-charcoal-melange-carbon-saddle-leather-23.jpg?v=1782483482', 'UPPAbaby Vista V2 Stroller & Bassinet - Greyson']\n    ],\n    'gwen': [\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-gwen-green-melange-carbon-saddle-leather-13.jpg?v=1782441522', 'UPPAbaby Vista V2 Stroller & Bassinet - Gwen'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-gwen-green-melange-carbon-saddle-leather-7.jpg?v=1782483485', 'UPPAbaby Vista V2 Stroller & Bassinet - Gwen'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-gwen-green-melange-carbon-saddle-leather-8.jpg?v=1782483487', 'UPPAbaby Vista V2 Stroller & Bassinet - Gwen'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-gwen-green-melange-carbon-saddle-leather-9.jpg?v=1782483489', 'UPPAbaby Vista V2 Stroller & Bassinet - Gwen'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-gwen-green-melange-carbon-saddle-leather-11.jpg?v=1782483491', 'UPPAbaby Vista V2 Stroller & Bassinet - Gwen'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-gwen-green-melange-carbon-saddle-leather-12.jpg?v=1782483493', 'UPPAbaby Vista V2 Stroller & Bassinet - Gwen'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-gwen-green-melange-carbon-saddle-leather-10.jpg?v=1782483496', 'UPPAbaby Vista V2 Stroller & Bassinet - Gwen']\n    ],\n    'noa': [\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-noa-navy-carbon-saddle-leather-6_cfb12b67-2ada-45c3-ac65-265c29fb451f.jpg?v=1782441518', 'UPPAbaby Vista V2 Stroller & Bassinet - Noa'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-noa-navy-carbon-saddle-leather-8_633c9a01-e053-48f2-9933-6a8d26463222.jpg?v=1782483499', 'UPPAbaby Vista V2 Stroller & Bassinet - Noa'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-noa-navy-carbon-saddle-leather-11_f709bb54-d078-4c2a-a691-bd2c0ecfba24.jpg?v=1782483501', 'UPPAbaby Vista V2 Stroller & Bassinet - Noa'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-noa-navy-carbon-saddle-leather-10_94b412c0-5763-458c-b705-329e22c3f486.jpg?v=1782483503', 'UPPAbaby Vista V2 Stroller & Bassinet - Noa'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-noa-navy-carbon-saddle-leather-9_d39e64e6-9035-409a-8bf0-2b7040571da9.jpg?v=1782483505', 'UPPAbaby Vista V2 Stroller & Bassinet - Noa'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-noa-navy-carbon-saddle-leather-12_f834f4e7-242d-4b21-a785-54c73b83b27c.jpg?v=1782483507', 'UPPAbaby Vista V2 Stroller & Bassinet - Noa'],\n      ['https://cdn.shopify.com/s/files/1/0078/5393/2596/files/uppababy-vista-v2-stroller-noa-navy-carbon-saddle-leather-7_d9cc3032-9358-4375-9c7a-a02d9c5ed3cd.jpg?v=1782483509', 'UPPAbaby Vista V2 Stroller & Bassinet - Noa']\n    ]\n  };\n\n  function isVistaV2VirtualSlide(slide) {\n    return Boolean(slide && slide.__ckVistaV2Virtual);\n  }\n\n  function vistaV2StaticSlidesForColor(selectedColor) {\n    var rows = VISTA_V2_STATIC_IMAGES[selectedColor] || [];\n    return rows.map(function(row, index) {\n      return {\n        __ckVistaV2Virtual: true,\n        __ckVistaV2Color: selectedColor,\n        __ckVistaV2Index: index,\n        __ckVistaV2Src: row[0],\n        __ckVistaV2Alt: row[1],\n        __ckVistaV2File: cleanFile(row[0])\n      };\n    });\n  }\n\n  function vistaV2SlidesForColor(container, selectedColor) {\n    if (!isVistaV2Listing() || !selectedColor) return [];\n    var slides = orderedMainSlides(container);\n    var matches = slides.filter(function(slide) {\n      return slideColor(slide) === selectedColor;\n    });\n    if (!matches.length) {\n      matches = slides.filter(function(slide) {\n        var file = slideFile(slide).toLowerCase();\n        return selectedColor && file.indexOf(selectedColor) !== -1;\n      });\n    }\n    var staticMatches = vistaV2StaticSlidesForColor(selectedColor);\n    if (staticMatches.length) return staticMatches;\n    return matches;\n  }\n\n  function vistaV2FlickitySelectedSlide(container) {\n    var slider = container && container.querySelector('[data-product-photos]');\n    var flkty = slider && window.Flickity && window.Flickity.data(slider);\n    return flkty && flkty.selectedElement ? flkty.selectedElement : null;\n  }\n\n  function syncVistaV2Slides(container, selectedColor, options) {\n    selectedColor = selectedColor || currentVistaV2Color(container);\n    options = options || {};\n    var matches = vistaV2SlidesForColor(container, selectedColor);\n    if (!matches.length) return false;\n\n    orderedMainSlides(container).forEach(function(slide) {\n      if (matches.indexOf(slide) === -1) {\n        hideSlide(slide);\n      } else {\n        revealSlide(slide);\n        primeSlideImage(slide);\n      }\n    });\n\n    var preferred = options.preferredSlide && slideUsableForColor(options.preferredSlide, selectedColor)\n      ? options.preferredSlide\n      : null;\n    if (!preferred && container.__ckVistaV2DesiredFile && Date.now() - (container.__ckVistaV2DesiredAt || 0) < 6500) {\n      preferred = findSlideByFile(container, container.__ckVistaV2DesiredFile, selectedColor);\n    }\n    var target = preferred || (options.resetSelection\n      ? matches[0]\n      : (vistaV2FlickitySelectedSlide(container) || selectedUsableSlide(container, selectedColor) || activeSlide(container)));\n    if (!slideUsableForColor(target, selectedColor)) {\n      target = matches[0];\n    }\n    if (!isVistaV2VirtualSlide(target)) {\n      syncSelectedSlideClass(container, selectedColor, target);\n    }\n    if (container.__ckVistaV2FallbackColor && container.__ckVistaV2FallbackColor !== selectedColor) {\n      clearVistaV2FallbackImage(container);\n    } else if (target) {\n      showVistaV2FallbackImage(container, target, selectedColor);\n    }\n    return true;\n  }\n\n  function vistaV2FlickityOptions() {\n    return {\n      cellSelector: '.product-main-slide:not(.ck-color-hidden)',\n      contain: true,\n      adaptiveHeight: true,\n      imagesLoaded: true,\n      pageDots: false,\n      prevNextButtons: false,\n      draggable: true,\n      wrapAround: false\n    };\n  }\n\n  function vistaV2ImageFromSlide(slide) {\n    if (!slide) return null;\n    if (isVistaV2VirtualSlide(slide)) {\n      return {\n        src: slide.__ckVistaV2Src || '',\n        alt: slide.__ckVistaV2Alt || ''\n      };\n    }\n    var link = slide.querySelector('a[href]');\n    var image = slide.querySelector('img');\n    var src = (link && link.getAttribute('href')) || (image && (image.currentSrc || image.src));\n    if (!src) return null;\n    return {\n      src: src,\n      alt: (image && image.getAttribute('alt')) || ''\n    };\n  }\n\n  function updateVistaV2FallbackIndicator(container, selectedColor, file) {\n    var indicator = ensureGalleryIndicator(container);\n    var slides = vistaV2SlidesForColor(container, selectedColor);\n    var index = 0;\n    for (var i = 0; i < slides.length; i += 1) {\n      if (slideFile(slides[i]) === file) {\n        index = i;\n        break;\n      }\n    }\n    if (indicator) {\n      indicator.pill.hidden = slides.length <= 1;\n      indicator.pill.textContent = String(index + 1) + ' / ' + String(slides.length);\n      indicator.dots.hidden = slides.length <= 1;\n      indicator.dots.innerHTML = '';\n      slides.forEach(function(_, dotIndex) {\n        var dot = document.createElement('span');\n        dot.className = 'ck-gallery-dot' + (dotIndex === index ? ' is-active' : '');\n        indicator.dots.appendChild(dot);\n      });\n    }\n\n    var slider = gallerySlider(container);\n    var frame = indicatorFrame(slider);\n    if (!frame) return;\n    var count = frame.querySelector('.ck-vista-v2-fallback-count');\n    if (!count) {\n      count = document.createElement('div');\n      count.className = 'ck-vista-v2-fallback-count';\n      count.setAttribute('aria-hidden', 'true');\n      frame.appendChild(count);\n    }\n    var dots = frame.querySelector('.ck-vista-v2-fallback-dots');\n    if (!dots) {\n      dots = document.createElement('div');\n      dots.className = 'ck-vista-v2-fallback-dots';\n      dots.setAttribute('aria-hidden', 'true');\n      frame.appendChild(dots);\n    }\n    count.hidden = slides.length <= 1;\n    count.textContent = String(index + 1) + ' / ' + String(slides.length);\n    dots.hidden = slides.length <= 1;\n    dots.innerHTML = '';\n    slides.forEach(function(_, dotIndex) {\n      var dot = document.createElement('span');\n      dot.className = 'ck-vista-v2-fallback-dot' + (dotIndex === index ? ' is-active' : '');\n      dots.appendChild(dot);\n    });\n  }\n\n  function showVistaV2FallbackImage(container, slide, selectedColor) {\n    if (!isVistaV2Listing() || !container || !slide) return;\n    var data = vistaV2ImageFromSlide(slide);\n    if (!data || !data.src) return;\n    selectedColor = selectedColor || currentVistaV2Color(container);\n    var slider = gallerySlider(container);\n    var frame = indicatorFrame(slider);\n    if (!frame) return;\n    frame.classList.add('ck-vista-v2-fallback-frame');\n    var fallback = frame.querySelector('.ck-vista-v2-fallback-main');\n    if (!fallback) {\n      fallback = document.createElement('img');\n      fallback.className = 'ck-vista-v2-fallback-main';\n      fallback.decoding = 'async';\n      fallback.loading = 'eager';\n      frame.appendChild(fallback);\n    }\n    fallback.src = data.src;\n    fallback.alt = data.alt || '';\n    fallback.hidden = false;\n    container.__ckVistaV2FallbackFile = slideFile(slide);\n    container.__ckVistaV2FallbackColor = selectedColor;\n    updateVistaV2FallbackIndicator(container, selectedColor, container.__ckVistaV2FallbackFile);\n    [80, 240, 720, 1400, 2600, 4200, 6500].forEach(function(delay) {\n      window.setTimeout(function() {\n        if (container.__ckVistaV2FallbackFile && container.__ckVistaV2FallbackColor === selectedColor) {\n          updateVistaV2FallbackIndicator(container, selectedColor, container.__ckVistaV2FallbackFile);\n        }\n      }, delay);\n    });\n  }\n\n  function clearVistaV2FallbackImage(container) {\n    if (!container) return;\n    var slider = gallerySlider(container);\n    var frame = indicatorFrame(slider);\n    var fallback = frame && frame.querySelector('.ck-vista-v2-fallback-main');\n    if (fallback) fallback.hidden = true;\n    var count = frame && frame.querySelector('.ck-vista-v2-fallback-count');\n    var dots = frame && frame.querySelector('.ck-vista-v2-fallback-dots');\n    if (count) count.hidden = true;\n    if (dots) dots.hidden = true;\n    if (frame) frame.classList.remove('ck-vista-v2-fallback-frame');\n    container.__ckVistaV2FallbackFile = '';\n    container.__ckVistaV2FallbackColor = '';\n  }\n\n  function ensureVistaV2Flickity(container) {\n    if (!isVistaV2Listing() || !container || !window.Flickity) return null;\n    var slider = container.querySelector('[data-product-photos]');\n    if (!slider) return null;\n\n    var flkty = window.Flickity.data(slider);\n    var desiredSelector = '.product-main-slide:not(.ck-color-hidden)';\n    if (flkty && flkty.options && flkty.options.cellSelector !== desiredSelector) {\n      try {\n        flkty.destroy();\n      } catch (error) {}\n      flkty = null;\n    }\n\n    if (!flkty) {\n      try {\n        flkty = new window.Flickity(slider, vistaV2FlickityOptions());\n      } catch (error) {\n        flkty = null;\n      }\n    }\n\n    if (flkty && typeof flkty.reloadCells === 'function') flkty.reloadCells();\n    if (flkty && typeof flkty.resize === 'function') flkty.resize();\n    attachVistaV2FlickityGuard(container, flkty);\n    return flkty;\n  }\n\n  function attachVistaV2FlickityGuard(container, flkty) {\n    if (!isVistaV2Listing() || !container || !flkty || flkty.__ckVistaV2GuardAttached || typeof flkty.on !== 'function') return;\n    flkty.__ckVistaV2GuardAttached = true;\n    var enforce = function() {\n      window.setTimeout(function() {\n        var selectedColor = currentVistaV2Color(container);\n        var matches = vistaV2SlidesForColor(container, selectedColor);\n        if (!matches.length) return;\n        var active = vistaV2FlickitySelectedSlide(container) || activeSlide(container);\n        if (slideUsableForColor(active, selectedColor)) return;\n        var target = (container.__ckVistaV2DesiredFile && Date.now() - (container.__ckVistaV2DesiredAt || 0) < 6500)\n          ? findSlideByFile(container, container.__ckVistaV2DesiredFile, selectedColor)\n          : null;\n        target = target || matches[0];\n        syncVistaV2Slides(container, selectedColor, { resetSelection: false, preferredSlide: target });\n        selectSlide(container, target, true);\n        syncSelectedSlideClass(container, selectedColor, target);\n        syncActiveThumbForSlide(container, target);\n        showVistaV2FallbackImage(container, target, selectedColor);\n        syncGalleryIndicatorSoon(container);\n      }, 30);\n    };\n    ['change', 'settle', 'dragEnd', 'pointerUp'].forEach(function(name) {\n      try {\n        flkty.on(name, enforce);\n      } catch (error) {}\n    });\n  }\n\n  function stabilizeVistaV2Gallery(container, selectedColor, options) {\n    selectedColor = selectedColor || currentVistaV2Color(container);\n    options = options || {};\n    if (!syncVistaV2Slides(container, selectedColor, options)) return;\n\n    var slider = container.querySelector('[data-product-photos]');\n    var flkty = ensureVistaV2Flickity(container) || (slider && window.Flickity && window.Flickity.data(slider));\n    var matches = vistaV2SlidesForColor(container, selectedColor);\n    var target = null;\n    if (!options.resetSelection && container.__ckVistaV2DesiredFile && Date.now() - (container.__ckVistaV2DesiredAt || 0) < 6500) {\n      target = findSlideByFile(container, container.__ckVistaV2DesiredFile, selectedColor);\n    }\n    target = target || (options.resetSelection\n      ? matches[0]\n      : (vistaV2FlickitySelectedSlide(container) || selectedUsableSlide(container, selectedColor) || activeSlide(container) || matches[0]));\n\n    if (isVistaV2VirtualSlide(target)) {\n      showVistaV2FallbackImage(container, target, selectedColor);\n    } else if (flkty) {\n      if (typeof flkty.reloadCells === 'function') flkty.reloadCells();\n      if (target) selectFlickitySlide(slider, flkty, target, true);\n      if (typeof flkty.resize === 'function') flkty.resize();\n    } else if (target) {\n      selectSlide(container, target, true);\n    }\n\n    if (target) {\n      showVistaV2FallbackImage(container, target, selectedColor);\n    }\n\n    var variant = selectedVariant(container);\n    if (variant) syncGalleryIndicator(container, variant);\n  }\n\n  function scheduleVistaV2Stabilize(container) {\n    if (!isVistaV2Listing() || !container) return;\n    [40, 220, 620, 1200, 2100, 3200, 5200, 7600].forEach(function(delay) {\n      window.setTimeout(function() {\n        stabilizeVistaV2Gallery(container, null, { resetSelection: false });\n      }, delay);\n    });\n  }\n\n  function syncColorSlides(container, variant) {\n    var selectedColor = variantColorToken(variant, container);\n    if (!selectedColor) return false;\n\n    lockGalleryHeight(container, selectedColor);\n    if (isVistaV2Listing() && syncVistaV2Slides(container, selectedColor, { resetSelection: false })) {\n      return true;\n    }\n    if (isCruzFamilyListing() && syncCruzSlides(container, selectedColor)) {\n      return true;\n    }\n    if (isJoolzDotListing() && syncDotSlides(container, selectedColor)) {\n      return true;\n    }\n    if (isJoolzAerPlusListing() && syncAerPlusSlides(container, selectedColor)) {\n      return true;\n    }\n    var filterMainSlides = shouldFilterMainSlides();\n    var visibleMatchCount = 0;\n    var firstVisibleMatch = null;\n\n    orderedMainSlides(container).forEach(function(slide) {\n      var mediaColor = slideColor(slide);\n      var exactColorFile = thuleSpringFileMatchesColor(slideFile(slide), selectedColor);\n      var shouldHide = Boolean(mediaColor && mediaColor !== selectedColor && !exactColorFile);\n      slide.classList.toggle('ck-color-hidden', filterMainSlides && shouldHide);\n      if (filterMainSlides && shouldHide) {\n        slide.style.setProperty('display', 'none', 'important');\n        slide.style.setProperty('visibility', 'hidden', 'important');\n        slide.style.setProperty('pointer-events', 'none', 'important');\n        slide.setAttribute('aria-hidden', 'true');\n        slide.setAttribute('tabindex', '-1');\n      } else {\n        slide.classList.remove('hide');\n        slide.hidden = false;\n        slide.style.removeProperty('display');\n        slide.style.removeProperty('visibility');\n        slide.style.removeProperty('pointer-events');\n        slide.removeAttribute('aria-hidden');\n        slide.removeAttribute('tabindex');\n\n        if (!mediaColor || mediaColor === selectedColor || exactColorFile) {\n          visibleMatchCount += 1;\n          if (!firstVisibleMatch) {\n            firstVisibleMatch = slide;\n          }\n        }\n      }\n    });\n\n    if (filterMainSlides && visibleMatchCount === 0) {\n      firstVisibleMatch = firstExactSlideForColor(container, selectedColor) || firstSlideForColor(container, selectedColor);\n      revealSlide(firstVisibleMatch);\n    }\n\n    syncSelectedSlideClass(container, selectedColor, selectedUsableSlide(container, selectedColor) || firstVisibleMatch);\n    return false;\n  }\n\n  function slideColor(slide) {\n    if (!slide) return '';\n    return colorToken([\n      slide.getAttribute('data-group'),\n      slide.getAttribute('data-set-name'),\n      mediaColorFromElements(slide.querySelector('a[href]'), slide.querySelector('img'))\n    ].join(' '));\n  }\n\n  function revealSlide(slide) {\n    if (!slide) return;\n    slide.classList.remove('hide');\n    slide.classList.remove('ck-color-hidden');\n    slide.hidden = false;\n    slide.style.removeProperty('display');\n    slide.style.removeProperty('visibility');\n    slide.style.removeProperty('pointer-events');\n    slide.removeAttribute('aria-hidden');\n    slide.removeAttribute('tabindex');\n  }\n\n  function firstExactSlideForColor(container, color) {\n    if (!color) return null;\n    var match = null;\n    orderedMainSlides(container).forEach(function(slide) {\n      if (match) return;\n      if (slideColor(slide) === color) {\n        match = slide;\n      }\n    });\n    return match;\n  }\n\n  function selectedUsableSlide(container, selectedColor) {\n    var match = null;\n    orderedMainSlides(container).forEach(function(slide) {\n      if (match) return;\n      if (!slide.classList.contains('is-selected')) return;\n      if (slideUsableForColor(slide, selectedColor)) {\n        match = slide;\n      }\n    });\n    return match;\n  }\n\n  function syncSelectedSlideClass(container, selectedColor, preferredSlide) {\n    var target = preferredSlide;\n    if (!slideUsableForColor(target, selectedColor)) {\n      target = selectedUsableSlide(container, selectedColor);\n    }\n    if (!slideUsableForColor(target, selectedColor)) {\n      target = firstExactSlideForColor(container, selectedColor) || firstSlideForColor(container, selectedColor);\n    }\n    if (!target) return null;\n\n    revealSlide(target);\n    var scope = gallerySlider(container) || container;\n    Array.prototype.slice.call(scope.querySelectorAll('.product-main-slide')).forEach(function(slide) {\n      if (slide !== target) {\n        slide.classList.remove('is-selected');\n      }\n    });\n    target.classList.add('is-selected');\n    syncActiveThumbForSlide(container, target);\n    return target;\n  }\n\n  function slideHasVisibleImage(slide) {\n    if (!slide) return false;\n    var image = slide.querySelector('img');\n    if (!image) return false;\n    var imageStyle = window.getComputedStyle ? window.getComputedStyle(image) : null;\n    if (imageStyle && (imageStyle.display === 'none' || imageStyle.visibility === 'hidden' || imageStyle.opacity === '0')) {\n      return false;\n    }\n    if (!image.complete || !image.naturalWidth || !image.naturalHeight) {\n      return false;\n    }\n    var rect = image.getBoundingClientRect ? image.getBoundingClientRect() : null;\n    return Boolean(rect && rect.width > 20 && rect.height > 20);\n  }\n\n  function selectedSlideNeedsRepair(container, selectedColor) {\n    var selected = activeSlide(container) || orderedMainSlides(container).find(function(slide) {\n      return slide.classList.contains('is-selected');\n    });\n    if (!slideUsableForColor(selected, selectedColor)) return true;\n    return !slideHasVisibleImage(selected);\n  }\n\n  function repairSelectedColorMainSlide(container, selectedColor) {\n    if (!container || !selectedColor || !selectedSlideNeedsRepair(container, selectedColor)) return false;\n\n    var target = firstExactSlideForColor(container, selectedColor) || firstSlideForColor(container, selectedColor);\n    if (!target) return false;\n\n    revealSlide(target);\n    orderedMainSlides(container).forEach(function(slide) {\n      if (slide !== target) {\n        slide.classList.remove('is-selected');\n      }\n    });\n    target.classList.add('is-selected');\n\n    var slider = gallerySlider(container);\n    var flkty = window.Flickity && slider ? window.Flickity.data(slider) : null;\n    if (flkty) {\n      if (typeof flkty.reloadCells === 'function') flkty.reloadCells();\n      if (typeof flkty.selectCell === 'function') flkty.selectCell(target, true, true);\n      if (typeof flkty.resize === 'function') flkty.resize();\n    } else {\n      selectSlide(container, target, true);\n    }\n\n    syncSelectedSlideClass(container, selectedColor, target);\n    syncActiveThumbForSlide(container, target);\n    return true;\n  }\n\n  function scheduleSelectedColorMainSlideRepair(container, selectedColor) {\n    if (!container || !selectedColor) return;\n    if (isCruzManualFallbackListing()) return;\n    container.__ckVariantGalleryRepairTimers = container.__ckVariantGalleryRepairTimers || [];\n    container.__ckVariantGalleryRepairTimers = container.__ckVariantGalleryRepairTimers.slice(-24);\n\n    [60, 140, 280, 520, 820, 1200, 1700, 2400, 3200].forEach(function(delay) {\n      var timer = window.setTimeout(function() {\n        var variant = selectedVariant(container);\n        var currentColor = variantColorToken(variant, container) || selectedColor;\n        if (variant) forceMainImage(container, variant);\n        repairSelectedColorMainSlide(container, currentColor);\n      }, delay);\n      container.__ckVariantGalleryRepairTimers.push(timer);\n    });\n  }\n\n  function activeSlide(container) {\n    var slider = container.querySelector('[data-product-photos]');\n    if (window.Flickity && slider) {\n      var flkty = window.Flickity.data(slider);\n      if (flkty && flkty.selectedElement) return flkty.selectedElement;\n    }\n\n    var slides = orderedMainSlides(container);\n    return slides.find(function(slide) {\n      return slide.classList.contains('is-selected');\n    }) || slides[0] || null;\n  }\n\n  function slideFile(slide) {\n    if (!slide) return '';\n    if (isVistaV2VirtualSlide(slide)) return slide.__ckVistaV2File || '';\n    var vistaFile = slide.getAttribute && slide.getAttribute('data-ck-vista-file');\n    if (vistaFile) return vistaFile;\n    var link = slide.querySelector('a[href]');\n    var image = slide.querySelector('img');\n    return cleanFile((link && link.getAttribute('href')) || (image && (image.currentSrc || image.src)));\n  }\n\n  function syncActiveThumbForSlide(container, slide) {\n    var file = slideFile(slide);\n    if (!file) return;\n\n    container.querySelectorAll('.product__thumb').forEach(function(thumb) {\n      thumb.classList.toggle('is-active', cleanFile(thumb.getAttribute('href')) === file);\n    });\n  }\n\n  function firstSlideForColor(container, color) {\n    var match = null;\n    orderedMainSlides(container).forEach(function(slide) {\n      if (match) return;\n      var mediaColor = slideColor(slide);\n      if (isJoolzAerPlusListing() && color) {\n        if (mediaColor === color) {\n          match = slide;\n        }\n        return;\n      }\n      if (!mediaColor || mediaColor === color || thuleSpringFileMatchesColor(slideFile(slide), color)) {\n        match = slide;\n      }\n    });\n    return match;\n  }\n\n  function slideUsableForColor(slide, selectedColor) {\n    if (isVistaV2VirtualSlide(slide)) {\n      return !selectedColor || slide.__ckVistaV2Color === selectedColor;\n    }\n    if (!slide || slide.hidden || slide.classList.contains('ck-color-hidden')) return false;\n    var style = window.getComputedStyle ? window.getComputedStyle(slide) : null;\n    if (style && (style.display === 'none' || style.visibility === 'hidden')) return false;\n\n    var mediaColor = slideColor(slide);\n    if (isJoolzAerPlusListing() && selectedColor) {\n      return mediaColor === selectedColor;\n    }\n    return !selectedColor || !mediaColor || mediaColor === selectedColor || thuleSpringFileMatchesColor(slideFile(slide), selectedColor);\n  }\n\n  function findSlideByFile(container, file, selectedColor) {\n    if (!file) return null;\n    var match = null;\n    orderedMainSlides(container).forEach(function(slide) {\n      if (match) return;\n      if (slideFile(slide) === file && slideUsableForColor(slide, selectedColor)) {\n        match = slide;\n      }\n    });\n    if (!match && isVistaV2Listing()) {\n      vistaV2StaticSlidesForColor(selectedColor).forEach(function(slide) {\n        if (!match && slideFile(slide) === file && slideUsableForColor(slide, selectedColor)) {\n          match = slide;\n        }\n      });\n    }\n    return match;\n  }\n\n  function selectFlickitySlide(slider, flkty, slide, instant) {\n    if (!slider || !flkty || !slide) return false;\n    if (isVistaV2Listing() && typeof flkty.reloadCells === 'function') {\n      try {\n        flkty.reloadCells();\n      } catch (error) {}\n    }\n    var cellIndex = -1;\n    if (flkty.cells && flkty.cells.length) {\n      for (var i = 0; i < flkty.cells.length; i += 1) {\n        if (flkty.cells[i] && flkty.cells[i].element === slide) {\n          cellIndex = i;\n          break;\n        }\n      }\n    }\n    if (cellIndex !== -1 && typeof flkty.select === 'function') {\n      flkty.select(cellIndex, Boolean(instant), true);\n      if (isVistaV2Listing()) {\n        window.__ckVistaV2SwipeDebug = window.__ckVistaV2SwipeDebug || {};\n        window.__ckVistaV2SwipeDebug.select = {\n          method: 'select',\n          cellIndex: cellIndex,\n          selectedIndex: flkty.selectedIndex,\n          selectedFile: slideFile(flkty.selectedElement),\n          targetFile: slideFile(slide)\n        };\n      }\n      return true;\n    }\n    if (typeof flkty.selectCell === 'function') {\n      flkty.selectCell(slide, Boolean(instant), true);\n      if (isVistaV2Listing()) {\n        window.__ckVistaV2SwipeDebug = window.__ckVistaV2SwipeDebug || {};\n        window.__ckVistaV2SwipeDebug.select = {\n          method: 'selectCell',\n          cellIndex: cellIndex,\n          selectedIndex: flkty.selectedIndex,\n          selectedFile: slideFile(flkty.selectedElement),\n          targetFile: slideFile(slide)\n        };\n      }\n      return true;\n    }\n    if (isVistaV2Listing()) {\n      window.__ckVistaV2SwipeDebug = window.__ckVistaV2SwipeDebug || {};\n      window.__ckVistaV2SwipeDebug.select = {\n        method: 'none',\n        cellIndex: cellIndex,\n        selectedIndex: flkty.selectedIndex,\n        selectedFile: slideFile(flkty.selectedElement),\n        targetFile: slideFile(slide),\n        cellCount: flkty.cells ? flkty.cells.length : -1\n      };\n    }\n    return false;\n  }\n\n  function selectSlide(container, slide, instant) {\n    if (!slide) return false;\n    var slider = container.querySelector('[data-product-photos]');\n    if (!slider) return false;\n\n    if (window.Flickity) {\n      var flkty = window.Flickity.data(slider);\n      if (flkty) {\n        return selectFlickitySlide(slider, flkty, slide, instant);\n      }\n    }\n\n    if (slider.__ckSlideshow && typeof slider.__ckSlideshow.goToSlide === 'function') {\n      var mediaId = slide.dataset.mediaId;\n      var index = slide.dataset.index;\n      slider.__ckSlideshow.goToSlide(mediaId || index || 0);\n      return true;\n    }\n\n    return false;\n  }\n\n  function refreshGalleryCells(container, selectedColor, options) {\n    var slider = container.querySelector('[data-product-photos]');\n    if (!slider || !window.Flickity) return;\n\n    var flkty = window.Flickity.data(slider);\n    if (!flkty) return;\n    options = options || {};\n\n    var selectedBefore = flkty.selectedElement || activeSlide(container);\n    var selectedFile = slideFile(selectedBefore);\n\n    if (typeof flkty.reloadCells === 'function') {\n      flkty.reloadCells();\n    }\n    if (typeof flkty.resize === 'function') {\n      flkty.resize();\n    }\n\n    var fallbackTarget = firstExactSlideForColor(container, selectedColor) || firstSlideForColor(container, selectedColor);\n    revealSlide(fallbackTarget);\n\n    var target = options.resetSelection\n      ? fallbackTarget\n      : findSlideByFile(container, selectedFile, selectedColor);\n\n    if (!target && !options.resetSelection && slideUsableForColor(selectedBefore, selectedColor)) {\n      target = selectedBefore;\n    }\n\n    if (!target && options.resetSelection) {\n      target = fallbackTarget;\n    }\n\n    if (target && typeof flkty.selectCell === 'function') {\n      revealSlide(target);\n      flkty.selectCell(target, true, true);\n      syncSelectedSlideClass(container, selectedColor, target);\n    }\n  }\n\n  function gallerySlider(container) {\n    return container.querySelector('[data-product-photos]');\n  }\n\n  function isVistaBundleDraftProduct() {\n    var html = document.documentElement ? document.documentElement.innerHTML : '';\n    return html.indexOf('7691562418270') !== -1 &&\n      html.indexOf('UPPAbaby Vista V3 Stroller + Bassinet V3 Bundle') !== -1;\n  }\n\n  function vistaBundleSelectedColor(container) {\n    var variant = vistaBundleAuthoritativeVariant(container);\n    return vistaBundleColorForVariant(variant);\n  }\n\n  function vistaBundleLargeImageSrc(src) {\n    src = String(src || '');\n    if (!src) return '';\n    if (/[?&]width=\\d+/.test(src)) {\n      return src.replace(/([?&])width=\\d+/, '$1width=1080');\n    }\n    return src + (src.indexOf('?') === -1 ? '?width=1080' : '&width=1080');\n  }\n\n  function vistaBundleImageDataFromThumb(link) {\n    if (!link) return null;\n    var image = link.querySelector('img');\n    var src = link.getAttribute('href') || (image && (image.currentSrc || image.src)) || '';\n    src = vistaBundleLargeImageSrc(src);\n    return src ? {\n      src: src,\n      alt: (image && image.alt) || ''\n    } : null;\n  }\n\n  function syncVistaBundleColorMedia(container, selectedColor) {\n    if (!isVistaBundleDraftProduct() || !container || !selectedColor) return;\n    var group = 'color_' + selectedColor;\n    container.querySelectorAll('.product__thumb-item[data-group], .product-main-slide[data-group]').forEach(function(item) {\n      var shouldShow = item.getAttribute('data-group') === group;\n      item.classList.toggle('hide', !shouldShow);\n      item.classList.toggle('ck-color-hidden', !shouldShow);\n      if (shouldShow) {\n        item.hidden = false;\n        item.removeAttribute('aria-hidden');\n        item.style.removeProperty('display');\n        item.style.removeProperty('visibility');\n        item.style.removeProperty('pointer-events');\n        item.style.removeProperty('opacity');\n        item.removeAttribute('tabindex');\n      } else {\n        item.style.setProperty('display', 'none', 'important');\n        item.style.setProperty('visibility', 'hidden', 'important');\n        item.style.setProperty('pointer-events', 'none', 'important');\n        item.setAttribute('aria-hidden', 'true');\n        item.setAttribute('tabindex', '-1');\n      }\n    });\n  }\n\n  function vistaBundleNativeImageVisible(container, selectedColor) {\n    if (!container || !selectedColor) return false;\n    var group = 'color_' + selectedColor;\n    var scope = gallerySlider(container) || container;\n    return Array.prototype.slice.call(scope.querySelectorAll('.product-main-slide[data-group=\"' + group + '\"] img')).some(function(image) {\n      var slide = image.closest && image.closest('.product-main-slide');\n      if (!slide || slide.hidden || slide.classList.contains('ck-color-hidden')) return false;\n      var slideStyle = window.getComputedStyle ? window.getComputedStyle(slide) : null;\n      var imageStyle = window.getComputedStyle ? window.getComputedStyle(image) : null;\n      if (slideStyle && (slideStyle.display === 'none' || slideStyle.visibility === 'hidden')) return false;\n      if (imageStyle && (imageStyle.display === 'none' || imageStyle.visibility === 'hidden')) return false;\n      var rect = image.getBoundingClientRect ? image.getBoundingClientRect() : { width: 0, height: 0 };\n      return rect.width > 40 && rect.height > 40 && image.complete && image.naturalWidth > 0;\n    });\n  }\n\n  function removeVistaBundleFallbackImage(container) {\n    var frame = container && (container.querySelector('.product__main-photos') || gallerySlider(container));\n    if (!frame) return;\n    var image = frame.querySelector('.ck-vista-bundle-fallback-main');\n    if (image && image.parentNode) image.parentNode.removeChild(image);\n    frame.classList.remove('ck-vista-bundle-fallback-frame');\n  }\n\n  function showVistaBundleFallbackImage(container, imageData) {\n    if (!container || !imageData || !imageData.src) return;\n    var frame = container.querySelector('.product__main-photos') || gallerySlider(container);\n    if (!frame) return;\n    frame.classList.add('ck-vista-bundle-fallback-frame');\n    var image = frame.querySelector('.ck-vista-bundle-fallback-main');\n    if (!image) {\n      image = document.createElement('img');\n      image.className = 'ck-vista-bundle-fallback-main';\n      image.setAttribute('loading', 'eager');\n      image.setAttribute('aria-hidden', 'true');\n      frame.appendChild(image);\n    }\n    image.removeAttribute('srcset');\n    image.removeAttribute('data-src');\n    image.removeAttribute('data-srcset');\n    image.src = imageData.src;\n    image.alt = imageData.alt || '';\n  }\n\n  function vistaBundleVariantIdFromUrl() {\n    try {\n      return new URL(window.location.href).searchParams.get('variant') || '';\n    } catch (e) {\n      return '';\n    }\n  }\n\n  function vistaBundleVariantById(container, id) {\n    if (!id) return null;\n    return variantsFor(container).find(function(variant) {\n      return String(variant.id) === String(id);\n    }) || null;\n  }\n\n  function vistaBundleVariantFromSelect(container) {\n    var select = container && container.querySelector && container.querySelector('[data-product-select], select[name=\"id\"]');\n    return vistaBundleVariantById(container, select && select.value);\n  }\n\n  function vistaBundleVariantFromCheckedInput(container) {\n    var checked = container && container.querySelector && (\n      container.querySelector('.variant__input--color-swatch:checked') ||\n      container.querySelector('[data-variant-input]:checked')\n    );\n    return checked && checked.value ? variantForInputValue(container, checked.value) : null;\n  }\n\n  function vistaBundleAuthoritativeVariant(container) {\n    if (!isVistaBundleDraftProduct() || !container) return null;\n\n    var userVariant = vistaBundleVariantById(container, container.__ckVistaBundleUserVariantId);\n    if (userVariant) return userVariant;\n\n    var urlVariant = vistaBundleVariantById(container, vistaBundleVariantIdFromUrl());\n    if (urlVariant) return urlVariant;\n\n    return vistaBundleVariantFromSelect(container) ||\n      vistaBundleVariantFromCheckedInput(container) ||\n      selectedVariant(container);\n  }\n\n  function vistaBundleColorForVariant(variant) {\n    if (!variant) return '';\n    var options = [variant.option1, variant.option2, variant.option3].filter(function(option) {\n      return option && option !== 'Default Title';\n    });\n    var known = colorToken(options.join(' '));\n    return known || (options.length ? handleizeToken(options[0]) : '');\n  }\n\n  function vistaBundleGroupForColor(color) {\n    return color ? 'color_' + color : '';\n  }\n\n  function vistaBundleRememberVariantFromInput(container, input) {\n    if (!isVistaBundleDraftProduct() || !container || !input || !input.value) return;\n    var variant = variantForInputValue(container, input.value);\n    if (variant) {\n      container.__ckVistaBundleUserVariantId = variant.id;\n    }\n  }\n\n  function vistaBundleSyncVariantControls(container, variant) {\n    if (!container || !variant) return;\n    setSelectedVariant(container, variant);\n\n    var values = [variant.option1, variant.option2, variant.option3].filter(function(value) {\n      return value && value !== 'Default Title';\n    });\n    if (!values.length) return;\n\n    container.querySelectorAll('.variant__input--color-swatch, [data-variant-input]').forEach(function(input) {\n      var type = input.getAttribute('type');\n      if (type !== 'radio' && type !== 'checkbox') return;\n      if (values.indexOf(input.value) !== -1) {\n        input.checked = true;\n      } else if (input.name && values.indexOf(input.value) === -1) {\n        input.checked = false;\n      }\n    });\n  }\n\n  function vistaBundleSyncUrlVariant(variant) {\n    if (!variant || !window.history || !window.location) return;\n    try {\n      var url = new URL(window.location.href);\n      if (String(url.searchParams.get('variant') || '') === String(variant.id)) return;\n      url.searchParams.set('variant', String(variant.id));\n      window.history.replaceState(window.history.state, '', url.toString());\n    } catch (e) {}\n  }\n\n  function vistaBundleElementInGroup(element, group) {\n    if (!element || !group) return false;\n    if (element.getAttribute && element.getAttribute('data-group') === group) return true;\n    var color = colorToken([\n      element.getAttribute && element.getAttribute('data-group'),\n      element.getAttribute && element.getAttribute('data-set-name'),\n      mediaColorFromElements(\n        element.querySelector && element.querySelector('a[href]'),\n        element.querySelector && element.querySelector('img')\n      )\n    ].join(' '));\n    return color ? vistaBundleGroupForColor(color) === group : false;\n  }\n\n  function vistaBundleRevealElement(element) {\n    if (!element) return;\n    element.classList.remove('hide');\n    element.classList.remove('ck-color-hidden');\n    element.hidden = false;\n    element.style.removeProperty('display');\n    element.style.removeProperty('visibility');\n    element.style.removeProperty('pointer-events');\n    element.style.removeProperty('opacity');\n    element.removeAttribute('aria-hidden');\n    element.removeAttribute('tabindex');\n  }\n\n  function vistaBundleHideElement(element) {\n    if (!element) return;\n    element.classList.add('hide');\n    element.classList.add('ck-color-hidden');\n    element.hidden = true;\n    element.style.setProperty('display', 'none', 'important');\n    element.style.setProperty('visibility', 'hidden', 'important');\n    element.style.setProperty('pointer-events', 'none', 'important');\n    element.setAttribute('aria-hidden', 'true');\n    element.setAttribute('tabindex', '-1');\n  }\n\n  function vistaBundleSlidesForGroup(container, group) {\n    return orderedMainSlides(container).filter(function(slide) {\n      return vistaBundleElementInGroup(slide, group);\n    });\n  }\n\n  function vistaBundleThumbItemsForGroup(container, group) {\n    return Array.prototype.slice.call(container.querySelectorAll('.product__thumb-item')).filter(function(item) {\n      return vistaBundleElementInGroup(item, group);\n    });\n  }\n\n  function vistaBundleShowOnlyGroup(container, group) {\n    if (!container || !group) return;\n\n    var slides = orderedMainSlides(container);\n    var matchingSlides = vistaBundleSlidesForGroup(container, group);\n    slides.forEach(function(slide) {\n      if (matchingSlides.indexOf(slide) !== -1) {\n        vistaBundleRevealElement(slide);\n      } else {\n        vistaBundleHideElement(slide);\n        slide.classList.remove('is-selected');\n      }\n    });\n\n    var thumbs = Array.prototype.slice.call(container.querySelectorAll('.product__thumb-item'));\n    var matchingThumbs = vistaBundleThumbItemsForGroup(container, group);\n    thumbs.forEach(function(item) {\n      if (matchingThumbs.indexOf(item) !== -1 && item.getAttribute('data-ck-vista-duplicate') !== 'true') {\n        vistaBundleRevealElement(item);\n      } else {\n        vistaBundleHideElement(item);\n      }\n    });\n  }\n\n  function vistaBundleThumbForFile(container, file, group) {\n    if (!file) return null;\n    var items = group ? vistaBundleThumbItemsForGroup(container, group) : Array.prototype.slice.call(container.querySelectorAll('.product__thumb-item'));\n    var match = null;\n    items.forEach(function(item) {\n      if (match) return;\n      var thumb = item.querySelector('.product__thumb[href]');\n      if (thumb && cleanFile(thumb.getAttribute('href')) === file) {\n        match = thumb;\n      }\n    });\n    return match;\n  }\n\n  function vistaBundleNormalizeImageSrc(src) {\n    src = String(src || '');\n    if (!src) return '';\n    if (src.indexOf('//') === 0) {\n      return (window.location && window.location.protocol ? window.location.protocol : 'https:') + src;\n    }\n    return src;\n  }\n\n  function vistaBundleSizedImageSrc(src, width) {\n    src = vistaBundleNormalizeImageSrc(src);\n    if (!src) return '';\n    if (/[?&]width=\\d+/.test(src)) {\n      return src.replace(/([?&])width=\\d+/, '$1width=' + width);\n    }\n    return src + (src.indexOf('?') === -1 ? '?width=' + width : '&width=' + width);\n  }\n\n  function vistaBundleProductImages(container) {\n    if (container && container.__ckVistaBundleProductImages) return container.__ckVistaBundleProductImages;\n    var script = document.querySelector('script[sa-product-json]');\n    var images = [];\n    if (script) {\n      try {\n        var json = JSON.parse(script.textContent || '{}');\n        images = (json.product_images || []).map(function(image) {\n          return {\n            id: image.id,\n            src: vistaBundleNormalizeImageSrc(image.src || '')\n          };\n        }).filter(function(image) {\n          return image.src;\n        });\n      } catch (e) {\n        images = [];\n      }\n    }\n    if (container) container.__ckVistaBundleProductImages = images;\n    return images;\n  }\n\n  function vistaBundleColorFromImageSrc(src) {\n    var file = cleanFile(src).toUpperCase();\n    var tokens = {\n      declan: 'DCL',\n      kenzi: 'KNZ',\n      savannah: 'SAV',\n      greyson: 'GRY',\n      jake: 'JKE',\n      callum: 'CLM',\n      owen: 'OWN',\n      evelyn: 'EVE'\n    };\n    var match = '';\n    Object.keys(tokens).forEach(function(color) {\n      if (match) return;\n      var token = tokens[color];\n      var pattern = new RegExp('(^|[^A-Z0-9])' + token + '([^A-Z0-9]|$)');\n      if (pattern.test(file)) match = color;\n    });\n    return match;\n  }\n\n  function vistaBundleProductImagesForColor(container, selectedColor) {\n    return vistaBundleProductImages(container).filter(function(image) {\n      return vistaBundleColorFromImageSrc(image.src) === selectedColor;\n    });\n  }\n\n  function vistaBundleAllThumbItems(container) {\n    return Array.prototype.slice.call(container.querySelectorAll('.product__thumb-item'));\n  }\n\n  function vistaBundleThumbItemForFile(container, file) {\n    if (!file) return null;\n    var match = null;\n    vistaBundleAllThumbItems(container).forEach(function(item) {\n      if (match) return;\n      var link = item.querySelector('.product__thumb[href]');\n      var image = item.querySelector('img');\n      var itemFile = cleanFile((link && link.getAttribute('href')) || (image && (image.currentSrc || image.src || image.getAttribute('data-src'))));\n      if (itemFile === file) match = item;\n    });\n    return match;\n  }\n\n  function vistaBundleAltForVariant(variant) {\n    var colorName = variant && [variant.option1, variant.option2, variant.option3].filter(function(option) {\n      return option && option !== 'Default Title';\n    })[0];\n    var title = (document.querySelector('h1') && document.querySelector('h1').textContent || 'UPPAbaby Vista V3 Stroller + Bassinet V3 Bundle').replace(/\\s+/g, ' ').trim();\n    return colorName ? title + ' - ' + colorName : title;\n  }\n\n  function vistaBundleSetThumbMedia(item, imageInfo, group, alt) {\n    if (!item || !imageInfo || !imageInfo.src) return;\n    item.setAttribute('data-group', group);\n    var link = item.querySelector('.product__thumb[href]');\n    if (link) {\n      link.setAttribute('href', imageInfo.src);\n      link.setAttribute('data-group', group);\n    }\n    item.querySelectorAll('img').forEach(function(image) {\n      image.setAttribute('src', vistaBundleSizedImageSrc(imageInfo.src, 180));\n      image.removeAttribute('srcset');\n      image.removeAttribute('data-src');\n      image.removeAttribute('data-srcset');\n      image.setAttribute('loading', 'eager');\n      image.setAttribute('data-group', group);\n      if (alt) image.alt = alt + ' #color_' + group.replace(/^color_/, '');\n    });\n  }\n\n  function vistaBundleEnsureManifestThumbs(container, variant, selectedColor, group) {\n    var images = vistaBundleProductImagesForColor(container, selectedColor);\n    if (!images.length) return;\n\n    var rail = container.querySelector('[data-product-thumbs]');\n    var thumbWrap = rail && (rail.querySelector('.product__thumbs--scroller') || rail);\n    var template = thumbWrap && thumbWrap.querySelector('.product__thumb-item');\n    if (!thumbWrap || !template) return;\n\n    var alt = vistaBundleAltForVariant(variant);\n    images.forEach(function(imageInfo) {\n      var file = cleanFile(imageInfo.src);\n      var item = vistaBundleThumbItemForFile(container, file);\n      if (!item) {\n        item = template.cloneNode(true);\n        item.classList.remove('is-active');\n        thumbWrap.appendChild(item);\n      }\n      vistaBundleSetThumbMedia(item, imageInfo, group, alt);\n    });\n    vistaBundleDeduplicateThumbs(container, group);\n  }\n\n  function vistaBundleDeduplicateThumbs(container, group) {\n    var seen = {};\n    vistaBundleAllThumbItems(container).forEach(function(item) {\n      if (!vistaBundleElementInGroup(item, group)) return;\n      var link = item.querySelector('.product__thumb[href]');\n      var image = item.querySelector('img');\n      var file = cleanFile((link && link.getAttribute('href')) || (image && (image.currentSrc || image.src || image.getAttribute('data-src'))));\n      if (!file) return;\n      if (seen[file]) {\n        item.setAttribute('data-ck-vista-duplicate', 'true');\n        vistaBundleHideElement(item);\n        return;\n      }\n      seen[file] = true;\n      item.removeAttribute('data-ck-vista-duplicate');\n    });\n  }\n\n  function vistaBundleSlideForFile(container, file, group) {\n    if (!file) return null;\n    var match = null;\n    vistaBundleSlidesForGroup(container, group).forEach(function(slide) {\n      if (!match && slideFile(slide) === file) {\n        match = slide;\n      }\n    });\n    return match;\n  }\n\n  function vistaBundleSlideParent(container) {\n    var slider = gallerySlider(container);\n    if (!slider) return null;\n    var flkty = window.Flickity && window.Flickity.data(slider);\n    return (flkty && flkty.slider) || slider.querySelector('.flickity-slider') || slider;\n  }\n\n  function vistaBundleSetSlideMedia(slide, thumb, group) {\n    if (!slide || !thumb) return;\n    var imageData = vistaBundleImageDataFromThumb(thumb);\n    var href = thumb.getAttribute('href') || (imageData && imageData.src) || '';\n    var file = cleanFile(href);\n    if (file) slide.setAttribute('data-ck-vista-file', file);\n    if (href) {\n      slide.querySelectorAll('a[href]').forEach(function(link) {\n        link.setAttribute('href', href);\n      });\n    }\n    slide.setAttribute('data-group', group);\n    slide.setAttribute('data-media-id', 'ck-vista-' + group + '-' + cleanFile(href));\n    slide.removeAttribute('aria-hidden');\n    slide.removeAttribute('tabindex');\n    slide.querySelectorAll('img').forEach(function(image) {\n      if (imageData && imageData.src) {\n        image.setAttribute('src', imageData.src);\n      }\n      image.removeAttribute('srcset');\n      image.removeAttribute('data-src');\n      image.removeAttribute('data-srcset');\n      image.setAttribute('loading', 'eager');\n      if (imageData && imageData.alt) image.alt = imageData.alt;\n      image.setAttribute('data-group', group);\n    });\n  }\n\n  function vistaBundleEnsureSlideForThumb(container, group, thumb) {\n    if (!container || !group || !thumb) return null;\n    var file = cleanFile(thumb.getAttribute('href'));\n    var existing = vistaBundleSlideForFile(container, file, group);\n    if (existing) return existing;\n\n    var parent = vistaBundleSlideParent(container);\n    var template = orderedMainSlides(container)[0] || (gallerySlider(container) && gallerySlider(container).querySelector('.product-main-slide'));\n    if (!parent || !template) return null;\n\n    var slide = template.cloneNode(true);\n    slide.classList.remove('is-selected');\n    slide.classList.remove('starting-slide');\n    slide.setAttribute('data-ck-original-index', String(orderedMainSlides(container).length + 1000));\n    slide.setAttribute('data-index', String(orderedMainSlides(container).length));\n    vistaBundleSetSlideMedia(slide, thumb, group);\n    vistaBundleRevealElement(slide);\n    parent.appendChild(slide);\n    return slide;\n  }\n\n  function vistaBundlePrimeSlideImage(slide, thumb) {\n    if (!slide) return;\n    vistaBundleRevealElement(slide);\n    primeSlideImage(slide);\n\n    var image = slide.querySelector('img');\n    if (!image) return;\n\n    var link = slide.querySelector('a[href]');\n    var source = (thumb && thumb.getAttribute('href')) || (link && link.getAttribute('href')) || '';\n    if (source) {\n      var src = vistaBundleLargeImageSrc(source);\n      slide.setAttribute('data-ck-vista-file', cleanFile(source));\n      if (link) link.setAttribute('href', source);\n      if (!image.getAttribute('src') || image.getAttribute('src').indexOf('data:image') === 0 || cleanFile(image.getAttribute('src')) !== cleanFile(source)) {\n        image.setAttribute('src', src);\n      }\n      image.removeAttribute('data-src');\n      image.removeAttribute('data-srcset');\n    }\n\n    image.setAttribute('loading', 'eager');\n    image.style.removeProperty('display');\n    image.style.removeProperty('visibility');\n    image.style.removeProperty('opacity');\n  }\n\n  function vistaBundleTargetSlide(container, variant, group, resetSelection) {\n    var variantFile = cleanFile(variantImageSrc(variant));\n    var selectedFile = container.__ckVistaBundleSelectedFile || '';\n    var rememberTarget = function(reason, slide) {\n      return slide;\n    };\n\n    if (!resetSelection && selectedFile) {\n      var selected = vistaBundleSlideForFile(container, selectedFile, group) ||\n        vistaBundleEnsureSlideForThumb(container, group, vistaBundleThumbForFile(container, selectedFile, group));\n      if (selected) return rememberTarget('selected-file', selected);\n    }\n\n    if (variantFile) {\n      var variantSlide = vistaBundleSlideForFile(container, variantFile, group) ||\n        vistaBundleEnsureSlideForThumb(container, group, vistaBundleThumbForFile(container, variantFile, group));\n      if (variantSlide) return rememberTarget('variant-file', variantSlide);\n    }\n\n    var active = activeSlide(container);\n    if (!resetSelection && active && vistaBundleElementInGroup(active, group)) {\n      return rememberTarget('active-slide', active);\n    }\n\n    var firstThumb = vistaBundleThumbItemsForGroup(container, group).map(function(item) {\n      return item.querySelector('.product__thumb[href]');\n    }).filter(Boolean)[0];\n    return rememberTarget('first-available', vistaBundleSlidesForGroup(container, group)[0] ||\n      vistaBundleEnsureSlideForThumb(container, group, firstThumb) ||\n      null);\n  }\n\n  function vistaBundleLockGalleryFrame(container, selectedColor) {\n    var slider = gallerySlider(container);\n    if (!slider) return;\n\n    lockGalleryHeight(container, selectedColor);\n    var rect = slider.getBoundingClientRect ? slider.getBoundingClientRect() : { width: 0 };\n    var width = Math.round(rect.width || 0);\n    var floor = width >= 680 ? 540 : Math.max(320, Math.round(width * 0.92));\n    var current = parseInt(slider.style.getPropertyValue('--ck-gallery-min-height'), 10) || 0;\n    var height = Math.max(current, floor);\n    if (height >= 300) {\n      slider.classList.add('ck-gallery-height-locked');\n      slider.style.setProperty('--ck-gallery-min-height', height + 'px');\n    }\n  }\n\n  function vistaBundleApply(container, options) {\n    if (!isVistaBundleDraftProduct() || !container) return false;\n    options = options || {};\n\n    var variant = vistaBundleAuthoritativeVariant(container);\n    if (!variant) return false;\n\n    var selectedColor = vistaBundleColorForVariant(variant);\n    var group = vistaBundleGroupForColor(selectedColor);\n    if (!selectedColor || !group) return false;\n\n    var variantChanged = String(container.__ckVistaBundleVariantId || '') !== String(variant.id || '');\n    if (variantChanged || options.resetSelection) {\n      container.__ckVistaBundleSelectedFile = '';\n      container.__ckVistaBundleManualImage = null;\n      removeVistaBundleFallbackImage(container);\n    }\n\n    vistaBundleSyncVariantControls(container, variant);\n    vistaBundleSyncUrlVariant(variant);\n    vistaBundleEnsureManifestThumbs(container, variant, selectedColor, group);\n    vistaBundleShowOnlyGroup(container, group);\n    vistaBundleLockGalleryFrame(container, selectedColor);\n\n    var target = vistaBundleTargetSlide(container, variant, group, Boolean(options.resetSelection || variantChanged));\n    if (!target) return false;\n\n    var targetFile = slideFile(target);\n    var thumb = vistaBundleThumbForFile(container, targetFile, group) ||\n      vistaBundleThumbItemsForGroup(container, group).map(function(item) {\n        return item.querySelector('.product__thumb[href]');\n      }).filter(Boolean)[0] ||\n      null;\n\n    vistaBundlePrimeSlideImage(target, thumb);\n    orderedMainSlides(container).forEach(function(slide) {\n      slide.classList.toggle('is-selected', slide === target);\n    });\n    container.querySelectorAll('.product__thumb').forEach(function(item) {\n      item.classList.toggle('is-active', thumb && item === thumb);\n    });\n\n    var slider = gallerySlider(container);\n    var flkty = slider && window.Flickity && window.Flickity.data(slider);\n    if (flkty) {\n      if (typeof flkty.reloadCells === 'function') flkty.reloadCells();\n      if (typeof flkty.selectCell === 'function') flkty.selectCell(target, true, true);\n      if (typeof flkty.resize === 'function') flkty.resize();\n    } else {\n      selectSlide(container, target, true);\n    }\n\n    syncThumbRailState(container);\n    syncGalleryIndicator(container, variant);\n    if (container.__ckVistaBundleManualImage &&\n      container.__ckVistaBundleManualImage.group === group &&\n      container.__ckVistaBundleManualImage.imageData) {\n      showVistaBundleFallbackImage(container, container.__ckVistaBundleManualImage.imageData);\n    } else {\n      removeVistaBundleFallbackImage(container);\n    }\n    container.__ckVistaBundleVariantId = variant.id;\n    container.__ckVariantGalleryVariantId = variant.id;\n    return true;\n  }\n\n  function vistaBundleImageForColor(container, selectedColor) {\n    if (!selectedColor) return null;\n    var group = 'color_' + selectedColor;\n    if (container.__ckVistaBundleManualImage &&\n      container.__ckVistaBundleManualImage.group === group &&\n      container.__ckVistaBundleManualImage.imageData &&\n      container.__ckVistaBundleManualImage.imageData.src) {\n      return container.__ckVistaBundleManualImage.imageData;\n    }\n    var activeThumb = Array.prototype.slice.call(container.querySelectorAll('.product__thumb-item[data-group=\"' + group + '\"] .product__thumb.is-active')).find(function(link) {\n      return link.getAttribute('href') || link.querySelector('img');\n    });\n    var activeThumbData = vistaBundleImageDataFromThumb(activeThumb);\n    if (activeThumbData) return activeThumbData;\n    var slideImage = Array.prototype.slice.call((gallerySlider(container) || container).querySelectorAll('.product-main-slide[data-group=\"' + group + '\"] img')).find(function(image) {\n      return image.currentSrc || image.src;\n    });\n    var thumbLink = Array.prototype.slice.call(container.querySelectorAll('.product__thumb-item[data-group=\"' + group + '\"] .product__thumb')).find(function(link) {\n      return link.getAttribute('href') || link.querySelector('img');\n    });\n    var thumbImageData = vistaBundleImageDataFromThumb(thumbLink);\n    if (thumbImageData) return thumbImageData;\n    var image = slideImage;\n    if (!image) return null;\n    var src = vistaBundleLargeImageSrc(image.currentSrc || image.src || '');\n    return {\n      src: src,\n      alt: image.alt || ''\n    };\n  }\n\n  function syncVistaBundleFallbackImage(container) {\n    if (!isVistaBundleDraftProduct() || !container) return;\n    removeVistaBundleFallbackImage(container);\n    vistaBundleApply(container, { resetSelection: false });\n  }\n\n  function scheduleVistaBundleFallbackImage(container) {\n    if (!isVistaBundleDraftProduct()) return;\n    [0, 120, 360, 800, 1400, 2400].forEach(function(delay) {\n      window.setTimeout(function() {\n        if (container) {\n          removeVistaBundleFallbackImage(container);\n          vistaBundleApply(container, { resetSelection: false });\n        }\n      }, delay);\n    });\n  }\n\n  function dotSelectedColor(container) {\n    if (!isJoolzDotListing()) return '';\n    var checked = (container && container.querySelector && container.querySelector('.variant__input--color-swatch:checked')) ||\n      document.querySelector('.variant__input--color-swatch:checked');\n    return checked && checked.value ? colorToken(checked.value) || handleizeToken(checked.value) : '';\n  }\n\n  function syncDotColorLabel(container) {\n    if (!isJoolzDotListing() || !container) return;\n    var checked = container.querySelector('.variant__input--color-swatch:checked') ||\n      document.querySelector('.variant__input--color-swatch:checked');\n    if (!checked || !checked.value) return;\n\n    var updated = false;\n    container.querySelectorAll('[data-variant-color-label]').forEach(function(node) {\n      node.textContent = checked.value;\n      updated = true;\n    });\n\n    if (updated) return;\n    container.querySelectorAll('.variant__label-info').forEach(function(node) {\n      if (!/(space black|dune beige|lagoon blue)/i.test(node.textContent || '')) return;\n      var valueNode = node.querySelector('span') || node;\n      valueNode.textContent = checked.value;\n    });\n  }\n\n  function dotNativeImageVisible(container, selectedColor) {\n    if (!isJoolzDotListing() || !container || !selectedColor) return true;\n    return Array.prototype.slice.call((gallerySlider(container) || container).querySelectorAll('.product-main-slide img')).some(function(image) {\n      var slide = image.closest && image.closest('.product-main-slide');\n      if (!slide || slideColor(slide) !== selectedColor) return false;\n      if (slide.hidden || slide.classList.contains('ck-color-hidden')) return false;\n      var slideStyle = window.getComputedStyle ? window.getComputedStyle(slide) : null;\n      var imageStyle = window.getComputedStyle ? window.getComputedStyle(image) : null;\n      if (slideStyle && (slideStyle.display === 'none' || slideStyle.visibility === 'hidden')) return false;\n      if (imageStyle && (imageStyle.display === 'none' || imageStyle.visibility === 'hidden')) return false;\n      var rect = image.getBoundingClientRect ? image.getBoundingClientRect() : { width: 0, height: 0 };\n      return rect.width > 40 && rect.height > 40 && image.complete && image.naturalWidth > 0;\n    });\n  }\n\n  function dotImageDataFromThumb(link) {\n    if (!link) return null;\n    var image = link.querySelector('img');\n    var src = link.getAttribute('href') || (image && (image.currentSrc || image.src));\n    if (!src) return null;\n    return {\n      src: displaySrc(src),\n      alt: (image && image.alt) || link.getAttribute('aria-label') || ''\n    };\n  }\n\n  function applyDotActiveThumb(file, clickedLink) {\n    var targetFile = file || cleanFile(clickedLink && clickedLink.getAttribute('href'));\n    if (!targetFile) return;\n    document.querySelectorAll('.product__thumb').forEach(function(thumb) {\n      thumb.classList.toggle('is-active', thumb === clickedLink || cleanFile(thumb.getAttribute('href')) === targetFile);\n    });\n  }\n\n  function scheduleDotActiveThumb(file, clickedLink) {\n    if (!isJoolzDotListing() || !file) return;\n    [0, 80, 160, 320, 640, 1000, 1500, 2400, 3400, 4600].forEach(function(delay) {\n      window.setTimeout(function() {\n        applyDotActiveThumb(file, clickedLink);\n      }, delay);\n    });\n  }\n\n  function dotThumbLinksForColor(container, selectedColor) {\n    var seen = {};\n    var links = [];\n    if (!selectedColor) return links;\n    Array.prototype.slice.call(document.querySelectorAll('.product__thumb')).forEach(function(link) {\n      var image = link.querySelector && link.querySelector('img');\n      if (mediaColorFromElements(link, image) !== selectedColor) return;\n      var imageData = dotImageDataFromThumb(link);\n      var file = cleanFile((link && link.getAttribute('href')) || (imageData && imageData.src));\n      if (!file || seen[file]) return;\n      seen[file] = true;\n      links.push(link);\n    });\n    return links;\n  }\n\n  function dotCurrentFallbackFile(container, imageData) {\n    if (container && container.__ckDotManualFile) return container.__ckDotManualFile;\n    var source = imageData && imageData.src;\n    if (!source && container && container.querySelector) {\n      var fallback = container.querySelector('.ck-dot-fallback-main');\n      source = fallback && (fallback.currentSrc || fallback.src);\n    }\n    return cleanFile(source);\n  }\n\n  function setDotManualImageFromThumb(container, link) {\n    if (!container || !link) return false;\n    var image = link.querySelector && link.querySelector('img');\n    var thumbColor = mediaColorFromElements(link, image);\n    var selectedColor = dotSelectedColor(container) || thumbColor;\n    var imageData = dotImageDataFromThumb(link);\n    var file = cleanFile(link.getAttribute('href') || (imageData && imageData.src));\n    if (!thumbColor || thumbColor !== selectedColor || !imageData || !imageData.src || !file) return false;\n    container.__ckDotManualImage = {\n      color: selectedColor,\n      imageData: imageData\n    };\n    container.__ckDotManualFile = file;\n    container.__ckDotManualImageAt = Date.now();\n    applyDotActiveThumb(file, link);\n    syncDotFallbackImage(container);\n    syncDotFallbackIndicator(container, imageData);\n    return true;\n  }\n\n  function syncDotFallbackIndicator(container, imageData) {\n    if (!isJoolzDotListing() || !container) return;\n    var indicator = ensureGalleryIndicator(container);\n    if (!indicator) return;\n    var selectedColor = dotSelectedColor(container);\n    var links = dotThumbLinksForColor(container, selectedColor);\n    var count = links.length;\n    if (count < 2) {\n      indicator.pill.hidden = true;\n      indicator.dots.hidden = true;\n      return;\n    }\n    var currentFile = dotCurrentFallbackFile(container, imageData);\n    var index = links.findIndex(function(link) {\n      return cleanFile(link.getAttribute('href')) === currentFile;\n    });\n    if (index < 0) index = 0;\n    indicator.pill.hidden = false;\n    indicator.dots.hidden = false;\n    indicator.pill.textContent = (index + 1) + ' / ' + count;\n    if (indicator.dots.children.length !== count) {\n      indicator.dots.textContent = '';\n      for (var i = 0; i < count; i += 1) {\n        var dot = document.createElement('span');\n        dot.className = 'ck-gallery-dot';\n        indicator.dots.appendChild(dot);\n      }\n    }\n    Array.prototype.forEach.call(indicator.dots.children, function(dot, dotIndex) {\n      dot.classList.toggle('is-active', dotIndex === index);\n    });\n  }\n\n  function dotAdvanceFallbackImage(container, direction) {\n    if (!isJoolzDotListing() || !container) return false;\n    var selectedColor = dotSelectedColor(container);\n    var links = dotThumbLinksForColor(container, selectedColor);\n    if (links.length < 2) return false;\n    var currentFile = dotCurrentFallbackFile(container);\n    var index = links.findIndex(function(link) {\n      return cleanFile(link.getAttribute('href')) === currentFile;\n    });\n    if (index < 0) index = 0;\n    var nextIndex = (index + direction + links.length) % links.length;\n    if (!setDotManualImageFromThumb(container, links[nextIndex])) return false;\n    scheduleDotFallbackImage(container);\n    scheduleDotActiveThumb(container.__ckDotManualFile, links[nextIndex]);\n    return true;\n  }\n\n  function installDotFallbackSwipe(container, frame) {\n    if (!isJoolzDotListing() || !container || !frame || frame.__ckDotFallbackSwipeAttached) return;\n    frame.__ckDotFallbackSwipeAttached = true;\n    var start = null;\n\n    function beginSwipe(x, y) {\n      start = { x: x, y: y };\n    }\n\n    function finishSwipe(x, y, event) {\n      if (!start) return;\n      var dx = x - start.x;\n      var dy = y - start.y;\n      start = null;\n      if (Math.abs(dx) < 38 || Math.abs(dx) < Math.abs(dy) * 1.2) return;\n      if (dotAdvanceFallbackImage(container, dx < 0 ? 1 : -1) && event && event.cancelable) {\n        event.preventDefault();\n      }\n    }\n\n    frame.addEventListener('touchstart', function(event) {\n      if (!event.touches || event.touches.length !== 1) return;\n      var touch = event.touches[0];\n      beginSwipe(touch.clientX, touch.clientY);\n    }, { passive: true });\n    frame.addEventListener('touchend', function(event) {\n      if (!start || !event.changedTouches || !event.changedTouches.length) {\n        start = null;\n        return;\n      }\n      var touch = event.changedTouches[0];\n      finishSwipe(touch.clientX, touch.clientY, event);\n    }, { passive: false });\n    frame.addEventListener('mousedown', function(event) {\n      if (event.button !== 0) return;\n      beginSwipe(event.clientX, event.clientY);\n    });\n    document.addEventListener('mouseup', function(event) {\n      finishSwipe(event.clientX, event.clientY, event);\n    });\n  }\n\n  function dotImageForColor(container, selectedColor) {\n    if (!selectedColor) return null;\n    if (container.__ckDotManualImage &&\n      container.__ckDotManualImage.color === selectedColor &&\n      container.__ckDotManualImage.imageData &&\n      container.__ckDotManualImage.imageData.src) {\n      return container.__ckDotManualImage.imageData;\n    }\n\n    var colorThumbs = dotThumbLinksForColor(container, selectedColor);\n    var activeThumb = colorThumbs.find(function(link) {\n      return link.classList.contains('is-active');\n    });\n    var activeData = dotImageDataFromThumb(activeThumb);\n    if (activeData) return activeData;\n\n    var colorThumb = colorThumbs[0];\n    var thumbData = dotImageDataFromThumb(colorThumb);\n    if (thumbData) return thumbData;\n\n    var colorSlideImage = Array.prototype.slice.call((gallerySlider(container) || container).querySelectorAll('.product-main-slide img')).find(function(image) {\n      var slide = image.closest && image.closest('.product-main-slide');\n      return slide && slideColor(slide) === selectedColor && (image.currentSrc || image.src);\n    });\n    if (!colorSlideImage) return null;\n    return {\n      src: displaySrc(colorSlideImage.currentSrc || colorSlideImage.src),\n      alt: colorSlideImage.alt || ''\n    };\n  }\n\n  function removeDotFallbackImage(container) {\n    var frame = container && (container.querySelector('.product__main-photos') || gallerySlider(container));\n    if (!frame) return;\n    var image = frame.querySelector('.ck-dot-fallback-main');\n    if (image && image.parentNode) image.parentNode.removeChild(image);\n    frame.classList.remove('ck-dot-fallback-frame');\n    frame.style.removeProperty('height');\n    frame.style.removeProperty('--ck-dot-gallery-min-height');\n  }\n\n  function syncDotFallbackImage(container) {\n    if (!isJoolzDotListing() || !container) return;\n    var frame = container.querySelector('.product__main-photos') || gallerySlider(container);\n    if (!frame) return;\n    var selectedColor = dotSelectedColor(container);\n    if (!selectedColor) return;\n    if (container.__ckDotManualImage && container.__ckDotManualImage.color !== selectedColor) {\n      container.__ckDotManualImage = null;\n      container.__ckDotManualFile = '';\n    }\n    var manualImage = container.__ckDotManualImage &&\n      container.__ckDotManualImage.color === selectedColor &&\n      container.__ckDotManualImage.imageData &&\n      container.__ckDotManualImage.imageData.src\n      ? container.__ckDotManualImage.imageData\n      : null;\n    var colorThumbCount = dotThumbLinksForColor(container, selectedColor).length;\n    var frameRect = frame.getBoundingClientRect ? frame.getBoundingClientRect() : null;\n    if (frameRect && frameRect.height > 120) {\n      container.__ckDotFallbackHeight = Math.round(frameRect.height);\n    }\n    if (!manualImage && colorThumbCount < 2 && dotNativeImageVisible(container, selectedColor)) {\n      removeDotFallbackImage(container);\n      return;\n    }\n    var imageData = manualImage || dotImageForColor(container, selectedColor);\n    if (!imageData || !imageData.src) return;\n    var fallbackHeight = container.__ckDotFallbackHeight ||\n      Math.round((frameRect && frameRect.width) || frame.offsetWidth || 520);\n    if (fallbackHeight < 260) fallbackHeight = 520;\n    frame.style.setProperty('--ck-dot-gallery-min-height', fallbackHeight + 'px');\n    frame.style.setProperty('height', fallbackHeight + 'px', 'important');\n    frame.classList.add('ck-dot-fallback-frame');\n    installDotFallbackSwipe(container, frame);\n    var image = frame.querySelector('.ck-dot-fallback-main');\n    if (!image) {\n      image = document.createElement('img');\n      image.className = 'ck-dot-fallback-main';\n      image.loading = 'eager';\n      image.decoding = 'async';\n      frame.appendChild(image);\n    }\n    if (image.src !== imageData.src) image.src = imageData.src;\n    if (imageData.alt) image.alt = imageData.alt;\n    syncDotFallbackIndicator(container, imageData);\n    applyDotActiveThumb(container.__ckDotManualFile || cleanFile(imageData.src));\n  }\n\n  function scheduleDotFallbackImage(container) {\n    if (!isJoolzDotListing()) return;\n    [0, 120, 280, 520, 900, 1500, 2400, 3400].forEach(function(delay) {\n      window.setTimeout(function() {\n        syncDotFallbackImage(container);\n      }, delay);\n    });\n  }\n\n  function aerPlusSelectedColor(container) {\n    if (!isJoolzAerPlusListing()) return '';\n    var checked = (container && container.querySelector && container.querySelector('.variant__input--color-swatch:checked')) ||\n      document.querySelector('.variant__input--color-swatch:checked');\n    return checked && checked.value ? colorToken(checked.value) || handleizeToken(checked.value) : '';\n  }\n\n  function removeAerPlusFallbackImage(container) {\n    var frame = container && (gallerySlider(container) || container.querySelector('.product__main-photos'));\n    if (!frame) return;\n    var image = frame.querySelector('.ck-aer-plus-fallback-main');\n    if (image && image.parentNode) image.parentNode.removeChild(image);\n    frame.classList.remove('ck-aer-plus-fallback-frame');\n    frame.style.removeProperty('height');\n    frame.style.removeProperty('--ck-aer-plus-gallery-min-height');\n  }\n\n  function aerPlusImageDataFromThumb(link) {\n    if (!link) return null;\n    var image = link.querySelector('img');\n    var href = link.getAttribute('href') || '';\n    var previewSrc = image && (image.currentSrc || image.src);\n    var src = href || previewSrc;\n    if (!src) return null;\n    return {\n      src: displaySrc(src),\n      previewSrc: previewSrc || '',\n      alt: (image && image.alt) || link.getAttribute('aria-label') || ''\n    };\n  }\n\n  function aerPlusImageDataFromVariant(container, selectedColor) {\n    if (!container || !selectedColor) return null;\n    var variant = selectedVariant(container);\n    var variantColor = variantColorToken(variant, container);\n    if (!variant || variantColor !== selectedColor) {\n      variant = variantsFor(container).find(function(item) {\n        var options = [item.option1, item.option2, item.option3].filter(function(option) {\n          return option && option !== 'Default Title';\n        });\n        return options.some(function(option) {\n          return (colorToken(option) || handleizeToken(option)) === selectedColor;\n        });\n      }) || null;\n    }\n    var src = variantImageSrc(variant);\n    if (!src) return null;\n    var label = [variant.option1, variant.option2, variant.option3].find(function(option) {\n      return option && (colorToken(option) || handleizeToken(option)) === selectedColor;\n    }) || selectedColor;\n    return {\n      src: displaySrc(src),\n      previewSrc: src,\n      alt: label + ' #color_' + selectedColor\n    };\n  }\n\n  function aerPlusImageForColor(container, selectedColor) {\n    if (!selectedColor) return null;\n    if (container.__ckAerPlusManualImage &&\n      container.__ckAerPlusManualImage.color === selectedColor &&\n      container.__ckAerPlusManualImage.imageData &&\n      container.__ckAerPlusManualImage.imageData.src) {\n      return container.__ckAerPlusManualImage.imageData;\n    }\n\n    var variantImageData = aerPlusImageDataFromVariant(container, selectedColor);\n    if (variantImageData) return variantImageData;\n\n    var activeThumb = Array.prototype.slice.call(container.querySelectorAll('.product__thumb.is-active')).find(function(link) {\n      return mediaColorFromElements(link, link.querySelector('img')) === selectedColor;\n    });\n    var activeThumbData = aerPlusImageDataFromThumb(activeThumb);\n    if (activeThumbData) return activeThumbData;\n\n    var colorThumb = Array.prototype.slice.call(container.querySelectorAll('.product__thumb')).find(function(link) {\n      return mediaColorFromElements(link, link.querySelector('img')) === selectedColor;\n    });\n    var thumbData = aerPlusImageDataFromThumb(colorThumb);\n    if (thumbData) return thumbData;\n\n    var colorSlideImage = Array.prototype.slice.call((gallerySlider(container) || container).querySelectorAll('.product-main-slide img')).find(function(image) {\n      var slide = image.closest && image.closest('.product-main-slide');\n      return slide && slideColor(slide) === selectedColor && (image.currentSrc || image.src);\n    });\n    if (!colorSlideImage) return null;\n    var slideSrc = colorSlideImage.currentSrc || colorSlideImage.src;\n    return {\n      src: displaySrc(slideSrc),\n      previewSrc: slideSrc,\n      alt: colorSlideImage.alt || ''\n    };\n  }\n\n  function syncAerPlusFallbackImage(container) {\n    if (!isJoolzAerPlusListing() || !container) return;\n    var frame = gallerySlider(container) || container.querySelector('.product__main-photos');\n    if (!frame) return;\n    var selectedColor = aerPlusSelectedColor(container);\n    if (!selectedColor || !aerPlusNeedsFallbackColor(selectedColor)) {\n      removeAerPlusFallbackImage(container);\n      return;\n    }\n    syncAerPlusVisibleThumbs(container, selectedColor);\n\n    var imageData = aerPlusImageForColor(container, selectedColor);\n    if (!imageData || !imageData.src) return;\n\n    var frameRect = frame.getBoundingClientRect ? frame.getBoundingClientRect() : null;\n    if (frameRect && frameRect.height > 120) {\n      container.__ckAerPlusFallbackHeight = Math.round(frameRect.height);\n    }\n    var fallbackHeight = container.__ckAerPlusFallbackHeight ||\n      Math.round((frameRect && frameRect.width) || frame.offsetWidth || 520);\n    if (fallbackHeight < 260) fallbackHeight = 520;\n\n    var fallbackHeightPx = fallbackHeight + 'px';\n    if (frame.style.getPropertyValue('--ck-aer-plus-gallery-min-height') !== fallbackHeightPx) {\n      frame.style.setProperty('--ck-aer-plus-gallery-min-height', fallbackHeightPx);\n    }\n    if (frame.style.getPropertyValue('height') !== fallbackHeightPx) {\n      frame.style.setProperty('height', fallbackHeightPx, 'important');\n    }\n    frame.classList.add('ck-aer-plus-fallback-frame');\n\n    var image = frame.querySelector('.ck-aer-plus-fallback-main');\n    if (!image) {\n      image = document.createElement('img');\n      image.className = 'ck-aer-plus-fallback-main';\n      image.loading = 'eager';\n      image.decoding = 'async';\n      frame.appendChild(image);\n    }\n    image.alt = imageData.alt || selectedColor;\n    var finalSrcChanged = image.getAttribute('data-ck-final-src') !== imageData.src;\n    var colorChanged = image.getAttribute('data-ck-color') !== selectedColor;\n    image.setAttribute('data-ck-color', selectedColor);\n    image.setAttribute('data-ck-final-src', imageData.src);\n    image.setAttribute('data-ck-preview-src', imageData.previewSrc || '');\n    if ((colorChanged || finalSrcChanged || image.src !== imageData.src) && imageData.src) {\n      image.src = imageData.src;\n    }\n  }\n\n  function scheduleAerPlusFallbackImage(container) {\n    if (!isJoolzAerPlusListing()) return;\n    if (!aerPlusNeedsFallbackColor(aerPlusSelectedColor(container))) {\n      removeAerPlusFallbackImage(container);\n      return;\n    }\n    [0, 80, 180, 360, 700, 1100, 1800, 2800, 4200, 5600, 7200].forEach(function(delay) {\n      window.setTimeout(function() {\n        syncAerPlusFallbackImage(container);\n      }, delay);\n    });\n  }\n\n  function gallerySlides(container, selectedColor) {\n    var slider = gallerySlider(container);\n    if (!slider) return [];\n\n    if (isCruzFamilyListing() && selectedColor) {\n      var cruzSlides = cruzSlidesForColor(container, selectedColor);\n      if (cruzSlides.length) return cruzSlides;\n    }\n\n    if (isJoolzAerPlusListing() && selectedColor) {\n      var aerSlides = orderedMainSlides(container).filter(function(slide) {\n        return slideColor(slide) === selectedColor;\n      });\n      if (aerSlides.length) return aerSlides;\n    }\n\n    var slides = Array.prototype.slice.call(slider.querySelectorAll('.product-main-slide'));\n    if (!selectedColor) {\n      return slides.filter(function(slide) {\n        return !slide.classList.contains('ck-color-hidden');\n      });\n    }\n\n    var filtered = slides.filter(function(slide) {\n      var mediaColor = slideColor(slide);\n      return !mediaColor || mediaColor === selectedColor || thuleSpringFileMatchesColor(slideFile(slide), selectedColor);\n    });\n    return filtered.length ? filtered : slides;\n  }\n\n  function usableGallerySlides(container, selectedColor) {\n    return gallerySlides(container, selectedColor).filter(function(slide) {\n      return slideUsableForColor(slide, selectedColor);\n    });\n  }\n\n  function indicatorFrame(slider) {\n    if (!slider) return null;\n    return slider.closest('.product__main-photos') ||\n      slider.closest('.product__photos') ||\n      slider.parentElement;\n  }\n\n  function ensureGalleryIndicator(container) {\n    var slider = gallerySlider(container);\n    var frame = indicatorFrame(slider);\n    if (!slider || !frame) return null;\n\n    frame.classList.add('ck-gallery-indicator-frame');\n\n    var pill = frame.querySelector('.ck-gallery-count-pill');\n    if (!pill) {\n      pill = document.createElement('div');\n      pill.className = 'ck-gallery-count-pill';\n      pill.setAttribute('aria-hidden', 'true');\n      frame.appendChild(pill);\n    }\n\n    var dots = frame.querySelector('.ck-gallery-dots');\n    if (!dots) {\n      dots = document.createElement('div');\n      dots.className = 'ck-gallery-dots';\n      dots.setAttribute('aria-hidden', 'true');\n      if (slider.parentElement === frame) {\n        frame.insertBefore(dots, slider.nextSibling);\n      } else {\n        slider.insertAdjacentElement('afterend', dots);\n      }\n    }\n\n    return {\n      slider: slider,\n      frame: frame,\n      pill: pill,\n      dots: dots\n    };\n  }\n\n  function currentGalleryIndex(container, slides, slider) {\n    var selected = null;\n    if (window.Flickity && slider) {\n      var flkty = window.Flickity.data(slider);\n      if (flkty) {\n        selected = flkty.selectedElement || (flkty.selectedElements && flkty.selectedElements[0]);\n      }\n    }\n\n    selected = selected || activeSlide(container) || visibleSelectedSlide(container);\n\n    var index = slides.indexOf(selected);\n    if (index !== -1) return index;\n\n    var selectedFile = slideFile(selected);\n    if (selectedFile) {\n      for (var i = 0; i < slides.length; i += 1) {\n        if (slideFile(slides[i]) === selectedFile) return i;\n      }\n    }\n\n    return 0;\n  }\n\n  function syncGalleryIndicator(container, variant) {\n    var indicator = ensureGalleryIndicator(container);\n    if (!indicator) return;\n\n    var selectedColor = variantColorToken(variant, container);\n    if (isVistaV2Listing() && container.__ckVistaV2FallbackFile && container.__ckVistaV2FallbackColor === selectedColor) {\n      updateVistaV2FallbackIndicator(container, selectedColor, container.__ckVistaV2FallbackFile);\n      return;\n    }\n    var slides = gallerySlides(container, selectedColor);\n    var count = slides.length;\n\n    if (count < 2) {\n      indicator.pill.hidden = true;\n      indicator.dots.hidden = true;\n      return;\n    }\n\n    var index = currentGalleryIndex(container, slides, indicator.slider);\n    if (index < 0 || index >= count) index = 0;\n\n    indicator.pill.hidden = false;\n    indicator.dots.hidden = false;\n    indicator.pill.textContent = (index + 1) + ' / ' + count;\n\n    if (indicator.dots.children.length !== count) {\n      indicator.dots.textContent = '';\n      for (var i = 0; i < count; i += 1) {\n        var dot = document.createElement('span');\n        dot.className = 'ck-gallery-dot';\n        indicator.dots.appendChild(dot);\n      }\n    }\n\n    Array.prototype.forEach.call(indicator.dots.children, function(dot, dotIndex) {\n      dot.classList.toggle('is-active', dotIndex === index);\n    });\n  }\n\n  function syncGalleryIndicatorSoon(container) {\n    var run = function() {\n      var variant = selectedVariant(container);\n      if (variant) syncGalleryIndicator(container, variant);\n    };\n    run();\n    window.setTimeout(run, 80);\n    window.setTimeout(run, 240);\n  }\n\n  function installThumbnailSelectGuard(container) {\n    if (!container || container.__ckVariantThumbSelectGuardAttached) return;\n    container.__ckVariantThumbSelectGuardAttached = true;\n\n    container.addEventListener('click', function(event) {\n      var link = event.target && event.target.closest && event.target.closest('a.product__thumb[href]');\n      if (!link || !container.contains(link)) return;\n\n      var file = cleanFile(link.getAttribute('href'));\n      if (!file) return;\n\n      if (isVistaBundleDraftProduct()) {\n        var vistaVariant = vistaBundleAuthoritativeVariant(container);\n        var vistaColor = vistaBundleColorForVariant(vistaVariant);\n        var vistaGroup = vistaBundleGroupForColor(vistaColor);\n        var vistaItem = link.closest && link.closest('.product__thumb-item');\n        var thumbGroup = vistaItem && vistaBundleElementInGroup(vistaItem, vistaGroup);\n\n        event.preventDefault();\n        event.stopPropagation();\n        if (event.stopImmediatePropagation) {\n          event.stopImmediatePropagation();\n        }\n\n        if (!vistaGroup || !thumbGroup) return;\n\n        if (vistaVariant && vistaVariant.id) {\n          container.__ckVistaBundleVariantId = vistaVariant.id;\n          container.__ckVariantGalleryVariantId = vistaVariant.id;\n        }\n        container.__ckVistaBundleSelectedFile = file;\n        container.__ckVistaBundleManualImageAt = Date.now();\n        var vistaImageData = vistaBundleImageDataFromThumb(link);\n        container.__ckVistaBundleManualImage = vistaImageData ? {\n          group: vistaGroup,\n          imageData: vistaImageData\n        } : null;\n        window.ckVistaBundleLastThumbClick = { source: 'container-guard', group: vistaGroup, file: file, at: Date.now() };\n        vistaBundleApply(container, { resetSelection: false });\n        syncGalleryIndicatorSoon(container);\n        return;\n      }\n\n      if (isJoolzDotListing()) {\n        var dotThumbColor = mediaColorFromElements(link, link.querySelector('img'));\n        var dotColor = dotSelectedColor(container);\n        if (dotThumbColor && (!dotColor || dotThumbColor === dotColor)) {\n          var dotImageData = dotImageDataFromThumb(link);\n          if (dotImageData && dotImageData.src) {\n            event.preventDefault();\n            event.stopPropagation();\n            if (event.stopImmediatePropagation) {\n              event.stopImmediatePropagation();\n            }\n            container.__ckDotManualImage = {\n              color: dotThumbColor,\n              imageData: dotImageData\n            };\n            container.__ckDotManualFile = cleanFile(link.getAttribute('href') || dotImageData.src);\n            container.__ckDotManualImageAt = Date.now();\n            applyDotActiveThumb(container.__ckDotManualFile, link);\n            syncDotFallbackImage(container);\n            scheduleDotFallbackImage(container);\n            scheduleDotActiveThumb(container.__ckDotManualFile, link);\n            syncGalleryIndicatorSoon(container);\n            return;\n          }\n        }\n      }\n\n      var variant = selectedVariant(container);\n      var selectedColor = variantColorToken(variant, container);\n      if (isCruzManualFallbackListing()) {\n        var cruzColor = selectedColor || (isMinuV3Listing() ? currentMinuColor(container) : currentCruzColor(container));\n        var cruzSlides = isMinuV3Listing() ? minuSlidesForColor(container, cruzColor) : cruzSlidesForColor(container, cruzColor);\n        var cruzTarget = findSlideByFile(container, file, cruzColor);\n        var cruzIndex = cruzSlides.indexOf(cruzTarget);\n        if (cruzTarget && cruzIndex >= 0) {\n          event.preventDefault();\n          event.stopPropagation();\n          if (event.stopImmediatePropagation) {\n            event.stopImmediatePropagation();\n          }\n          showCruzFallbackImage(container, cruzTarget, cruzColor, cruzIndex);\n          try {\n            selectSlide(container, cruzTarget, false);\n          } catch (error) {\n            window.__ckCruzSwipeDebug = window.__ckCruzSwipeDebug || {};\n            window.__ckCruzSwipeDebug.thumbSelectError = error && error.message ? error.message : String(error);\n          }\n          try {\n            syncSelectedSlideClass(container, cruzColor, cruzTarget);\n          } catch (error) {\n            window.__ckCruzSwipeDebug = window.__ckCruzSwipeDebug || {};\n            window.__ckCruzSwipeDebug.thumbClassSyncError = error && error.message ? error.message : String(error);\n          }\n          return;\n        }\n      }\n      var vistaBundleThumbHandled = false;\n      if (isVistaBundleDraftProduct()) {\n        var item = link.closest && link.closest('.product__thumb-item[data-group]');\n        var group = item && item.getAttribute('data-group');\n        if (group && (!selectedColor || group === 'color_' + selectedColor)) {\n          var imageData = vistaBundleImageDataFromThumb(link);\n          if (imageData) {\n            container.__ckVistaBundleManualImage = { group: group, imageData: imageData };\n            vistaBundleThumbHandled = true;\n          }\n        }\n      }\n      var target = findSlideByFile(container, file, selectedColor);\n      if (!target) {\n        orderedMainSlides(container).forEach(function(slide) {\n          if (!target && slideFile(slide) === file) {\n            var mediaColor = slideColor(slide);\n            if (!selectedColor || !mediaColor || mediaColor === selectedColor) {\n              target = slide;\n            }\n          }\n        });\n      }\n      if (!target) {\n        if (vistaBundleThumbHandled) {\n          event.preventDefault();\n          event.stopPropagation();\n          if (event.stopImmediatePropagation) {\n            event.stopImmediatePropagation();\n          }\n          container.querySelectorAll('.product__thumb').forEach(function(thumb) {\n            thumb.classList.toggle('is-active', thumb === link);\n          });\n          syncVistaBundleFallbackImage(container);\n          syncGalleryIndicatorSoon(container);\n        }\n        return;\n      }\n\n      event.preventDefault();\n      event.stopPropagation();\n      if (event.stopImmediatePropagation) {\n        event.stopImmediatePropagation();\n      }\n\n      revealSlide(target);\n      container.querySelectorAll('.product__thumb').forEach(function(thumb) {\n        thumb.classList.toggle('is-active', thumb === link);\n      });\n      selectSlide(container, target, false);\n      syncSelectedSlideClass(container, selectedColor, target);\n      syncVistaBundleFallbackImage(container);\n      syncGalleryIndicatorSoon(container);\n      window.setTimeout(function() { syncContainer(container, { forceImage: false }); }, 120);\n      window.setTimeout(function() { syncContainer(container, { forceImage: false }); }, 520);\n    }, true);\n  }\n\n  function installSwipeFallback(container) {\n    var slider = gallerySlider(container);\n    if (!slider || slider.__ckVariantSwipeFallbackAttached) return;\n    slider.__ckVariantSwipeFallbackAttached = true;\n\n    var start = null;\n    var lastPoint = null;\n    var eventOptions = { passive: true };\n    var pointerFallback = isVistaV2Listing() || isCruzManualFallbackListing();\n    var captureEventOptions = isVistaV2Listing()\n      ? { passive: false, capture: true }\n      : { passive: true, capture: true };\n\n    function touchIsInsideSlider(touch) {\n      if (!touch || !slider.getBoundingClientRect) return false;\n      var rect = slider.getBoundingClientRect();\n      return touch.clientX >= rect.left &&\n        touch.clientX <= rect.right &&\n        touch.clientY >= rect.top &&\n        touch.clientY <= rect.bottom;\n    }\n\n    function rememberSwipeStart(x, y) {\n      start = {\n        x: x,\n        y: y,\n        file: slideFile(activeSlide(container)),\n        color: isVistaV2Listing() ? currentVistaV2Color(container) : ''\n      };\n      lastPoint = { x: x, y: y };\n      if (isVistaV2Listing()) {\n        window.__ckVistaV2SwipeDebug = window.__ckVistaV2SwipeDebug || {};\n        window.__ckVistaV2SwipeDebug.starts = (window.__ckVistaV2SwipeDebug.starts || 0) + 1;\n        window.__ckVistaV2SwipeDebug.start = { x: x, y: y, file: start.file, color: start.color };\n      } else if (isCruzManualFallbackListing()) {\n        window.__ckCruzSwipeDebug = window.__ckCruzSwipeDebug || {};\n        window.__ckCruzSwipeDebug.starts = (window.__ckCruzSwipeDebug.starts || 0) + 1;\n        window.__ckCruzSwipeDebug.start = { x: x, y: y, file: start.file };\n      }\n    }\n\n    function claimVistaSwipeEvent(event) {\n      if (!isVistaV2Listing() || !event) return;\n      if (event.stopImmediatePropagation) {\n        event.stopImmediatePropagation();\n      } else if (event.stopPropagation) {\n        event.stopPropagation();\n      }\n      if (event.cancelable && event.preventDefault) {\n        event.preventDefault();\n      }\n    }\n\n    function finishSwipe(x, y) {\n      if (!start) return;\n      var dx = x - start.x;\n      var dy = y - start.y;\n      var startFile = start.file;\n      var startColor = start.color;\n      if (isVistaV2Listing()) {\n        window.__ckVistaV2SwipeDebug = window.__ckVistaV2SwipeDebug || {};\n        window.__ckVistaV2SwipeDebug.finishes = (window.__ckVistaV2SwipeDebug.finishes || 0) + 1;\n        window.__ckVistaV2SwipeDebug.finish = { x: x, y: y, dx: dx, dy: dy, startFile: startFile };\n      } else if (isCruzManualFallbackListing()) {\n        window.__ckCruzSwipeDebug = window.__ckCruzSwipeDebug || {};\n        window.__ckCruzSwipeDebug.finishes = (window.__ckCruzSwipeDebug.finishes || 0) + 1;\n        window.__ckCruzSwipeDebug.finish = { x: x, y: y, dx: dx, dy: dy, startFile: startFile };\n      }\n      start = null;\n      lastPoint = null;\n\n      if (Math.abs(dx) < 45 || Math.abs(dx) < Math.abs(dy) * 1.2) {\n        if (isVistaV2Listing()) window.__ckVistaV2SwipeDebug.rejected = true;\n        if (isCruzManualFallbackListing()) window.__ckCruzSwipeDebug.rejected = true;\n        return;\n      }\n\n      if (isVistaV2Listing()) {\n        var immediateVariant = vistaV2AuthoritativeVariant(container);\n        var immediateColor = startColor || currentVistaV2Color(container);\n        var immediateSlides = vistaV2SlidesForColor(container, immediateColor);\n        if (immediateSlides.length >= 2) {\n          var immediateCurrent = findSlideByFile(container, startFile, immediateColor) || immediateSlides[0];\n          var immediateIndex = immediateSlides.indexOf(immediateCurrent);\n          if (immediateIndex === -1) immediateIndex = 0;\n          var immediateDirection = dx < 0 ? 1 : -1;\n          var immediateNextIndex = (immediateIndex + immediateDirection + immediateSlides.length) % immediateSlides.length;\n          var immediateTarget = immediateSlides[immediateNextIndex];\n          container.__ckVistaV2DesiredFile = slideFile(immediateTarget);\n          container.__ckVistaV2DesiredAt = Date.now();\n          window.__ckVistaV2SwipeDebug.choice = {\n            selectedColor: immediateColor,\n            index: immediateIndex,\n            nextIndex: immediateNextIndex,\n            nextFile: container.__ckVistaV2DesiredFile,\n            slideCount: immediateSlides.length,\n            immediate: true\n          };\n          showVistaV2FallbackImage(container, immediateTarget, immediateColor);\n          syncVistaV2Slides(container, immediateColor, { resetSelection: false, preferredSlide: immediateTarget });\n          if (!isVistaV2VirtualSlide(immediateTarget)) {\n            selectSlide(container, immediateTarget, false);\n            syncSelectedSlideClass(container, immediateColor, immediateTarget);\n          }\n          syncActiveThumbForSlide(container, immediateTarget);\n          syncGalleryIndicator(container, immediateVariant);\n        }\n      }\n\n      if (isCruzManualFallbackListing()) {\n        var cruzColor = isMinuV3Listing() ? currentMinuColor(container) : currentCruzColor(container);\n        var cruzSlides = isMinuV3Listing() ? minuSlidesForColor(container, cruzColor) : cruzSlidesForColor(container, cruzColor);\n        if (cruzSlides.length >= 2) {\n          var cruzCurrent = findSlideByFile(container, startFile, cruzColor) || activeSlide(container) || cruzSlides[0];\n          var cruzIndex = container.__ckCruzManualColor === cruzColor &&\n            typeof container.__ckCruzManualIndex === 'number' &&\n            container.__ckCruzManualIndex >= 0\n            ? container.__ckCruzManualIndex\n            : cruzSlides.indexOf(cruzCurrent);\n          if (cruzIndex === -1) cruzIndex = 0;\n          var cruzDirection = dx < 0 ? 1 : -1;\n          var cruzNextIndex = (cruzIndex + cruzDirection + cruzSlides.length) % cruzSlides.length;\n          var cruzTarget = cruzSlides[cruzNextIndex];\n          window.__ckCruzSwipeDebug = window.__ckCruzSwipeDebug || {};\n          window.__ckCruzSwipeDebug.choice = {\n            selectedColor: cruzColor,\n            index: cruzIndex,\n            nextIndex: cruzNextIndex,\n            nextFile: slideFile(cruzTarget),\n            slideCount: cruzSlides.length,\n            immediate: true\n          };\n          showCruzFallbackImage(container, cruzTarget, cruzColor, cruzNextIndex);\n          try {\n            selectSlide(container, cruzTarget, false);\n          } catch (error) {\n            window.__ckCruzSwipeDebug.selectError = error && error.message ? error.message : String(error);\n          }\n          try {\n            syncSelectedSlideClass(container, cruzColor, cruzTarget);\n          } catch (error) {\n            window.__ckCruzSwipeDebug.classSyncError = error && error.message ? error.message : String(error);\n          }\n        }\n        return;\n      }\n\n      window.setTimeout(function() {\n        var current = activeSlide(container);\n        if (!isVistaV2Listing() && !isCruzManualFallbackListing() && slideFile(current) !== startFile) return;\n\n        var variant = isVistaV2Listing() ? vistaV2AuthoritativeVariant(container) : selectedVariant(container);\n        var selectedColor = isVistaV2Listing() ? currentVistaV2Color(container) : variantColorToken(variant, container);\n        var slides = isVistaV2Listing()\n          ? vistaV2SlidesForColor(container, selectedColor)\n          : usableGallerySlides(container, selectedColor);\n        if (slides.length < 2) return;\n        if (isCruzManualFallbackListing()) {\n          window.__ckCruzSwipeDebug = window.__ckCruzSwipeDebug || {};\n          window.__ckCruzSwipeDebug.slides = slides.map(function(slide) { return slideFile(slide); });\n        }\n\n        if (isVistaV2Listing()) {\n          current = findSlideByFile(container, startFile, selectedColor) || current;\n        }\n        var index = isVistaV2Listing()\n          ? slides.indexOf(current)\n          : currentGalleryIndex(container, slides, slider);\n        if (index === -1) index = 0;\n        var direction = dx < 0 ? 1 : -1;\n        var nextIndex = (index + direction + slides.length) % slides.length;\n        if (isCruzManualFallbackListing()) {\n          window.__ckCruzSwipeDebug.choice = {\n            selectedColor: selectedColor,\n            index: index,\n            nextIndex: nextIndex,\n            nextFile: slideFile(slides[nextIndex]),\n            slideCount: slides.length\n          };\n        }\n        if (isVistaV2Listing()) {\n          container.__ckVistaV2DesiredFile = slideFile(slides[nextIndex]);\n          container.__ckVistaV2DesiredAt = Date.now();\n          window.__ckVistaV2SwipeDebug.choice = {\n            selectedColor: selectedColor,\n            index: index,\n            nextIndex: nextIndex,\n            nextFile: container.__ckVistaV2DesiredFile,\n            slideCount: slides.length\n          };\n        }\n        if (!isVistaV2VirtualSlide(slides[nextIndex])) {\n          selectSlide(container, slides[nextIndex], false);\n          syncSelectedSlideClass(container, selectedColor, slides[nextIndex]);\n        }\n        if (isVistaV2Listing()) {\n          showVistaV2FallbackImage(container, slides[nextIndex], selectedColor);\n        }\n        if (isVistaV2Listing()) {\n          syncVistaV2Slides(container, selectedColor, { resetSelection: false, preferredSlide: slides[nextIndex] });\n        }\n        var flkty = window.Flickity && window.Flickity.data(slider);\n        if (flkty && typeof flkty.resize === 'function') flkty.resize();\n        syncGalleryIndicator(container, variant);\n        window.setTimeout(function() { syncContainer(container, { forceImage: false }); }, 220);\n        syncGalleryIndicatorSoon(container);\n      }, 140);\n    }\n\n    var handleStart = function(event) {\n      if (!event.touches || event.touches.length !== 1) return;\n      var touch = event.touches[0];\n      if (isVistaV2Listing() && !slider.contains(event.target) && !touchIsInsideSlider(touch)) return;\n      claimVistaSwipeEvent(event);\n      rememberSwipeStart(touch.clientX, touch.clientY);\n    };\n\n    var handleEnd = function(event) {\n      if (!start || !event.changedTouches || !event.changedTouches.length) {\n        start = null;\n        lastPoint = null;\n        return;\n      }\n\n      var touch = lastPoint || event.changedTouches[0];\n      claimVistaSwipeEvent(event);\n      finishSwipe(touch.x || touch.clientX, touch.y || touch.clientY);\n    };\n\n    var handleMove = function(event) {\n      if (!start || !event.touches || !event.touches.length) return;\n      var touch = event.touches[0];\n      lastPoint = { x: touch.clientX, y: touch.clientY };\n      var dx = lastPoint.x - start.x;\n      var dy = lastPoint.y - start.y;\n      if (Math.abs(dx) > 18 && Math.abs(dx) > Math.abs(dy) * 1.1) {\n        claimVistaSwipeEvent(event);\n      }\n    };\n\n    var handlePointerStart = function(event) {\n      if (!pointerFallback || !event.isPrimary) return;\n      if (!slider.contains(event.target) && !touchIsInsideSlider(event)) return;\n      claimVistaSwipeEvent(event);\n      rememberSwipeStart(event.clientX, event.clientY);\n    };\n\n    var handlePointerMove = function(event) {\n      if (!pointerFallback || !event.isPrimary || !start) return;\n      lastPoint = { x: event.clientX, y: event.clientY };\n      var dx = lastPoint.x - start.x;\n      var dy = lastPoint.y - start.y;\n      if (Math.abs(dx) > 18 && Math.abs(dx) > Math.abs(dy) * 1.1) {\n        claimVistaSwipeEvent(event);\n      }\n    };\n\n    var handlePointerEnd = function(event) {\n      if (!pointerFallback || !event.isPrimary) return;\n      claimVistaSwipeEvent(event);\n      finishSwipe(lastPoint ? lastPoint.x : event.clientX, lastPoint ? lastPoint.y : event.clientY);\n    };\n\n    if (isVistaV2Listing()) {\n      document.addEventListener('touchstart', handleStart, captureEventOptions);\n      document.addEventListener('touchmove', handleMove, captureEventOptions);\n      document.addEventListener('touchend', handleEnd, captureEventOptions);\n      document.addEventListener('pointerdown', handlePointerStart, captureEventOptions);\n      document.addEventListener('pointermove', handlePointerMove, captureEventOptions);\n      document.addEventListener('pointerup', handlePointerEnd, captureEventOptions);\n    } else {\n      slider.addEventListener('touchstart', handleStart, eventOptions);\n      if (isCruzManualFallbackListing()) {\n        slider.addEventListener('touchmove', handleMove, eventOptions);\n        slider.addEventListener('pointerdown', handlePointerStart, eventOptions);\n        slider.addEventListener('pointermove', handlePointerMove, eventOptions);\n        slider.addEventListener('pointerup', handlePointerEnd, eventOptions);\n      }\n      slider.addEventListener('touchend', handleEnd, eventOptions);\n    }\n  }\n\n  function keepSelectedColor(container, variant) {\n    var selectedColor = variantColorToken(variant, container);\n    if (!selectedColor) return;\n\n    var selected = activeSlide(container);\n    var selectedMediaColor = slideColor(selected);\n    if (!selected) return;\n    if (isJoolzAerPlusListing() && selectedColor) {\n      if (selectedMediaColor === selectedColor) return;\n      selectSlide(container, firstSlideForColor(container, selectedColor), true);\n      return;\n    }\n    if (selectedMediaColor === selectedColor || !selectedMediaColor) return;\n\n    selectSlide(container, firstSlideForColor(container, selectedColor), true);\n  }\n\n  function keepSelectedColorSoon(container) {\n    var run = function() {\n      var variant = selectedVariant(container);\n      if (variant) {\n        keepSelectedColor(container, variant);\n        syncGalleryIndicator(container, variant);\n      }\n    };\n    run();\n    window.setTimeout(run, 60);\n    window.setTimeout(run, 180);\n    window.setTimeout(run, 360);\n  }\n\n  function forceMainImage(container, variant) {\n    var src = variantImageSrc(variant);\n    if (!src) return;\n\n    var selectedColor = variantColorToken(variant, container);\n    var targetFile = cleanFile(src);\n    var thumb = findVariantThumb(container, variant);\n    var slider = container.querySelector('[data-product-photos]');\n\n    var targetSlide = null;\n    orderedMainSlides(container).forEach(function(slide) {\n      if (targetSlide) return;\n      var link = slide.querySelector('a[href]');\n      var image = slide.querySelector('img');\n      if (cleanFile((link && link.getAttribute('href')) || (image && (image.currentSrc || image.src))) === targetFile) {\n        targetSlide = slide;\n      }\n    });\n\n    revealSlide(targetSlide);\n    if (!selectSlide(container, targetSlide, true) && thumb) {\n      container.querySelectorAll('.product__thumb').forEach(function(item) {\n        item.classList.toggle('is-active', item === thumb);\n      });\n    }\n\n    syncSelectedSlideClass(container, selectedColor, targetSlide);\n\n    var activeSlide = targetSlide || visibleSelectedSlide(container);\n    if (!activeSlide) return;\n    var activeColor = slideColor(activeSlide);\n    if (selectedColor && activeColor && activeColor !== selectedColor) return;\n\n    var image = activeSlide.querySelector('img');\n    if (!image) return;\n\n    if (\n      cleanFile(image.currentSrc || image.src) !== targetFile ||\n      !image.complete ||\n      !image.naturalWidth ||\n      !image.naturalHeight\n    ) {\n      image.removeAttribute('srcset');\n      image.removeAttribute('data-srcset');\n      image.removeAttribute('data-src');\n      image.setAttribute('loading', 'eager');\n      image.src = displaySrc(src);\n    }\n\n    var alt = variant.featured_image && variant.featured_image.alt ? variant.featured_image.alt : '';\n    if (alt) image.setAttribute('alt', alt);\n\n    var link = activeSlide.querySelector('a[href]');\n    if (link) link.setAttribute('href', src);\n\n    if (thumb) {\n      container.querySelectorAll('.product__thumb').forEach(function(item) {\n        item.classList.toggle('is-active', item === thumb);\n      });\n    }\n  }\n\n  function syncContainer(container, options) {\n    if (container.__ckVariantGallerySyncing) return;\n    ensureThuleSpringDefaultVariant(container);\n    options = options || {};\n    var variant = isVistaBundleDraftProduct()\n      ? (vistaBundleAuthoritativeVariant(container) || selectedVariant(container))\n      : (isVistaV2Listing() ? (vistaV2AuthoritativeVariant(container) || selectedVariant(container)) : selectedVariant(container));\n    if (!variant) return;\n    container.__ckVariantGallerySyncing = true;\n    try {\n      var variantChanged = String(container.__ckVariantGalleryVariantId || '') !== String(variant.id || '');\n      if (isVistaBundleDraftProduct()) {\n        var recentManualImage = container.__ckVistaBundleManualImageAt && (Date.now() - container.__ckVistaBundleManualImageAt < 2600);\n        vistaBundleApply(container, { resetSelection: (options.forceImage && !recentManualImage) || variantChanged });\n        return;\n      }\n      var selectedColor = variantColorToken(variant, container);\n      ensureThuleSpringWheelKitSlide(container);\n      syncColorThumbnails(container, variant);\n      var specialSlidesHandled = syncColorSlides(container, variant);\n      syncVistaBundleColorMedia(container, selectedColor);\n      syncThumbRailState(container);\n      syncDotColorLabel(container);\n      if (isVistaV2Listing() && specialSlidesHandled) {\n        stabilizeVistaV2Gallery(container, selectedColor, { resetSelection: options.forceImage || variantChanged });\n        syncThumbRailState(container);\n        container.__ckVariantGalleryVariantId = variant.id;\n        syncGalleryIndicator(container, variant);\n        return;\n      }\n      if (isJoolzAerPlusListing() && specialSlidesHandled) {\n        syncAerPlusVisibleThumbs(container, selectedColor);\n        syncAerPlusFallbackImage(container);\n        scheduleAerPlusSlideStabilize(container, selectedColor);\n        scheduleAerPlusFallbackImage(container);\n        container.__ckVariantGalleryVariantId = variant.id;\n        syncGalleryIndicator(container, variant);\n        return;\n      }\n      refreshGalleryCells(container, selectedColor, { resetSelection: options.forceImage || variantChanged });\n      if (options.forceImage || variantChanged) {\n        forceMainImage(container, variant);\n      } else {\n        keepSelectedColor(container, variant);\n      }\n      syncSelectedSlideClass(container, selectedColor);\n      repairSelectedColorMainSlide(container, selectedColor);\n      scheduleSelectedColorMainSlideRepair(container, selectedColor);\n      scheduleVistaBundleFallbackImage(container);\n      scheduleDotFallbackImage(container);\n      syncAerPlusFallbackImage(container);\n      scheduleAerPlusFallbackImage(container);\n      container.__ckVariantGalleryVariantId = variant.id;\n      syncGalleryIndicator(container, variant);\n      stabilizeCruzGallery(container, selectedColor);\n\n      var slider = container.querySelector('[data-product-photos]');\n      if (slider && slider.__ckSlideshow && typeof slider.__ckSlideshow.reposition === 'function') {\n        slider.__ckSlideshow.reposition();\n      }\n    } finally {\n      container.__ckVariantGallerySyncing = false;\n    }\n  }\n\n  function watchSlider(container) {\n    var slider = container.querySelector('[data-product-photos]');\n    if (!slider || slider.__ckVariantSwipeGuardAttached) return;\n\n    var attach = function() {\n      if (!slider.__ckSlideshow || !slider.__ckSlideshow.slideshow || slider.__ckVariantSwipeGuardAttached) return;\n      slider.__ckVariantSwipeGuardAttached = true;\n      var flkty = slider.__ckSlideshow.slideshow;\n      var markDragging = function() {\n        slider.__ckVariantGalleryDragging = true;\n        var variant = isVistaBundleDraftProduct()\n          ? vistaBundleAuthoritativeVariant(container)\n          : (isVistaV2Listing() ? vistaV2AuthoritativeVariant(container) : selectedVariant(container));\n        var selectedColor = isVistaBundleDraftProduct() ? vistaBundleColorForVariant(variant) : variantColorToken(variant, container);\n        lockGalleryHeight(container, selectedColor);\n        slider.classList.add('ck-gallery-height-locked');\n      };\n      var settle = function() {\n        window.setTimeout(function() {\n          slider.__ckVariantGalleryDragging = false;\n        }, 180);\n        if (isVistaBundleDraftProduct()) {\n          vistaBundleApply(container, { resetSelection: false });\n          window.setTimeout(function() { vistaBundleApply(container, { resetSelection: false }); }, 260);\n          window.setTimeout(function() { vistaBundleApply(container, { resetSelection: false }); }, 780);\n          syncGalleryIndicatorSoon(container);\n          return;\n        }\n        keepSelectedColorSoon(container);\n        window.setTimeout(function() { syncContainer(container, { forceImage: false }); }, 260);\n        window.setTimeout(function() { syncContainer(container, { forceImage: false }); }, 780);\n        window.setTimeout(function() { syncContainer(container, { forceImage: false }); }, 1500);\n        syncGalleryIndicatorSoon(container);\n      };\n      flkty.on('dragStart', markDragging);\n      flkty.on('dragMove', markDragging);\n      flkty.on('scroll', function() { syncGalleryIndicatorSoon(container); });\n      flkty.on('dragEnd', settle);\n      flkty.on('change', settle);\n      flkty.on('settle', settle);\n      window.setTimeout(function() { syncContainer(container, { forceImage: false }); }, 120);\n      window.setTimeout(function() { syncContainer(container, { forceImage: false }); }, 700);\n      window.setTimeout(function() { syncContainer(container, { forceImage: false }); }, 1400);\n    };\n\n    attach();\n    window.setTimeout(attach, 250);\n    window.setTimeout(attach, 900);\n  }\n\n  function watchContainer(container) {\n    if (!isObservableContainer(container)) return;\n    if (isCruzManualFallbackListing()) return;\n    if (isVistaV2Listing()) return;\n    if (!container || container.__ckVariantGalleryObserver) return;\n    container.__ckVariantGalleryObserver = new MutationObserver(function() {\n      if (container.__ckVariantGallerySyncing) return;\n      window.clearTimeout(container.__ckVariantGalleryObserverTimer);\n      container.__ckVariantGalleryObserverTimer = window.setTimeout(function() {\n        var slider = container.querySelector('[data-product-photos]');\n        if (slider && slider.__ckVariantGalleryDragging) {\n          container.__ckVariantGalleryObserverTimer = window.setTimeout(function() {\n            syncContainer(container, { forceImage: false });\n          }, 220);\n          return;\n        }\n        syncContainer(container, { forceImage: false });\n      }, 160);\n    });\n    container.__ckVariantGalleryObserver.observe(container, {\n      childList: true,\n      subtree: true,\n      attributes: true,\n      attributeFilter: ['class', 'style', 'src', 'srcset', 'alt']\n    });\n  }\n\n  function syncAll() {\n    if (isAdaptiveImprovListing()) {\n      return;\n    }\n\n    installDirectImageLinkGuard();\n    installVistaBundleDirectThumbGuard();\n    installDotDirectThumbGuard();\n    ensureGalleryFilterStyle();\n    var seen = [];\n    document.querySelectorAll('[data-variant-json]').forEach(function(json) {\n      var container = productContainer(json);\n      if (!isObservableContainer(container)) return;\n      if (seen.indexOf(container) !== -1) return;\n      seen.push(container);\n      watchSlider(container);\n      installSwipeFallback(container);\n      installThumbnailSelectGuard(container);\n      syncContainer(container, { forceImage: true });\n      watchContainer(container);\n      scheduleCruzStabilize(container);\n      scheduleVistaV2Stabilize(container);\n    });\n  }\n\n  document.addEventListener('change', function(event) {\n    if (isAdaptiveImprovListing()) return;\n    if (!event.target || !event.target.matches || !event.target.matches('[data-variant-input]')) return;\n    var container = productContainer(event.target);\n    vistaBundleRememberVariantFromInput(container, event.target);\n    if (isVistaV2Listing()) {\n      vistaV2RememberVariant(container, variantForInputValue(container, event.target.value) || selectedVariant(container));\n    }\n    window.setTimeout(function() { syncContainer(container, { forceImage: true }); }, 0);\n    window.setTimeout(function() { syncContainer(container, { forceImage: true }); }, 250);\n    window.setTimeout(function() { syncContainer(container, { forceImage: true }); }, 900);\n    window.setTimeout(function() { syncContainer(container, { forceImage: false }); }, 1800);\n    scheduleDotFallbackImage(container);\n    scheduleAerPlusFallbackImage(container);\n    scheduleCruzStabilize(container);\n    scheduleVistaV2Stabilize(container);\n  }, true);\n\n  document.addEventListener('click', function(event) {\n    if (isAdaptiveImprovListing()) return;\n    var thumbLink = event.target.closest && event.target.closest('.product__thumb');\n    if (thumbLink && isJoolzAerPlusListing()) {\n      var thumbContainer = productContainer(thumbLink);\n      var thumbColor = mediaColorFromElements(thumbLink, thumbLink.querySelector('img'));\n      var selectedAerColor = aerPlusSelectedColor(thumbContainer);\n      if (thumbContainer && thumbColor && thumbColor === selectedAerColor) {\n        var imageData = aerPlusImageDataFromThumb(thumbLink);\n        if (imageData) {\n          thumbContainer.__ckAerPlusManualImage = {\n            color: thumbColor,\n            imageData: imageData\n          };\n          thumbContainer.querySelectorAll('.product__thumb').forEach(function(link) {\n            link.classList.toggle('is-active', link === thumbLink);\n          });\n          syncAerPlusFallbackImage(thumbContainer);\n          scheduleAerPlusFallbackImage(thumbContainer);\n        }\n      }\n    }\n\n    var label = event.target.closest && event.target.closest('label[for]');\n    if (!label) return;\n    var input = document.getElementById(label.getAttribute('for'));\n    if (!input || !input.matches('[data-variant-input]')) return;\n    var container = productContainer(input);\n    if (isVistaV2Listing()) {\n      vistaV2RememberVariant(container, variantForInputValue(container, input.value) || selectedVariant(container));\n    }\n    if (input.matches('.variant__input--color-swatch') && isSingleOptionProduct(container)) {\n      var colorVariant = variantForInputValue(container, input.value);\n      event.preventDefault();\n      event.stopPropagation();\n      if (event.stopImmediatePropagation) {\n        event.stopImmediatePropagation();\n      }\n      input.checked = true;\n      setSelectedVariant(container, colorVariant);\n      vistaBundleRememberVariantFromInput(container, input);\n      input.dispatchEvent(new Event('change', { bubbles: true }));\n      syncContainer(container, { forceImage: true });\n      if (isVistaBundleDraftProduct()) {\n        scheduleVistaBundleFallbackImage(container);\n        return;\n      }\n      scheduleSelectedColorMainSlideRepair(container, variantColorToken(colorVariant, container));\n      scheduleDotFallbackImage(container);\n      scheduleAerPlusFallbackImage(container);\n      return;\n    }\n    if (input.checked) {\n      event.preventDefault();\n      event.stopPropagation();\n      if (event.stopImmediatePropagation) {\n        event.stopImmediatePropagation();\n      }\n      vistaBundleRememberVariantFromInput(container, input);\n      syncContainer(container, { forceImage: false });\n      if (isVistaBundleDraftProduct()) {\n        scheduleVistaBundleFallbackImage(container);\n        return;\n      }\n      scheduleSelectedColorMainSlideRepair(container, variantColorToken(selectedVariant(container), container));\n      scheduleDotFallbackImage(container);\n      scheduleAerPlusFallbackImage(container);\n      return;\n    }\n    vistaBundleRememberVariantFromInput(container, input);\n    window.setTimeout(function() { syncContainer(container, { forceImage: true }); }, 0);\n    window.setTimeout(function() { syncContainer(container, { forceImage: true }); }, 250);\n    window.setTimeout(function() { syncContainer(container, { forceImage: true }); }, 900);\n    window.setTimeout(function() { syncContainer(container, { forceImage: false }); }, 1800);\n    scheduleDotFallbackImage(container);\n    scheduleAerPlusFallbackImage(container);\n    scheduleCruzStabilize(container);\n    scheduleVistaV2Stabilize(container);\n  }, true);\n\n  installDirectImageLinkGuard();\n  installDotDirectThumbGuard();\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', syncAll);\n  } else {\n    syncAll();\n  }\n\n  document.addEventListener('page:loaded', syncAll);\n  document.addEventListener('shopify:section:load', syncAll);\n  window.setTimeout(syncAll, 250);\n  window.setTimeout(syncAll, 900);\n  window.setTimeout(syncAll, 1800);\n  window.setTimeout(syncAll, 3000);\n  window.setTimeout(syncAll, 5000);\n})();\n\r\n"],
  "mappings": "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",
  "names": ["image", "dot", "link", "activeSlide"]
}
