{
  "version": 3,
  "sources": ["/cdn/shop/t/1/assets/hr-landing.js?nc=1794322249924"],
  "sourcesContent": ["/* Brisolea \u00B7 landing. JS chico, sin librer\u00EDas, cargado con defer. */\n(function () {\n  \"use strict\";\n  if (window.__hrLanding) return;\n  window.__hrLanding = true;\n  var d = document;\n\n  /* ---------- Abrir el formulario de Releasit desde cualquier bot\u00F3n ---------- */\n  function abrirFormulario() {\n    var btn = d.querySelector(\".hr-form #rsi_buy_now_button\") || d.querySelector(\"main #rsi_buy_now_button\");\n    if (btn) { btn.click(); return; }\n    // Fuera de la p\u00E1gina del producto: llevamos al producto.\n    var ir = d.querySelector(\"a[data-hr-ir]\");\n    if (ir) { window.location.href = ir.href; return; }\n    // Si Releasit no carg\u00F3, usamos el bot\u00F3n normal del tema o bajamos al formulario.\n    var atc = d.querySelector(\".hr-form .hr-atc\");\n    var hero = d.getElementById(\"hr-comprar\");\n    if (hero) hero.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n    if (atc && atc.offsetParent) atc.focus();\n  }\n  d.addEventListener(\"click\", function (e) {\n    var t = e.target.closest(\"[data-hr-comprar]\");\n    if (!t) return;\n    e.preventDefault();\n    if (window.fbq) try { window.fbq(\"track\", \"InitiateCheckout\"); } catch (_) {}\n    abrirFormulario();\n  });\n\n  /* ---------- Galer\u00EDa del hero ---------- */\n  d.querySelectorAll(\"[data-hr-gal]\").forEach(function (gal) {\n    var pista = gal.querySelector(\".hr-gal__pista\");\n    var slides = pista ? pista.children : [];\n    var minis = gal.querySelectorAll(\".hr-gal__mini\");\n    var cont = gal.querySelector(\"[data-hr-contador]\");\n    if (!pista || !slides.length) return;\n    function marcar(i) {\n      minis.forEach(function (m, j) { m.setAttribute(\"aria-current\", j === i ? \"true\" : \"false\"); });\n      if (cont) cont.textContent = (i + 1) + \" / \" + slides.length;\n      // Pausa los videos que salieron de pantalla\n      Array.prototype.forEach.call(slides, function (s, j) {\n        var v = s.querySelector(\"video\");\n        if (!v) return;\n        if (j === i) { v.play && v.play().catch(function () {}); } else { v.pause && v.pause(); }\n      });\n    }\n    var tic;\n    pista.addEventListener(\"scroll\", function () {\n      clearTimeout(tic);\n      tic = setTimeout(function () { marcar(Math.round(pista.scrollLeft / pista.clientWidth)); }, 60);\n    }, { passive: true });\n    minis.forEach(function (m, j) {\n      m.addEventListener(\"click\", function () {\n        pista.scrollTo({ left: j * pista.clientWidth, behavior: \"smooth\" });\n      });\n    });\n    marcar(0);\n  });\n\n  /* ---------- Fecha estimada de entrega (d\u00EDas h\u00E1biles, festivos de Colombia) ---------- */\n  var FESTIVOS = [\"2026-11-16\", \"2026-12-08\", \"2026-12-25\", \"2027-01-01\", \"2027-01-11\", \"2027-03-22\", \"2027-03-25\",\n    \"2027-03-26\", \"2027-05-01\", \"2027-05-10\", \"2027-05-31\", \"2027-06-07\", \"2027-07-05\", \"2027-07-20\", \"2027-08-07\",\n    \"2027-08-16\", \"2027-10-18\", \"2027-11-01\", \"2027-11-15\", \"2027-12-08\", \"2027-12-25\"];\n  function iso(f) {\n    return f.getFullYear() + \"-\" + (\"0\" + (f.getMonth() + 1)).slice(-2) + \"-\" + (\"0\" + f.getDate()).slice(-2);\n  }\n  function sumarHabiles(desde, n) {\n    var f = new Date(desde.getTime());\n    while (n > 0) {\n      f.setDate(f.getDate() + 1);\n      if (f.getDay() !== 0 && FESTIVOS.indexOf(iso(f)) === -1) n--;\n    }\n    return f;\n  }\n  var fmt;\n  try { fmt = new Intl.DateTimeFormat(\"es-CO\", { weekday: \"short\", day: \"numeric\", month: \"short\", timeZone: \"America/Bogota\" }); } catch (_) {}\n  d.querySelectorAll(\"[data-hr-entrega]\").forEach(function (el) {\n    if (!fmt) return;\n    var min = parseInt(el.getAttribute(\"data-min\"), 10) || 2;\n    var max = parseInt(el.getAttribute(\"data-max\"), 10) || 6;\n    var hoy = new Date();\n    var a = fmt.format(sumarHabiles(hoy, min)).replace(/\\./g, \"\");\n    var b = fmt.format(sumarHabiles(hoy, max)).replace(/\\./g, \"\");\n    el.innerHTML = \"P\u00EDdelo hoy y te llega entre el <strong>\" + a + \"</strong> y el <strong>\" + b + \"</strong>\";\n  });\n\n  /* ---------- Animaciones al entrar en pantalla + videos que se reproducen solos ---------- */\n  var aparecen = d.querySelectorAll(\".hr-aparece, .hr-historia\");\n  var videos = d.querySelectorAll(\".hr-fun__media video, .hr-vid video\");\n  if (\"IntersectionObserver\" in window) {\n    var io = new IntersectionObserver(function (entradas) {\n      entradas.forEach(function (en) {\n        if (en.isIntersecting) { en.target.classList.add(\"is-visible\"); io.unobserve(en.target); }\n      });\n    }, { rootMargin: \"0px 0px -8% 0px\", threshold: 0.08 });\n    aparecen.forEach(function (el) { io.observe(el); });\n\n    var iov = new IntersectionObserver(function (entradas) {\n      entradas.forEach(function (en) {\n        var v = en.target;\n        if (en.isIntersecting) {\n          if (v.preload === \"none\") v.preload = \"metadata\";\n          var p = v.play(); if (p && p.catch) p.catch(function () {});\n        } else { v.pause(); }\n      });\n    }, { threshold: 0.55 });\n    videos.forEach(function (v) { iov.observe(v); });\n  } else {\n    aparecen.forEach(function (el) { el.classList.add(\"is-visible\"); });\n  }\n\n  /* Bot\u00F3n de sonido en los videos */\n  d.addEventListener(\"click\", function (e) {\n    var b = e.target.closest(\"[data-hr-sonido]\");\n    if (!b) return;\n    var v = b.parentElement.querySelector(\"video\");\n    if (!v) return;\n    // Silencia los dem\u00E1s\n    d.querySelectorAll(\".hr-fun__media video, .hr-vid video\").forEach(function (o) { if (o !== v) { o.muted = true; o.parentElement.classList.remove(\"con-sonido\"); } });\n    v.muted = !v.muted;\n    b.parentElement.classList.toggle(\"con-sonido\", !v.muted);\n    b.setAttribute(\"aria-label\", v.muted ? \"Activar sonido\" : \"Silenciar\");\n    if (!v.muted) v.play();\n  });\n\n  /* ---------- Rese\u00F1as: \"ver m\u00E1s\" y visor de fotos ---------- */\n  d.addEventListener(\"click\", function (e) {\n    var mas = e.target.closest(\"[data-hr-mas-res]\");\n    if (mas) {\n      var lista = d.getElementById(mas.getAttribute(\"aria-controls\"));\n      if (lista) lista.querySelectorAll(\".hr-res[hidden]\").forEach(function (r) { r.hidden = false; });\n      mas.remove();\n      return;\n    }\n    var foto = e.target.closest(\"[data-hr-foto]\");\n    if (foto) {\n      var visor = d.getElementById(\"hr-visor\");\n      if (!visor || !visor.showModal) return;\n      visor.querySelector(\"img\").src = foto.getAttribute(\"data-hr-foto\");\n      visor.querySelector(\"img\").alt = foto.querySelector(\"img\") ? foto.querySelector(\"img\").alt : \"\";\n      visor.showModal();\n      return;\n    }\n    if (e.target.closest(\"[data-hr-cerrar]\") || e.target.id === \"hr-visor\") {\n      var v2 = d.getElementById(\"hr-visor\"); if (v2) v2.close();\n    }\n  });\n\n  /* ---------- Barra fija en el celular ---------- */\n  var barra = d.getElementById(\"hr-barra\");\n  var ancla = d.getElementById(\"hr-comprar\");\n  var cierre = d.getElementById(\"hr-cierre\");\n  if (barra && ancla && \"IntersectionObserver\" in window) {\n    var visibles = { ancla: true, cierre: false };\n    var iob = new IntersectionObserver(function (entradas) {\n      entradas.forEach(function (en) { visibles[en.target === ancla ? \"ancla\" : \"cierre\"] = en.isIntersecting; });\n      var pasoHero = !visibles.ancla && ancla.getBoundingClientRect().top < 0;\n      barra.classList.toggle(\"is-on\", pasoHero && !visibles.cierre);\n    });\n    iob.observe(ancla);\n    if (cierre) iob.observe(cierre);\n  }\n\n  /* ---------- v2: encabezado (sombra al bajar + barra de progreso de lectura) ---------- */\n  var top = d.getElementById(\"hr-top\");\n  if (top) {\n    var pend = false;\n    // Horizon hace scroll dentro de .page-wrapper (no en window): medimos el que realmente se mueve.\n    var wrap = d.querySelector(\".page-wrapper\");\n    var alBajar = function () {\n      pend = false;\n      var usaWrap = wrap && wrap.scrollHeight > wrap.clientHeight + 2 && getComputedStyle(wrap).overflowY !== \"visible\";\n      var y = usaWrap ? wrap.scrollTop : (window.scrollY || 0);\n      var max = usaWrap ? wrap.scrollHeight - wrap.clientHeight : d.documentElement.scrollHeight - window.innerHeight;\n      top.classList.toggle(\"is-scrolled\", y > 40);\n      top.style.setProperty(\"--hr-progreso\", max > 0 ? Math.min(1, y / max).toFixed(4) : 0);\n    };\n    // \"scroll\" no burbujea: lo escuchamos en captura para enterarnos del scroll de cualquier contenedor.\n    d.addEventListener(\"scroll\", function () {\n      if (!pend) { pend = true; requestAnimationFrame(alBajar); }\n    }, { passive: true, capture: true });\n    alBajar();\n  }\n\n  var sinMovimiento = window.matchMedia && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n\n  /* ---------- v2: cifras que cuentan hacia arriba ---------- */\n  var numeros = d.querySelectorAll(\"[data-hr-contar]\");\n  function contar(el) {\n    var fin = parseFloat(el.getAttribute(\"data-hr-contar\")) || 0;\n    if (fin === 0) { el.textContent = fin; return; }\n    var t0 = null, dur = 1300;\n    function paso(t) {\n      if (!t0) t0 = t;\n      var k = Math.min(1, (t - t0) / dur);\n      var e = 1 - Math.pow(1 - k, 3);\n      el.textContent = Math.round(fin * e);\n      if (k < 1) requestAnimationFrame(paso);\n    }\n    el.textContent = \"0\";\n    requestAnimationFrame(paso);\n  }\n  if (numeros.length && \"IntersectionObserver\" in window) {\n    var ioc = new IntersectionObserver(function (en) {\n      en.forEach(function (x) { if (x.isIntersecting) { contar(x.target); ioc.unobserve(x.target); } });\n    }, { threshold: 0.6 });\n    numeros.forEach(function (n) { ioc.observe(n); });\n  }\n\n  /* ---------- v2: explorador de funciones con avance autom\u00E1tico ---------- */\n  d.querySelectorAll(\"[data-hr-exp]\").forEach(function (exp) {\n    var items = exp.querySelectorAll(\".hr-exp__item\");\n    var imgs = exp.querySelectorAll(\".hr-exp__img\");\n    var num = exp.querySelector(\"[data-hr-exp-n]\");\n    var seg = parseInt(exp.getAttribute(\"data-intervalo\"), 10) || 6;\n    exp.style.setProperty(\"--hr-int\", seg + \"s\");\n    var actual = 0;\n    function ir(i, manual) {\n      actual = (i + items.length) % items.length;\n      items.forEach(function (it, j) {\n        var on = j === actual;\n        it.classList.toggle(\"is-on\", on);\n        it.setAttribute(\"aria-selected\", on ? \"true\" : \"false\");\n        var b = it.querySelector(\".hr-exp__barra b\");\n        if (b && on) { b.style.animation = \"none\"; void b.offsetWidth; b.style.animation = \"\"; }\n      });\n      imgs.forEach(function (im, j) {\n        im.classList.toggle(\"is-on\", j === actual);\n        var v = im.querySelector(\"video\");\n        if (v) { if (j === actual) { v.play && v.play().catch(function () {}); } else { v.pause(); } }\n      });\n      if (num) num.textContent = (\"0\" + (actual + 1)).slice(-2);\n      if (manual) exp.classList.remove(\"is-auto\");\n    }\n    items.forEach(function (it, j) {\n      it.addEventListener(\"click\", function () { ir(j, true); });\n      it.addEventListener(\"keydown\", function (e) {\n        if (e.key === \"Enter\" || e.key === \" \") { e.preventDefault(); ir(j, true); }\n        if (e.key === \"ArrowDown\" || e.key === \"ArrowRight\") { e.preventDefault(); ir(j + 1, true); items[actual].focus(); }\n        if (e.key === \"ArrowUp\" || e.key === \"ArrowLeft\") { e.preventDefault(); ir(j - 1, true); items[actual].focus(); }\n      });\n      var barra = it.querySelector(\".hr-exp__barra b\");\n      if (barra) barra.addEventListener(\"animationend\", function () {\n        if (exp.classList.contains(\"is-auto\") && it.classList.contains(\"is-on\")) ir(actual + 1, false);\n      });\n    });\n    exp.addEventListener(\"mouseenter\", function () { exp.classList.add(\"is-pausa\"); });\n    exp.addEventListener(\"mouseleave\", function () { exp.classList.remove(\"is-pausa\"); });\n    if (items.length > 1 && \"IntersectionObserver\" in window) {\n      var ioe = new IntersectionObserver(function (en) {\n        en.forEach(function (x) {\n          if (x.isIntersecting) { exp.classList.add(\"is-auto\"); exp.classList.remove(\"is-pausa-vista\"); }\n          else if (exp.classList.contains(\"is-auto\")) { exp.classList.add(\"is-pausa\"); }\n          if (x.isIntersecting) exp.classList.remove(\"is-pausa\");\n        });\n      }, { threshold: 0.35 });\n      ioe.observe(exp);\n    }\n  });\n\n  /* ---------- v3: TikTok en bucle, sin sonido y sin controles (como un GIF) ----------\n     Usa el reproductor oficial de TikTok. Cada video se carga reci\u00E9n cuando aparece en\n     pantalla y se pausa cuando sale, as\u00ED no consume datos ni bater\u00EDa de m\u00E1s. */\n  var w = window;\n  var ttFigs = d.querySelectorAll(\"[data-hr-tt]\");\n  if (ttFigs.length) {\n    var ttOrigen = \"https://www.tiktok.com\";\n    var ttParams = \"autoplay=1&loop=1&controls=0&progress_bar=0&play_button=0&volume_control=0\" +\n      \"&fullscreen_button=0&timestamp=0&music_info=0&description=0&rel=0&native_context_menu=0&closed_caption=0\";\n    var con = navigator.connection || {};\n    var lento = con.saveData || /(^|-)2g$/.test(con.effectiveType || \"\");\n    var ttMandar = function (fig, tipo, valor) {\n      var f = fig.querySelector(\"iframe\");\n      if (!f || !f.contentWindow) return;\n      var m = { \"x-tiktok-player\": true, type: tipo };\n      if (valor !== undefined) m.value = valor;\n      f.contentWindow.postMessage(m, ttOrigen);\n    };\n    var ttCargar = function (fig, conSonido) {\n      if (fig.querySelector(\"iframe\")) return;\n      var id = fig.getAttribute(\"data-hr-tt\");\n      if (!/^\\d+$/.test(id || \"\")) return;\n      var b = fig.querySelector(\".hr-tt__abrir\");\n      var f = d.createElement(\"iframe\");\n      f.src = ttOrigen + \"/player/v1/\" + id + \"?\" + ttParams;\n      f.title = (b && b.getAttribute(\"aria-label\")) || \"Video de TikTok\";\n      f.allow = \"autoplay; encrypted-media; picture-in-picture\";\n      f.loading = \"lazy\";\n      fig.classList.add(\"is-cargando\");\n      fig.hrSonido = !!conSonido;\n      fig.appendChild(f);\n      if (b) b.hidden = true;\n      var s = fig.querySelector(\"[data-hr-tt-sonido]\");\n      if (s) s.hidden = false;\n    };\n    w.addEventListener(\"message\", function (e) {\n      if (e.origin !== ttOrigen || !e.data || !e.data[\"x-tiktok-player\"]) return;\n      ttFigs.forEach(function (fig) {\n        var f = fig.querySelector(\"iframe\");\n        if (!f || f.contentWindow !== e.source) return;\n        if (e.data.type === \"onPlayerReady\") {\n          fig.classList.remove(\"is-cargando\");\n          fig.classList.add(\"is-listo\");\n          ttMandar(fig, fig.hrSonido ? \"unMute\" : \"mute\");\n          fig.classList.toggle(\"con-sonido\", !!fig.hrSonido);\n          if (fig.hrVisible !== false) ttMandar(fig, \"play\");\n        }\n      });\n    });\n    if (!lento && \"IntersectionObserver\" in w) {\n      var ttObs = new IntersectionObserver(function (entradas) {\n        entradas.forEach(function (en) {\n          var fig = en.target;\n          fig.hrVisible = en.isIntersecting;\n          if (en.isIntersecting) {\n            if (!fig.querySelector(\"iframe\")) ttCargar(fig, false);\n            else ttMandar(fig, \"play\");\n          } else if (fig.querySelector(\"iframe\")) {\n            ttMandar(fig, \"pause\");\n          }\n        });\n      }, { rootMargin: \"150px 0px\", threshold: 0.25 });\n      ttFigs.forEach(function (fig) { ttObs.observe(fig); });\n    }\n    d.addEventListener(\"click\", function (e) {\n      var abrir = e.target.closest(\".hr-tt__abrir\");\n      if (abrir) {\n        var fig = abrir.closest(\"[data-hr-tt]\");\n        d.querySelectorAll(\".hr-vid video\").forEach(function (v) { v.pause(); });\n        if (fig) ttCargar(fig, true);\n        return;\n      }\n      // Tocar el bot\u00F3n o el video mismo prende o apaga el sonido\n      var figS = e.target.closest(\".hr-tt.is-listo\");\n      if (!figS) return;\n      var son = figS.querySelector(\"[data-hr-tt-sonido]\");\n      var activar = !figS.classList.contains(\"con-sonido\");\n      // Un solo video con sonido a la vez\n      ttFigs.forEach(function (o) {\n        if (o !== figS && o.classList.contains(\"con-sonido\")) {\n          o.classList.remove(\"con-sonido\"); ttMandar(o, \"mute\");\n          var bo = o.querySelector(\"[data-hr-tt-sonido]\"); if (bo) bo.setAttribute(\"aria-label\", \"Activar sonido\");\n        }\n      });\n      d.querySelectorAll(\".hr-vid video\").forEach(function (v) { v.muted = true; v.parentElement.classList.remove(\"con-sonido\"); });\n      figS.classList.toggle(\"con-sonido\", activar);\n      ttMandar(figS, activar ? \"unMute\" : \"mute\");\n      ttMandar(figS, \"play\");\n      if (son) son.setAttribute(\"aria-label\", activar ? \"Silenciar\" : \"Activar sonido\");\n    });\n  }\n\n  /* ---------- v3: barra de avance de los clips ---------- */\n  d.querySelectorAll(\".hr-clip video\").forEach(function (v) {\n    var fig = v.closest(\".hr-clip\");\n    v.addEventListener(\"timeupdate\", function () {\n      if (v.duration) fig.style.setProperty(\"--hr-p\", (v.currentTime / v.duration).toFixed(3));\n    });\n  });\n\n  /* ---------- v4: sugerencias de ciudad en el formulario de pedido (Releasit) ----------\n     Dropi rechaza pedidos si la ciudad no coincide con el departamento. Mostramos la lista\n     oficial de municipios (DANE) del departamento elegido, corregimos tildes y may\u00FAsculas,\n     y avisamos si la ciudad no existe en ese departamento. */\n  var ciuBase = (d.currentScript && d.currentScript.src) || \"\";\n  var ciuUrl = ciuBase ? ciuBase.replace(/hr-landing\\.js(\\?.*)?$/, \"hr-ciudades.json\") : \"\";\n  var ciuDatos = null, ciuPidiendo = null;\n  var ciuNorm = function (s) {\n    return (s || \"\").normalize(\"NFD\").replace(/[\u0300-\u036F]/g, \"\").toLowerCase().replace(/[^a-z0-9]+/g, \" \").trim();\n  };\n  var ciuCargar = function () {\n    if (ciuDatos) return Promise.resolve(ciuDatos);\n    if (!ciuPidiendo) ciuPidiendo = fetch(ciuUrl).then(function (r) { return r.json(); }).then(function (j) { ciuDatos = j; return j; }).catch(function () { return null; });\n    return ciuPidiendo;\n  };\n  var ciuDepto = function (input) {\n    var f = input.closest(\"form\") || d;\n    var s = f.querySelector('select[name=\"province_country_field\"]') || d.querySelector('select[name=\"province_country_field\"]');\n    return s ? s.value : \"\";\n  };\n  var ciuPoner = function (input, val) {\n    var set = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, \"value\").set;\n    set.call(input, val);\n    input.dispatchEvent(new Event(\"input\", { bubbles: true }));\n  };\n  var ciuLlenar = function (input) {\n    if (!ciuDatos) return;\n    var dl = d.getElementById(\"hr-ciudades\");\n    if (!dl) { dl = d.createElement(\"datalist\"); dl.id = \"hr-ciudades\"; d.body.appendChild(dl); }\n    var dep = ciuDepto(input);\n    if (dl.getAttribute(\"data-dep\") !== dep) {\n      dl.textContent = \"\";\n      (ciuDatos[dep] || []).forEach(function (n) { var o = d.createElement(\"option\"); o.value = n; dl.appendChild(o); });\n      dl.setAttribute(\"data-dep\", dep);\n    }\n    input.setAttribute(\"list\", \"hr-ciudades\");\n    input.setAttribute(\"autocomplete\", \"off\");\n  };\n  var ciuRevisar = function (input) {\n    if (!ciuDatos) return;\n    var lista = ciuDatos[ciuDepto(input)];\n    var caja = input.parentElement && input.parentElement.parentElement;\n    if (!caja) return;\n    var aviso = caja.querySelector(\".hr-ciu-aviso\");\n    var v = ciuNorm(input.value), igual = null;\n    if (v && lista) lista.forEach(function (n) { if (!igual && ciuNorm(n) === v) igual = n; });\n    if (igual && input.value !== igual) ciuPoner(input, igual);\n    if (!v || !lista || igual) { if (aviso) aviso.remove(); return; }\n    if (!aviso) { aviso = d.createElement(\"p\"); aviso.className = \"hr-ciu-aviso\"; aviso.setAttribute(\"role\", \"status\"); caja.appendChild(aviso); }\n    aviso.textContent = \"No encontramos esa ciudad en el departamento elegido. El\u00EDgela de la lista para que tu pedido no se demore.\";\n  };\n  if (ciuUrl) {\n    d.addEventListener(\"focusin\", function (e) {\n      var t = e.target;\n      if (!(t instanceof HTMLInputElement) || t.name !== \"city\") return;\n      ciuCargar().then(function () { ciuLlenar(t); });\n    });\n    d.addEventListener(\"focusout\", function (e) {\n      var t = e.target;\n      if (t instanceof HTMLInputElement && t.name === \"city\") ciuCargar().then(function () { ciuRevisar(t); });\n    });\n    d.addEventListener(\"change\", function (e) {\n      var t = e.target;\n      if (!t || t.name !== \"province_country_field\") return;\n      var c = (t.closest(\"form\") || d).querySelector('input[name=\"city\"]');\n      if (c) ciuCargar().then(function () { ciuLlenar(c); if (c.value) ciuRevisar(c); });\n    });\n  }\n})();\n"],
  "mappings": "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",
  "names": ["barra"]
}
