{
  "version": 3,
  "sources": ["/cdn/shop/t/22/assets/theme.js?x=19516"],
  "sourcesContent": ["/* FLOR\u0130A \u2014 tema betikleri. Kaynak: scripts/ (tools/build.js ile birle\u015Ftirilir) */\n/* ---- 00-core.js ---- */\n(function () {\n  'use strict';\n\n  var T = window.pzTheme = window.pzTheme || {};\n  T.routes = T.routes || {};\n  T.strings = T.strings || {};\n  var designMode = !!(window.Shopify && window.Shopify.designMode);\n  var reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n  function safe(name, fn) {\n    return function () {\n      try { return fn.apply(this, arguments); } catch (e) { if (window.console) console.warn('[pz] ' + name, e); }\n    };\n  }\n  function qs(sel, root) { return (root || document).querySelector(sel); }\n  function qsa(sel, root) { return Array.prototype.slice.call((root || document).querySelectorAll(sel)); }\n  function on(el, ev, fn, opts) { if (el) el.addEventListener(ev, fn, opts || false); }\n  function rootUrl(path) {\n    var r = T.routes.root || '/';\n    if (r.charAt(r.length - 1) !== '/') r += '/';\n    return r + String(path || '').replace(/^\\//, '');\n  }\n  function clamp(v, a, b) { return Math.min(b, Math.max(a, v)); }\n  function animOn() { return document.body.classList.contains('has-anim') && !reduceMotion; }\n\n  /* ---------- Para bi\u00E7imi ---------- */\n  function formatMoney(cents, format) {\n    if (typeof cents === 'string') cents = cents.replace('.', '');\n    cents = parseInt(cents, 10) || 0;\n    format = format || T.moneyFormat || '{{amount}} TL';\n    function delimit(n, precision, thousands, decimal) {\n      var fixed = (n / 100).toFixed(precision);\n      var parts = fixed.split('.');\n      var whole = parts[0].replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, '$1' + thousands);\n      return parts[1] ? whole + decimal + parts[1] : whole;\n    }\n    return format.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/, function (m, key) {\n      switch (key) {\n        case 'amount': return delimit(cents, 2, ',', '.');\n        case 'amount_no_decimals': return delimit(cents, 0, ',', '.');\n        case 'amount_with_comma_separator': return delimit(cents, 2, '.', ',');\n        case 'amount_no_decimals_with_comma_separator': return delimit(cents, 0, '.', ',');\n        case 'amount_with_apostrophe_separator': return delimit(cents, 2, \"'\", '.');\n        case 'amount_with_space_separator': return delimit(cents, 2, ' ', ',');\n        default: return delimit(cents, 2, ',', '.');\n      }\n    });\n  }\n\n  /* ---------- Bildirim ---------- */\n  var toastTimer;\n  function toast(msg, isError) {\n    var el = qs('[data-toast]');\n    if (!el) return;\n    qs('[data-toast-text]', el).textContent = msg;\n    el.classList.toggle('is-error', !!isError);\n    el.classList.add('is-on');\n    clearTimeout(toastTimer);\n    toastTimer = setTimeout(function () { el.classList.remove('is-on'); }, 2600);\n  }\n\n  /* ---------- Kayd\u0131rma kilidi ---------- */\n  var locks = 0;\n  function lockScroll(onOff) {\n    locks = Math.max(0, locks + (onOff ? 1 : -1));\n    document.documentElement.classList.toggle('pz-lock', locks > 0);\n  }\n\n  /* ---------- B\u00F6l\u00FCm HTML'i getir ---------- */\n  function fetchSection(url, sectionId) {\n    var u = url + (url.indexOf('?') > -1 ? '&' : '?') + 'section_id=' + encodeURIComponent(sectionId);\n    return fetch(u, { credentials: 'same-origin' }).then(function (r) {\n      if (!r.ok) throw new Error(r.status);\n      return r.text();\n    }).then(function (html) { return new DOMParser().parseFromString(html, 'text/html'); });\n  }\n\n  /* ---------- G\u00F6r\u00FCn\u00FCrl\u00FCk g\u00F6zlemcisi ---------- */\n  function whenVisible(el, fn, opts) {\n    if (!('IntersectionObserver' in window)) { fn(el); return; }\n    var io = new IntersectionObserver(function (entries) {\n      entries.forEach(function (e) {\n        if (e.isIntersecting) { io.unobserve(e.target); fn(e.target); }\n      });\n    }, opts || { rootMargin: '0px 0px -8% 0px', threshold: 0.12 });\n    io.observe(el);\n    return io;\n  }\n\n/* ---- 10-ui.js ---- */\n/* ==========================================================================\n     Aray\u00FCz: giri\u015F animasyonlar\u0131, fener efekti, \u00E7ekmeceler, akordeon, sekmeler\n     ========================================================================== */\n\n  /* ---------- Giri\u015F animasyonlar\u0131 ---------- */\n  function initReveal(scope) {\n    var root = scope || document;\n    var items = qsa('[data-r]', root);\n    // Ayn\u0131 b\u00F6l\u00FCm i\u00E7inde s\u0131rayla gecikme ver\n    qsa('.pz-sec', root).concat(root.classList && root.classList.contains('pz-sec') ? [root] : []).forEach(function (sec) {\n      qsa('[data-r]', sec).forEach(function (el, i) {\n        if (!el.style.getPropertyValue('--i')) el.style.setProperty('--i', Math.min(i, 8));\n      });\n    });\n    if (!animOn() || designMode || !('IntersectionObserver' in window)) {\n      items.forEach(function (el) { el.classList.add('is-in'); });\n      return;\n    }\n    var io = new IntersectionObserver(function (entries) {\n      entries.forEach(function (e) {\n        if (e.isIntersecting) { e.target.classList.add('is-in'); io.unobserve(e.target); }\n      });\n    }, { rootMargin: '0px 0px -6% 0px', threshold: 0.08 });\n    items.forEach(function (el) {\n      // \u0130lk ekrandakiler hemen g\u00F6r\u00FCn\u00FCr; sayfa ilk \u00E7izimde eksiksiz olur.\n      var r = el.getBoundingClientRect();\n      if (r.top < window.innerHeight * 0.92) el.classList.add('is-in');\n      else io.observe(el);\n    });\n  }\n\n  /* ---------- Fener efekti ---------- */\n  function initCursorLight() {\n    if (document.body.getAttribute('data-cursor-light') !== 'true' || !window.matchMedia('(hover: hover)').matches) return;\n    var raf = 0, last = null;\n    on(document, 'pointermove', function (e) {\n      last = e;\n      if (raf) return;\n      raf = requestAnimationFrame(function () {\n        raf = 0;\n        var sec = last.target && last.target.closest && last.target.closest('.scheme-night.pz-sec, .scheme-night-2.pz-sec');\n        if (!sec) return;\n        var r = sec.getBoundingClientRect();\n        sec.style.setProperty('--mx', (last.clientX - r.left) + 'px');\n        sec.style.setProperty('--my', (last.clientY - r.top) + 'px');\n      });\n    }, { passive: true });\n  }\n\n  /* ---------- \u00C7ekmeceler ---------- */\n  var lastFocus = null;\n  function openDrawer(drawer, opener) {\n    if (!drawer || drawer.classList.contains('is-open')) return;\n    lastFocus = opener || document.activeElement;\n    drawer.classList.add('is-open');\n    drawer.setAttribute('aria-hidden', 'false');\n    lockScroll(true);\n    qsa('[aria-controls=\"' + drawer.id + '\"]').forEach(function (b) { b.setAttribute('aria-expanded', 'true'); });\n    var focusEl = qs('[data-drawer-focus]', drawer) || qs('.pz-drawer__panel button, .pz-drawer__panel a, .pz-drawer__panel input', drawer);\n    setTimeout(function () { if (focusEl) focusEl.focus({ preventScroll: true }); }, 60);\n  }\n  function closeDrawer(drawer) {\n    if (!drawer || !drawer.classList.contains('is-open')) return;\n    drawer.classList.remove('is-open');\n    drawer.setAttribute('aria-hidden', 'true');\n    lockScroll(false);\n    qsa('[aria-controls=\"' + drawer.id + '\"]').forEach(function (b) { b.setAttribute('aria-expanded', 'false'); });\n    if (lastFocus && lastFocus.focus) lastFocus.focus({ preventScroll: true });\n  }\n  T.openDrawer = openDrawer;\n  T.closeDrawer = closeDrawer;\n  function initDrawers() {\n    on(document, 'click', function (e) {\n      var opener = e.target.closest('[data-drawer-open]');\n      if (opener) {\n        e.preventDefault();\n        openDrawer(document.getElementById(opener.getAttribute('data-drawer-open')), opener);\n        return;\n      }\n      var closer = e.target.closest('[data-drawer-close]');\n      if (closer) closeDrawer(closer.closest('[data-drawer]'));\n    });\n    on(document, 'keydown', function (e) {\n      if (e.key !== 'Escape') return;\n      qsa('[data-drawer].is-open').forEach(closeDrawer);\n      qsa('dialog[open]').forEach(function (d) { d.close(); });\n    });\n    // Basit odak tuza\u011F\u0131\n    on(document, 'keydown', function (e) {\n      if (e.key !== 'Tab') return;\n      var d = qs('[data-drawer].is-open .pz-drawer__panel');\n      if (!d) return;\n      var f = qsa('a[href], button:not([disabled]), input:not([type=\"hidden\"]):not([disabled]), select, textarea, [tabindex]:not([tabindex=\"-1\"])', d).filter(function (x) { return x.offsetParent !== null; });\n      if (!f.length) return;\n      var first = f[0], last = f[f.length - 1];\n      if (e.shiftKey && document.activeElement === first) { e.preventDefault(); last.focus(); }\n      else if (!e.shiftKey && document.activeElement === last) { e.preventDefault(); first.focus(); }\n    });\n  }\n\n  /* ---------- Diyaloglar ---------- */\n  function initDialogs() {\n    on(document, 'click', function (e) {\n      var o = e.target.closest('[data-dialog-open]');\n      if (o) {\n        var d = document.getElementById(o.getAttribute('data-dialog-open'));\n        if (d && d.showModal) { e.preventDefault(); d.showModal(); lockScroll(true); }\n        return;\n      }\n      if (e.target.closest('[data-dialog-close]') || (e.target.tagName === 'DIALOG' && e.target.open)) {\n        var dd = e.target.closest('dialog');\n        if (dd) dd.close();\n      }\n    });\n    qsa('dialog.pz-dialog').forEach(function (d) {\n      if (d.__pz) return; d.__pz = true;\n      on(d, 'close', function () { lockScroll(false); qsa('video', d).forEach(function (v) { v.pause(); }); });\n    });\n  }\n\n  /* ---------- Akordeon: yumu\u015Fak a\u00E7\u0131l\u0131\u015F ---------- */\n  function initAccordions(scope) {\n    if (!animOn()) return;\n    qsa('details.pz-acc', scope).forEach(function (d) {\n      if (d.__pz) return; d.__pz = true;\n      var sum = qs('summary', d), body = qs('.pz-acc__body', d);\n      if (!sum || !body) return;\n      on(sum, 'click', function (e) {\n        e.preventDefault();\n        if (d.__busy) return;\n        d.__busy = true;\n        if (d.open) {\n          var h = body.offsetHeight;\n          body.animate([{ height: h + 'px', opacity: 1 }, { height: '0px', opacity: 0 }], { duration: 320, easing: 'cubic-bezier(.2,.7,.2,1)' }).onfinish = function () { d.open = false; d.__busy = false; };\n        } else {\n          d.open = true;\n          var h2 = body.offsetHeight;\n          body.animate([{ height: '0px', opacity: 0 }, { height: h2 + 'px', opacity: 1 }], { duration: 380, easing: 'cubic-bezier(.2,.7,.2,1)' }).onfinish = function () { d.__busy = false; };\n        }\n      });\n    });\n  }\n\n  /* ---------- Sekmeler ---------- */\n  function initTabs(scope) {\n    qsa('[data-tabs]', scope).forEach(function (wrap) {\n      if (wrap.__pz) return; wrap.__pz = true;\n      var tabs = qsa('[role=\"tab\"]', wrap);\n      function select(tab, focus) {\n        tabs.forEach(function (t) {\n          var sel = t === tab;\n          t.setAttribute('aria-selected', sel);\n          t.tabIndex = sel ? 0 : -1;\n          var p = document.getElementById(t.getAttribute('aria-controls'));\n          if (p) {\n            p.hidden = !sel;\n            if (sel) initReveal(p);\n          }\n        });\n        var ind = qs('[data-tab-indicator]', wrap);\n        if (ind) { ind.style.width = tab.offsetWidth + 'px'; ind.style.transform = 'translateX(' + tab.offsetLeft + 'px)'; }\n        if (focus) tab.focus();\n      }\n      tabs.forEach(function (t, i) {\n        on(t, 'click', function () { select(t); });\n        on(t, 'keydown', function (e) {\n          var n = e.key === 'ArrowRight' ? 1 : e.key === 'ArrowLeft' ? -1 : 0;\n          if (!n) return;\n          e.preventDefault();\n          select(tabs[(i + n + tabs.length) % tabs.length], true);\n        });\n      });\n      var cur = tabs.filter(function (t) { return t.getAttribute('aria-selected') === 'true'; })[0] || tabs[0];\n      if (cur) requestAnimationFrame(function () { select(cur); });\n      on(window, 'resize', function () {\n        var c = tabs.filter(function (t) { return t.getAttribute('aria-selected') === 'true'; })[0];\n        if (c) select(c);\n      });\n    });\n  }\n\n  /* ---------- Yatay kayd\u0131r\u0131c\u0131lar ---------- */\n  function initScrollers(scope) {\n    qsa('[data-scroller]', scope).forEach(function (wrap) {\n      if (wrap.__pz) return; wrap.__pz = true;\n      var track = qs('[data-scroller-track]', wrap);\n      var prev = qs('[data-scroller-prev]', wrap), next = qs('[data-scroller-next]', wrap);\n      var bar = qs('[data-scroller-bar]', wrap);\n      if (!track) return;\n      function step() {\n        var item = track.firstElementChild;\n        return item ? item.getBoundingClientRect().width + parseFloat(getComputedStyle(track).columnGap || 16) : track.clientWidth * 0.8;\n      }\n      function update() {\n        var max = track.scrollWidth - track.clientWidth;\n        if (prev) prev.disabled = track.scrollLeft <= 2;\n        if (next) next.disabled = track.scrollLeft >= max - 2;\n        if (bar) bar.style.setProperty('--p', max > 0 ? track.scrollLeft / max : 1);\n        wrap.classList.toggle('is-static', max <= 2);\n      }\n      on(prev, 'click', function () { track.scrollBy({ left: -step(), behavior: 'smooth' }); });\n      on(next, 'click', function () { track.scrollBy({ left: step(), behavior: 'smooth' }); });\n      on(track, 'scroll', function () { requestAnimationFrame(update); }, { passive: true });\n      on(window, 'resize', update);\n      update();\n    });\n  }\n\n  /* ---------- Payla\u015F / kopyala ---------- */\n  function initShare() {\n    on(document, 'click', function (e) {\n      var b = e.target.closest('[data-share]');\n      if (!b) return;\n      var url = b.getAttribute('data-share') || location.href;\n      if (navigator.share) {\n        navigator.share({ title: document.title, url: url }).catch(function () {});\n      } else if (navigator.clipboard) {\n        navigator.clipboard.writeText(url).then(function () { toast(T.strings.copied || 'Kopyaland\u0131'); }).catch(function () {});\n      }\n    });\n  }\n\n/* ---- 20-header.js ---- */\n/* ==========================================================================\n     \u00DCst men\u00FC, duyuru band\u0131, an\u0131nda arama\n     ========================================================================== */\n\n  function initHeader() {\n    var header = qs('[data-header]');\n    if (!header) return;\n    var group = header.closest('.shopify-section-group-header-group') || header.parentElement;\n    var mode = header.getAttribute('data-sticky');\n    var lastY = window.scrollY, ticking = false;\n\n    function setHeight() {\n      document.documentElement.style.setProperty('--header-h', header.offsetHeight + 'px');\n    }\n    function update() {\n      ticking = false;\n      var y = window.scrollY;\n      header.classList.toggle('is-scrolled', y > 8);\n      if (mode === 'scroll-up') {\n        var hide = y > lastY && y > header.offsetHeight * 2;\n        header.classList.toggle('is-hidden', hide && !header.querySelector('.is-open'));\n      }\n      lastY = y;\n    }\n    if (mode !== 'none') header.classList.add('is-sticky');\n    setHeight();\n    update();\n    on(window, 'resize', setHeight);\n    on(window, 'scroll', function () {\n      if (!ticking) { ticking = true; requestAnimationFrame(update); }\n    }, { passive: true });\n\n    // \u015Eeffaf men\u00FC yaln\u0131zca ilk b\u00F6l\u00FCm gece d\u00FCzenindeyse anlaml\u0131\n    if (header.classList.contains('is-transparent')) {\n      var first = qs('.pz-main > .shopify-section:first-child .pz-sec');\n      if (!first || !(first.classList.contains('scheme-night') || first.classList.contains('scheme-night-2'))) {\n        header.classList.remove('is-transparent');\n      } else {\n        document.body.classList.add('has-overlay-header');\n      }\n    }\n\n    // A\u00E7\u0131l\u0131r men\u00FCler\n    var closeTimer;\n    qsa('[data-nav-item]', header).forEach(function (item) {\n      var link = qs('.pz-nav__link', item);\n      function open() {\n        clearTimeout(closeTimer);\n        qsa('[data-nav-item].is-open', header).forEach(function (o) { if (o !== item) close(o); });\n        item.classList.add('is-open');\n        header.classList.add('has-open');\n        link.setAttribute('aria-expanded', 'true');\n      }\n      function close(it) {\n        it = it || item;\n        it.classList.remove('is-open');\n        qs('.pz-nav__link', it).setAttribute('aria-expanded', 'false');\n        if (!qs('[data-nav-item].is-open', header)) header.classList.remove('has-open');\n      }\n      on(item, 'mouseenter', open);\n      on(item, 'mouseleave', function () { closeTimer = setTimeout(function () { close(); }, 160); });\n      on(item, 'focusin', open);\n      on(item, 'focusout', function (e) { if (!item.contains(e.relatedTarget)) close(); });\n      on(link, 'click', function (e) {\n        // Dokunmatik ekranda ilk dokunu\u015F men\u00FCy\u00FC a\u00E7ar\n        if (!item.classList.contains('is-open') && window.matchMedia('(hover: none)').matches) { e.preventDefault(); open(); }\n      });\n      on(item, 'keydown', function (e) { if (e.key === 'Escape') { close(); link.focus(); } });\n    });\n  }\n\n  /* ---------- Duyuru: tek tek de\u011Fi\u015Fen ---------- */\n  function initAnnounce(scope) {\n    qsa('[data-announce][data-style=\"rotate\"]', scope).forEach(function (bar) {\n      if (bar.__pz) return; bar.__pz = true;\n      var items = qsa('[data-announce-item]', bar);\n      if (items.length < 2) return;\n      var i = 0, ms = (parseInt(bar.getAttribute('data-interval'), 10) || 5) * 1000, timer;\n      var swap;\n      function go(n) {\n        var next = (n + items.length) % items.length;\n        if (next === i) return;\n        var cur = items[i];\n        i = next;\n        clearTimeout(swap);\n        items.forEach(function (it) { if (it !== cur) it.classList.remove('is-active', 'is-leaving'); });\n        cur.classList.remove('is-active');\n        if (reduceMotion || !animOn()) { items[i].classList.add('is-active'); return; }\n        // \u00D6nce eski yaz\u0131 h\u0131zla kay\u0131p \u00E7\u0131kar, k\u0131sa bir an bo\u015F kal\u0131r, sonra yenisi gelir\n        cur.classList.add('is-leaving');\n        swap = setTimeout(function () {\n          cur.classList.remove('is-leaving');\n          items[i].classList.add('is-active');\n        }, 520);\n      }\n      function start() { stop(); timer = setInterval(function () { go(i + 1); }, ms); }\n      function stop() { clearInterval(timer); }\n      on(bar, 'mouseenter', stop);\n      on(bar, 'mouseleave', start);\n      on(bar, 'focusin', stop);\n      on(bar, 'focusout', start);\n      bar.__go = go;\n      start();\n    });\n  }\n\n  /* ---------- An\u0131nda arama ---------- */\n  function initPredictive() {\n    var form = qs('[data-predictive-form]');\n    if (!form || !T.routes.predictiveSearch) return;\n    var input = qs('[data-predictive-input]', form);\n    var box = qs('[data-predictive-results]');\n    var suggest = qs('[data-predictive-suggest]');\n    var timer, ctrl;\n    on(input, 'input', function () {\n      clearTimeout(timer);\n      var q = input.value.trim();\n      if (!q) { box.innerHTML = ''; if (suggest) suggest.hidden = false; return; }\n      timer = setTimeout(function () {\n        if (ctrl) ctrl.abort();\n        ctrl = window.AbortController ? new AbortController() : null;\n        var url = T.routes.predictiveSearch + '?q=' + encodeURIComponent(q) +\n          '&section_id=predictive-search&resources[type]=product,collection,query&resources[limit]=6&resources[options][unavailable_products]=last';\n        box.classList.add('is-loading');\n        fetch(url, ctrl ? { signal: ctrl.signal } : {}).then(function (r) { return r.text(); }).then(function (html) {\n          var doc = new DOMParser().parseFromString(html, 'text/html');\n          var res = qs('[data-predictive-result]', doc);\n          box.innerHTML = res ? res.innerHTML : '';\n          box.classList.remove('is-loading');\n          if (suggest) suggest.hidden = true;\n        }).catch(function () { box.classList.remove('is-loading'); });\n      }, 220);\n    });\n  }\n\n/* ---- 30-cart.js ---- */\n/* ==========================================================================\n     Sepet: ekleme, yan sepet, sat\u0131r g\u00FCncelleme, hediye, \u00F6neriler\n     ========================================================================== */\n\n  function cartDrawer() { return document.getElementById('pz-cart-drawer'); }\n  function useDrawer() { return T.cartType !== 'page' && !!cartDrawer(); }\n  function mainCart() { return qs('[data-main-cart]'); }\n\n  function sectionsToRender() {\n    var list = [];\n    if (cartDrawer()) list.push('cart-drawer');\n    var mc = mainCart();\n    if (mc) list.push(mc.getAttribute('data-section-id'));\n    return list;\n  }\n\n  function updateCount(count) {\n    qsa('[data-cart-count]').forEach(function (el) {\n      el.textContent = count;\n      if (count > 0) el.removeAttribute('data-empty'); else el.setAttribute('data-empty', '');\n      el.classList.remove('is-bump');\n      void el.offsetWidth;\n      el.classList.add('is-bump');\n    });\n  }\n\n  function renderSections(sections) {\n    if (!sections) return;\n    var d = cartDrawer();\n    if (d && sections['cart-drawer']) {\n      var doc = new DOMParser().parseFromString(sections['cart-drawer'], 'text/html');\n      var fresh = qs('[data-cart-drawer-inner]', doc), cur = qs('[data-cart-drawer-inner]', d);\n      if (fresh && cur) {\n        var scroll = qs('.pz-drawer__body', cur);\n        var top = scroll ? scroll.scrollTop : 0;\n        cur.innerHTML = fresh.innerHTML;\n        var ns = qs('.pz-drawer__body', cur);\n        if (ns) ns.scrollTop = top;\n      }\n    }\n    var mc = mainCart();\n    if (mc) {\n      var id = mc.getAttribute('data-section-id');\n      if (sections[id]) {\n        var doc2 = new DOMParser().parseFromString(sections[id], 'text/html');\n        var fresh2 = qs('[data-main-cart]', doc2);\n        if (fresh2) mc.innerHTML = fresh2.innerHTML;\n      }\n    }\n    initCartExtras();\n  }\n\n  function refreshCart() {\n    var ids = sectionsToRender();\n    var url = rootUrl('?sections=' + ids.join(','));\n    return Promise.all([\n      fetch(rootUrl('cart.js'), { credentials: 'same-origin' }).then(function (r) { return r.json(); }),\n      ids.length ? fetch(url, { credentials: 'same-origin' }).then(function (r) { return r.json(); }) : Promise.resolve(null)\n    ]).then(function (res) {\n      updateCount(res[0].item_count);\n      renderSections(res[1]);\n      return res[0];\n    });\n  }\n  T.refreshCart = refreshCart;\n\n  /* Sepete u\u00E7an \u0131\u015F\u0131k */\n  function spark(fromEl) {\n    if (!T.spark || !animOn() || !fromEl) return Promise.resolve();\n    var target = qsa('[data-cart-count]').filter(function (x) { return x.offsetParent !== null; })[0];\n    if (!target) return Promise.resolve();\n    var a = fromEl.getBoundingClientRect(), b = target.getBoundingClientRect();\n    var dot = document.createElement('i');\n    dot.className = 'pz-spark';\n    dot.style.left = (a.left + a.width / 2 - 6) + 'px';\n    dot.style.top = (a.top + a.height / 2 - 6) + 'px';\n    document.body.appendChild(dot);\n    var dx = b.left + b.width / 2 - (a.left + a.width / 2), dy = b.top + b.height / 2 - (a.top + a.height / 2);\n    return new Promise(function (resolve) {\n      var anim = dot.animate([\n        { transform: 'translate(0,0) scale(1)', opacity: 1 },\n        { transform: 'translate(' + dx * 0.5 + 'px,' + (dy * 0.5 - 80) + 'px) scale(1.15)', opacity: 1, offset: 0.55 },\n        { transform: 'translate(' + dx + 'px,' + dy + 'px) scale(.4)', opacity: 0.4 }\n      ], { duration: 780, easing: 'cubic-bezier(.5,0,.3,1)' });\n      anim.onfinish = function () { dot.remove(); resolve(); };\n    });\n  }\n\n  function setBtnState(btn, state) {\n    if (!btn) return;\n    var label = qs('[data-add-label]', btn) || btn;\n    if (!btn.__label) btn.__label = label.textContent;\n    btn.classList.remove('is-loading', 'is-done');\n    if (state === 'loading') { btn.classList.add('is-loading'); btn.setAttribute('aria-busy', 'true'); }\n    else {\n      btn.removeAttribute('aria-busy');\n      if (state === 'done') {\n        btn.classList.add('is-done');\n        label.textContent = T.strings.added || btn.__label;\n        setTimeout(function () { btn.classList.remove('is-done'); label.textContent = btn.__label; }, 1600);\n      }\n    }\n  }\n\n  function showFormError(form, msg) {\n    var box = qs('[data-form-error]', form) || qs('[data-form-error]', form.closest('[data-product]') || document.createElement('div'));\n    if (box) { box.textContent = msg; box.hidden = false; }\n    toast(msg, true);\n  }\n\n  function addToCart(form, button) {\n    var fd = new FormData(form);\n    // Paket se\u00E7imi formun d\u0131\u015F\u0131ndaki radio'larla gelir (form \u00F6zniteli\u011Fi)\n    var ids = sectionsToRender();\n    if (ids.length) {\n      fd.append('sections', ids.join(','));\n      fd.append('sections_url', window.location.pathname);\n    }\n    setBtnState(button, 'loading');\n    var errBox = qs('[data-form-error]', form.closest('[data-product]') || form);\n    if (errBox) errBox.hidden = true;\n    return fetch(T.routes.cartAdd + '.js', {\n      method: 'POST',\n      credentials: 'same-origin',\n      headers: { 'X-Requested-With': 'XMLHttpRequest', Accept: 'application/json' },\n      body: fd\n    }).then(function (r) { return r.json(); }).then(function (data) {\n      if (data.status) {\n        setBtnState(button, null);\n        showFormError(form, data.description || data.message || T.strings.error);\n        return;\n      }\n      setBtnState(button, 'done');\n      document.dispatchEvent(new CustomEvent('pz:cart:added', { detail: data }));\n      return spark(button).then(function () {\n        if (data.sections) renderSections(data.sections);\n        return fetch(rootUrl('cart.js'), { credentials: 'same-origin' }).then(function (r) { return r.json(); });\n      }).then(function (cart) {\n        updateCount(cart.item_count);\n        return syncGift(cart);\n      }).then(function () {\n        if (useDrawer()) T.openDrawer(cartDrawer(), button);\n        else if (mainCart()) refreshCart();\n        else toast(T.strings.added || 'Sepete eklendi');\n      });\n    }).catch(function () {\n      setBtnState(button, null);\n      toast(T.strings.error || 'Bir sorun olu\u015Ftu', true);\n    });\n  }\n\n  function changeLine(line, qty) {\n    var ids = sectionsToRender();\n    var holder = cartDrawer() || mainCart();\n    if (holder) holder.classList.add('is-busy');\n    return fetch(T.routes.cartChange + '.js', {\n      method: 'POST',\n      credentials: 'same-origin',\n      headers: { 'Content-Type': 'application/json', Accept: 'application/json' },\n      body: JSON.stringify({ line: line, quantity: qty, sections: ids, sections_url: window.location.pathname })\n    }).then(function (r) { return r.json(); }).then(function (cart) {\n      if (cart.status) { toast(cart.description || cart.message || T.strings.error, true); return refreshCart(); }\n      updateCount(cart.item_count);\n      renderSections(cart.sections);\n      return syncGift(cart);\n    }).catch(function () { toast(T.strings.error, true); })\n      .then(function () { if (holder) holder.classList.remove('is-busy'); });\n  }\n\n  /* Hediye: hedefe ula\u015F\u0131nca ekle, alt\u0131na d\u00FC\u015F\u00FCnce \u00E7\u0131kar */\n  var giftBusy = false;\n  function syncGift(cart) {\n    var G = T.gift;\n    if (!G || giftBusy || !cart) return Promise.resolve();\n    var giftLineIndex = -1, total = 0;\n    cart.items.forEach(function (it, i) {\n      if (it.properties && it.properties._pz_gift) giftLineIndex = i;\n      else total += it.final_line_price;\n    });\n    var want = total >= G.threshold;\n    if (want && giftLineIndex < 0) {\n      giftBusy = true;\n      return fetch(T.routes.cartAdd + '.js', {\n        method: 'POST', credentials: 'same-origin',\n        headers: { 'Content-Type': 'application/json', Accept: 'application/json' },\n        body: JSON.stringify({ items: [{ id: G.variant, quantity: 1, properties: { _pz_gift: '1' } }] })\n      }).then(function () { giftBusy = false; return refreshCart(); }).catch(function () { giftBusy = false; });\n    }\n    if (!want && giftLineIndex > -1) {\n      giftBusy = true;\n      return fetch(T.routes.cartChange + '.js', {\n        method: 'POST', credentials: 'same-origin',\n        headers: { 'Content-Type': 'application/json', Accept: 'application/json' },\n        body: JSON.stringify({ line: giftLineIndex + 1, quantity: 0 })\n      }).then(function () { giftBusy = false; return refreshCart(); }).catch(function () { giftBusy = false; });\n    }\n    return Promise.resolve();\n  }\n\n  /* Sepet \u00F6nerileri */\n  var recoCache = {};\n  function initCartExtras() {\n    qsa('[data-cart-recos]').forEach(function (box) {\n      var pid = box.getAttribute('data-product-id');\n      var limit = box.getAttribute('data-limit') || 3;\n      var list = qs('[data-cart-recos-list]', box);\n      if (!pid || !list || !T.routes.recommendations) return;\n      function render(html) {\n        var doc = new DOMParser().parseFromString(html, 'text/html');\n        var res = qs('[data-cart-recos-result]', doc);\n        if (!res) return;\n        // Sepette olanlar\u0131 ay\u0131kla\n        var inCart = qsa('[data-line-item] a.pz-cart-item__title', document).map(function (a) { return a.getAttribute('href').split('?')[0]; });\n        var items = qsa('li', res).filter(function (li) {\n          var a = qs('a', li); return a && inCart.indexOf(a.getAttribute('href').split('?')[0]) < 0;\n        }).slice(0, limit);\n        list.innerHTML = '';\n        items.forEach(function (li) { list.appendChild(li); });\n        box.hidden = !items.length;\n      }\n      if (recoCache[pid]) return render(recoCache[pid]);\n      fetch(T.routes.recommendations + '?product_id=' + pid + '&limit=' + (Number(limit) + 3) + '&section_id=cart-recos')\n        .then(function (r) { return r.text(); })\n        .then(function (html) { recoCache[pid] = html; render(html); })\n        .catch(function () {});\n    });\n  }\n\n  function initCart() {\n    on(document, 'submit', function (e) {\n      var form = e.target.closest('form[data-product-form]');\n      if (!form) return;\n      e.preventDefault();\n      var btn = e.submitter && e.submitter.matches('[data-add-button]') ? e.submitter : qs('[data-add-button]', form);\n      if (btn && (btn.disabled || btn.getAttribute('aria-disabled') === 'true' || btn.classList.contains('is-loading'))) return;\n      addToCart(form, btn);\n    });\n    on(document, 'click', function (e) {\n      var lc = e.target.closest('[data-line-change]');\n      if (lc) {\n        e.preventDefault();\n        changeLine(parseInt(lc.getAttribute('data-line-change'), 10), parseInt(lc.getAttribute('data-qty'), 10));\n        return;\n      }\n      var opener = e.target.closest('[data-cart-open]');\n      if (opener && useDrawer()) {\n        e.preventDefault();\n        T.openDrawer(cartDrawer(), opener);\n      }\n    });\n    var noteTimer;\n    on(document, 'input', function (e) {\n      if (!e.target.matches('[data-cart-note]')) return;\n      clearTimeout(noteTimer);\n      var v = e.target.value;\n      noteTimer = setTimeout(function () {\n        fetch(T.routes.cartUpdate + '.js', {\n          method: 'POST', credentials: 'same-origin',\n          headers: { 'Content-Type': 'application/json', Accept: 'application/json' },\n          body: JSON.stringify({ note: v })\n        }).catch(function () {});\n      }, 500);\n    });\n    // \u00DCr\u00FCn sayfas\u0131ndan geri gelindi\u011Finde (bfcache) sepeti tazele\n    on(window, 'pageshow', function (e) { if (e.persisted) refreshCart(); });\n    initCartExtras();\n  }\n\n/* ---- 40-product.js ---- */\n/* ==========================================================================\n     \u00DCr\u00FCn sayfas\u0131: varyant, paket, adet, galeri, yap\u0131\u015Fkan sat\u0131n alma, kargo sayac\u0131\n     ========================================================================== */\n\n  function initQty(scope) {\n    qsa('.pz-qty', scope).forEach(function (q) {\n      if (q.__pz) return; q.__pz = true;\n      var input = qs('[data-qty-input]', q);\n      if (!input) return;\n      qsa('[data-qty-step]', q).forEach(function (b) {\n        on(b, 'click', function () {\n          var min = parseInt(input.min, 10) || 1;\n          var max = parseInt(input.max, 10) || 9999;\n          var v = (parseInt(input.value, 10) || min) + parseInt(b.getAttribute('data-qty-step'), 10);\n          input.value = clamp(v, min, max);\n          input.dispatchEvent(new Event('change', { bubbles: true }));\n        });\n      });\n    });\n  }\n\n  function initProduct(root) {\n    if (root.__pz) return; root.__pz = true;\n    var jsonEl = qs('[data-product-json]', root);\n    if (!jsonEl) return;\n    var product;\n    try { product = JSON.parse(jsonEl.textContent); } catch (e) { return; }\n    var formId = root.getAttribute('data-form-id');\n    var form = document.getElementById(formId);\n    var idInput = form ? qs('[name=\"id\"]', form) : null;\n    var updateUrl = root.getAttribute('data-update-url') === 'true';\n\n    function currentOptions() {\n      var opts = [];\n      qsa('[data-option-group]', root).forEach(function (g) {\n        var pos = parseInt(g.getAttribute('data-option-group'), 10);\n        var checked = qs('input:checked', g);\n        var sel = qs('select', g);\n        opts[pos - 1] = checked ? checked.value : sel ? sel.value : null;\n      });\n      return opts;\n    }\n    function findVariant(opts) {\n      return product.variants.filter(function (v) {\n        return v.options.every(function (o, i) { return opts[i] == null || opts[i] === o; });\n      })[0];\n    }\n\n    function setAvailabilityMarks(opts) {\n      // Her se\u00E7enek de\u011Feri i\u00E7in, di\u011Fer se\u00E7ili de\u011Ferlerle birlikte mevcut mu?\n      qsa('[data-option-group]', root).forEach(function (g) {\n        var pos = parseInt(g.getAttribute('data-option-group'), 10) - 1;\n        qsa('input[type=\"radio\"], option', g).forEach(function (el) {\n          var test = opts.slice(); test[pos] = el.value;\n          var v = product.variants.filter(function (vv) { return vv.options.every(function (o, i) { return test[i] === o; }); })[0];\n          var ok = !!(v && v.available);\n          el.classList.toggle('is-unavailable', !ok);\n          if (el.tagName === 'INPUT') {\n            var lab = root.querySelector('label[for=\"' + el.id + '\"]');\n            if (lab) lab.classList.toggle('is-unavailable', !ok);\n          }\n        });\n        var val = qs('[data-option-value]', g);\n        if (val) val.textContent = opts[pos] || '';\n      });\n    }\n\n    function renderPrice(v) {\n      qsa('[data-price]', root).concat(qsa('[data-sticky-buy] [data-price]')).forEach(function (box) {\n        var now = qs('[data-price-now]', box), was = qs('[data-price-was]', box), badge = qs('[data-price-badge]', box);\n        var sale = v.compare_at_price && v.compare_at_price > v.price;\n        if (now) now.textContent = formatMoney(v.price);\n        if (was) { was.hidden = !sale; was.textContent = sale ? formatMoney(v.compare_at_price) : ''; }\n        if (badge) {\n          badge.hidden = !sale;\n          if (sale) badge.textContent = badge.textContent.replace(/\\d+/, Math.round((v.compare_at_price - v.price) * 100 / v.compare_at_price));\n        }\n        box.classList.toggle('is-sale', !!sale);\n      });\n    }\n\n    function renderButtons(v) {\n      qsa('[data-add-button]', root).concat(qsa('[data-sticky-buy] [data-add-button]')).forEach(function (b) {\n        var label = qs('[data-add-label]', b) || b;\n        var ok = v && v.available;\n        b.disabled = !ok;\n        label.textContent = !v ? T.strings.unavailable : ok ? (b.getAttribute('data-label') || T.strings.addToCart) : T.strings.soldOut;\n        b.__label = label.textContent;\n      });\n      qsa('[data-dynamic-checkout]', root).forEach(function (d) { d.hidden = !(v && v.available); });\n    }\n\n    function renderInventory(v) {\n      qsa('[data-inventory]', root).forEach(function (el) {\n        var th = parseInt(el.getAttribute('data-threshold'), 10) || 5;\n        var low = el.getAttribute('data-low'), inText = el.getAttribute('data-in'), showIn = el.getAttribute('data-show-in') === 'true';\n        var qty = v ? (window.pzInventory && window.pzInventory[v.id]) : null;\n        var managed = v && v.inventory_management === 'shopify';\n        var txt = '', state = '';\n        if (!v || !v.available) { txt = T.strings.soldOut; state = 'out'; }\n        else if (managed && qty != null && qty > 0 && qty <= th) { txt = low.replace('[adet]', qty); state = 'low'; }\n        else if (showIn) { txt = inText; state = 'in'; }\n        el.hidden = !txt;\n        el.setAttribute('data-state', state);\n        var t = qs('[data-inventory-text]', el); if (t) t.textContent = txt;\n        var bar = qs('[data-inventory-bar]', el);\n        if (bar) bar.style.width = state === 'low' ? Math.max(8, qty / th * 40) + '%' : state === 'in' ? '82%' : '0%';\n      });\n    }\n\n    function renderBundles(v) {\n      qsa('[data-bundle-option]', root).forEach(function (opt) {\n        var q = parseInt(opt.getAttribute('data-bundle-option'), 10) || 1;\n        var disc = parseFloat(opt.getAttribute('data-discount')) || 0;\n        var now = qs('[data-bundle-now]', opt), was = qs('[data-bundle-was]', opt), each = qs('[data-bundle-each]', opt);\n        var total = Math.round(v.price * q * (100 - disc) / 100);\n        var ref = (v.compare_at_price && v.compare_at_price > v.price ? v.compare_at_price : v.price) * q;\n        if (now) now.textContent = formatMoney(total);\n        if (was) { was.hidden = ref <= total; was.textContent = formatMoney(ref); }\n        if (each) each.textContent = each.getAttribute('data-template').replace('[tutar]', formatMoney(Math.round(total / q)));\n      });\n    }\n\n    function renderMedia(v) {\n      if (!v || !v.featured_media) return;\n      var g = qs('[data-gallery]', root);\n      if (g && g.__goTo) g.__goTo(v.featured_media.id);\n    }\n\n    function renderSku(v) {\n      qsa('[data-sku]', root).forEach(function (el) { el.textContent = v && v.sku ? v.sku : ''; el.closest('[data-sku-wrap]') && (el.closest('[data-sku-wrap]').hidden = !(v && v.sku)); });\n    }\n\n    function onChange() {\n      var opts = currentOptions();\n      var v = findVariant(opts);\n      setAvailabilityMarks(opts);\n      renderButtons(v);\n      if (!v) return;\n      if (idInput) { idInput.value = v.id; idInput.dispatchEvent(new Event('change', { bubbles: true })); }\n      renderPrice(v);\n      renderInventory(v);\n      renderBundles(v);\n      renderMedia(v);\n      renderSku(v);\n      if (updateUrl && history.replaceState) {\n        var u = new URL(window.location.href);\n        u.searchParams.set('variant', v.id);\n        history.replaceState({}, '', u.toString());\n      }\n      root.dispatchEvent(new CustomEvent('pz:variant', { detail: v, bubbles: true }));\n    }\n\n    qsa('[data-option-group] input, [data-option-group] select', root).forEach(function (el) { on(el, 'change', onChange); });\n    var initial = findVariant(currentOptions());\n    if (initial) { setAvailabilityMarks(currentOptions()); renderInventory(initial); renderBundles(initial); }\n\n    // Paket se\u00E7imi: se\u00E7ilen kart vurgulan\u0131r\n    qsa('[data-bundle-input]', root).forEach(function (r) {\n      on(r, 'change', function () {\n        var q = qs('[data-qty-input]', root);\n        if (q) q.value = r.value;\n      });\n    });\n\n    initTiers(root);\n    initGallery(qs('[data-gallery]', root));\n    initStickyBuy(root, form);\n    qsa('[data-ship-timer]', root).forEach(initShipTimer);\n  }\n\n  /* ---------- Paket kartlar\u0131 ve renk se\u00E7ici ---------- */\n  function initTiers(root) {\n    var wraps = qsa('[data-tier-wrap]', root);\n    var picker = qs('[data-color-picker]', root);\n    function select(i) {\n      wraps.forEach(function (w, k) { w.classList.toggle('is-selected', k === i); });\n      var sel = wraps[i] || wraps[0];\n      if (!picker || !sel) return;\n      var slot = qs('[data-tier-slot]', sel);\n      if (slot && picker.parentNode !== slot) slot.appendChild(picker);\n    }\n    if (wraps.length) {\n      var start = 0;\n      wraps.forEach(function (w, k) { if (w.classList.contains('is-selected')) start = k; });\n      select(start);\n      qsa('[data-tier-input]', root).forEach(function (r, i) {\n        on(r, 'change', function () { select(i); });\n        on(r, 'focus', function () { if (wraps[i]) wraps[i].classList.add('is-focus'); });\n        on(r, 'blur', function () { if (wraps[i]) wraps[i].classList.remove('is-focus'); });\n      });\n    }\n    // Renk de\u011Fi\u015Fince k\u00FC\u00E7\u00FCk \u00FCr\u00FCn g\u00F6rseli de de\u011Fi\u015Fir\n    on(root, 'pz:variant', function (e) {\n      var v = e.detail, im = v && v.featured_image;\n      var th = qs('[data-color-picker] .pz-colorpick__thumb img', root);\n      if (!th || !im || !im.src) return;\n      var src = im.src + (im.src.indexOf('?') > -1 ? '&' : '?') + 'width=120';\n      th.removeAttribute('srcset'); th.removeAttribute('sizes');\n      th.src = src;\n    });\n    if (!picker) return;\n    var btn = qs('[data-cp-btn]', picker), list = qs('[data-cp-list]', picker);\n    var dot = qs('[data-cp-dot]', picker), name = qs('[data-cp-name]', picker);\n    if (!btn || !list) return;\n    function sync() {\n      var c = qs('input:checked', list);\n      if (!c) return;\n      if (name) name.textContent = c.value;\n      if (dot) dot.setAttribute('style', c.getAttribute('data-cp-style') || '');\n    }\n    function toggle(open) {\n      list.hidden = !open;\n      btn.setAttribute('aria-expanded', open ? 'true' : 'false');\n      picker.classList.toggle('is-open', open);\n      var up = picker; while (up && up !== root) { if (up.classList && (up.classList.contains('pz-tierwrap') || up.classList.contains('pz-pblock') || up.classList.contains('pz-tiers'))) up.classList.toggle('is-raised', open); up = up.parentElement; }\n      if (open) { var c = qs('input:checked', list) || qs('input', list); if (c) c.focus({ preventScroll: true }); }\n    }\n    on(btn, 'click', function (e) { e.stopPropagation(); toggle(list.hidden); });\n    qsa('input', list).forEach(function (i) { on(i, 'change', sync); });\n    qsa('label', list).forEach(function (l) { on(l, 'click', function () { setTimeout(function () { toggle(false); btn.focus({ preventScroll: true }); }, 0); }); });\n    on(document, 'click', function (e) { if (!picker.contains(e.target)) toggle(false); });\n    on(picker, 'keydown', function (e) { if (e.key === 'Escape' && !list.hidden) { toggle(false); btn.focus(); } });\n    // Fare/dokunma ile liste i\u00E7ine bas\u0131l\u0131rken odak kapsay\u0131c\u0131ya kayar; bu durumda listeyi kapatma\n    var pressing = false;\n    var pressT;\n    on(picker, 'pointerdown', function () { pressing = true; clearTimeout(pressT); pressT = setTimeout(function () { pressing = false; }, 600); });\n    on(document, 'click', function () { setTimeout(function () { pressing = false; }, 0); }, true);\n    on(picker, 'focusout', function (e) { if (pressing) return; if (e.relatedTarget && !picker.contains(e.relatedTarget)) toggle(false); });\n    sync();\n  }\n\n  /* ---------- Galeri ---------- */\n  function initGallery(g) {\n    if (!g || g.__pz) return; g.__pz = true;\n    var track = qs('[data-gallery-track]', g);\n    var slides = qsa('[data-gallery-slide]', g);\n    var thumbs = qsa('[data-gallery-thumb]', g);\n    var counter = qs('[data-gallery-counter]', g);\n    if (!track || !slides.length) return;\n    var current = 0;\n    function mark(i) {\n      current = i;\n      thumbs.forEach(function (t, k) { t.classList.toggle('is-active', k === i); t.setAttribute('aria-current', k === i); });\n      slides.forEach(function (s, k) { s.classList.toggle('is-active', k === i); });\n      if (counter) counter.textContent = (i + 1) + ' / ' + slides.length;\n      var at = thumbs[i];\n      if (at && at.parentElement) {\n        var p = at.parentElement;\n        var target = at.offsetLeft - p.clientWidth / 2 + at.clientWidth / 2;\n        p.scrollTo({ left: target, behavior: 'smooth' });\n      }\n    }\n    function goTo(i, smooth) {\n      i = clamp(i, 0, slides.length - 1);\n      track.scrollTo({ left: slides[i].offsetLeft, behavior: smooth === false ? 'auto' : 'smooth' });\n      mark(i);\n    }\n    g.__goTo = function (mediaId) {\n      var idx = slides.findIndex(function (s) { return s.getAttribute('data-media-id') == mediaId; });\n      if (idx > -1) goTo(idx);\n    };\n    thumbs.forEach(function (t, i) { on(t, 'click', function () { goTo(i); }); });\n    on(qs('[data-gallery-prev]', g), 'click', function () { goTo(current - 1); });\n    on(qs('[data-gallery-next]', g), 'click', function () { goTo(current + 1); });\n    var st;\n    on(track, 'scroll', function () {\n      clearTimeout(st);\n      st = setTimeout(function () {\n        var i = Math.round(track.scrollLeft / Math.max(1, track.clientWidth));\n        if (i !== current) mark(clamp(i, 0, slides.length - 1));\n      }, 60);\n    }, { passive: true });\n    on(track, 'keydown', function (e) {\n      if (e.key === 'ArrowRight') { e.preventDefault(); goTo(current + 1); }\n      if (e.key === 'ArrowLeft') { e.preventDefault(); goTo(current - 1); }\n    });\n    // Yak\u0131nla\u015Ft\u0131rma\n    var lb = qs('[data-lightbox]', g.closest('[data-product]') || document);\n    if (lb) {\n      qsa('[data-zoom]', g).forEach(function (z, i) {\n        on(z, 'click', function () {\n          if (!lb.showModal) return;\n          lb.showModal(); lockScroll(true);\n          var target = qsa('[data-lightbox-item]', lb)[i];\n          if (target) target.scrollIntoView({ block: 'start' });\n        });\n      });\n    }\n    // Video slaytlar\u0131 g\u00F6r\u00FCn\u00FCr olunca oynar, \u00E7\u0131k\u0131nca durur\n    qsa('video', g).forEach(function (v) {\n      if (!('IntersectionObserver' in window)) return;\n      new IntersectionObserver(function (es) {\n        es.forEach(function (e) { if (e.isIntersecting && e.intersectionRatio > .6) { v.play().catch(function () {}); } else v.pause(); });\n      }, { threshold: [0, .6] }).observe(v);\n    });\n    mark(0);\n  }\n\n  /* ---------- Yap\u0131\u015Fkan sat\u0131n alma \u00E7ubu\u011Fu ---------- */\n  function initStickyBuy(root, form) {\n    var bar = qs('[data-sticky-buy]');\n    var anchor = qs('[data-buy-anchor]', root);\n    if (!bar || !anchor || !('IntersectionObserver' in window)) return;\n    var btn = qs('[data-add-button]', bar);\n    on(btn, 'click', function (e) {\n      if (!form) return;\n      e.preventDefault();\n      var main = qs('[data-add-button]', form) || qs('[form=\"' + form.id + '\"][data-add-button]');\n      if (form.requestSubmit) form.requestSubmit(main && main.form === form ? main : undefined); else form.dispatchEvent(new Event('submit', { cancelable: true, bubbles: true }));\n    });\n    new IntersectionObserver(function (es) {\n      es.forEach(function (e) {\n        var show = !e.isIntersecting && e.boundingClientRect.top < 0;\n        bar.classList.toggle('is-on', show);\n        bar.setAttribute('aria-hidden', !show);\n        if (btn) btn.tabIndex = show ? 0 : -1;\n        document.body.classList.toggle('pz-sticky-on', show);\n      });\n    }).observe(anchor);\n  }\n\n  /* ---------- Kargo sayac\u0131 (\u0130stanbul saati) ---------- */\n  function istanbulNow() {\n    var now = new Date();\n    var utc = now.getTime() + now.getTimezoneOffset() * 60000;\n    return new Date(utc + 3 * 3600000);\n  }\n  function initShipTimer(el) {\n    if (el.__pz) return; el.__pz = true;\n    var cutoff = parseInt(el.getAttribute('data-cutoff'), 10) || 16;\n    var saturday = el.getAttribute('data-saturday') === 'true';\n    var before = el.getAttribute('data-before'), after = el.getAttribute('data-after');\n    var txt = qs('[data-ship-text]', el);\n    function tick() {\n      var n = istanbulNow(), d = n.getDay();\n      var workday = d >= 1 && d <= 5 || (d === 6 && saturday);\n      var end = new Date(n); end.setHours(cutoff, 0, 0, 0);\n      if (workday && n < end) {\n        var ms = end - n, h = Math.floor(ms / 3600000), m = Math.floor(ms % 3600000 / 60000), s = Math.floor(ms % 60000 / 1000);\n        var t = (h < 10 ? '0' : '') + h + ':' + (m < 10 ? '0' : '') + m + ':' + (s < 10 ? '0' : '') + s;\n        txt.innerHTML = before.replace('[s\u00FCre]', '<b class=\"mono\">' + t + '</b>');\n      } else {\n        txt.textContent = after;\n      }\n    }\n    tick();\n    setInterval(tick, 1000);\n  }\n\n  /* ---------- Tahmini teslimat tarihi ---------- */\n  function initDeliveryDates(scope) {\n    qsa('[data-delivery]', scope).forEach(function (el) {\n      var min = parseInt(el.getAttribute('data-min'), 10) || 2, max = parseInt(el.getAttribute('data-max'), 10) || 4;\n      function addBiz(d, n) { d = new Date(d); while (n > 0) { d.setDate(d.getDate() + 1); if (d.getDay() % 6) n--; } return d; }\n      var f = function (d) { return d.toLocaleDateString(document.documentElement.lang || 'tr', { day: 'numeric', month: 'long' }); };\n      var now = istanbulNow();\n      var out = qs('[data-delivery-date]', el);\n      if (out) out.textContent = f(addBiz(now, min)) + ' \u2013 ' + f(addBiz(now, max));\n    });\n  }\n\n/* ---- 50-media.js ---- */\n/* ==========================================================================\n     Medya ve i\u00E7erik: slider, video, \u00F6nce/sonra, noktalar, geri say\u0131m,\n     filtreler, \u00F6neriler, saya\u00E7lar, tasarruf hesaplay\u0131c\u0131\n     ========================================================================== */\n\n  /* ---------- G\u00F6rsel slider ---------- */\n  function initSliders(scope) {\n    qsa('[data-slider]', scope).forEach(function (sl) {\n      if (sl.__pz) return; sl.__pz = true;\n      var slides = qsa('[data-slide]', sl);\n      var dots = qsa('[data-slider-dot]', sl);\n      var bar = qs('[data-slider-progress]', sl);\n      if (slides.length < 2) { if (slides[0]) slides[0].classList.add('is-active'); return; }\n      var i = 0, timer, autoplay = sl.getAttribute('data-autoplay') === 'true';\n      var ms = (parseInt(sl.getAttribute('data-interval'), 10) || 6) * 1000;\n      function go(n, user) {\n        slides[i].classList.remove('is-active');\n        slides[i].setAttribute('aria-hidden', 'true');\n        i = (n + slides.length) % slides.length;\n        slides[i].classList.add('is-active');\n        slides[i].setAttribute('aria-hidden', 'false');\n        dots.forEach(function (d, k) { d.classList.toggle('is-active', k === i); d.setAttribute('aria-current', k === i); });\n        initReveal(slides[i]);\n        if (bar) { bar.style.animation = 'none'; void bar.offsetWidth; bar.style.animation = ''; }\n        if (user) restart();\n      }\n      function restart() {\n        clearInterval(timer);\n        if (autoplay && !designMode && !reduceMotion) timer = setInterval(function () { go(i + 1); }, ms);\n      }\n      sl.style.setProperty('--interval', ms + 'ms');\n      dots.forEach(function (d, k) { on(d, 'click', function () { go(k, true); }); });\n      on(qs('[data-slider-prev]', sl), 'click', function () { go(i - 1, true); });\n      on(qs('[data-slider-next]', sl), 'click', function () { go(i + 1, true); });\n      on(sl, 'mouseenter', function () { clearInterval(timer); sl.classList.add('is-paused'); });\n      on(sl, 'mouseleave', function () { sl.classList.remove('is-paused'); restart(); });\n      var sx = null;\n      on(sl, 'pointerdown', function (e) { sx = e.clientX; });\n      on(sl, 'pointerup', function (e) {\n        if (sx !== null && Math.abs(e.clientX - sx) > 50) go(i + (e.clientX < sx ? 1 : -1), true);\n        sx = null;\n      });\n      sl.__go = function (n) { go(n, true); };\n      restart();\n    });\n  }\n\n  /* ---------- Video giri\u015F / video kartlar\u0131 ---------- */\n  function initVideos(scope) {\n    qsa('[data-video-toggle]', scope).forEach(function (b) {\n      if (b.__pz) return; b.__pz = true;\n      var v = qs('video', b.closest('[data-video-wrap]') || document);\n      if (!v) return;\n      function sync() { b.setAttribute('aria-pressed', !v.paused); b.classList.toggle('is-paused', v.paused); }\n      on(b, 'click', function () { if (v.paused) v.play(); else v.pause(); });\n      on(v, 'play', sync); on(v, 'pause', sync); sync();\n    });\n    if (reduceMotion) qsa('video[autoplay]', scope).forEach(function (v) { v.pause(); });\n    // Video kartlar\u0131 GIF gibidir: kendili\u011Finden, sessiz ve d\u00F6ng\u00FCde oynar; yaln\u0131zca ekranda g\u00F6r\u00FCnenler oynat\u0131l\u0131r\n    qsa('video[data-gif-video]', scope).forEach(function (v) {\n      if (v.__pz) return; v.__pz = true;\n      v.muted = true; v.defaultMuted = true; v.volume = 0; v.loop = true; v.controls = false;\n      v.setAttribute('playsinline', ''); v.setAttribute('muted', '');\n      on(v, 'volumechange', function () { if (!v.muted || v.volume) { v.muted = true; v.volume = 0; } });\n      on(v, 'contextmenu', function (e) { e.preventDefault(); });\n      var conn = navigator.connection || {};\n      if (reduceMotion || conn.saveData) { v.removeAttribute('autoplay'); v.pause(); return; }\n      var play = function () { var p = v.play(); if (p && p.catch) p.catch(function () {}); };\n      if (!('IntersectionObserver' in window)) { play(); return; }\n      var io = new IntersectionObserver(function (entries) {\n        entries.forEach(function (e) { if (e.isIntersecting) play(); else v.pause(); });\n      }, { threshold: 0.25 });\n      io.observe(v);\n    });\n  }\n\n  /* ---------- \u00D6nce / sonra ---------- */\n  function initBeforeAfter(scope) {\n    qsa('[data-ba]', scope).forEach(function (w) {\n      if (w.__pz) return; w.__pz = true;\n      var r = qs('input[type=\"range\"]', w);\n      function set() { w.style.setProperty('--pos', r.value + '%'); }\n      on(r, 'input', set); set();\n      // G\u00F6r\u00FCn\u00FCnce bir kez kayarak ipucu ver\n      if (animOn()) whenVisible(w, function () {\n        var start = performance.now(), from = parseFloat(r.value);\n        function step(t) {\n          var k = Math.min(1, (t - start) / 1600);\n          var v = from + Math.sin(k * Math.PI * 2) * 12 * (1 - k);\n          w.style.setProperty('--pos', v + '%');\n          if (k < 1) requestAnimationFrame(step); else set();\n        }\n        requestAnimationFrame(step);\n      });\n    });\n  }\n\n  /* ---------- G\u00F6rselde \u00FCr\u00FCn noktalar\u0131 ---------- */\n  function initHotspots(scope) {\n    qsa('[data-hotspots]', scope).forEach(function (w) {\n      if (w.__pz) return; w.__pz = true;\n      var spots = qsa('[data-hotspot]', w);\n      function close() { spots.forEach(function (s) { s.classList.remove('is-open'); qs('button', s).setAttribute('aria-expanded', 'false'); }); }\n      spots.forEach(function (s) {\n        var b = qs('button', s);\n        on(b, 'click', function (e) {\n          e.stopPropagation();\n          var open = s.classList.contains('is-open');\n          close();\n          if (!open) { s.classList.add('is-open'); b.setAttribute('aria-expanded', 'true'); }\n        });\n      });\n      on(document, 'click', function (e) { if (!w.contains(e.target)) close(); });\n    });\n  }\n\n  /* ---------- Geri say\u0131m ---------- */\n  function initCountdowns(scope) {\n    qsa('[data-countdown]', scope).forEach(function (el) {\n      if (el.__pz) return; el.__pz = true;\n      var endStr = el.getAttribute('data-end');\n      var mode = el.getAttribute('data-mode');\n      var end;\n      if (mode === 'daily') {\n        end = function () { var n = istanbulNow(), e = new Date(n); e.setHours(23, 59, 59, 0); return e - n; };\n      } else {\n        var t = Date.parse(endStr);\n        end = function () { return isNaN(t) ? 0 : t - Date.now(); };\n      }\n      var parts = { d: qs('[data-cd=\"d\"]', el), h: qs('[data-cd=\"h\"]', el), m: qs('[data-cd=\"m\"]', el), s: qs('[data-cd=\"s\"]', el) };\n      var expired = el.getAttribute('data-expired');\n      function pad(n) { return (n < 10 ? '0' : '') + n; }\n      function tick() {\n        var ms = Math.max(0, end());\n        var d = Math.floor(ms / 86400000), h = Math.floor(ms % 86400000 / 3600000), m = Math.floor(ms % 3600000 / 60000), s = Math.floor(ms % 60000 / 1000);\n        if (parts.d) parts.d.textContent = pad(d);\n        if (parts.h) parts.h.textContent = pad(h);\n        if (parts.m) parts.m.textContent = pad(m);\n        if (parts.s) parts.s.textContent = pad(s);\n        if (ms <= 0) {\n          el.classList.add('is-done');\n          if (expired === 'hide' && !designMode) { var sec = el.closest('.shopify-section'); if (sec) sec.hidden = true; }\n        }\n      }\n      tick();\n      setInterval(tick, 1000);\n    });\n  }\n\n  /* ---------- Filtreler (koleksiyon ve arama) ---------- */\n  function initFacets() {\n    var root = qs('[data-results-root]');\n    if (!root) return;\n    var sectionId = root.getAttribute('data-section-id');\n    function load(url, push) {\n      root.classList.add('is-busy');\n      fetchSection(url, sectionId).then(function (doc) {\n        var fresh = qs('[data-results-root]', doc);\n        if (!fresh) { window.location.href = url; return; }\n        // A\u00E7\u0131k \u00E7ekmece varsa kapat\n        qsa('[data-drawer].is-open', root).forEach(closeDrawer);\n        root.innerHTML = fresh.innerHTML;\n        if (push) history.pushState({ pzFacets: true }, '', url);\n        root.classList.remove('is-busy');\n        initScope(root);\n        var top = root.getBoundingClientRect().top + window.scrollY - 110;\n        if (window.scrollY > top) window.scrollTo({ top: top, behavior: 'smooth' });\n      }).catch(function () { window.location.href = url; });\n    }\n    function urlFromForm(form) {\n      var fd = new FormData(form);\n      var params = new URLSearchParams();\n      fd.forEach(function (v, k) { if (v !== '') params.append(k, v); });\n      var sort = qs('[data-facets-sort]', root);\n      if (sort && !params.has('sort_by')) params.set('sort_by', sort.value);\n      return window.location.pathname + '?' + params.toString();\n    }\n    on(root, 'change', function (e) {\n      var form = e.target.closest('[data-facets-form]');\n      if (!form) return;\n      // \u00C7ekmece i\u00E7indeki kutular \"Uygula\" ile, s\u0131ralama an\u0131nda g\u00F6nderilir\n      if (e.target.matches('[data-facets-sort]') || window.matchMedia('(min-width: 990px)').matches && e.target.type === 'checkbox') {\n        load(urlFromForm(form), true);\n      }\n    });\n    on(root, 'submit', function (e) {\n      var form = e.target.closest('[data-facets-form]');\n      if (!form) return;\n      e.preventDefault();\n      load(urlFromForm(form), true);\n    });\n    on(root, 'click', function (e) {\n      var a = e.target.closest('.pz-active-filters a, .pz-pagination a, .pz-facets__actions a');\n      if (!a) return;\n      e.preventDefault();\n      load(a.getAttribute('href'), true);\n    });\n    on(window, 'popstate', function (e) { if (e.state && e.state.pzFacets) load(window.location.href, false); });\n  }\n\n  /* ---------- \u00D6nerilen \u00FCr\u00FCnler ---------- */\n  function initRecommendations(scope) {\n    qsa('[data-recos]', scope).forEach(function (el) {\n      if (el.__pz) return; el.__pz = true;\n      var url = el.getAttribute('data-url');\n      if (!url) return;\n      whenVisible(el, function () {\n        fetch(url).then(function (r) { return r.text(); }).then(function (html) {\n          var doc = new DOMParser().parseFromString(html, 'text/html');\n          var fresh = qs('[data-recos]', doc);\n          if (fresh && fresh.innerHTML.trim()) {\n            el.innerHTML = fresh.innerHTML;\n            initScope(el);\n          } else {\n            var sec = el.closest('.shopify-section'); if (sec && !designMode) sec.hidden = true;\n          }\n        }).catch(function () {});\n      }, { rootMargin: '400px 0px' });\n    });\n  }\n\n  /* ---------- Saya\u00E7lar ---------- */\n  function countUp(el) {\n    var end = parseFloat(el.getAttribute('data-count'));\n    if (isNaN(end)) return;\n    var dec = parseInt(el.getAttribute('data-decimals'), 10) || 0;\n    var lang = document.documentElement.lang || 'tr';\n    function fmt(v) { return v.toLocaleString(lang, { minimumFractionDigits: dec, maximumFractionDigits: dec }); }\n    if (!animOn()) { el.textContent = fmt(end); return; }\n    var t0 = performance.now(), dur = 1500 * (parseFloat(getComputedStyle(document.documentElement).getPropertyValue('--pz-speed')) || 1);\n    function tick(now) {\n      var k = Math.min(1, (now - t0) / dur), v = end * (1 - Math.pow(1 - k, 3));\n      el.textContent = fmt(v);\n      if (k < 1) requestAnimationFrame(tick);\n    }\n    requestAnimationFrame(tick);\n  }\n  function initCounters(scope) {\n    qsa('[data-count]', scope).forEach(function (el) {\n      if (el.__pz) return; el.__pz = true;\n      whenVisible(el, countUp);\n    });\n  }\n\n  /* ---------- Elektrik tasarrufu hesaplay\u0131c\u0131 ---------- */\n  function initSavings(scope) {\n    qsa('[data-savings]', scope).forEach(function (w) {\n      if (w.__pz) return; w.__pz = true;\n      var inputs = qsa('input[data-k]', w);\n      var lang = document.documentElement.lang || 'tr';\n      function val(k) { var i = qs('input[data-k=\"' + k + '\"]', w); return i ? parseFloat(i.value) || 0 : 0; }\n      function calc() {\n        var count = val('count'), watt = val('watt'), hours = val('hours'), price = val('price');\n        var kwhYear = count * watt * hours * 365 / 1000;\n        var tlYear = kwhYear * price;\n        inputs.forEach(function (i) {\n          var o = qs('[data-out=\"' + i.getAttribute('data-k') + '\"]', w);\n          if (o) o.textContent = parseFloat(i.value).toLocaleString(lang);\n          i.style.setProperty('--v', ((i.value - i.min) / (i.max - i.min) * 100) + '%');\n        });\n        var y = qs('[data-result=\"year\"]', w), k = qs('[data-result=\"kwh\"]', w), t = qs('[data-result=\"ten\"]', w);\n        if (y) y.textContent = Math.round(tlYear).toLocaleString(lang);\n        if (k) k.textContent = Math.round(kwhYear).toLocaleString(lang);\n        if (t) t.textContent = Math.round(tlYear * 10).toLocaleString(lang);\n        w.style.setProperty('--glow', Math.min(1, tlYear / 6000));\n      }\n      inputs.forEach(function (i) { on(i, 'input', calc); });\n      calc();\n    });\n  }\n\n/* ---- 55-hero.js ---- */\n/* ==========================================================================\n     Ana g\u00F6rsel videosu: hareket azaltma ve veri tasarrufunda durur, ekran d\u0131\u015F\u0131nda oynatmaz\n     ========================================================================== */\n  function initHeroVideo(scope) {\n    qsa('[data-hero-video]', scope).forEach(function (v) {\n      if (v.__pz) return; v.__pz = true;\n      var conn = navigator.connection || {};\n      if (reduceMotion || conn.saveData) {\n        v.removeAttribute('autoplay');\n        v.pause();\n        return;\n      }\n      if (!('IntersectionObserver' in window)) return;\n      var io = new IntersectionObserver(function (entries) {\n        entries.forEach(function (e) {\n          if (e.isIntersecting) { var p = v.play(); if (p && p.catch) p.catch(function () {}); }\n          else v.pause();\n        });\n      }, { threshold: 0.2 });\n      io.observe(v);\n    });\n  }\n\n/* ---- 56-scrollstory.js ---- */\n/* ==========================================================================\n     Kayd\u0131rma hik\u00E2yesi: kare dizisi kayd\u0131rmayla ilerler (kutu a\u00E7\u0131l\u0131r, buket olu\u015Fur)\n     ========================================================================== */\n  function initScrollStory(scope) {\n    qsa('[data-story]', scope).forEach(function (root) {\n      if (root.__pz) return; root.__pz = true;\n      var cv = qs('[data-story-cv]', root);\n      if (!cv || !cv.getContext || reduceMotion) { root.classList.add('is-static'); return; }\n      var ctx = cv.getContext('2d');\n      var N = parseInt(root.getAttribute('data-frames'), 10) || 100;\n      var pre = root.getAttribute('data-prefix'), suf = root.getAttribute('data-suffix');\n      var imgs = new Array(N), shown = -1, last = 0, ticking = false, loading = false, capi = 0;\n      var bar = qs('[data-story-bar]', root), hint = qs('[data-story-hint]', root), caps = qsa('[data-story-cap]', root);\n      function url(i) { return pre + ('00' + i).slice(-3) + suf; }\n      function ok(im) { return im && im.complete && im.naturalWidth; }\n      function current() { return Math.round(Math.max(0, Math.min(1, (last - 0.02) / 0.9)) * (N - 1)); }\n      function draw(i) {\n        var im = imgs[i];\n        if (!ok(im)) {\n          im = null;\n          for (var d = 1; d < N && !im; d++) {\n            if (ok(imgs[i - d])) im = imgs[i - d]; else if (ok(imgs[i + d])) im = imgs[i + d];\n          }\n          if (!im) return;\n        }\n        if (shown === i && im === imgs[i]) return;\n        shown = i;\n        ctx.drawImage(im, 0, 0, cv.width, cv.height);\n        root.classList.add('is-drawn');\n      }\n      function load(i) {\n        if (imgs[i]) return;\n        var im = new Image(); im.decoding = 'async';\n        im.onload = function () { if (i === current()) draw(i); };\n        im.src = url(i); imgs[i] = im;\n      }\n      function loadAll() {\n        if (loading) return; loading = true;\n        var i = 0;\n        (function step() { for (var k = 0; k < 4 && i < N; k++, i++) load(i); if (i < N) setTimeout(step, 70); })();\n      }\n      function progress() {\n        var r = root.getBoundingClientRect(), h = r.height - window.innerHeight;\n        return h > 0 ? Math.max(0, Math.min(1, -r.top / h)) : 0;\n      }\n      function render(p) {\n        last = p;\n        draw(current());\n        if (bar) bar.style.transform = 'scaleX(' + p + ')';\n        if (hint) hint.style.opacity = p < 0.03 ? 1 : 0;\n        var n = Math.min(p < 0.26 ? 0 : p < 0.5 ? 1 : 2, caps.length - 1);\n        if (n !== capi && caps.length) { caps[capi].classList.remove('is-on'); caps[n].classList.add('is-on'); capi = n; }\n      }\n      function onScroll() {\n        if (ticking) return; ticking = true;\n        requestAnimationFrame(function () {\n          ticking = false;\n          var p = progress();\n          if (Math.abs(p - last) > 0.0004) render(p);\n        });\n      }\n      load(0);\n      if ('IntersectionObserver' in window) {\n        new IntersectionObserver(function (e) { if (e[0].isIntersecting) loadAll(); }, { rootMargin: '1200px 0px' }).observe(root);\n      } else loadAll();\n      on(window, 'scroll', onScroll, { passive: true });\n      on(window, 'resize', onScroll);\n      render(progress());\n    });\n  }\n\n/* ---- 99-boot.js ---- */\n/* ==========================================================================\n     Ba\u015Flatma ve tema d\u00FCzenleyici olaylar\u0131\n     ========================================================================== */\n\n  function initScope(scope) {\n    scope = scope || document;\n    [\n      ['reveal', initReveal], ['announce', initAnnounce], ['accordions', initAccordions], ['tabs', initTabs],\n      ['scrollers', initScrollers], ['qty', initQty], ['sliders', initSliders], ['videos', initVideos],\n      ['beforeAfter', initBeforeAfter], ['hotspots', initHotspots], ['countdowns', initCountdowns],\n      ['recos', initRecommendations], ['counters', initCounters], ['savings', initSavings],\n      ['heroVideo', initHeroVideo], ['delivery', initDeliveryDates], ['scrollStory', initScrollStory]\n    ].forEach(function (p) { safe(p[0], p[1])(scope); });\n    qsa('[data-product]', scope).forEach(function (p) { safe('product', initProduct)(p); });\n    safe('dialogs', initDialogs)();\n  }\n\n  function boot() {\n    // \u0130lk ekrandaki \u00F6\u011Feler gizleme s\u0131n\u0131flar\u0131 eklenmeden \u00F6nce i\u015Faretlenir;\n    // b\u00F6ylece sayfan\u0131n ilk g\u00F6r\u00FCnt\u00FCs\u00FC her zaman eksiksizdir.\n    var vh = window.innerHeight * 0.92;\n    qsa('[data-r]').forEach(function (el) { if (el.getBoundingClientRect().top < vh) el.classList.add('is-in'); });\n    safe('header', initHeader)();\n    safe('drawers', initDrawers)();\n    safe('cursor', initCursorLight)();\n    safe('cart', initCart)();\n    safe('predictive', initPredictive)();\n    safe('facets', initFacets)();\n    safe('share', initShare)();\n    try { initScope(document); } finally {\n      if (document.body.classList.contains('has-anim') && !reduceMotion) document.documentElement.classList.add('has-anim-root');\n      document.documentElement.classList.add('pz-ready');\n    }\n\n    if (designMode) {\n      on(document, 'shopify:section:load', function (e) { initScope(e.target); if (e.target.querySelector('[data-header]')) safe('header', initHeader)(); });\n      on(document, 'shopify:section:select', function (e) {\n        var d = e.target.querySelector('[data-drawer]');\n        if (d && e.target.id.indexOf('cart-drawer') > -1) openDrawer(d);\n      });\n      on(document, 'shopify:section:deselect', function (e) {\n        var d = e.target.querySelector('[data-drawer].is-open');\n        if (d) closeDrawer(d);\n      });\n      on(document, 'shopify:block:select', function (e) {\n        var slide = e.target.closest('[data-slide]');\n        var slider = slide && slide.closest('[data-slider]');\n        if (slider && slider.__go) slider.__go(qsa('[data-slide]', slider).indexOf(slide));\n        var tab = e.target.closest('[role=\"tab\"]');\n        if (tab) tab.click();\n        var msg = e.target.closest('[data-announce-item]');\n        var bar = msg && msg.closest('[data-announce]');\n        if (bar && bar.__go) bar.__go(qsa('[data-announce-item]', bar).indexOf(msg));\n        var det = e.target.closest('details');\n        if (det) det.open = true;\n      });\n    }\n  }\n\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot);\n  else boot();\n})();\n"],
  "mappings": "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",
  "names": []
}
