{
  "version": 3,
  "sources": ["/cdn/shop/t/22/assets/alpha-cro.js?nocache=1791597447485079800"],
  "sourcesContent": ["/* ================================================================\n   ALPHA CRO KIT v1 \u2014 Alpha Elements 18K\n   Archivo: assets/alpha-cro.js   (Vanilla JS, sin dependencias, ~4KB)\n   Hace: sticky ATC + add to cart AJAX + reveal on scroll + gleam\n         + limpia opciones agotadas del selector\n   ================================================================ */\n(function () {\n  'use strict';\n\n  /* ---------- CONFIG (lo \u00FAnico que necesitas tocar) ---------- */\n  var CFG = {\n    goToCheckout: true,        // true = va directo a /checkout | false = abre el carrito\n    showAfterPx: 280,          // px de scroll antes de mostrar la barra (era 520: el usuario se quedaba sin ningun CTA a la vista)\n    revealSelector: '[data-alpha-reveal], .shopify-section [data-pf-type=\"Row\"]',\n    gleamSelector: '[data-alpha-gleam]'\n  };\n\n  var root = document.documentElement;\n  var sticky = document.querySelector('[data-alpha-sticky]');\n  var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n  /* ---------- 1. REVEAL AL SCROLL ---------- */\n  function initReveal() {\n    if (!('IntersectionObserver' in window) || reduce) return;\n    root.classList.add('alpha-js');\n\n    var nodes = document.querySelectorAll(CFG.revealSelector);\n    if (!nodes.length) return;\n\n    var io = new IntersectionObserver(function (entries) {\n      entries.forEach(function (e) {\n        if (e.isIntersecting) { e.target.classList.add('is-in'); io.unobserve(e.target); }\n      });\n    }, { rootMargin: '0px 0px -8% 0px', threshold: 0.05 });\n\n    Array.prototype.forEach.call(nodes, function (el) {\n      el.setAttribute('data-alpha-reveal', '');\n      // Lo que ya est\u00E1 en pantalla se muestra de inmediato (evita flash en el hero)\n      if (el.getBoundingClientRect().top < window.innerHeight * 0.9) el.classList.add('is-in');\n      else io.observe(el);\n    });\n  }\n\n  /* ---------- 2. GLEAM ---------- */\n  function initGleam() {\n    if (reduce) return;\n    Array.prototype.forEach.call(document.querySelectorAll(CFG.gleamSelector), function (el) {\n      el.classList.add('alpha-gleam');\n    });\n  }\n\n  /* ---------- 3. LIMPIAR VARIANTES AGOTADAS DEL SELECTOR ---------- */\n  function cleanSoldOut() {\n    Array.prototype.forEach.call(document.querySelectorAll('select'), function (sel) {\n      if (sel.hasAttribute('data-alpha-variant-select')) return;\n      var kept = 0;\n      Array.prototype.slice.call(sel.options).forEach(function (op) {\n        if (/sold\\s*out|agotad/i.test(op.textContent) && sel.options.length > 1) op.remove();\n        else kept++;\n      });\n      if (kept && sel.selectedIndex < 0) sel.selectedIndex = 0;\n    });\n  }\n\n  /* ---------- 4. VARIANTE ACTIVA (sincroniza con el form real) ---------- */\n  function currentVariantId() {\n    var mine = sticky && sticky.querySelector('[data-alpha-variant-select]');\n    if (mine && mine.value) return mine.value;\n    var live = document.querySelector('form[action*=\"/cart/add\"] input[name=\"id\"], form[action*=\"/cart/add\"] select[name=\"id\"]');\n    if (live && live.value) return live.value;\n    var btn = document.querySelector('[data-alpha-buy]');\n    return btn ? btn.getAttribute('data-alpha-variant') : null;\n  }\n\n  function syncFromSticky(id) {\n    /* El selector de la barra abre en \"Elige tu medida\", con value vacio.\n       Sin esta guarda, ese vacio acabaria en el input del formulario real. */\n    if (!id) return;\n    var live = document.querySelector('form[action*=\"/cart/add\"] input[name=\"id\"]');\n    if (live) live.value = id;\n    var swatch = document.querySelector('select[name^=\"sw\"]');\n    if (swatch && swatch.value !== id) {\n      swatch.value = id;\n      swatch.dispatchEvent(new Event('change', { bubbles: true }));\n    }\n  }\n\n  function initVariantSync() {\n    if (!sticky) return;\n    var sel = sticky.querySelector('[data-alpha-variant-select]');\n    var price = sticky.querySelector('[data-alpha-price]');\n    var comp = sticky.querySelector('[data-alpha-compare]');\n\n    if (sel) {\n      sel.addEventListener('change', function () {\n        var op = sel.options[sel.selectedIndex];\n        if (price && op.dataset.price) price.textContent = op.dataset.price;\n        if (comp && op.dataset.compare) comp.textContent = op.dataset.compare;\n        syncFromSticky(sel.value);\n      });\n    }\n    // Si el usuario cambia la variante arriba, la barra lo refleja\n    var swatch = document.querySelector('select[name^=\"sw\"]');\n    if (swatch && sel) {\n      swatch.addEventListener('change', function () {\n        if (sel.querySelector('option[value=\"' + swatch.value + '\"]')) sel.value = swatch.value;\n      });\n    }\n  }\n\n  /* ---------- 5. A\u00D1ADIR AL CARRITO (AJAX) ---------- */\n  function addToCart(btn) {\n    var id = currentVariantId();\n    if (!id) { window.location.href = '/cart'; return; }\n\n    btn.classList.add('is-loading');\n\n    fetch('/cart/add.js', {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },\n      body: JSON.stringify({ items: [{ id: Number(id), quantity: 1 }] })\n    })\n      .then(function (r) { return r.json(); })\n      .then(function (data) {\n        if (data.status && data.status !== 200) throw new Error(data.description || 'error');\n\n        if (window.fbq) window.fbq('track', 'AddToCart', { content_ids: [String(id)], content_type: 'product' });\n        if (window.dataLayer) window.dataLayer.push({ event: 'add_to_cart', variant_id: String(id) });\n\n        btn.classList.remove('is-loading');\n        btn.classList.add('is-done');\n        var label = btn.querySelector('.alpha-btn__label');\n        if (label) label.textContent = '\u00A1Listo!';\n\n        if (CFG.goToCheckout) { window.location.href = '/checkout'; return; }\n\n        document.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true }));\n        document.dispatchEvent(new CustomEvent('cart:update', { bubbles: true, detail: { source: 'alpha-sticky' } }));\n        var drawer = document.querySelector('cart-drawer, #cart-drawer, [id*=\"cart-drawer\"]');\n        if (drawer && typeof drawer.open === 'function') drawer.open();\n        else if (drawer && drawer.showModal) drawer.showModal();\n        else window.location.href = '/cart';\n      })\n      .catch(function () {\n        btn.classList.remove('is-loading');\n        window.location.href = '/cart';\n      });\n  }\n\n  function initBuyButtons() {\n    document.addEventListener('click', function (e) {\n      var btn = e.target.closest('[data-alpha-buy]');\n      if (!btn) return;\n      e.preventDefault();\n      if (faltaElegirTalla(btn)) return;   // lleva al selector en vez de comprar\n      addToCart(btn);\n    });\n  }\n\n  /* ---------- Que nadie compre una talla que no eligio ----------\n     Medido en la ficha: hay botones de compra a 1.550, 3.393 y 3.858 px por\n     debajo del selector de talla. Quien baja leyendo y pulsa \"Comprar ahora\"\n     en las preguntas frecuentes se lleva la 55 cm por defecto, sin haberlo\n     decidido nunca. Son 5 cm de diferencia y $10.000.\n\n     No se bloquea a quien ya eligio: si ha tocado cualquiera de los tres\n     selectores, el boton compra directo como siempre. Solo se interrumpe la\n     primera vez, y para llevarlo a la eleccion, no para rega\u00F1arle.\n\n     Si el selector ya esta en pantalla no se hace scroll: solo se resalta. */\n  var tallaElegida = false;\n\n  function marcarTallaElegida() { tallaElegida = true; }\n\n  function initEleccionDeTalla() {\n    // cualquier gesto sobre un selector de talla cuenta como eleccion\n    document.addEventListener('change', function (e) {\n      if (e.target.closest('.ah__sizes, .alpha-sw, .alpha-sticky, #__pf')) marcarTallaElegida();\n    }, true);\n    document.addEventListener('click', function (e) {\n      if (e.target.closest('.ah__sizes button, .alpha-sw__b, .pf-variant-swatch')) marcarTallaElegida();\n    }, true);\n\n    /* El boton de PageFly no lleva data-alpha-buy, asi que no pasaba por el\n       guardia: comprobado que compraba la 55 cm de una sin haber elegido nada.\n       Y es el boton del bloque de compra, el que mas se pulsa.\n\n       Se le engancha en fase de CAPTURA para llegar antes que el manejador de\n       PageFly, y se corta ahi mismo si aun no hay talla elegida. */\n    document.addEventListener('click', function (e) {\n      var pf = e.target.closest('[data-pf-type=\"ProductATC2\"]');\n      if (!pf) return;\n      if (faltaElegirTalla(pf)) {\n        e.preventDefault();\n        e.stopPropagation();\n        e.stopImmediatePropagation();\n      }\n    }, true);\n\n    quitarLaTallaPreseleccionada();\n  }\n\n  /* ---------- Que nadie llegue con una talla ya puesta ----------\n     Shopify SIEMPRE trae una variante activa, no se puede \"no tener\" ninguna.\n     Pero se puede no darla por elegida: se quita la marca visual, y como el\n     guardia exige un gesto del usuario, nadie compra una medida que no escogio.\n\n     El precio sigue mostrando el de la 55 cm mientras no se elija. Es el precio\n     \"desde\", y cambiarlo hay que hacerlo en PageFly, no aqui. */\n  function quitarLaTallaPreseleccionada() {\n    var marcados = document.querySelectorAll('.alpha-sw__b.is-on, .ah__sizes .is-on');\n    for (var i = 0; i < marcados.length; i++) {\n      marcados[i].classList.remove('is-on');\n      marcados[i].setAttribute('aria-pressed', 'false');\n    }\n  }\n\n  function faltaElegirTalla(btn) {\n    /* La barra fija va exenta, por decision de Juan. Lleva su propio desplegable\n       al lado del boton, con la talla a la vista: quien pulsa ahi esta viendo lo\n       que compra y puede cambiarlo sin moverse. Es el atajo para el que ya se\n       decidio. El resto de botones siguen exigiendo una eleccion. */\n    if (btn.closest('.alpha-sticky, [data-alpha-sticky]')) return false;\n\n    if (tallaElegida) return false;\n\n    // si el producto solo tiene una variante no hay nada que elegir\n    var opciones = document.querySelectorAll('.alpha-sw__b, .ah__sizes button');\n    if (opciones.length < 2) return false;\n\n    // el selector mas cercano por encima del boton pulsado\n    var candidatos = [].slice.call(document.querySelectorAll('.ah__sizes, .alpha-sw'));\n    if (!candidatos.length) return false;\n    var yBtn = btn.getBoundingClientRect().top + window.scrollY;\n    var destino = null, mejor = Infinity;\n    candidatos.forEach(function (c) {\n      var r = c.getBoundingClientRect();\n      if (r.height < 2) return;                       // no cuenta si no se ve\n      var d = Math.abs(yBtn - (r.top + window.scrollY));\n      if (d < mejor) { mejor = d; destino = c; }\n    });\n    if (!destino) return false;\n\n    var r = destino.getBoundingClientRect();\n    var yaSeVe = r.top >= 0 && r.bottom <= window.innerHeight;\n    if (!yaSeVe) destino.scrollIntoView({ behavior: 'smooth', block: 'center' });\n\n    destino.classList.add('alpha-pide-talla');\n    setTimeout(function () { destino.classList.remove('alpha-pide-talla'); }, 2200);\n    return true;\n  }\n\n  /* ---------- El alt que falta ----------\n     Una sola imagen de la pagina no tiene alt, y es de PageFly: el poster del\n     video de la galeria. No se puede tocar desde su editor, pero si ponerselo\n     aqui. Se usa el nombre del producto, que es lo que muestra. */\n  function initAltQueFalta() {\n    var imgs = document.querySelectorAll('#__pf img:not([alt])');\n    if (!imgs.length) return;\n    var nombre = (document.querySelector('h1') || {}).textContent || 'Producto Alpha Elements';\n    for (var i = 0; i < imgs.length; i++) {\n      imgs[i].setAttribute('alt', nombre.replace(/\\s+/g, ' ').trim());\n    }\n  }\n\n  /* ---------- 6. MOSTRAR / OCULTAR LA BARRA ---------- */\n  function initSticky() {\n    if (!sticky) return;\n    var first = true;\n    var mainFormVisible = false;\n    var ticking = false;\n\n    // Se esconde cuando el bloque de compra original est\u00E1 a la vista (evita duplicar CTA)\n    var mainForm = document.querySelector('form[action*=\"/cart/add\"]:not(#alpha-sticky-form)');\n    if (mainForm && 'IntersectionObserver' in window) {\n      new IntersectionObserver(function (entries) {\n        mainFormVisible = entries[0].isIntersecting;\n        update();\n      }, { threshold: 0.35 }).observe(mainForm);\n    }\n\n    function update() {\n      var show = window.pageYOffset > CFG.showAfterPx && !mainFormVisible;\n      sticky.classList.toggle('is-visible', show);\n      sticky.setAttribute('aria-hidden', show ? 'false' : 'true');\n      // Avisa al bot\u00F3n de WhatsApp para que suba y no quede tapado\n      root.classList.toggle('alpha-bar-on', show);\n      if (show && first) {\n        first = false;\n        sticky.classList.add('is-first');\n        setTimeout(function () { sticky.classList.remove('is-first'); }, 3200);\n      }\n      ticking = false;\n    }\n\n    window.addEventListener('scroll', function () {\n      if (!ticking) { ticking = true; window.requestAnimationFrame(update); }\n    }, { passive: true });\n\n    update();\n  }\n\n  /* ---------- BOOT ---------- */\n  function boot() {\n    initReveal();\n    initGleam();\n    cleanSoldOut();\n    initVariantSync();\n    initBuyButtons();\n    initSticky();\n    initUnSoloH1();\n    initEleccionDeTalla();\n    initAltQueFalta();\n  }\n\n\n  /* ---------- Un solo H1 para lectores de pantalla ----------\n     La ficha tiene DOS <h1> con el mismo texto: el nuestro, visible, y el de\n     PageFly, que se dejo renderizado a 1x1 px a proposito porque desde el\n     dispara fbq('track','ViewContent').\n\n     Al estar solo encogido y no oculto del todo, un lector de pantalla lo lee\n     igual: el usuario oye el nombre del producto dos veces seguidas.\n\n     Se le pone aria-hidden. NO se borra ni se oculta con display:none, que es\n     justo lo que romperia el pixel. aria-hidden no toca ni la visibilidad ni\n     el JS: Meta sigue viendo el elemento y disparando su evento. */\n  function initUnSoloH1() {\n    var titulos = document.querySelectorAll('h1');\n    if (titulos.length < 2) return;\n\n    for (var i = 0; i < titulos.length; i++) {\n      var h = titulos[i];\n      var alto = h.getBoundingClientRect().height;\n      // el encogido es el de PageFly; el visible se deja como esta\n      if (alto < 5 && !h.hasAttribute('aria-hidden')) {\n        h.setAttribute('aria-hidden', 'true');\n      }\n    }\n  }\n\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot);\n  else boot();\n\n\n  /* El personalizador de Shopify inyecta las secciones por AJAX, despu\u00E9s de que\n     este script ya arranc\u00F3. Sin esto, una secci\u00F3n reci\u00E9n a\u00F1adida se queda\n     invisible porque nadie dispara su animaci\u00F3n de entrada. */\n  document.addEventListener('shopify:section:load', function () { initReveal(); initGleam(); });\n})();\n"],
  "mappings": "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",
  "names": ["r"]
}
