{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/mt-scripts.js?cb=1794393013349"],
  "sourcesContent": ["/* ==========================================================================\n   TIENDA DRAGON - scripts propios (vanilla, sin librerias)\n   ========================================================================== */\n(function () {\n  'use strict';\n\n  var reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n  /* --- utilidades --------------------------------------------------------- */\n  // formato de dinero del pais del visitante, copiado de una muestra que pinta Shopify (1234,56)\n  var FORMATO = (function () {\n    var el = document.querySelector('[data-muestra-dinero]');\n    var m = el ? (el.getAttribute('data-muestra-dinero') || '').match(/^(.*?)(\\d[\\d.,\\s\u00A0']*\\d)(.*)$/) : null;\n    if (!m) return null;\n    var num = m[2], dec = 0, sepDec = '.', sepMil = '';\n    var d = num.match(/([.,])(\\d{2})$/);\n    if (d && num.replace(/\\D/g, '') === '123456') { dec = 2; sepDec = d[1]; num = num.slice(0, -3); }\n    var mil = num.match(/^1(\\D+)2/); if (mil) sepMil = mil[1];\n    return { pre: m[1], post: m[3], dec: dec, sepDec: sepDec, sepMil: sepMil };\n  })();\n  function dinero(centavos, simbolo) {\n    if (!FORMATO) return (simbolo || '$') + (centavos / 100).toFixed(2);\n    var v = (centavos / 100).toFixed(FORMATO.dec).split('.');\n    var ent = v[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, FORMATO.sepMil);\n    return FORMATO.pre + ent + (FORMATO.dec ? FORMATO.sepDec + v[1] : '') + FORMATO.post;\n  }\n  // tasa de cambio del pais del visitante (los descuentos fijos en dolares se convierten igual que en la caja)\n  function tasa() { var r = window.Shopify && Shopify.currency ? parseFloat(Shopify.currency.rate) : 1; return r > 0 ? r : 1; }\n  function dosCifras(n) { return n < 10 ? '0' + n : '' + n; }\n\n  /* --- 1. Aparicion al hacer scroll -------------------------------------- */\n  function initReveals() {\n    var els = document.querySelectorAll('.mt-reveal:not(.mt-visible)');\n    if (!els.length) return;\n\n    if (reduceMotion || !('IntersectionObserver' in window)) {\n      for (var i = 0; i < els.length; i++) els[i].classList.add('mt-visible');\n      return;\n    }\n\n    var obs = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (entry.isIntersecting) {\n          entry.target.classList.add('mt-visible');\n          obs.unobserve(entry.target);\n        }\n      });\n    }, { threshold: 0.12, rootMargin: '0px 0px -8% 0px' });\n\n    els.forEach(function (el) { obs.observe(el); });\n  }\n\n  /* --- 2. Comparador encendida / apagada -------------------------------- */\n  function initComparadores() {\n    var cajas = document.querySelectorAll('[data-mt-comparador]');\n    if (!cajas.length) return;\n\n    cajas.forEach(function (caja) {\n      if (caja.dataset.mtListo) return;\n      caja.dataset.mtListo = '1';\n\n      var frente = caja.querySelector('.mt-comp__frente');\n      var asa = caja.querySelector('.mt-comp__asa');\n      if (!frente || !asa) return;\n\n      var arrastrando = false;\n\n      function aplicar(p) {\n        p = Math.max(0, Math.min(100, p));\n        frente.style.clipPath = 'inset(0 0 0 ' + p + '%)';\n        asa.style.left = p + '%';\n        asa.setAttribute('aria-valuenow', Math.round(p));\n      }\n      function mover(clientX) {\n        var r = caja.getBoundingClientRect();\n        aplicar(((clientX - r.left) / r.width) * 100);\n      }\n      function iniciar(e) {\n        arrastrando = true;\n        caja.style.cursor = 'ew-resize';\n        mover(e.touches ? e.touches[0].clientX : e.clientX);\n      }\n      function seguir(e) {\n        if (!arrastrando) return;\n        if (e.touches) { mover(e.touches[0].clientX); }\n        else { e.preventDefault(); mover(e.clientX); }\n      }\n      function soltar() { arrastrando = false; caja.style.cursor = ''; }\n\n      caja.addEventListener('mousedown', iniciar);\n      caja.addEventListener('touchstart', iniciar, { passive: true });\n      window.addEventListener('mousemove', seguir);\n      window.addEventListener('touchmove', seguir, { passive: true });\n      window.addEventListener('mouseup', soltar);\n      window.addEventListener('touchend', soltar);\n\n      asa.addEventListener('keydown', function (e) {\n        var actual = parseFloat(asa.style.left) || 50;\n        if (e.key === 'ArrowLeft') { e.preventDefault(); aplicar(actual - 4); }\n        if (e.key === 'ArrowRight') { e.preventDefault(); aplicar(actual + 4); }\n      });\n    });\n  }\n\n  /* --- 3. Acordeones ----------------------------------------------------- */\n  function initAcordeones() {\n    var items = document.querySelectorAll('.mt-acordeon');\n    if (!items.length) return;\n\n    items.forEach(function (item) {\n      if (item.dataset.mtListo) return;\n      item.dataset.mtListo = '1';\n\n      var btn = item.querySelector('.mt-acordeon__btn');\n      var panel = item.querySelector('.mt-acordeon__panel');\n      if (!btn || !panel) return;\n\n      if (item.classList.contains('is-abierto')) {\n        panel.style.height = 'auto';\n        btn.setAttribute('aria-expanded', 'true');\n      } else {\n        panel.style.height = '0px';\n        btn.setAttribute('aria-expanded', 'false');\n      }\n\n      btn.addEventListener('click', function () {\n        var abierto = item.classList.contains('is-abierto');\n        var alto = panel.scrollHeight;\n\n        if (abierto) {\n          panel.style.height = alto + 'px';\n          requestAnimationFrame(function () { panel.style.height = '0px'; });\n          item.classList.remove('is-abierto');\n          btn.setAttribute('aria-expanded', 'false');\n        } else {\n          panel.style.height = alto + 'px';\n          item.classList.add('is-abierto');\n          btn.setAttribute('aria-expanded', 'true');\n          // red de seguridad: si la animacion no termina, el contenido se ve igual\n          setTimeout(function () {\n            if (item.classList.contains('is-abierto')) panel.style.height = 'auto';\n          }, 500);\n        }\n      });\n    });\n  }\n\n  /* --- 4. Cuenta atras compartida por toda la tienda --------------------- */\n  // Un solo reloj por visitante: arranca la primera vez que entra y NO se reinicia.\n  // Fase 1: los minutos del ajuste (20). Fase 2: 5 min de \"ultima oportunidad\".\n  // Fase 3: oferta caducada para siempre en ese navegador (00:00).\n  var CLAVE_RELOJ = 'mt_oferta_fin';\n  var MINUTOS_ULTIMA = 5;\n\n  function leerNum(k) {\n    try { var v = parseInt(window.localStorage.getItem(k) || '0', 10); return isNaN(v) ? 0 : v; }\n    catch (e) { return 0; }\n  }\n\n  function initRelojes() {\n    var relojes = document.querySelectorAll('[data-mt-reloj]');\n    if (!relojes.length) return;\n    var textos = document.querySelectorAll('[data-mt-reloj-texto]');\n\n    var minutos = parseInt(relojes[0].getAttribute('data-minutos') || '20', 10);\n    var fin = leerNum(CLAVE_RELOJ);\n    if (!fin) {\n      fin = Date.now() + minutos * 60 * 1000;\n      try { window.localStorage.setItem(CLAVE_RELOJ, String(fin)); } catch (e) {}\n    }\n    var finUltima = fin + MINUTOS_ULTIMA * 60 * 1000;\n    var intervalo = null;\n\n    function pintar() {\n      var ahora = Date.now();\n      if (ahora >= finUltima) {\n        // se acabo la ultima oportunidad: empieza otra ronda completa (nunca 00:00)\n        fin = ahora + minutos * 60 * 1000;\n        finUltima = fin + MINUTOS_ULTIMA * 60 * 1000;\n        try { window.localStorage.setItem(CLAVE_RELOJ, String(fin)); } catch (e) {}\n      }\n      var fase = ahora < fin ? 'normal' : 'ultima';\n      var hasta = fase === 'normal' ? fin : finUltima;\n      var resto = fase === 'caducada' ? 0 : Math.max(0, hasta - ahora);\n      var t = Math.floor(resto / 1000);\n      var h = Math.floor(t / 3600);\n      var m = Math.floor((t % 3600) / 60);\n      var s = t % 60;\n      var txt = (h > 0 ? dosCifras(h) + ':' : '') + dosCifras(m) + ':' + dosCifras(s);\n      relojes.forEach(function (r) { r.textContent = txt; });\n      textos.forEach(function (el) {\n        if (!el.hasAttribute('data-normal')) el.setAttribute('data-normal', el.textContent.trim());\n        var nuevo = el.getAttribute('data-normal');\n        if (fase === 'ultima') nuevo = el.getAttribute('data-ultima') || nuevo;\n        if (fase === 'caducada') nuevo = el.getAttribute('data-caducada') || nuevo;\n        if (el.textContent !== nuevo) el.textContent = nuevo;\n      });\n      document.documentElement.setAttribute('data-mt-oferta', fase);\n      if (fase === 'caducada' && intervalo) { clearInterval(intervalo); intervalo = null; }\n    }\n    pintar();\n    if (document.documentElement.getAttribute('data-mt-oferta') !== 'caducada') {\n      intervalo = setInterval(pintar, 1000);\n    }\n  }\n\n  /* --- 5. \"X personas viendo esto\" + barra de unidades ------------------- */\n  function initEscasez() {\n    document.querySelectorAll('[data-mt-viendo]').forEach(function (el) {\n      if (el.dataset.mtListo) return;\n      el.dataset.mtListo = '1';\n      var min = parseInt(el.getAttribute('data-min') || '9', 10);\n      var max = parseInt(el.getAttribute('data-max') || '28', 10);\n      var n = Math.floor(Math.random() * (max - min + 1)) + min;\n      el.textContent = n;\n      setInterval(function () {\n        n += Math.random() < 0.5 ? -1 : 1;\n        if (n < min) n = min + 1;\n        if (n > max) n = max - 1;\n        el.textContent = n;\n      }, 9000);\n    });\n\n    document.querySelectorAll('[data-mt-barra-stock]').forEach(function (el) {\n      if (el.dataset.mtListo) return;\n      el.dataset.mtListo = '1';\n      var pct = parseInt(el.getAttribute('data-pct') || '18', 10);\n      requestAnimationFrame(function () {\n        setTimeout(function () { el.style.width = pct + '%'; }, 300);\n      });\n    });\n  }\n\n  /* --- 6. Avisos de compras recientes (prueba social) -------------------- */\n  function initPruebaSocial() {\n    var caja = document.querySelector('[data-mt-social]');\n    if (!caja || caja.dataset.mtListo) return;\n    caja.dataset.mtListo = '1';\n\n    var avisos = JSON.parse(caja.getAttribute('data-avisos') || '[]');\n    if (!avisos.length) return;\n    for (var j = avisos.length - 1; j > 0; j--) {\n      var k = Math.floor(Math.random() * (j + 1));\n      var tmp = avisos[j]; avisos[j] = avisos[k]; avisos[k] = tmp;\n    }\n\n    var primero = parseInt(caja.getAttribute('data-primero') || '8', 10) * 1000;\n    var visible = parseInt(caja.getAttribute('data-visible') || '6', 10) * 1000;\n    var pausa = parseInt(caja.getAttribute('data-pausa') || '14', 10) * 1000;\n\n    var elNombre = caja.querySelector('[data-mt-social-nombre]');\n    var elProd = caja.querySelector('[data-mt-social-producto]');\n    var elHace = caja.querySelector('[data-mt-social-hace]');\n    var cerrar = caja.querySelector('[data-mt-social-cerrar]');\n    var elFoto = caja.querySelector('[data-mt-social-foto]');\n    var fotoFuego = caja.getAttribute('data-foto-fuego') || '';\n    var fotoHielo = caja.getAttribute('data-foto-hielo') || '';\n    var i = 0;\n    var apagado = false;\n\n    if (cerrar) {\n      cerrar.addEventListener('click', function () {\n        apagado = true;\n        caja.classList.remove('is-visible');\n      });\n    }\n\n    function mostrar() {\n      if (apagado) return;\n      var a = avisos[i % avisos.length];\n      i++;\n      if (elNombre) elNombre.textContent = a.nombre;\n      if (elProd) elProd.textContent = a.producto;\n      if (elHace) elHace.textContent = a.hace;\n      if (elFoto) {\n        var nueva = a.foto;\n        if (!nueva) {\n          var esHielo = /ice|azul|blue/i.test(a.producto || '');\n          nueva = esHielo ? fotoHielo : fotoFuego;\n        }\n        if (nueva) elFoto.src = nueva;\n      }\n      caja.classList.add('is-visible');\n      setTimeout(function () {\n        caja.classList.remove('is-visible');\n        setTimeout(mostrar, pausa);\n      }, visible);\n    }\n    setTimeout(mostrar, primero);\n  }\n\n  /* --- 7. Pagina de producto -------------------------------------------- */\n  function initProducto() {\n    var raiz = document.querySelector('[data-mt-producto]');\n    if (!raiz || raiz.dataset.mtListo) return;\n    raiz.dataset.mtListo = '1';\n\n    var imgPrincipal = raiz.querySelector('[data-mt-principal]');\n    var minis = raiz.querySelectorAll('[data-mt-mini]');\n    var moneda = raiz.getAttribute('data-moneda') || '$';\n    var textoAgotado = raiz.getAttribute('data-texto-agotado') || 'Agotado';\n\n    function ponerImagen(src, alt) {\n      if (!imgPrincipal || !src) return;\n      imgPrincipal.style.opacity = '0';\n      setTimeout(function () {\n        imgPrincipal.src = src;\n        if (alt != null) imgPrincipal.alt = alt;\n        imgPrincipal.style.opacity = '1';\n      }, 140);\n    }\n    if (imgPrincipal) imgPrincipal.style.transition = 'opacity .28s ease';\n\n    minis.forEach(function (mini) {\n      mini.addEventListener('click', function () {\n        minis.forEach(function (m) { m.classList.remove('is-activa'); });\n        mini.classList.add('is-activa');\n        ponerImagen(mini.getAttribute('data-src-grande'), mini.getAttribute('data-alt'));\n      });\n    });\n\n    /* ---- variantes ---- */\n    var datos = raiz.querySelector('[data-mt-variantes]');\n    var variantes = [];\n    if (datos) {\n      try { variantes = JSON.parse(datos.textContent); } catch (e) { variantes = []; }\n    }\n\n    var inputId = raiz.querySelector('[data-mt-variante-id]');\n    var inputCant = raiz.querySelector('[data-mt-cantidad-form]');\n    var inputPack = raiz.querySelector('[data-mt-pack]');\n    var elPrecio = raiz.querySelector('[data-mt-precio]');\n    var elAntes = raiz.querySelector('[data-mt-antes]');\n    var elDesc = raiz.querySelector('[data-mt-descuento]');\n    var btn = raiz.querySelector('[data-mt-anadir]');\n    var btnTexto = raiz.querySelector('[data-mt-anadir-texto]');\n    var barra = document.querySelector('[data-mt-barra]');\n    var barraPrecio = document.querySelector('[data-mt-barra-precio]');\n    var textoComprar = btnTexto ? btnTexto.textContent.trim() : 'Anadir al carrito';\n\n    var vActual = variantes.length ? variantes[0] : null;\n\n    function seleccionadas() {\n      var out = [];\n      raiz.querySelectorAll('[data-mt-opcion]').forEach(function (grupo) {\n        var act = grupo.querySelector('.mt-prod__valor.is-activo');\n        out.push(act ? act.getAttribute('data-valor') : null);\n      });\n      return out;\n    }\n\n    function buscarVariante() {\n      var sel = seleccionadas();\n      if (!sel.length) return variantes[0] || null;\n      for (var i = 0; i < variantes.length; i++) {\n        var ok = true;\n        for (var j = 0; j < sel.length; j++) {\n          if (sel[j] !== null && variantes[i].options[j] !== sel[j]) { ok = false; break; }\n        }\n        if (ok) return variantes[i];\n      }\n      return null;\n    }\n\n    function actualizarVariante(cambiarFoto) {\n      var v = buscarVariante();\n      if (!v) return;\n      vActual = v;\n\n      if (inputId) inputId.value = v.id;\n      var fotosTier = raiz.querySelectorAll('[data-tier-fotos]');\n      for (var ft = 0; ft < fotosTier.length; ft++) {\n        var mapa = (fotosTier[ft].getAttribute('data-tier-fotos') || '').split(';');\n        var titulo = (v.title || '').toLowerCase();\n        for (var mm = 0; mm < mapa.length; mm++) {\n          var corte = mapa[mm].indexOf('=');\n          if (corte > 0) {\n            var clave = mapa[mm].slice(0, corte);\n            if (titulo.indexOf(clave) !== -1) { fotosTier[ft].src = mapa[mm].slice(corte + 1); break; }\n          }\n        }\n      }\n      if (elPrecio) elPrecio.textContent = dinero(v.price, moneda);\n      if (elAntes) {\n        if (v.compare_at_price && v.compare_at_price > v.price) {\n          elAntes.textContent = dinero(v.compare_at_price, moneda);\n          elAntes.style.display = '';\n          if (elDesc) {\n            elDesc.textContent = '-' + Math.round((1 - v.price / v.compare_at_price) * 100) + '%';\n            elDesc.style.display = '';\n          }\n        } else {\n          elAntes.style.display = 'none';\n          if (elDesc) elDesc.style.display = 'none';\n        }\n      }\n      if (btn) {\n        btn.disabled = !v.available;\n        if (btnTexto) btnTexto.textContent = v.available ? textoComprar : textoAgotado;\n      }\n      if (cambiarFoto && v.featured_image && v.featured_image.src) {\n        ponerImagen(v.featured_image.src, v.featured_image.alt || '');\n        minis.forEach(function (m) {\n          m.classList.toggle('is-activa', m.getAttribute('data-src-grande') === v.featured_image.src);\n        });\n      }\n      try {\n        var url = new URL(window.location.href);\n        url.searchParams.set('variant', v.id);\n        window.history.replaceState({}, '', url.toString());\n      } catch (e) {}\n      refrescarPacks();\n    }\n\n    raiz.querySelectorAll('[data-mt-opcion] .mt-prod__valor').forEach(function (b) {\n      b.addEventListener('click', function () {\n        var grupo = b.closest('[data-mt-opcion]');\n        grupo.querySelectorAll('.mt-prod__valor').forEach(function (o) { o.classList.remove('is-activo'); });\n        b.classList.add('is-activo');\n        actualizarVariante(true);\n      });\n    });\n\n    /* ---- packs (compra y ahorra) ---- */\n    var bundle = raiz.querySelector('[data-mt-bundle]');\n    var tiers = bundle ? bundle.querySelectorAll('[data-tier]') : [];\n    var addons = bundle ? bundle.querySelectorAll('[data-addon]') : [];\n\n    function tierActivo() {\n      for (var i = 0; i < tiers.length; i++) {\n        if (tiers[i].classList.contains('is-activo')) return tiers[i];\n      }\n      return tiers[0] || null;\n    }\n\n    function refrescarPacks() {\n      if (!bundle || !vActual) return;\n      var unidad = vActual.price;\n      var antesUnidad = (vActual.compare_at_price && vActual.compare_at_price > unidad)\n        ? vActual.compare_at_price : unidad;\n\n      tiers.forEach(function (t) {\n        var cant = parseInt(t.getAttribute('data-cantidad') || '1', 10);\n        var pct = parseFloat(t.getAttribute('data-descuento') || '0');\n        // El precio real es siempre el del producto por la cantidad.\n        // El \"ahorro\" que se muestra es contra el precio tachado (efecto visual).\n        var porU = unidad;\n        var total = unidad * cant;\n        var antes = antesUnidad * cant;\n        // duo (dos productos distintos): precios reales del pais del visitante\n        // total = precio A + precio B - descuento automatico\n        var elAh = t.querySelector('[data-tier-ahorro]');\n        if (t.getAttribute('data-duo') === '1') {\n          var cjD = t.querySelector('[data-duo-caja]');\n          var oa = cjD ? cjD.querySelector('[data-duo-sel=\"a\"]') : null;\n          var ob = cjD ? cjD.querySelector('[data-duo-sel=\"b\"]') : null;\n          oa = oa ? oa.options[oa.selectedIndex] : null;\n          ob = ob ? ob.options[ob.selectedIndex] : null;\n          if (oa && ob) {\n            var suma = parseInt(oa.getAttribute('data-precio') || '0', 10) + parseInt(ob.getAttribute('data-precio') || '0', 10);\n            var desc = Math.min(Math.round(parseInt(t.getAttribute('data-duo-descuento') || '0', 10) * tasa()), suma);\n            total = suma - desc;\n            porU = Math.round(total / 2);\n            antes = parseInt(oa.getAttribute('data-antes') || '0', 10) + parseInt(ob.getAttribute('data-antes') || '0', 10);\n            if (elAh) elAh.textContent = (t.getAttribute('data-duo-ahorro-texto') || 'save') + ' ' + dinero(desc, moneda);\n          }\n        }\n        var packFijo = parseInt(t.getAttribute('data-pack-precio') || '0', 10);\n        if (packFijo > 0) {\n          total = Math.round(packFijo * (typeof tasa === 'function' ? tasa() : 1));\n          porU = Math.round(total / cant);\n        }\n        var packAntes = parseInt(t.getAttribute('data-pack-antes') || '0', 10);\n        if (packAntes > 0) antes = Math.round(packAntes * (typeof tasa === 'function' ? tasa() : 1));\n        var ahorroPct = antes > 0 ? Math.round((1 - total / antes) * 100) : 0;\n\n        var elT = t.querySelector('[data-tier-total]');\n        var elA = t.querySelector('[data-tier-antes]');\n        var elU = t.querySelector('[data-tier-unidad]');\n        if (elT) elT.textContent = dinero(total, moneda);\n        if (elA) { elA.textContent = dinero(antes, moneda); elA.hidden = !(antes > total); }\n        if (elU) elU.textContent = dinero(porU, moneda);\n        t.setAttribute('data-total', total);\n        t.setAttribute('data-ahorro-pct', ahorroPct);\n        var elP = t.querySelector('[data-tier-pct]');\n        if (elP) elP.textContent = ahorroPct + '% off';\n\n        // la barra fija de movil ensena SIEMPRE el pack que esta elegido\n        if (barraPrecio && t.classList.contains('is-activo')) {\n          var bB = barraPrecio.querySelector('b');\n          var bS = barraPrecio.querySelector('s');\n          if (bB) bB.textContent = dinero(total, moneda);\n          if (bS) {\n            if (antes > total) { bS.textContent = dinero(antes, moneda); bS.style.display = ''; }\n            else { bS.style.display = 'none'; }\n          }\n        }\n      });\n\n      sincronizarFormulario();\n    }\n\n    function textoPack(t) {\n      if (!t || !vActual) return '';\n      var cant = parseInt(t.getAttribute('data-cantidad') || '1', 10);\n      if (cant < 2) return '';\n      var total = parseInt(t.getAttribute('data-total') || '0', 10);\n      var antesU = (vActual.compare_at_price && vActual.compare_at_price > vActual.price)\n        ? vActual.compare_at_price : vActual.price;\n      var ahorro = Math.max(0, antesU * cant - total);\n      var ahorroTxt = ahorro > 0 ? ' \u00B7 ahorras ' + dinero(ahorro, moneda) : '';\n\n      if (t.getAttribute('data-duo') === '1') {\n        var cj = t.querySelector('[data-duo-caja]');\n        var na = cj ? cj.querySelector('[data-duo-sel=\"a\"]') : null;\n        var nb = cj ? cj.querySelector('[data-duo-sel=\"b\"]') : null;\n        var ta = na ? na.options[na.selectedIndex].textContent.trim() : '';\n        var tb = nb ? nb.options[nb.selectedIndex].textContent.trim() : '';\n        return 'SET: ' + ta + ' + ' + tb;\n      }\n\n      if (t.getAttribute('data-combo') === '1' && variantes.length >= cant) {\n        var nombres = [];\n        for (var k = 0; k < cant; k++) nombres.push(variantes[k].title);\n        return 'COMBO ' + nombres.join(' + ') + ' \u00B7 ' + cant +\n               ' l\u00E1mparas de drag\u00F3n, una de cada color' + ahorroTxt;\n      }\n\n      var color = '';\n      var act = raiz.querySelector('[data-mt-opcion] .mt-prod__valor.is-activo');\n      if (act) color = ' ' + act.getAttribute('data-valor');\n      return cant + ' l\u00E1mparas de drag\u00F3n' + (color ? ' (' + color.trim() + ')' : '') + ahorroTxt;\n    }\n\n    function sincronizarFormulario() {\n      var t = tierActivo();\n      if (!t) return;\n      var cant = parseInt(t.getAttribute('data-cantidad') || '1', 10);\n      if (inputCant) inputCant.value = cant;\n      var express = raiz.querySelector('.mt-express');\n      if (express) {\n        var esCombo = (t.getAttribute('data-combo') === '1' && variantes.length >= cant) || t.getAttribute('data-duo') === '1';\n        express.classList.toggle('mt-express--oculto', esCombo);\n      }\n      if (inputPack) { inputPack.value = textoPack(t); }\n      var elResumen = bundle ? bundle.querySelector('[data-mt-resumen]') : null;\n      if (elResumen) {\n        var extra = 0;\n        addons.forEach(function (a) {\n          if (a.checked) extra += parseInt(a.getAttribute('data-precio') || '0', 10);\n        });\n        var total = parseInt(t.getAttribute('data-total') || '0', 10) + extra;\n        elResumen.textContent = dinero(total, moneda);\n      }\n    }\n\n    // duo: marcar el paquete y cambiar la foto al elegir\n    function activarTier(t) {\n      if (!t) return;\n      tiers.forEach(function (o) { o.classList.remove('is-activo'); });\n      t.classList.add('is-activo');\n      var radio = t.querySelector('input[type=radio]');\n      if (radio) radio.checked = true;\n      sincronizarFormulario();\n      refrescarPacks();\n    }\n\n    raiz.querySelectorAll('[data-duo-sel]').forEach(function (sel) {\n      function refrescarFoto() {\n        var caja = sel.closest('[data-duo-caja]');\n        if (!caja) return;\n        var lado = sel.getAttribute('data-duo-sel');\n        var img = caja.querySelector('[data-duo-foto=\"' + lado + '\"]');\n        var op = sel.options[sel.selectedIndex];\n        if (img && op && op.getAttribute('data-foto')) img.src = op.getAttribute('data-foto');\n      }\n      // tocar un desplegable SIEMPRE selecciona su paquete\n      sel.addEventListener('change', function () {\n        refrescarFoto();\n        refrescarPacks();\n        activarTier(sel.closest('[data-tier]'));\n      });\n      sel.addEventListener('focus', function () { activarTier(sel.closest('[data-tier]')); });\n      sel.addEventListener('click',  function (e) {\n        e.stopPropagation();\n        activarTier(sel.closest('[data-tier]'));\n      });\n      refrescarFoto();\n    });\n\n    tiers.forEach(function (t) {\n      t.addEventListener('click', function () {\n        tiers.forEach(function (o) { o.classList.remove('is-activo'); });\n        t.classList.add('is-activo');\n        var radio = t.querySelector('input[type=radio]');\n        if (radio) radio.checked = true;\n        sincronizarFormulario();\n        refrescarPacks();\n      });\n    });\n    addons.forEach(function (a) { a.addEventListener('change', sincronizarFormulario); });\n\n    /* ---- cantidad manual ---- */\n    var cantVisible = raiz.querySelector('[data-mt-cantidad]');\n    if (cantVisible) {\n      var menos = raiz.querySelector('[data-mt-menos]');\n      var mas = raiz.querySelector('[data-mt-mas]');\n      function sincCant() {\n        if (inputCant) inputCant.value = cantVisible.value;\n      }\n      if (menos) menos.addEventListener('click', function () {\n        cantVisible.value = Math.max(1, (parseInt(cantVisible.value, 10) || 1) - 1);\n        sincCant();\n      });\n      if (mas) mas.addEventListener('click', function () {\n        cantVisible.value = Math.min(99, (parseInt(cantVisible.value, 10) || 1) + 1);\n        sincCant();\n      });\n      cantVisible.addEventListener('change', sincCant);\n    }\n\n    /* ---- anadir al carrito (con extras) ---- */\n    var form = raiz.querySelector('.mt-prod__form');\n\n    function anadirTodo(e) {\n      if (e) e.preventDefault();\n      if (!vActual) return;\n      var t = tierActivo();\n      var cant = t ? parseInt(t.getAttribute('data-cantidad') || '1', 10)\n                   : (cantVisible ? parseInt(cantVisible.value, 10) || 1 : 1);\n\n      var items = [];\n      var props = {};\n      var txtPack = textoPack(t);\n      if (txtPack) props['Te llevas'] = txtPack;\n\n      if (t && t.getAttribute('data-duo') === '1') {\n        // duo: una unidad de cada producto, con la variante que haya elegido\n        var caja = t.querySelector('[data-duo-caja]');\n        var sa = caja ? caja.querySelector('[data-duo-sel=\"a\"]') : null;\n        var sb = caja ? caja.querySelector('[data-duo-sel=\"b\"]') : null;\n        if (sa && sb) {\n          items.push({ id: parseInt(sa.value, 10), quantity: 1, properties: props });\n          items.push({ id: parseInt(sb.value, 10), quantity: 1, properties: props });\n        } else {\n          items.push({ id: vActual.id, quantity: cant, properties: props });\n        }\n      } else if (t && t.getAttribute('data-combo') === '1' && variantes.length >= cant) {\n        // combo: una unidad de cada color, cada linea con su foto en el carrito\n        for (var k = 0; k < cant; k++) {\n          items.push({ id: variantes[k].id, quantity: 1, properties: props });\n        }\n      } else {\n        items.push({ id: vActual.id, quantity: cant, properties: props });\n      }\n\n      addons.forEach(function (a) {\n        if (a.checked) {\n          items.push({ id: parseInt(a.getAttribute('data-variante'), 10), quantity: 1 });\n        }\n      });\n\n      if (btn) { btn.disabled = true; if (btnTexto) btnTexto.textContent = 'A\u00F1adiendo...'; }\n\n      fetch('/cart/add.js', {\n        method: 'POST',\n        headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },\n        body: JSON.stringify({ items: items })\n      }).then(function (r) { return r.json(); })\n        .then(function () { window.location.href = '/cart'; })\n        .catch(function () {\n          if (btn) { btn.disabled = false; if (btnTexto) btnTexto.textContent = textoComprar; }\n          // la pareja NO puede ir por el formulario nativo: mandaria 2 del mismo producto\n          if (t && t.getAttribute('data-duo') === '1') return;\n          if (form) form.submit();\n        });\n    }\n\n    raiz.querySelectorAll('[data-mt-anadir-todo]').forEach(function (b) {\n      b.addEventListener('click', anadirTodo);\n    });\n    if (form) form.addEventListener('submit', anadirTodo);\n\n    /* ---- barra pegajosa de compra en movil ---- */\n    if (barra) {\n      document.body.classList.add('mt-con-barra');\n      var btnBarra = barra.querySelector('button');\n      if (btnBarra) btnBarra.addEventListener('click', anadirTodo);\n      if ('IntersectionObserver' in window && btn) {\n        var obsBarra = new IntersectionObserver(function (entries) {\n          entries.forEach(function (e) {\n            barra.classList.toggle('is-visible', !e.isIntersecting && e.boundingClientRect.top < 0);\n          });\n        }, { threshold: 0 });\n        obsBarra.observe(btn);\n      }\n    }\n\n    actualizarVariante(false);\n    refrescarPacks();\n  }\n\n  /* --- arranque ---------------------------------------------------------- */\n  function init() {\n    initReveals();\n    initComparadores();\n    initAcordeones();\n    initRelojes();\n    initEscasez();\n    initPruebaSocial();\n    initProducto();\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n\n  document.addEventListener('shopify:section:load', init);\n})();\n"],
  "mappings": "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",
  "names": []
}
