{
  "version": 3,
  "sources": ["/cdn/shop/t/12/assets/jprl1.js?x=1793820361334"],
  "sourcesContent": ["\n/* jprl1, native reels for J'ador Paris, derived from Sparkly Roses srrl1 v8.1 on 2026-11-04. No ReelUp. */\n(function(){\n  function boot(root){\n  if (!root || root.dataset.jprl1Init) return;\n  root.dataset.jprl1Init = '1';\n\n  /* Closed row: arrows (desktop) */\n  var row = root.querySelector('.jprl1-row');\n  var prev = root.querySelector('.jprl1-prev'), next = root.querySelector('.jprl1-next');\n  function arrows(){\n    var max = row.scrollWidth - row.clientWidth - 2;\n    prev.disabled = row.scrollLeft <= 2;\n    next.disabled = row.scrollLeft >= max;\n  }\n  function step(d){ row.scrollBy({left: d * Math.max(row.clientWidth * 0.8, 260), behavior: 'smooth'}); }\n  prev.addEventListener('click', function(){ step(-1); });\n  next.addEventListener('click', function(){ step(1); });\n  row.addEventListener('scroll', arrows, {passive: true});\n  arrows();\n\n  /* Closed row: short silent previews, only for cards in view, only after window load */\n  var data = null;\n  function getData(){\n    if (data) return data;\n    try { data = JSON.parse(root.querySelector('.jprl1-data').textContent); } catch (e) { data = {r: [], p: {} }; }\n    return data;\n  }\n  var cards = [].slice.call(root.querySelectorAll('.jprl1-card'));\n  var conn = navigator.connection || {};\n  var lite = conn.saveData || /2g/.test(conn.effectiveType || '') || (window.matchMedia && matchMedia('(prefers-reduced-motion: reduce)').matches);\n  function stopPrev(c){ var v = c.querySelector('video'); if (v) { v.pause(); v.removeAttribute('src'); v.load(); v.remove(); } }\n  function prevOf(c){ var r = getData().r[+c.dataset.i]; return r ? r.s : ''; }\n  function startPrev(c){\n    if (c.querySelector('video') || !prevOf(c) || document.hidden) return;\n    var v = document.createElement('video');\n    v.muted = true; v.defaultMuted = true; v.loop = true; v.playsInline = true; v.preload = 'auto';\n    v.setAttribute('muted', ''); v.setAttribute('playsinline', ''); v.setAttribute('aria-hidden', 'true'); v.tabIndex = -1;\n    v.addEventListener('playing', function(){ v.classList.add('jprl1-on'); }, {once: true});\n    v.src = prevOf(c);\n    c.appendChild(v);\n    var p = v.play(); if (p && p.catch) p.catch(function(){});\n  }\n  var inView = new Set(), io = null;\n  /* origin(i): the on-page tile the viewer zooms out of and back into */\n  function cardRect(i){\n    var c = cards[i]; if (!c) return null;\n    var cr = c.getBoundingClientRect(), rr = row.getBoundingClientRect();\n    if (cr.left < rr.left || cr.right > rr.right) { row.scrollLeft += cr.left - rr.left - 16; cr = c.getBoundingClientRect(); }\n    return cr.bottom > 0 && cr.top < innerHeight ? cr : null;\n  }\n  function openAt(i, origin){\n    var d = getData();\n    window.JPRL1.open({reels: d.r, products: d.p, start: i, pdp: +root.dataset.pdp, cta: root.dataset.cta, ctaPdp: root.dataset.ctaPdp, list: root.dataset.list, origin: origin || cardRect});\n  }\n  function open(c){ openAt(+c.dataset.i); }\n  function setup(c){\n    c.addEventListener('click', function(){ open(c); });\n    /* start fetching the full video as soon as a finger lands; cancelled if the touch turns into a scroll */\n    c.addEventListener('pointerdown', function(){ var r = getData().r[+c.dataset.i]; if (r && window.JPRL1) JPRL1.warm(JPRL1.src(r)); });\n    c.addEventListener('pointercancel', function(){ if (window.JPRL1) JPRL1.warm(''); });\n    if (io) io.observe(c);\n  }\n  cards.forEach(setup);\n  /* cards 13 and up are built from the data once the page has loaded */\n  function buildRest(){\n    var d = getData(), n = d.r.length;\n    if (n <= cards.length) return;\n    var frag = document.createDocumentFragment(), made = [];\n    for (var i = cards.length; i < n; i++) {\n      var r = d.r[i], b = document.createElement('button');\n      b.type = 'button'; b.className = 'jprl1-card'; b.dataset.i = i;\n      b.setAttribute('aria-label', 'Play video ' + (i + 1) + ' of ' + n);\n      if (r.p) {\n        var sep = r.p.indexOf('?') > -1 ? '&' : '?', im = document.createElement('img');\n        im.alt = ''; im.width = 250; im.height = 444; im.loading = 'lazy'; im.decoding = 'async';\n        im.sizes = '(min-width: 750px) 250px, 200px';\n        im.srcset = r.p + sep + 'width=250 250w, ' + r.p + sep + 'width=500 500w';\n        im.src = r.p + sep + 'width=400';\n        b.appendChild(im);\n      }\n      var pp = root.dataset.chip === '1' && r.x && d.p[String(r.x)];\n      if (pp) {\n        var ch = document.createElement('span'); ch.className = 'jprl1-chip';\n        if (pp.i) { var ci = document.createElement('img'); ci.src = pp.i; ci.width = 28; ci.height = 28; ci.alt = ''; ci.loading = 'lazy'; ci.decoding = 'async'; ch.appendChild(ci); }\n        var ct = document.createElement('span'); ct.textContent = pp.t; ch.appendChild(ct);\n        b.appendChild(ch);\n      }\n      frag.appendChild(b); made.push(b);\n    }\n    row.appendChild(frag);\n    made.forEach(function(c){ cards.push(c); setup(c); });\n    arrows();\n  }\n  function armPreviews(){\n    buildRest();\n    if (lite || !('IntersectionObserver' in window)) return;\n    io = new IntersectionObserver(function(es){\n      es.forEach(function(e){\n        if (e.intersectionRatio >= 0.6) { inView.add(e.target); startPrev(e.target); }\n        else { inView.delete(e.target); stopPrev(e.target); }\n      });\n    }, {threshold: [0, 0.6]});\n    cards.forEach(function(c){ io.observe(c); });\n    document.addEventListener('visibilitychange', function(){\n      inView.forEach(function(c){ if (document.hidden) stopPrev(c); else startPrev(c); });\n    });\n  }\n  if (document.readyState === 'complete') setTimeout(armPreviews, 600);\n  else window.addEventListener('load', function(){ setTimeout(armPreviews, 600); }, {once: true});\n\n  /* Shared link (?reel=<handle>) opens that exact video */\n  setTimeout(function(){\n    var h = null; try { h = new URLSearchParams(location.search).get('reel'); } catch (e) {}\n    if (!h || window.__jprl1Deep || !window.JPRL1) return;\n    var rs = getData().r, i = -1;\n    for (var k = 0; k < rs.length; k++) if (rs[k].h === h) { i = k; break; }\n    if (i < 0) return;\n    window.__jprl1Deep = 1;\n    try { var u = new URL(location.href); u.searchParams.delete('reel'); history.replaceState(history.state, '', u.pathname + u.search + u.hash); } catch (e) {}\n    openAt(i);\n  }, 0);\n\n  /* Floating popup (section setting): cycles this section's reels in a small story card.\n     Never shown over the price, Add to cart or Buy now, sits above the sticky bar, hides while a drawer\n     or the viewer is open. Drag it to either side. X shrinks it to a round bubble, X again hides it for the visit.\n     Tap opens the viewer on that reel; after the viewer closes it carries on from the last reel watched. */\n  if (root.dataset.pop === '1') (function(){\n    var KEY = 'jprl1-pop', DWELL = 8000, CLIP = 6;\n    function sget(){ try { return JSON.parse(sessionStorage.getItem(KEY) || '{}') || {}; } catch (e) { return {}; } }\n    function sset(o){ try { var s = sget(); for (var k in o) s[k] = o[k]; sessionStorage.setItem(KEY, JSON.stringify(s)); } catch (e) {} }\n    if (sget().x) return;\n    /* rules (2026-10-25): closing the round bubble hides it for this visit; closing it on two different visits hides it for 7 days */\n    /* the card cycles at most the first 8 reels of the row (the homepage row has 114) */\n    function PN(){ return Math.min(getData().r.length, 8); }\n    var DKEY = 'jprl1-pop-d', dd = {n: 0, t: 0};\n    try { dd = JSON.parse(localStorage.getItem(DKEY) || '{}') || {}; } catch (e) {}\n    if (dd.t && Date.now() - dd.t > 7 * 864e5) dd = {n: 0, t: 0};\n    if ((dd.n || 0) >= 2) return;\n    var sbH = 0, pop, inner, img, vid = null, bars = [], idx = 0, timer = null, gone = false, ticking = false, drag = null, noClick = false;\n    function build(){\n      var d = getData(), s = sget();\n      pop = document.createElement('div');\n      pop.className = 'jprl1-pop' + (s.side === 'l' ? '' : ' jprl1-r') + (s.min ? ' jprl1-min' : '');\n      var segs = PN() > 1 ? '<span class=\"jprl1-pop-segs\">' + d.r.slice(0, PN()).map(function(){ return '<i><b></b></i>'; }).join('') + '</span>' : '';\n      pop.innerHTML = '<button type=\"button\" class=\"jprl1-pop-in\" aria-label=\"Watch videos\"><img alt=\"\" decoding=\"async\" draggable=\"false\">' + segs + '</button>'\n        + '<button type=\"button\" class=\"jprl1-pop-x\" aria-label=\"Make smaller\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" aria-hidden=\"true\"><path d=\"M6 6l12 12M18 6L6 18\"/></svg></button>';\n      document.body.appendChild(pop);\n      inner = pop.querySelector('.jprl1-pop-in');\n      img = pop.querySelector('img');\n      bars = [].slice.call(pop.querySelectorAll('.jprl1-pop-segs b'));\n      xLabel();\n      inner.addEventListener('click', function(){\n        if (noClick) { noClick = false; return; }\n        openAt(idx, function(){ var r = pop.getBoundingClientRect(); return r.width ? r : null; });\n      });\n      pop.querySelector('.jprl1-pop-x').addEventListener('click', function(){\n        if (!pop.classList.contains('jprl1-min')) { pop.classList.add('jprl1-min'); sset({min: 1}); xLabel(); setTimeout(place, 260); return; }\n        gone = true; sset({x: 1}); try { localStorage.setItem(DKEY, JSON.stringify({n: (dd.n || 0) + 1, t: Date.now()})); } catch (e) {}\n        clearTimeout(timer); drop(); pop.classList.remove('jprl1-on');\n        setTimeout(function(){ if (pop.parentNode) pop.parentNode.removeChild(pop); }, 300);\n      });\n      /* drag to either side */\n      inner.addEventListener('pointerdown', function(e){\n        if (e.button) return;\n        var r = pop.getBoundingClientRect();\n        drag = {x: e.clientX, y: e.clientY, r: r, on: false, id: e.pointerId};\n      });\n      window.addEventListener('pointermove', function(e){\n        if (!drag || e.pointerId !== drag.id) return;\n        var dx = e.clientX - drag.x, dy = e.clientY - drag.y;\n        if (!drag.on && Math.abs(dx) + Math.abs(dy) > 10) { drag.on = true; pop.classList.add('jprl1-drag'); try { inner.setPointerCapture(e.pointerId); } catch (er) {} }\n        if (drag.on) {\n          dx = Math.max(-drag.r.left + 4, Math.min(innerWidth - drag.r.right - 4, dx));\n          dy = Math.max(-drag.r.top + 4, Math.min(innerHeight - drag.r.bottom - 4, dy));\n          pop.style.transform = 'translate(' + dx + 'px,' + dy + 'px)';\n        }\n      });\n      function end(e){\n        if (!drag || e.pointerId !== drag.id) return;\n        var d0 = drag; drag = null;\n        if (!d0.on) return;\n        noClick = true; setTimeout(function(){ noClick = false; }, 400);\n        var cx = d0.r.left + d0.r.width / 2 + (e.clientX - d0.x);\n        var right = cx > innerWidth / 2;\n        /* glide from where the finger let go to the chosen side (FLIP), never re-enter from the edge */\n        var before = pop.getBoundingClientRect();\n        pop.style.transform = '';\n        pop.classList.toggle('jprl1-r', right);\n        sset({side: right ? 'r' : 'l'});\n        place();\n        var after = pop.getBoundingClientRect();\n        pop.style.transform = 'translate(' + (before.left - after.left) + 'px,' + (before.top - after.top) + 'px)';\n        void pop.offsetWidth;\n        pop.classList.remove('jprl1-drag');\n        pop.style.transition = (window.matchMedia && matchMedia('(prefers-reduced-motion: reduce)').matches) ? 'none' : 'transform .34s cubic-bezier(.2,.9,.3,1.12),opacity .25s ease';\n        pop.style.transform = '';\n        setTimeout(function(){ pop.style.transition = ''; }, 380);\n      }\n      window.addEventListener('pointerup', end);\n      window.addEventListener('pointercancel', end);\n      window.addEventListener('jprl1:close', function(e){ if (!gone && e.detail && e.detail.list === root.dataset.list) show(e.detail.i); });\n      show(s.i && s.i < PN() ? s.i : 0);\n    }\n    function xLabel(){ pop.querySelector('.jprl1-pop-x').setAttribute('aria-label', pop.classList.contains('jprl1-min') ? 'Hide video' : 'Make smaller'); }\n    function drop(){ if (vid) { vid.pause(); vid.removeAttribute('src'); try { vid.load(); } catch (e) {} if (vid.parentNode) vid.parentNode.removeChild(vid); vid = null; } }\n    function show(i){\n      var d = getData(); idx = i % PN(); var r = d.r[idx];\n      sset({i: idx});\n      if (r.p) { var sep = r.p.indexOf('?') > -1 ? '&' : '?'; img.src = r.p + sep + 'width=260'; }\n      drop();\n      /* v8.1: the popup plays each reel from its real start (the same file the viewer opens, so a tap starts instantly) for its\n         first 6 s, then moves on. Not the 3 s preview on a loop. Its bar follows the real playback time. */\n      clearTimeout(timer);\n      bars.forEach(function(b, k){ b.style.transition = 'none'; b.style.transform = k < idx ? 'scaleX(1)' : 'scaleX(0)'; });\n      var cb = bars[idx], next = function(){ if (!gone && vid === me) show(PN() > 1 ? idx + 1 : idx); };\n      var me = null;\n      if (!lite && (r.v || r.s)) {\n        vid = me = document.createElement('video');\n        vid.muted = true; vid.defaultMuted = true; vid.loop = false; vid.playsInline = true; vid.preload = 'metadata';\n        vid.setAttribute('muted', ''); vid.setAttribute('playsinline', ''); vid.setAttribute('aria-hidden', 'true');\n        vid.addEventListener('playing', function(){ me.classList.add('jprl1-on'); }, {once: true});\n        /* plays the opening 6 s of each reel (the hook), then the next reel; the bar fills over those 6 s */\n        vid.addEventListener('timeupdate', function(){ if (!me.duration) return; var len = Math.min(CLIP, me.duration); if (cb) { cb.style.transition = 'transform .3s linear'; cb.style.transform = 'scaleX(' + Math.min(1, me.currentTime / len) + ')'; } if (me.currentTime >= CLIP) { me.pause(); next(); } });\n        vid.addEventListener('ended', next);\n        /* a reel that cannot load is skipped instead of freezing the card */\n        vid.addEventListener('error', function(){ clearTimeout(timer); timer = setTimeout(next, 1500); });\n        vid.src = (window.JPRL1 && JPRL1.src && r.v) ? JPRL1.src(r) : (r.v || r.s);\n        img.parentNode.insertBefore(vid, img.nextSibling);\n        if (pop.classList.contains('jprl1-on') && !document.hidden) { var p = vid.play(); if (p && p.catch) p.catch(function(){}); }\n      } else if (PN() > 1) {\n        /* no video (data saver, reduced motion): still image, timed */\n        if (cb) { void cb.offsetWidth; cb.style.transition = 'transform ' + DWELL + 'ms linear'; cb.style.transform = 'scaleX(1)'; }\n        timer = setTimeout(function(){ if (!gone) show(idx + 1); }, DWELL);\n      }\n    }\n    function hit(a, b){ return !(a.right < b.left || a.left > b.right || a.bottom < b.top || a.top > b.bottom); }\n    var ctlAt = 0, ctlHit = false;\n    function place(){\n      ticking = false;\n      if (!pop || gone || drag) return;\n      /* J'ador: default left, stacked right above the FREE GIFT badge and on its left edge. The badge keeps its box while hidden, so the card never jumps */\n      var bottom = 16, sb = document.querySelector('#jpsb1.is-in'); if (sb) { var sbr = sb.getBoundingClientRect(), ppr = pop.getBoundingClientRect(); if (sbr.left < ppr.right + 8 && sbr.right > ppr.left - 8) bottom = sb.offsetHeight + parseFloat(getComputedStyle(sb).bottom) + 10; } /* jpsb1: stay above the sticky bar wherever they share width */\n      if (pop.classList.contains('jprl1-r')) { pop.style.left = ''; } else { var gb = document.querySelector('.jpgp1-badge'); if (gb) { var gr = gb.getBoundingClientRect(); if (gr.width > 0) { bottom = Math.max(bottom, innerHeight - gr.top + 10); pop.style.left = Math.round(gr.left) + 'px'; } } }\n      /* the theme's scroll to top button on non-product pages sits in this corner: stack above it */\n      var stb = document.querySelector('.btn--scroll-top.is-visible'); if (stb) { var str = stb.getBoundingClientRect(), pp2 = pop.getBoundingClientRect(); if (str.width > 0 && str.left < pp2.right + 8 && str.right > pp2.left - 8) bottom = Math.max(bottom, innerHeight - str.top + 10); }\n      pop.style.bottom = bottom + 'px';\n      var pr = pop.getBoundingClientRect(), h = pop.offsetHeight;\n      var box = {left: pr.left - 4, right: pr.right + 12, top: innerHeight - bottom - h - 12, bottom: innerHeight - bottom + 4};\n      /* never over anything in the buy box the shopper uses: price, swatches and variant pickers, personalisation fields, quantity, Add to cart, Buy now */\n      var block = false, info = document.querySelector('#MainContent .form__width');\n      if (info) { var ir = info.getBoundingClientRect(); if (ir.height > 0 && hit(ir, box)) block = [].slice.call(info.querySelectorAll('.product__price__wrap, .product__selectors, fieldset, label, input, select, textarea, button, .shopify-payment-button')).some(function(b){\n        var r = b.getBoundingClientRect(); return r.width > 0 && r.height > 0 && hit(r, box);\n      }); }\n      if (!block) block = [].slice.call(document.querySelectorAll('#MainContent button[name=\"add\"], #MainContent .shopify-payment-button')).some(function(b){\n        var r = b.getBoundingClientRect(); return r.width > 0 && r.height > 0 && hit(r, box);\n      });\n      /* any control under the card anywhere on the page, checked at most every 150 ms. Product photos and cards are not controls */\n      if (!block && document.elementsFromPoint) { var tn = Date.now(); if (tn - ctlAt > 150) { ctlAt = tn; ctlHit = false; [[pr.left + 6, pr.top + 6], [pr.right - 6, pr.top + 6], [pr.left + pr.width / 2, pr.top + pr.height / 2], [pr.left + 6, pr.bottom - 6], [pr.right - 6, pr.bottom - 6]].some(function(pt){ var els = document.elementsFromPoint(pt[0], pt[1]); for (var ci = 0; ci < els.length; ci++) { var ce = els[ci]; if (pop.contains(ce) || (ce.closest && ce.closest('#jpsb1, .jpgp1'))) continue; if (ce.closest && ce.closest('button, .btn, input, select, textarea, summary, [role=\"button\"]') && !ce.closest('product-images, .product__images, [class*=\"review-card\"], [class*=\"MediaGallery\"]')) ctlHit = true; break; } return ctlHit; }); } block = ctlHit; }\n      /* gone at the end of the page */\n      var ftEl = document.querySelector('.footer-sections'), ftR = ftEl && ftEl.getBoundingClientRect(), footIn = !!ftR && ftR.height > 0 && ftR.top < innerHeight && ftR.bottom > 0;\n      var cartOpen = false; try { var ec = window.essentialCartApi; cartOpen = !!(ec && ec.isOpen && ec.isOpen()); } catch (e) {}\n      /* any large fixed layer at this spot (gift card, photo cropper, size guide, Pairs well drawer, cart) sends the popup away */\n      var covered = false, cx0 = pr.left + pr.width / 2, cy0 = pr.top + pr.height / 2;\n      if (document.elementsFromPoint) { var under = document.elementsFromPoint(cx0, cy0); for (var ui = 0; ui < under.length; ui++) { var ue = under[ui]; if (pop.contains(ue)) continue; if (ue.closest && ue.closest('.jpgp1')) break; while (ue && ue !== document.body && ue !== document.documentElement) { var ucs = getComputedStyle(ue); if (ucs.position === 'fixed' && ue.offsetWidth > 120 && ue.offsetHeight > 120) { covered = true; break; } ue = ue.parentElement; } break; } }\n      var lock = document.documentElement.classList.contains('jprl1-lock') || /overflow-hidden/.test(document.body.className) || !!document.querySelector('product-modal[open]');\n      /* also stay out of the way: while this reels row is itself on screen, while the shopper is typing (engraving and personalisation fields), and while any other popup dialog is open */\n      var rr = root.getBoundingClientRect(), rowOn = rr.height > 0 && rr.top < innerHeight * 0.85 && rr.bottom > innerHeight * 0.15;\n      var ae = document.activeElement, typing = !!ae && /^(INPUT|TEXTAREA)$/.test(ae.tagName) && !/^(button|submit|radio|checkbox|hidden)$/i.test(ae.type || '');\n      var dlg = [].slice.call(document.querySelectorAll('[aria-modal=\"true\"]')).some(function(d){ if (d.closest('.jprl1-v')) return false; var b = d.getBoundingClientRect(), cs = getComputedStyle(d); return b.width > 40 && b.height > 40 && cs.visibility !== 'hidden' && cs.display !== 'none' && cs.opacity !== '0'; });\n      /* the Black Friday gift card and the reels card never show together */\n      var giftOpen = !!document.querySelector('.jpgp1.is-open');\n      var ok = !giftOpen && !block && !footIn && !cartOpen && !covered && !lock && !rowOn && !typing && !dlg;\n      pop.classList.toggle('jprl1-on', ok);\n      if (vid) { if (ok && vid.paused && !document.hidden) { var p = vid.play(); if (p && p.catch) p.catch(function(){}); } else if ((!ok || document.hidden) && !vid.paused) vid.pause(); }\n    }\n    function req(){ if (!ticking) { ticking = true; (window.requestAnimationFrame || setTimeout)(place); } }\n    function start(){\n      build(); place();\n      window.addEventListener('scroll', req, {passive: true});\n      window.addEventListener('resize', req);\n      document.addEventListener('visibilitychange', place);\n      setInterval(place, 700);\n      /* react the moment the Black Friday card opens or closes, not on the next tick */\n      var gp = document.querySelector('.jpgp1');\n      if (gp && window.MutationObserver) new MutationObserver(place).observe(gp, {attributes: true, attributeFilter: ['class']});\n    }\n    if (document.readyState === 'complete') setTimeout(start, 2000);\n    else window.addEventListener('load', function(){ setTimeout(start, 2000); }, {once: true});\n  })();\n\n  /* Viewer is shared by every jprl1 section on the page */\n\n  if (window.JPRL1) return;\n  var V = window.JPRL1 = {};\n  var io2 = null, el, feed, slides, vids, st, rafId, opts, cur = -1, muted = false, scrollY0 = 0, pushed = false, tok = '';\n  /* a stale viewer entry left in history (shopper tapped through to another product and came back) is cleared */\n  try { if (history.state && history.state.jprl1) history.replaceState(null, ''); } catch (e) {}\n  var I = {\n    x: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" aria-hidden=\"true\"><path d=\"M6 6l12 12M18 6L6 18\"/></svg>',\n    on: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\" aria-hidden=\"true\"><path d=\"M4 9.5h3.5L12 5.5v13l-4.5-4H4z\"/><path d=\"M16 9a4 4 0 0 1 0 6M18.5 6.5a7.5 7.5 0 0 1 0 11\"/></svg>',\n    off: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\" aria-hidden=\"true\"><path d=\"M4 9.5h3.5L12 5.5v13l-4.5-4H4z\"/><path d=\"M16.5 9.5l5 5M21.5 9.5l-5 5\"/></svg>',\n    sh: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\" stroke-linecap=\"round\" aria-hidden=\"true\"><path d=\"M21 3L10 14\"/><path d=\"M21 3l-7 18-4-7-7-4z\"/></svg>',\n    up: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M6 15l6-6 6 6\"/></svg>',\n    dn: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M6 9l6 6 6-6\"/></svg>',\n    pl: '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M8 5.5v13l10.5-6.5z\" fill=\"currentColor\"/></svg>',\n    hr: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 20.5s-7.6-4.6-9.4-9.3C1.4 7.9 3.6 4.5 7.1 4.5c2.1 0 3.7 1.1 4.9 2.9 1.2-1.8 2.8-2.9 4.9-2.9 3.5 0 5.7 3.4 4.5 6.7-1.8 4.7-9.4 9.3-9.4 9.3z\"/></svg>'\n  };\n  var reduce = window.matchMedia && matchMedia('(prefers-reduced-motion: reduce)').matches;\n  /* full quality by default; the smaller copy only with Data Saver on or on a 2G connection (Chrome reports 3g too easily) */\n  function netSrc(r){ var c = navigator.connection || {}; var slow = c.saveData || /2g/.test(c.effectiveType || ''); return (slow && r.q) ? r.q : r.v; }\n  /* iPhone Safari ignores preload on a video element, so the next reel is also downloaded with fetch into memory (blob) and played from there */\n  var BLOB = {}, BQ = [], FETCH = {};\n  V.src = function(r){ var u = netSrc(r); return BLOB[u] || u; };\n  function prefetchReel(i){\n    var r = opts && opts.reels[i]; if (!r || !window.fetch || !window.URL || !URL.createObjectURL) return;\n    var u = netSrc(r); if (BLOB[u] || FETCH[u]) return; FETCH[u] = 1;\n    fetch(u).then(function(x){ if (!x.ok) throw 0; return x.blob(); }).then(function(b){\n      BLOB[u] = URL.createObjectURL(b); BQ.push(u); delete FETCH[u];\n      while (BQ.length > 4) { var o = BQ.shift(), busy = vids.some(function(v){ return v.getAttribute('src') === BLOB[o]; }); if (busy) { BQ.push(o); break; } URL.revokeObjectURL(BLOB[o]); delete BLOB[o]; }\n      if (el && !el.hidden && i !== cur) { var v = slotOf(i); if (v && v.getAttribute('src') === u && v.readyState < 4) { v.preload = 'auto'; v.src = BLOB[u]; } }\n    }, function(){ delete FETCH[u]; });\n  }\n  var LIKE = 'jprl1-liked', liked = {};\n  try { (JSON.parse(localStorage.getItem(LIKE) || '[]') || []).forEach(function(k){ liked[k] = 1; }); } catch (e) {}\n  var css = ''\n    + 'html.jprl1-lock,html.jprl1-lock body{overflow:hidden!important}'\n    + '.jprl1-v{position:fixed;inset:0;z-index:2147483000;background:#000;color:#fff;display:flex;justify-content:center;font-family:Poppins,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}'\n    + '.jprl1-v[hidden]{display:none}'\n    + '.jprl1-col{position:relative;width:100%;height:100%;max-width:calc(100dvh * 9 / 16);overflow:hidden;background:#000}'\n    + '.jprl1-feed{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}'\n    + '.jprl1-feed::-webkit-scrollbar{display:none}'\n    + '.jprl1-s{position:relative;height:100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;background:#000}'\n    + '.jprl1-s img,.jprl1-s video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}'\n    + '.jprl1-s video{opacity:0}'\n    + '.jprl1-s video.jprl1-on{opacity:1}'\n    + '.jprl1-s::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,0));pointer-events:none}'\n    + '.jprl1-s::before{content:\"\";position:absolute;left:0;right:0;top:0;height:16%;background:linear-gradient(to bottom,rgba(0,0,0,.4),rgba(0,0,0,0));pointer-events:none;z-index:1}'\n    + '.jprl1-spin{position:absolute;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;animation:jprl1-r .8s linear infinite;opacity:0;transition:opacity .2s;pointer-events:none;z-index:2}'\n    + '.jprl1-s.jprl1-wait .jprl1-spin{opacity:1}'\n    + '@keyframes jprl1-r{to{transform:rotate(360deg)} }'\n    + '.jprl1-play{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .15s,transform .15s;pointer-events:none;z-index:2}'\n    + '.jprl1-play svg{width:34px;height:34px;margin-left:4px}'\n    + '.jprl1-v.jprl1-paused .jprl1-play{opacity:1;transform:scale(1)}'\n    + '.jprl1-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 10px 0 14px;z-index:4;pointer-events:none}'\n    + '.jprl1-ttl{font-family:\"Bebas Neue\",sans-serif;font-size:22px;font-weight:400;letter-spacing:.04em;text-shadow:0 1px 3px rgba(0,0,0,.4)}'\n    + '.jprl1-btns{display:flex;gap:4px;pointer-events:auto}'\n    + '.jprl1-b{width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}'\n    + '.jprl1-b svg{width:26px;height:26px}'\n    + '.jprl1-rail{position:absolute;right:6px;bottom:calc(118px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:2px;z-index:4}'\n    + '.jprl1-rail .jprl1-b svg{width:28px;height:28px}'\n    + '.jprl1-lk.jprl1-on{color:#ff3040}'\n    + '.jprl1-lk.jprl1-on svg{fill:currentColor}'\n    + '.jprl1-lk.jprl1-pulse svg{animation:jprl1-pulse .35s ease}'\n    + '@keyframes jprl1-pulse{50%{transform:scale(1.25)} }'\n    + '.jprl1-seek{position:absolute;left:0;right:0;bottom:env(safe-area-inset-bottom);height:14px;z-index:5;cursor:pointer;touch-action:none}'\n    + '.jprl1-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.25);pointer-events:none;transition:height .12s}'\n    + '.jprl1-seek:hover .jprl1-bar,.jprl1-seek.jprl1-on .jprl1-bar{height:6px}'\n    + '.jprl1-bar i{display:block;height:100%;width:100%;background:#fff;transform-origin:0 50%;transform:scaleX(0)}'\n    + '.jprl1-burst{position:absolute;width:104px;height:104px;margin:-52px 0 0 -52px;color:#ff3040;z-index:3;pointer-events:none;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35));animation:jprl1-burst .85s ease-out forwards}'\n    + '.jprl1-burst svg{width:100%;height:100%;fill:currentColor;stroke:none}'\n    + '@keyframes jprl1-burst{0%{transform:scale(.2);opacity:0}15%{transform:scale(1.15);opacity:1}30%{transform:scale(.95)}65%{transform:scale(1);opacity:1}100%{transform:translateY(-40px) scale(1.05);opacity:0} }'\n    + '.jprl1-hint{position:absolute;left:0;right:0;bottom:calc(104px + env(safe-area-inset-bottom));z-index:5;display:flex;flex-direction:column;align-items:center;font-size:14px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.7);pointer-events:none;transition:opacity .3s}'\n    + '.jprl1-hint svg{width:30px;height:30px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6));animation:jprl1-hint 1.1s ease-in-out infinite}'\n    + '.jprl1-hint[hidden]{display:none}'\n    + '@keyframes jprl1-hint{50%{transform:translateY(-10px)} }'\n    + '.jprl1-cta.jprl1-so{background:#3a3a3a;color:#fff}'\n    + '.jprl1-pc{position:absolute;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;padding:8px 8px 8px 8px;border-radius:14px;background:rgba(20,20,20,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:4;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.08)}'\n    + '.jprl1-pc[hidden]{display:none}'\n    + '.jprl1-pc img{width:46px;height:46px;border-radius:9px;object-fit:cover;flex:0 0 46px;background:#222}'\n    + '.jprl1-pt{flex:1 1 auto;min-width:0;line-height:1.25}'\n    + '.jprl1-pt b{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}'\n    + '.jprl1-pt s{color:#9d9698;font-size:12.5px;margin-left:6px}'\n    + '.jprl1-pt .jprl1-m{font-size:13.5px;font-weight:600}'\n    + '.jprl1-cta{flex:0 0 auto;border:0;border-radius:999px;background:#fff;color:#111;font-family:\"Bebas Neue\",sans-serif;font-size:17px;font-weight:400;letter-spacing:.03em;line-height:22px;text-transform:uppercase;padding:11px 18px;min-height:44px;cursor:pointer;white-space:nowrap}'\n    + '.jprl1-cta:hover{background:#efe3cc}'\n    + '.jprl1-um{position:absolute;top:calc(64px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:5;border:0;border-radius:999px;background:rgba(255,255,255,.95);color:#000;font-size:13.5px;font-weight:600;padding:8px 14px;display:flex;align-items:center;gap:6px;cursor:pointer;font-family:inherit}'\n    + '.jprl1-um[hidden]{display:none}'\n    + '.jprl1-um svg{width:18px;height:18px}'\n    + '.jprl1-toast{position:absolute;left:50%;top:45%;transform:translateX(-50%);background:rgba(0,0,0,.75);color:#fff;font-size:14px;padding:9px 14px;border-radius:999px;z-index:6;opacity:0;transition:opacity .2s;pointer-events:none}'\n    + '.jprl1-toast.jprl1-on{opacity:1}'\n    + '.jprl1-side{display:none}'\n    + '@media (min-width:750px){'\n    +   '.jprl1-v{background:rgba(0,0,0,.92)}'\n    +   '.jprl1-col{height:min(100dvh,920px);margin:auto 0;border-radius:12px}'\n    +   '.jprl1-side{display:flex;flex-direction:column;gap:12px;position:absolute;right:28px;top:50%;transform:translateY(-50%);z-index:6}'\n    +   '.jprl1-side .jprl1-b{background:rgba(255,255,255,.14);filter:none}'\n    +   '.jprl1-side .jprl1-b[disabled]{opacity:.3;cursor:default}'\n    +   '.jprl1-xd{position:absolute;top:18px;right:22px;z-index:6;background:rgba(255,255,255,.14)!important;filter:none!important}'\n    +   '.jprl1-top .jprl1-x{display:none}'\n    + '}'\n    + '@media (max-width:749px){.jprl1-xd{display:none} }';\n\n  function build(){\n    var s = document.createElement('style'); s.textContent = css; document.head.appendChild(s);\n    el = document.createElement('div');\n    el.className = 'jprl1-v'; el.hidden = true;\n    el.setAttribute('role', 'dialog'); el.setAttribute('aria-modal', 'true'); el.setAttribute('aria-label', 'Videos');\n    el.innerHTML = ''\n      + '<button type=\"button\" class=\"jprl1-b jprl1-xd\" aria-label=\"Close\">' + I.x + '</button>'\n      + '<div class=\"jprl1-col\">'\n      +   '<div class=\"jprl1-feed\"></div>'\n      +   '<div class=\"jprl1-top\"><div class=\"jprl1-ttl\">Reels</div><div class=\"jprl1-btns\"><button type=\"button\" class=\"jprl1-b jprl1-mu\" aria-label=\"Mute\">' + I.on + '</button><button type=\"button\" class=\"jprl1-b jprl1-x\" aria-label=\"Close\">' + I.x + '</button></div></div>'\n      +   '<button type=\"button\" class=\"jprl1-um\" hidden>' + I.off + 'Tap to unmute</button>'\n      +   '<div class=\"jprl1-rail\"><button type=\"button\" class=\"jprl1-b jprl1-lk\" aria-label=\"Like\" aria-pressed=\"false\">' + I.hr + '</button><button type=\"button\" class=\"jprl1-b jprl1-sh\" aria-label=\"Share\">' + I.sh + '</button></div>'\n      +   '<div class=\"jprl1-hint\" hidden>' + I.up + '<span>Swipe up for more</span></div>'\n      +   '<a class=\"jprl1-pc\" hidden><img alt=\"\" width=\"46\" height=\"46\"><div class=\"jprl1-pt\"><b></b><span class=\"jprl1-m notranslate\"></span><s class=\"jprl1-m notranslate\"></s></div><span class=\"jprl1-cta\"></span></a>'\n      +   '<div class=\"jprl1-seek\" aria-hidden=\"true\"><div class=\"jprl1-bar\"><i></i></div></div>'\n      +   '<div class=\"jprl1-toast\"></div>'\n      + '</div>'\n      + '<div class=\"jprl1-side\"><button type=\"button\" class=\"jprl1-b jprl1-up\" aria-label=\"Previous video\">' + I.up + '</button><button type=\"button\" class=\"jprl1-b jprl1-dn\" aria-label=\"Next video\">' + I.dn + '</button></div>';\n    document.body.appendChild(el);\n    feed = el.querySelector('.jprl1-feed');\n    vids = [0, 1, 2].map(function(){\n      var v = document.createElement('video');\n      v.playsInline = true; v.setAttribute('playsinline', ''); v.setAttribute('webkit-playsinline', ''); v.preload = 'none'; v.loop = true;\n      v.addEventListener('playing', function(){ v.classList.add('jprl1-on'); var sl = v.parentNode; if (sl) sl.classList.remove('jprl1-wait'); });\n      /* the next reel shows its real first frame (not a still) as soon as it is decoded, so a swipe never flashes a thumbnail */\n      v.addEventListener('loadeddata', function(){ v.classList.add('jprl1-on'); });\n      v.addEventListener('waiting', function(){ var sl = v.parentNode; if (sl && +sl.dataset.i === cur) sl.classList.add('jprl1-wait'); });\n      /* like Instagram Reels: keep the reel above and below ready; the next one starts downloading as soon as the current can play */\n      v.addEventListener('canplay', function(){ if (v === slotOf(cur)) warmNext(); });\n      return v;\n    });\n    el.querySelector('.jprl1-x').addEventListener('click', V.close);\n    el.querySelector('.jprl1-xd').addEventListener('click', V.close);\n    el.querySelector('.jprl1-mu').addEventListener('click', function(){ setMuted(!muted); });\n    el.querySelector('.jprl1-um').addEventListener('click', function(){ setMuted(false); });\n    el.querySelector('.jprl1-sh').addEventListener('click', share);\n    el.querySelector('.jprl1-up').addEventListener('click', function(){ go(cur - 1); });\n    el.querySelector('.jprl1-dn').addEventListener('click', function(){ go(cur + 1); });\n    el.querySelector('.jprl1-pc').addEventListener('click', cta);\n    el.querySelector('.jprl1-lk').addEventListener('click', function(){ like(!liked[key(cur)]); });\n    /* single tap pauses, double tap likes (single tap waits a moment so a double tap never flickers pause) */\n    var tapT = null, lastTap = 0;\n    feed.addEventListener('click', function(e){\n      if (e.target.closest('button,a')) return;\n      if (feed.dataset.skip) { delete feed.dataset.skip; return; }\n      var now = Date.now();\n      if (now - lastTap < 300) { clearTimeout(tapT); lastTap = 0; burst(e); like(true); return; }\n      lastTap = now;\n      clearTimeout(tapT);\n      tapT = setTimeout(togglePause, e.detail === 0 ? 0 : 260);\n    });\n    /* progress bar: drag or tap to jump */\n    var seek = el.querySelector('.jprl1-seek'), seeking = false;\n    function seekTo(e){ var v = slotOf(cur); if (!v || !v.duration) return; var r = seek.getBoundingClientRect(); v.currentTime = Math.max(0, Math.min(1, (e.clientX - r.left) / r.width)) * v.duration; }\n    seek.addEventListener('pointerdown', function(e){ seeking = true; seek.classList.add('jprl1-on'); try { seek.setPointerCapture(e.pointerId); } catch (er) {} seekTo(e); });\n    seek.addEventListener('pointermove', function(e){ if (seeking) seekTo(e); });\n    function seekEnd(){ seeking = false; seek.classList.remove('jprl1-on'); }\n    seek.addEventListener('pointerup', seekEnd); seek.addEventListener('pointercancel', seekEnd);\n    /* pull down on the first reel to close */\n    var col = el.querySelector('.jprl1-col'), pull = null;\n    feed.addEventListener('touchstart', function(e){ pull = (feed.scrollTop <= 0 && e.touches.length === 1) ? {y: e.touches[0].clientY, x: e.touches[0].clientX, d: 0} : null; }, {passive: true});\n    feed.addEventListener('touchmove', function(e){\n      if (!pull) return;\n      var dy = e.touches[0].clientY - pull.y, dx = Math.abs(e.touches[0].clientX - pull.x);\n      if (dy <= 0 || dx > dy) { if (pull.d) { col.style.transform = ''; } pull = null; return; }\n      if (e.cancelable) e.preventDefault();\n      pull.d = dy;\n      col.style.transition = 'none';\n      col.style.transform = 'translateY(' + dy * 0.55 + 'px) scale(' + Math.max(0.85, 1 - dy / 1600) + ')';\n      col.style.borderRadius = '16px';\n    }, {passive: false});\n    feed.addEventListener('touchend', function(){\n      if (!pull) return;\n      var d = pull.d; pull = null;\n      if (d > 110) { feed.dataset.skip = '1'; V.close(); return; }\n      col.style.transition = 'transform .2s ease'; col.style.transform = ''; col.style.borderRadius = '';\n      setTimeout(function(){ col.style.transition = ''; }, 220);\n    });\n    var holdT = null;\n    feed.addEventListener('pointerdown', function(){ holdT = setTimeout(function(){ var v = slotOf(cur); if (v && !v.paused) { v.pause(); feed.dataset.held = '1'; } }, 260); });\n    function holdEnd(e){ clearTimeout(holdT); if (feed.dataset.held) { delete feed.dataset.held; if (e.type === 'pointerup') feed.dataset.skip = '1'; var v = slotOf(cur); if (v) { var p = v.play(); if (p && p.catch) p.catch(function(){}); } el.classList.remove('jprl1-paused'); } }\n    feed.addEventListener('pointerup', holdEnd); feed.addEventListener('pointercancel', holdEnd);\n    feed.addEventListener('scroll', function(){\n      if (feed.scrollTop > 8) hideHint();\n      clearTimeout(st);\n      st = setTimeout(function(){ var i = Math.round(feed.scrollTop / feed.clientHeight); if (i !== cur) activate(i); }, 80);\n    }, {passive: true});\n    document.addEventListener('keydown', function(e){\n      if (el.hidden) return;\n      if (e.key === 'Escape') V.close();\n      else if (e.key === 'ArrowDown' || e.key === 'PageDown') { e.preventDefault(); go(cur + 1); }\n      else if (e.key === 'ArrowUp' || e.key === 'PageUp') { e.preventDefault(); go(cur - 1); }\n      else if (e.key === ' ') { e.preventDefault(); togglePause(); }\n      else if (e.key === 'm' || e.key === 'M') setMuted(!muted);\n    });\n    window.addEventListener('popstate', function(e){ if (!el.hidden && pushed && !(e.state && e.state.jprl1 === tok)) { pushed = false; V.close(true); } });\n    document.addEventListener('visibilitychange', function(){ if (el.hidden) return; var v = slotOf(cur); if (!v) return; if (document.hidden) v.pause(); else if (!el.classList.contains('jprl1-paused')) { var p = v.play(); if (p && p.catch) p.catch(function(){}); } });\n  }\n\n  function togglePause(){\n    var v = slotOf(cur); if (!v) return;\n    if (v.paused) { var p = v.play(); if (p && p.catch) p.catch(function(){}); el.classList.remove('jprl1-paused'); }\n    else { v.pause(); el.classList.add('jprl1-paused'); }\n  }\n  function key(i){ var r = opts && opts.reels[i]; return r ? (r.h || r.v.split('?')[0].split('/').pop()) : ''; }\n  function likeUi(){ var b = el.querySelector('.jprl1-lk'), on = !!liked[key(cur)]; b.classList.toggle('jprl1-on', on); b.setAttribute('aria-pressed', on ? 'true' : 'false'); b.setAttribute('aria-label', on ? 'Unlike' : 'Like'); }\n  function like(on){\n    var k = key(cur); if (!k) return;\n    if (on) liked[k] = 1; else delete liked[k];\n    try { localStorage.setItem(LIKE, JSON.stringify(Object.keys(liked).slice(-300))); } catch (e) {}\n    likeUi();\n    var b = el.querySelector('.jprl1-lk');\n    if (on) { b.classList.remove('jprl1-pulse'); void b.offsetWidth; b.classList.add('jprl1-pulse'); track('jprl1_like', {list: opts.list, index: cur}); }\n  }\n  function burst(e){\n    if (reduce) return;\n    var s = slides[cur]; if (!s) return;\n    var r = s.getBoundingClientRect(), h = document.createElement('div');\n    h.className = 'jprl1-burst'; h.innerHTML = I.hr;\n    h.style.left = (e.clientX ? e.clientX - r.left : r.width / 2) + 'px';\n    h.style.top = (e.clientY ? e.clientY - r.top : r.height / 2) + 'px';\n    s.appendChild(h);\n    setTimeout(function(){ if (h.parentNode) h.parentNode.removeChild(h); }, 900);\n  }\n  function hint(){\n    var h = el.querySelector('.jprl1-hint');\n    var coarse = window.matchMedia && matchMedia('(pointer: coarse)').matches;\n    var seen = false; try { seen = !!localStorage.getItem('jprl1-hint'); } catch (e) {}\n    if (!coarse || seen || cur >= slides.length - 1) { h.hidden = true; return; }\n    h.hidden = false; h.style.opacity = '1';\n    try { localStorage.setItem('jprl1-hint', '1'); } catch (e) {}\n    clearTimeout(h._t); h._t = setTimeout(hideHint, 3200);\n  }\n  function hideHint(){ var h = el && el.querySelector('.jprl1-hint'); if (!h || h.hidden) return; h.style.opacity = '0'; setTimeout(function(){ h.hidden = true; }, 300); }\n  function slotOf(i){ var s = slides && slides[i]; return s ? s.querySelector('video') : null; }\n  function poster(i){ var s = slides[i]; if (!s || s.dataset.p) return; var img = s.querySelector('img'); var u = opts.reels[i].p; if (u) { img.src = u + (u.indexOf('?') > -1 ? '&' : '?') + 'width=720'; } s.dataset.p = '1'; }\n  function release(v){ v.pause(); v.classList.remove('jprl1-on'); v.removeAttribute('src'); try { v.load(); } catch (e) {} if (v.parentNode) v.parentNode.removeChild(v); }\n  function attach(i, preload){\n    var s = slides[i]; if (!s) return null;\n    var v = s.querySelector('video'); if (v) { if (preload === 'auto') v.preload = 'auto'; return v; }\n    var used = [slotOf(cur - 1), slotOf(cur), slotOf(cur + 1)], url = V.src(opts.reels[i]);\n    var free = vids.filter(function(x){ return used.indexOf(x) < 0 || !x.parentNode; });\n    /* a video warmed on touch is reused, so its bytes are not fetched twice */\n    v = free.filter(function(x){ return !x.parentNode && x.getAttribute('src') === url; })[0] || free.filter(function(x){ return !x.parentNode; })[0] || free[0];\n    if (!v) return null;\n    if (v.parentNode) release(v);\n    v.muted = muted; if (preload === 'auto' || v.preload !== 'auto') v.preload = preload;\n    if (v.getAttribute('src') !== url) v.src = url;\n    s.insertBefore(v, s.querySelector('.jprl1-spin'));\n    return v;\n  }\n  function warmNext(){ if (cur + 1 < slides.length) { attach(cur + 1, 'auto'); prefetchReel(cur + 1); } if (cur > 0) attach(cur - 1, 'auto'); }\n  function activate(i){\n    i = Math.max(0, Math.min(slides.length - 1, i));\n    var old = slotOf(cur); if (old && cur !== i) { old.pause(); try { old.currentTime = 0; } catch (e) {} }\n    cur = i;\n    el.classList.remove('jprl1-paused');\n    [i - 1, i, i + 1, i + 2].forEach(function(k){ if (k >= 0 && k < slides.length) poster(k); });\n    vids.forEach(function(v){ var s = v.parentNode; if (s && Math.abs(+s.dataset.i - i) > 1) release(v); });\n    var v = attach(i, 'auto');\n    if (i > 0) attach(i - 1, v && v.readyState >= 3 ? 'auto' : 'metadata');\n    if (i + 1 < slides.length) attach(i + 1, v && v.readyState >= 3 ? 'auto' : 'metadata');\n    if (v) {\n      if (v.readyState < 3) slides[i].classList.add('jprl1-wait');\n      v.muted = muted;\n      var p = v.play();\n      if (p && p.catch) p.catch(function(err){\n        if (err && err.name === 'NotAllowedError' && !v.muted) { setMuted(true, true); var q = v.play(); if (q && q.catch) q.catch(function(){}); }\n      });\n    }\n    product(i);\n    likeUi();\n    el.querySelector('.jprl1-up').disabled = i === 0;\n    el.querySelector('.jprl1-dn').disabled = i === slides.length - 1;\n    loop();\n    track('jprl1_view', {list: opts.list, index: i});\n  }\n  function go(i){ if (i < 0 || i >= slides.length) return; feed.scrollTo({top: i * feed.clientHeight, behavior: 'smooth'}); setTimeout(function(){ if (cur !== i) activate(i); }, 450); }\n  function setMuted(m, auto){\n    muted = m;\n    vids.forEach(function(v){ v.muted = m; });\n    el.querySelector('.jprl1-mu').innerHTML = m ? I.off : I.on;\n    el.querySelector('.jprl1-mu').setAttribute('aria-label', m ? 'Unmute' : 'Mute');\n    el.querySelector('.jprl1-um').hidden = !(m && auto);\n    if (!m) { var v = slotOf(cur); if (v && v.paused && !el.classList.contains('jprl1-paused')) { var p = v.play(); if (p && p.catch) p.catch(function(){}); } }\n  }\n  function loop(){\n    cancelAnimationFrame(rafId);\n    var bar = el.querySelector('.jprl1-bar i');\n    (function f(){\n      if (el.hidden) return;\n      var v = slotOf(cur);\n      if (v && v.duration) bar.style.transform = 'scaleX(' + Math.min(1, v.currentTime / v.duration) + ')';\n      else bar.style.transform = 'scaleX(0)';\n      rafId = requestAnimationFrame(f);\n    })();\n  }\n  function product(i){\n    var pc = el.querySelector('.jprl1-pc');\n    var x = opts.reels[i].x, p = x && opts.products[String(x)];\n    if (!p) { pc.hidden = true; return; }\n    pc.hidden = false;\n    var img = pc.querySelector('img'); if (p.i) { img.src = p.i; img.style.visibility = ''; } else img.style.visibility = 'hidden';\n    pc.querySelector('b').textContent = p.t;\n    /* prices come from Liquid in the shopper's market currency */\n    var pt = pc.querySelector('.jprl1-pt');\n    var pr = document.createElement('span'); pr.className = 'jprl1-m notranslate'; pr.textContent = p.pr;\n    pt.replaceChild(pr, pt.querySelector('span'));\n    var c = document.createElement('s'); c.className = 'jprl1-m notranslate'; c.textContent = p.c || ''; c.style.display = p.c ? '' : 'none';\n    pt.replaceChild(c, pt.querySelector('s'));\n    var same = opts.pdp && +x === opts.pdp;\n    var ctaEl = pc.querySelector('.jprl1-cta');\n    ctaEl.textContent = p.a === false ? 'Sold out' : same ? (opts.ctaPdp || 'Make yours') : (opts.cta || 'Shop this piece');\n    ctaEl.classList.toggle('jprl1-so', p.a === false);\n    if (same) pc.removeAttribute('href'); else pc.href = p.u;\n    pc.dataset.same = same ? '1' : '';\n  }\n  function cta(e){\n    var pc = el.querySelector('.jprl1-pc');\n    track('jprl1_cta', {list: opts.list, index: cur, product: opts.reels[cur].x});\n    if (!pc.dataset.same) return;\n    e.preventDefault();\n    /* wait for the viewer to finish closing: finish() puts the page back where it was, which would undo an earlier scroll */\n    window.addEventListener('jprl1:close', function(){\n      var t = document.querySelector('#MainContent .form__width') || document.querySelector('#MainContent form[action*=\"/cart/add\"]');\n      if (t) window.scrollTo({top: t.getBoundingClientRect().top + window.pageYOffset - 70, behavior: 'instant'});\n    }, {once: true});\n    V.close();\n  }\n  function toast(t){ var n = el.querySelector('.jprl1-toast'); n.textContent = t; n.classList.add('jprl1-on'); setTimeout(function(){ n.classList.remove('jprl1-on'); }, 1600); }\n  function share(){\n    var r = opts.reels[cur], x = r.x, p = x && opts.products[String(x)];\n    /* the link opens this exact video on this page */\n    var url = location.origin + location.pathname + (r.h ? '?reel=' + encodeURIComponent(r.h) : '');\n    track('jprl1_share', {list: opts.list, index: cur});\n    if (navigator.share) { navigator.share({title: p ? p.t : document.title, url: url}).catch(function(){}); return; }\n    if (navigator.clipboard) navigator.clipboard.writeText(url).then(function(){ toast('Link copied'); }, function(){});\n  }\n  function track(n, d){ try { if (window.Shopify && Shopify.analytics && Shopify.analytics.publish) Shopify.analytics.publish(n, d); } catch (e) {} }\n\n  V.open = function(o){\n    if (!el) build();\n    opts = o;\n    feed.innerHTML = '';\n    var frag = document.createDocumentFragment();\n    o.reels.forEach(function(r, i){\n      var s = document.createElement('div');\n      s.className = 'jprl1-s'; s.dataset.i = i;\n      s.innerHTML = '<img alt=\"\" decoding=\"async\"><div class=\"jprl1-spin\"></div><div class=\"jprl1-play\">' + I.pl + '</div>';\n      frag.appendChild(s);\n    });\n    feed.appendChild(frag);\n    slides = [].slice.call(feed.children);\n    /* switch reels the moment the next one is 60 percent on screen, not after the snap settles */\n    if (io2) io2.disconnect();\n    if ('IntersectionObserver' in window) {\n      io2 = new IntersectionObserver(function(es){ es.forEach(function(e){ if (e.isIntersecting && e.intersectionRatio >= 0.6) { var i = +e.target.dataset.i; if (i !== cur && !closing) activate(i); } }); }, {root: feed, threshold: [0.6]});\n      slides.forEach(function(s){ io2.observe(s); });\n    }\n    vids.forEach(function(v){ if (v.parentNode) release(v); });\n    scrollY0 = window.pageYOffset;\n    document.documentElement.classList.add('jprl1-lock');\n    el.hidden = false;\n    cur = -1;\n    feed.scrollTop = o.start * feed.clientHeight;\n    /* Unlock every pool element for sound inside this tap (iOS) */\n    vids.forEach(function(v){ v.muted = muted; });\n    activate(o.start);\n    vids.forEach(function(v){ if (v !== slotOf(cur)) { var p = v.play(); if (p && p.catch) p.catch(function(){}); v.pause(); } });\n    tok = String(Date.now()) + Math.random().toString(36).slice(2, 6);\n    try { history.pushState({jprl1: tok}, ''); pushed = true; } catch (e) {}\n    el.querySelector('.jprl1-x').focus({preventScroll: true});\n    zoom(true, o.origin && o.origin(o.start));\n    hint();\n    track('jprl1_open', {list: o.list, index: o.start});\n  };\n  /* Instagram style: the viewer grows out of the tapped tile and shrinks back into it */\n  var anims = [];\n  function zoom(opening, r, done){\n    anims.forEach(function(a){ try { a.cancel(); } catch (e) {} }); anims = [];\n    var col = el.querySelector('.jprl1-col');\n    if (!el.animate || reduce) { if (done) done(); return; }\n    /* never wait on an animation that a background tab or a busy phone does not run */\n    if (done) { var cb = done, fired = false; done = function(){ if (fired) return; fired = true; cb(); }; setTimeout(done, 450); }\n    var bg = getComputedStyle(el).backgroundColor, from, to;\n    var cr = col.getBoundingClientRect();\n    if (r && r.width && cr.width) {\n      var t = 'translate(' + (r.left - cr.left) + 'px,' + (r.top - cr.top) + 'px) scale(' + (r.width / cr.width) + ',' + (r.height / cr.height) + ')';\n      var now = col.style.transform || 'none';\n      from = opening ? {transform: t, borderRadius: '14px'} : {transform: now, borderRadius: col.style.borderRadius || '0px'};\n      to = opening ? {transform: 'none', borderRadius: getComputedStyle(col).borderRadius} : {transform: t, borderRadius: '14px'};\n      col.style.transformOrigin = '0 0';\n      anims.push(col.animate([from, to], {duration: opening ? 300 : 260, easing: 'cubic-bezier(.2,.8,.2,1)', fill: 'forwards'}));\n    } else {\n      anims.push(col.animate(opening ? [{opacity: 0, transform: 'scale(.96)'}, {opacity: 1, transform: 'none'}] : [{opacity: 1}, {opacity: 0, transform: 'scale(.96)'}], {duration: 200, easing: 'ease-out', fill: 'forwards'}));\n    }\n    anims.push(el.animate(opening ? [{backgroundColor: 'rgba(0,0,0,0)'}, {backgroundColor: bg}] : [{backgroundColor: bg}, {backgroundColor: 'rgba(0,0,0,0)'}], {duration: opening ? 300 : 260, fill: 'forwards'}));\n    var ui = [].slice.call(el.querySelectorAll('.jprl1-top,.jprl1-rail,.jprl1-pc,.jprl1-seek,.jprl1-side,.jprl1-xd'));\n    ui.forEach(function(n){ anims.push(n.animate(opening ? [{opacity: 0}, {opacity: 0, offset: .5}, {opacity: 1}] : [{opacity: 1}, {opacity: 0, offset: .4}, {opacity: 0}], {duration: opening ? 300 : 260, fill: 'forwards'})); });\n    var mine = anims;\n    function settle(){\n      if (opening && anims === mine) { anims.forEach(function(a){ try { a.cancel(); } catch (e) {} }); anims = []; col.style.transformOrigin = ''; }\n      if (done) done();\n    }\n    anims[0].onfinish = settle;\n    if (opening) setTimeout(settle, 450);\n  }\n  /* start loading a video before the tap completes (finger down on a tile); '' cancels */\n  V.warm = function(u){\n    if (!el) build();\n    if (!el.hidden) return;\n    var v = vids[0];\n    if (v.parentNode) return;\n    if (!u) { if (v.getAttribute('src')) { v.removeAttribute('src'); try { v.load(); } catch (e) {} } return; }\n    if (v.getAttribute('src') === u) return;\n    v.muted = muted; v.preload = 'auto'; v.src = u;\n  };\n  var closing = false;\n  V.close = function(fromPop){\n    if (!el || el.hidden || closing) return;\n    closing = true;\n    hideHint();\n    if (fromPop !== true && pushed) { pushed = false; try { if (history.state && history.state.jprl1 === tok) history.back(); } catch (e) {} }\n    var r = null; try { r = opts.origin && opts.origin(cur); } catch (e) {}\n    zoom(false, r, finish);\n  };\n  function finish(){\n    var col = el.querySelector('.jprl1-col');\n    cancelAnimationFrame(rafId);\n    if (io2) { io2.disconnect(); io2 = null; }\n    vids.forEach(function(v){ if (v.parentNode) release(v); });\n    el.hidden = true;\n    anims.forEach(function(a){ try { a.cancel(); } catch (e) {} }); anims = [];\n    col.style.transform = ''; col.style.transition = ''; col.style.borderRadius = ''; col.style.transformOrigin = '';\n    el.classList.remove('jprl1-paused');\n    document.documentElement.classList.remove('jprl1-lock');\n    window.scrollTo(0, scrollY0);\n    closing = false;\n    try { window.dispatchEvent(new CustomEvent('jprl1:close', {detail: {list: opts.list, i: cur}})); } catch (e) {}\n  }\n  /* build the (hidden) viewer while the page is idle so the first tap is instant */\n  (function(){\n    function idle(){ (window.requestIdleCallback || function(f){ setTimeout(f, 1); })(function(){ if (!el) build(); }); }\n    if (document.readyState === 'complete') setTimeout(idle, 2500);\n    else window.addEventListener('load', function(){ setTimeout(idle, 2500); }, {once: true});\n  })();\n  }\n  function bootAll(){ [].forEach.call(document.querySelectorAll('[data-jprl1]'), boot); }\n  bootAll();\n  document.addEventListener('shopify:section:load', bootAll);\n})();\n"],
  "mappings": "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",
  "names": ["build", "next", "v"]
}
