{
  "version": 3,
  "sources": ["/cdn/shop/t/68/assets/lm-antes-de-pagar.js?lmv=2"],
  "sourcesContent": ["/* Licores Medell\u00EDn \u2013 Ventana \"Antes de pagar\u2026\" (validaci\u00F3n de direcci\u00F3n + upsell)\n   Se abre al tocar el bot\u00F3n de pago del carrito.\n   Direcci\u00F3n: autocompletado de Google Maps (si hay clave en CFG.gkey) con respaldo en OpenStreetMap.\n   La direcci\u00F3n elegida se guarda en el carrito (Storefront API) y aparece ya llena en el checkout. */\n(function () {\n  if (window.__lmAdp) return; window.__lmAdp = true;\n\n  var CFG = {\n    sede: { n: 'Industriales', lat: 6.22926, lon: -75.57666 },\n    maxKm: 12,\n    wa: '573006635855',\n    max: 6,\n    /* Clave de navegador de Google Maps (Maps JavaScript API + Places API (New)),\n       restringida a licoresmedellin.com/*. Si queda vac\u00EDa se usa OpenStreetMap. */\n    gkey: 'AIzaSyB1ad7griP27RQQIBVr8jYNebyl5HLx2qA',\n    api: '/api/2025-10/graphql.json'\n  };\n  var LISTAS = {\n    destilado: ['hielo-iglu-grande-3k', 'soda-bretana-mediana-1-5l', 'gaseosa-coca-cola-original-1-5l', 'bebida-ginger-ale-canada-dry-mediana-1-5l', 'sprite-mediana-1-5l', 'chepe-patatas-limon-120g'],\n    ginebra: ['agua-tonica-juniper-200ml', '6-pack-agua-tonica-juniper-200ml', 'hielo-iglu-grande-3k', 'soda-bretana-mediana-1-5l'],\n    vino: ['sacacorcho-1und', 'paquete-de-vasos-desechables-16-onzas', 'mani-cervecero-grande-180g', 'fiestos-nachos-ramo-queso-190g'],\n    cerveza: ['chepe-patatas-limon-120g', 'mani-cervecero-grande-180g', 'fiestos-nachos-ramo-queso-190g', 'papa-margarita-clasica-120g', 'hielo-iglu-grande-3k'],\n    jager: ['hielo-iglu-grande-3k', 'bebida-energizante-redbull-250ml', 'bebida-energizante-monster-energy-original-473ml', 'paquete-de-vasos-desechables-16-onzas'],\n    otro: ['hielo-iglu-grande-3k', 'paquete-de-vasos-desechables-16-onzas', 'chepe-patatas-limon-120g', 'mani-cervecero-grande-180g']\n  };\n  var ETIQ = { 'hielo': 'Hielo', 'soda': 'Soda', 'tonica': 'Agua t\u00F3nica', 'gaseosa': 'Gaseosa', 'ginger': 'Gaseosa', 'sprite': 'Gaseosa', 'energizante': 'Energizante', 'vasos': 'Desechables', 'sacacorcho': 'Accesorios', 'patatas': 'Snack', 'papa': 'Snack', 'mani': 'Snack', 'nachos': 'Snack' };\n\n  function tipoDe(item) {\n    var t = (item.product_type || '').toLowerCase(), n = ((item.product_title || '') + ' ' + (item.vendor || '')).toLowerCase();\n    if (/j[a\u00E4]ger/.test(n)) return 'jager';\n    if (/ginebra|gin\\b/.test(t)) return 'ginebra';\n    if (/aguardiente|ron|whisky|tequila|vodka|brandy|cognac|mezcal|pisco|cachaza/.test(t)) return 'destilado';\n    if (/vino|champa|espumoso|lambrusco|sangr/.test(t)) return 'vino';\n    if (/cerveza|refajo|seltzer/.test(t)) return 'cerveza';\n    return null;\n  }\n  function etiqueta(h, tipo) { for (var k in ETIQ) if (h.indexOf(k) > -1) return ETIQ[k]; return tipo || ''; }\n  var fmt = function (n) { return '$' + Math.round(n).toLocaleString('es-CO'); };\n  /* Tarifas = las mismas del checkout de Shopify (Configuraci\u00F3n > Env\u00EDos, perfil general, zona Antioquia) */\n  var ZONAS = {\n    S: { n: 'Zona Sur', v: 14900, min: 50000, t: '30 a 50 minutos' },\n    O: { n: 'Zona Oriente', v: 14900, min: 50000, t: '30 a 50 minutos' },\n    C: { n: 'Zona Centro', v: 14900, min: 50000, t: '35 a 60 minutos' },\n    W: { n: 'Zona Occidente', v: 14900, min: 50000, t: '35 a 60 minutos' },\n    N: { n: 'Zona Norte', v: 18900, min: 60000, t: '50 a 65 minutos' }\n  };\n  function zonaPorCoord(p) {\n    if (p.lat < 6.185) return 'S';\n    if (p.lat > 6.275) return p.lon < -75.585 ? 'W' : 'N';\n    if (p.lon < -75.595) return 'W';\n    if (p.lat < 6.224 && p.lon <= -75.5765) return 'S';\n    if (p.lon < -75.585) return 'W';\n    if (p.lat < 6.243) return 'O';\n    return 'C';\n  }\n  function km(a, b) { var R = 6371, r = function (x) { return x * Math.PI / 180; }, dLat = r(b.lat - a.lat), dLon = r(b.lon - a.lon);\n    var h = Math.pow(Math.sin(dLat / 2), 2) + Math.cos(r(a.lat)) * Math.cos(r(b.lat)) * Math.pow(Math.sin(dLon / 2), 2); return 2 * R * Math.asin(Math.sqrt(h)); }\n  function limpiar(v) { return v.replace(/\\bcll?\\b\\.?/gi, 'Calle').replace(/\\b(cra|cr|kr|kra)\\b\\.?/gi, 'Carrera').replace(/\\btv\\b\\.?/gi, 'Transversal').replace(/\\bdg\\b\\.?/gi, 'Diagonal').replace(/\\bcq\\b\\.?/gi, 'Circular').replace(/#|n[\u00B0\u00BA]/gi, ' '); }\n  var CIUDAD = /medell|envigado|itag|sabaneta|bello|estrella|caldas|copacabana|girardota|barbosa|rionegro|ceja|retiro|guarne|marinilla|bogot|cali\\b|barranquilla|cartagena|bucaramanga|pereira|manizales|armenia|santa marta|monter|c[u\u00FA]cuta|ibagu|villavicencio|pasto|neiva/i;\n\n  /* Departamentos -> c\u00F3digo de provincia de Shopify (Colombia) */\n  var DEP = { 'norte de santander': 'NSA', 'valle del cauca': 'VAC', 'san andres': 'SAP', 'la guajira': 'LAG', 'antioquia': 'ANT', 'bogota': 'DC', 'cundinamarca': 'CUN', 'atlantico': 'ATL', 'bolivar': 'BOL', 'santander': 'SAN', 'risaralda': 'RIS', 'caldas': 'CAL', 'quindio': 'QUI', 'magdalena': 'MAG', 'cordoba': 'COR', 'tolima': 'TOL', 'meta': 'MET', 'narino': 'NAR', 'huila': 'HUI', 'boyaca': 'BOY', 'cesar': 'CES', 'sucre': 'SUC', 'choco': 'CHO', 'caqueta': 'CAQ', 'cauca': 'CAU', 'casanare': 'CAS', 'arauca': 'ARA', 'putumayo': 'PUT', 'amazonas': 'AMA', 'guainia': 'GUA', 'guaviare': 'GUV', 'vaupes': 'VAU', 'vichada': 'VID' };\n  var DEPK = Object.keys(DEP).sort(function (a, b) { return b.length - a.length; });\n  function norm(s) { return (s || '').normalize('NFD').replace(/[\u0300-\u036F]/g, '').toLowerCase(); }\n  function codDep(nombre) { var n = norm(nombre); if (!n) return ''; for (var i = 0; i < DEPK.length; i++) if (n.indexOf(DEPK[i]) > -1) return DEP[DEPK[i]]; return ''; }\n  function tieneNumero(s) { return /\\d/.test(s || ''); }\n\n  /* ---------- Placa colombiana escrita por el cliente ---------- */\n  var TIPOS = [[/^(calle|cll|cl|clle)$/, 'Calle'], [/^(carrera|cra|cr|kr|kra|carr|crr)$/, 'Carrera'], [/^(avenida|av|avda)$/, 'Avenida'],\n    [/^(transversal|tv|trans|tr)$/, 'Transversal'], [/^(diagonal|dg|diag)$/, 'Diagonal'], [/^(circular|cq|cir|circ)$/, 'Circular']];\n  function tipoVia(w) { w = norm(w).replace(/\\./g, ''); for (var i = 0; i < TIPOS.length; i++) if (TIPOS[i][0].test(w)) return TIPOS[i][1]; return ''; }\n  function compacto(s) { return norm(s).replace(/\\s+/g, '').toUpperCase(); }\n  /* \"cra 50 # 52-20\", \"Calle 38 Sur 43-20\", \"Cl 10 43D 30\" -> { tipo, via, cruce, placa, txt } */\n  function placaDe(s) {\n    var m = norm(s).replace(/\\s+/g, ' ').match(/^\\s*(av(?:enida)?\\.?\\s+(?:calle|carrera|cra|cl)?|[a-z]+\\.?)\\s*(\\d+(?:\\s?[a-z](?![a-z])|[a-z]{2}(?![a-z]))?(?:\\s?bis)?(?:\\s?[a-z](?![a-z]))?(?:\\s?sur)?)(?:\\s*(?:#|no\\.?|n[\u00B0\u00BA]|numero|nro\\.?)\\s*|\\s+)(\\d+(?:\\s?[a-z](?![a-z])|[a-z]{2}(?![a-z]))?(?:\\s?bis)?(?:\\s?[a-z](?![a-z]))?(?:\\s?sur)?)\\s*(?:-|\u2013|\\s)\\s*(\\d{1,3})(\\s?sur)?\\b/);\n    if (!m) return null;\n    var tipo = tipoVia(m[1].split(' ')[0]); if (!tipo) return null;\n    var up = function (x) { return x.replace(/\\s+/g, ' ').trim().replace(/\\bbis\\b/g, 'Bis').replace(/\\bsur\\b/g, 'Sur').replace(/(\\d)([a-z]{2})(?![a-z])/g, function (_, d, l) { return d + l.toUpperCase(); }).replace(/(\\d)\\s?([a-z])(?![a-z])/g, function (_, d, l) { return d + l.toUpperCase(); }).replace(/\\b([a-z])\\b/g, function (l) { return l.toUpperCase(); }); };\n    var via = up(m[2]), cruce = up(m[3]), placa = m[4] + (m[5] ? ' Sur' : '');\n    return { tipo: tipo, via: via, cruce: cruce, placa: placa, txt: tipo + ' ' + via + ' # ' + cruce + '-' + placa };\n  }\n  /* \u00BFLa sugerencia de Google es la misma v\u00EDa y el mismo cruce que escribi\u00F3 el cliente? (Avenida = cualquier tipo) */\n  function coincide(pl, texto) {\n    var q = placaDe(texto.replace(/^avenida\\s+(calle|carrera)\\s+/i, '$1 ')) || placaDe(texto); if (!q) return false;\n    var mismoTipo = q.tipo === pl.tipo || q.tipo === 'Avenida' || pl.tipo === 'Avenida';\n    return mismoTipo && compacto(q.via) === compacto(pl.via) && compacto(q.cruce) === compacto(pl.cruce);\n  }\n  function conCiudad(v) { return CIUDAD.test(v) ? v : v + ', Medell\u00EDn'; }\n  function limpiarNum(n) { return (n || '').replace(/^\\s*(#|no\\.?|n[\u00B0\u00BA])\\s*/i, '').trim(); }\n\n  /* ---------- Estilos (variables del tema Enterprise) ---------- */\n  var css = '' +\n    '.lmadp-ov{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.4);display:none;align-items:center;justify-content:center;padding:16px;font-family:var(--body-font-family,Roboto,sans-serif)}' +\n    '.lmadp-ov.is-open{display:flex}' +\n    '.lmadp{position:relative;width:100%;max-width:480px;max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:16px;padding:26px 24px 20px;box-shadow:0 24px 60px rgba(26,42,101,.25);color:#505153;animation:lmadpIn .22s ease}' +\n    '@keyframes lmadpIn{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}' +\n    '.lmadp *{box-sizing:border-box}' +\n    '.lmadp-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:#f4f4f4;border:0;font-size:16px;color:#1A2A65;cursor:pointer;line-height:1}' +\n    '.lmadp h2{font-size:24px;font-weight:700;margin:0 0 6px;padding:0 40px;color:#1a1a1a;text-align:center;line-height:1.2}' +\n    '.lmadp-sub{font-size:15px;color:#5a5c5e;margin:0 0 16px;text-align:center}' +\n    '.lmadp-f{display:flex;gap:8px;margin:0}' +\n    '.lmadp-ac{position:relative;flex:1;min-width:0;display:flex}' +\n    '.lmadp-f input{flex:1;min-width:0;font:inherit;background:#fff;border:2px solid #e6e8ee;border-radius:28px;padding:12px 18px;font-size:16px;color:#1A2A65;outline:none;height:auto}' +\n    '.lmadp-f input:focus{border-color:#1A2A65}' +\n    '.lmadp-f button{font:inherit;background:#1A2A65;color:#fff;border:0;border-radius:28px;padding:0 22px;font-size:15px;font-weight:700;cursor:pointer;min-width:104px}' +\n    '.lmadp-f button:hover{background:#415086}.lmadp-f button:disabled{opacity:.6}' +\n    '.lmadp-sug{position:absolute;left:0;right:-112px;top:calc(100% + 6px);z-index:5;margin:0;padding:6px 0 0;list-style:none;background:#fff;border:1px solid #e3e5e4;border-radius:14px;box-shadow:0 12px 30px rgba(26,42,101,.18);overflow:hidden;display:none}' +\n    '.lmadp-sug.is-open{display:block}' +\n    '.lmadp-sug li{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;cursor:pointer;font-size:14px;line-height:1.35;color:#1a1a1a;text-align:left}' +\n    '.lmadp-sug li[aria-selected=\"true\"],.lmadp-sug li:hover{background:#f1f6fb}' +\n    '.lmadp-sug li svg{flex:0 0 18px;margin-top:1px}' +\n    '.lmadp-sug li b{display:block;font-weight:600;color:#1A2A65}' +\n    '.lmadp-sug li small{display:block;color:#5a5c5e;font-size:12.5px}' +\n    '.lmadp-sug .lmadp-pw{display:block;padding:6px 14px 8px;font-size:11px;color:#8a8f9c;text-align:right;cursor:default}' +\n    '.lmadp-hint{font-size:13px;color:#5a5c5e;margin:8px 0 0;text-align:center}' +\n    '.lmadp-res{display:none;margin-top:12px;padding:11px 14px;border-radius:12px;font-size:14px;line-height:1.45;text-align:center}' +\n    '.lmadp-res.ok{display:block;background:#eef6e2;color:#4d7a0d}.lmadp-res.ok b{color:#1A2A65}' +\n    '.lmadp-res.warn{display:block;background:#fdf3e4;color:#8a560f}' +\n    '.lmadp-res.info{display:block;background:#e4edfa;color:#1a66d2}' +\n    '.lmadp-res a{color:#1A2A65;font-weight:700}' +\n    '.lmadp hr{border:0;border-top:1px solid #e3e5e4;margin:20px 0 16px}' +\n    '.lmadp h3{display:flex;align-items:center;justify-content:center;gap:8px;font-size:20px;font-weight:700;margin:0;color:#1a1a1a}' +\n    '.lmadp-up-sub{font-size:15px;color:#5a5c5e;margin:4px 0 12px;text-align:center}' +\n    '.lmadp-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin:0 -2px;-webkit-overflow-scrolling:touch}' +\n    '.lmadp-card{flex:0 0 172px;scroll-snap-align:start;background:#fff;border:1px solid #e3e5e4;border-radius:14px;padding:12px;display:flex;flex-direction:column;text-align:center;transition:opacity .3s,transform .3s,border-color .2s}' +\n    '.lmadp-card:hover{border-color:#99CA3C}.lmadp-card.gone{opacity:0;transform:scale(.92)}' +\n    '.lmadp-card img{width:100%;height:96px;object-fit:contain;margin:0 0 10px}' +\n    '.lmadp-tag{font-size:11px;font-weight:700;color:#0CA1D7;text-transform:uppercase;letter-spacing:.04em}' +\n    '.lmadp-card h4{font-size:14px;font-weight:500;line-height:1.3;margin:4px 0 10px;min-height:36px;color:#1a1a1a}' +\n    '.lmadp-row{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:10px}' +\n    '.lmadp-row strong{font-size:15px;color:#1a1a1a}' +\n    '.lmadp-row button{font:inherit;background:#fff;color:#1A2A65;border:1px solid #1A2A65;border-radius:999px;height:34px;padding:0 11px;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}' +\n    '.lmadp-row button:hover{background:#1A2A65;color:#fff}' +\n    '.lmadp-card.added{border-color:#99CA3C}.lmadp-card.added .lmadp-row button{background:#99CA3C;border-color:#99CA3C;color:#1A2A65}' +\n    '.lmadp-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;margin-top:18px;font:inherit;border:0;border-radius:999px;font-size:16px;font-weight:700;cursor:pointer;background:#d9dce3;color:#8a8f9c;transition:background .2s}' +\n    '.lmadp-cta.ready{background:#99CA3C;color:#1A2A65}.lmadp-cta.ready:hover{background:#8EBB48}' +\n    '.lmadp-skip{display:block;margin:12px auto 0;font:inherit;background:none;border:0;color:#1A2A65;font-size:14px;text-decoration:underline;cursor:pointer}' +\n    '.lmadp-min{font-size:13px;color:#8a560f;text-align:center;margin:10px 0 0;display:none}' +\n    '.lmadp-trust{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:12px;color:#5a5c5e;margin:14px 0 0}' +\n    '@media (max-width:560px){.lmadp-ov{align-items:flex-end;padding:0}.lmadp{border-radius:16px 16px 0 0;max-height:92vh;padding:22px 16px 16px}.lmadp h2{font-size:22px}.lmadp-f button{min-width:90px;padding:0 16px}.lmadp-sug{right:-98px}.lmadp-card{flex-basis:160px}}';\n\n  var PIN = '<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#0CA1D7\" stroke-width=\"2\" aria-hidden=\"true\"><path d=\"M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z\"/><circle cx=\"12\" cy=\"9.5\" r=\"2.5\"/></svg>';\n\n  var html = '' +\n    '<div class=\"lmadp\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"lmadpT\">' +\n    '<button type=\"button\" class=\"lmadp-x\" data-x aria-label=\"Cerrar\">\u2715</button>' +\n    '<h2 id=\"lmadpT\">Antes de pagar\u2026</h2>' +\n    '<p class=\"lmadp-sub\">Valida tu direcci\u00F3n para confirmar tu zona y el costo del domicilio.</p>' +\n    '<form class=\"lmadp-f\" data-f novalidate><label for=\"lmadpIn\" style=\"position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)\">Direcci\u00F3n o sector</label>' +\n    '<div class=\"lmadp-ac\"><input id=\"lmadpIn\" data-in type=\"text\" autocomplete=\"street-address\" placeholder=\"Cl 33 #76-20\" role=\"combobox\" aria-autocomplete=\"list\" aria-expanded=\"false\" aria-controls=\"lmadpSug\">' +\n    '<ul class=\"lmadp-sug\" id=\"lmadpSug\" role=\"listbox\" data-sug></ul></div>' +\n    '<button type=\"submit\" data-v>Validar</button></form>' +\n    '<p class=\"lmadp-hint\">Funciona con la direcci\u00F3n completa o solo con el nombre del sector.</p>' +\n    '<div class=\"lmadp-res\" data-res aria-live=\"polite\"></div>' +\n    '<div data-up><hr><h3><svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"#B2CE15\" stroke=\"#B2CE15\" stroke-width=\"2\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1-4.4-4.3 6.1-.9z\"/></svg>\u00BFUn \u00FAltimo antojo?</h3>' +\n    '<p class=\"lmadp-up-sub\">Nuestros clientes siempre llevan</p><div class=\"lmadp-track\" data-track></div></div>' +\n    '<button type=\"button\" class=\"lmadp-cta\" data-pay>Continuar al pago <span aria-hidden=\"true\">\u2192</span></button>' +\n    '<p class=\"lmadp-min\" data-min></p>' +\n    '<button type=\"button\" class=\"lmadp-skip\" data-skip>Continuar sin validar</button>' +\n    '<div class=\"lmadp-trust\"><span>\uD83D\uDD12 Pago seguro</span><span>\uD83D\uDEF5 Domicilio 24/7</span><span>\u23F1 Entrega express</span></div>' +\n    '</div>';\n\n  /* st.place = direcci\u00F3n elegida { lat, lon, address1, city, provinceCode, zip, txt } */\n  var ov, $, cart = null, st = { ship: null, zona: null, z: null, lugar: '', place: null }, bypass = false, cache = {};\n\n  function montar() {\n    var s = document.createElement('style'); s.textContent = css; document.head.appendChild(s);\n    ov = document.createElement('div'); ov.className = 'lmadp-ov'; ov.innerHTML = html; document.body.appendChild(ov);\n    $ = function (k) { return ov.querySelector('[data-' + k + ']'); };\n    $('x').onclick = cerrar;\n    ov.addEventListener('click', function (e) { if (e.target === ov) cerrar(); });\n    document.addEventListener('keydown', function (e) { if (e.key === 'Escape' && ov.classList.contains('is-open')) { if (sugAbierto()) return ocultarSug(); cerrar(); } });\n    $('f').addEventListener('submit', function (e) { e.preventDefault(); if (sugAbierto() && act > -1) return elegir(act); validar(); });\n    var inp = $('in');\n    if (CFG.gkey) inp.setAttribute('autocomplete', 'off');\n    inp.addEventListener('focus', function () { cargarGoogle().catch(function () {}); }, { once: true });\n    inp.addEventListener('input', function () { if (st.place && inp.value.trim() !== st.place.txt) st.place = null; sugerir(); });\n    inp.addEventListener('keydown', teclas);\n    inp.addEventListener('blur', function () { setTimeout(ocultarSug, 150); });\n    $('pay').onclick = function () {\n      if (!st.zona) { $('in').focus(); return validar(); }\n      if (!$('pay').classList.contains('ready')) return;\n      irAlPago();\n    };\n    $('skip').onclick = function () { irAlPago(); };\n  }\n  function cerrar() { ov.classList.remove('is-open'); document.documentElement.style.overflow = ''; destapar(); }\n\n  /* Avisos de otras apps (suscripci\u00F3n, push) que quedan por encima de la ventana: se ocultan mientras est\u00E1 abierta */\n  var tapados = [], vigia = null;\n  function tapar() {\n    [].forEach.call(document.querySelectorAll('body > *, body > * > *'), function (e) {\n      if (e === ov || ov.contains(e) || '__lmTapado' in e) return;\n      var s = getComputedStyle(e); if (s.position !== 'fixed' && s.position !== 'absolute') return;\n      if ((parseInt(s.zIndex, 10) || 0) < 2147483000) return;\n      e.__lmTapado = e.style.visibility; e.style.visibility = 'hidden'; tapados.push(e);\n    });\n  }\n  function destapar() { clearInterval(vigia); vigia = null; tapados.forEach(function (e) { e.style.visibility = e.__lmTapado; delete e.__lmTapado; }); tapados = []; }\n\n  function abrir() {\n    if (!ov) montar();\n    ov.classList.add('is-open'); document.documentElement.style.overflow = 'hidden';\n    tapar(); clearInterval(vigia); vigia = setInterval(tapar, 1000);\n    try { var s = JSON.parse(sessionStorage.getItem('lm_adp') || 'null'); if (s && !$('in').value) { $('in').value = s.dir || ''; if (s.place && s.place.txt === s.dir) st.place = s.place; } } catch (e) {}\n    fetch('/cart.js', { headers: { Accept: 'application/json' } }).then(function (r) { return r.json(); }).then(function (c) { cart = c; pintarUpsell(); revisar(); });\n    setTimeout(function () { $('in').focus(); }, 60);\n  }\n\n  /* ---------- Google Maps: carga diferida (solo al tocar el campo) ---------- */\n  var gP = null, gLib = null, tok = null, tmr = null, sugs = [], act = -1, pedido = 0;\n  function cargarGoogle() {\n    if (!CFG.gkey) return Promise.reject(new Error('sin clave'));\n    if (gP) return gP;\n    gP = new Promise(function (ok, ko) {\n      window.__lmGInit = ok;\n      var s = document.createElement('script');\n      s.src = 'https://maps.googleapis.com/maps/api/js?key=' + encodeURIComponent(CFG.gkey) + '&v=weekly&loading=async&language=es&region=CO&callback=__lmGInit';\n      s.async = true; s.onerror = function () { gP = null; ko(new Error('no carg\u00F3 Google')); };\n      document.head.appendChild(s);\n    }).then(function () { return google.maps.importLibrary('places'); }).then(function (lib) { gLib = lib; return lib; });\n    gP.catch(function () { gP = null; });\n    return gP;\n  }\n  function sugAbierto() { return $('sug').classList.contains('is-open'); }\n  function ocultarSug() { var u = $('sug'); u.classList.remove('is-open'); u.innerHTML = ''; $('in').setAttribute('aria-expanded', 'false'); sugs = []; act = -1; }\n  function sugerir() {\n    clearTimeout(tmr);\n    var v = $('in').value.trim();\n    if (!CFG.gkey || v.length < 3 || (st.place && v === st.place.txt)) return ocultarSug();\n    tmr = setTimeout(function () {\n      var n = ++pedido;\n      cargarGoogle().then(function (lib) {\n        if (!tok) tok = new lib.AutocompleteSessionToken();\n        return lib.AutocompleteSuggestion.fetchAutocompleteSuggestions({\n          input: conCiudad(v), sessionToken: tok, includedRegionCodes: ['co'], language: 'es', region: 'co',\n          locationBias: { center: { lat: CFG.sede.lat, lng: CFG.sede.lon }, radius: 30000 }\n        });\n      }).then(function (r) { if (n === pedido) pintarSug((r && r.suggestions) || []); })\n        .catch(function () { if (n === pedido) ocultarSug(); });\n    }, 220);\n  }\n  function pintarSug(lista) {\n    var u = $('sug'); sugs = lista.filter(function (s) { return s.placePrediction; }).slice(0, 5); act = -1;\n    if (!sugs.length) return ocultarSug();\n    u.innerHTML = '';\n    sugs.forEach(function (s, i) {\n      var p = s.placePrediction, li = document.createElement('li');\n      li.setAttribute('role', 'option'); li.id = 'lmadpOpt' + i; li.setAttribute('aria-selected', 'false');\n      li.innerHTML = PIN + '<span><b></b><small></small></span>';\n      li.querySelector('b').textContent = p.mainText ? p.mainText.text : p.text.text;\n      li.querySelector('small').textContent = p.secondaryText ? p.secondaryText.text.replace(/, Colombia$/, '') : '';\n      li.addEventListener('pointerdown', function (e) { e.preventDefault(); elegir(i); });\n      u.appendChild(li);\n    });\n    var pw = document.createElement('li'); pw.className = 'lmadp-pw'; pw.setAttribute('aria-hidden', 'true'); pw.textContent = 'Con tecnolog\u00EDa de Google'; u.appendChild(pw);\n    u.classList.add('is-open'); $('in').setAttribute('aria-expanded', 'true');\n  }\n  function teclas(e) {\n    if (!sugAbierto()) return;\n    if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n      e.preventDefault();\n      act = (act + (e.key === 'ArrowDown' ? 1 : -1) + sugs.length) % sugs.length;\n      [].forEach.call($('sug').querySelectorAll('li[role=\"option\"]'), function (li, i) { li.setAttribute('aria-selected', i === act ? 'true' : 'false'); });\n      $('in').setAttribute('aria-activedescendant', 'lmadpOpt' + act);\n    }\n  }\n  function comp(cs, tipo, corto) { for (var i = 0; i < (cs || []).length; i++) if (cs[i].types.indexOf(tipo) > -1) return corto ? cs[i].shortText : cs[i].longText; return ''; }\n\n  /* El cliente toca una sugerencia: traemos coordenadas y partes de la direcci\u00F3n */\n  function elegir(i) {\n    var s = sugs[i]; if (!s) return;\n    clearTimeout(tmr); pedido++;\n    var escrito = $('in').value.trim(), r = $('res'), b = $('v');\n    ocultarSug(); b.disabled = true; b.textContent = '\u2026'; r.className = 'lmadp-res info'; r.textContent = 'Confirmando tu direcci\u00F3n\u2026';\n    var place = s.placePrediction.toPlace();\n    place.fetchFields({ fields: ['location', 'addressComponents', 'formattedAddress', 'displayName'] }).then(function () {\n      tok = null;\n      var cs = place.addressComponents || [], ruta = comp(cs, 'route'), num = comp(cs, 'street_number');\n      var barrio = comp(cs, 'neighborhood') || comp(cs, 'sublocality_level_1') || comp(cs, 'sublocality');\n      var ciudad = comp(cs, 'locality') || comp(cs, 'administrative_area_level_2');\n      var dir, pl = placaDe(escrito), principal = s.placePrediction.mainText ? s.placePrediction.mainText.text : '';\n      if (pl && coincide(pl, principal)) dir = pl.txt;                                  /* misma v\u00EDa: conserva la placa que escribi\u00F3 el cliente */\n      else if (/#/.test(principal) && /\\d\\s*-\\s*\\d/.test(principal)) dir = principal.replace(/\\s*#\\s*/, ' # ').replace(/\\s*-\\s*/, '-');   /* la que eligi\u00F3, con guion */\n      else if (ruta && num) dir = ruta + ' # ' + limpiarNum(num);\n      else if (tieneNumero(escrito) && !/,/.test(escrito)) dir = escrito;\n      else dir = place.displayName || (place.formattedAddress || '').split(',')[0];\n      var calle = dir;\n      if (barrio && norm(dir).indexOf(norm(barrio)) < 0) dir += ', ' + barrio;\n      var g = { lat: place.location.lat(), lon: place.location.lng() };\n      var txt = calle + (ciudad ? ', ' + ciudad : '');\n      $('in').value = txt;\n      st.place = { lat: g.lat, lon: g.lon, address1: dir, city: ciudad, provinceCode: codDep(comp(cs, 'administrative_area_level_1')), zip: comp(cs, 'postal_code'), txt: txt };\n      resultado(g, dir + (ciudad ? ', ' + ciudad : ''), txt);\n    }).catch(function () { tok = null; buscarOSM(escrito); });\n  }\n\n  function producto(h) {\n    if (!cache[h]) cache[h] = fetch('/products/' + h + '.js', { headers: { Accept: 'application/json' } }).then(function (r) { return r.ok ? r.json() : null; }).catch(function () { return null; });\n    return cache[h];\n  }\n\n  function pintarUpsell() {\n    var track = $('track'), up = $('up'), handles = [], enCarrito = {};\n    (cart.items || []).forEach(function (i) { enCarrito[i.handle] = 1; });\n    var tipos = []; (cart.items || []).forEach(function (i) { var t = tipoDe(i); if (t && tipos.indexOf(t) < 0) tipos.push(t); });\n    if (!tipos.length) tipos = ['otro'];\n    tipos.forEach(function (t) { LISTAS[t].forEach(function (h) { if (handles.indexOf(h) < 0 && !enCarrito[h]) handles.push(h); }); });\n    handles = handles.slice(0, CFG.max);\n    track.innerHTML = '';\n    if (!handles.length) { up.style.display = 'none'; return; }\n    Promise.all(handles.map(producto)).then(function (ps) {\n      track.innerHTML = '';\n      ps.forEach(function (p, i) {\n        if (!p || !p.available) return;\n        var v = p.variants.filter(function (x) { return x.available; })[0] || p.variants[0];\n        var img = p.featured_image ? (p.featured_image.indexOf('?') > -1 ? p.featured_image + '&width=300' : p.featured_image + '?width=300') : '';\n        var c = document.createElement('div'); c.className = 'lmadp-card';\n        c.innerHTML = (img ? '<img loading=\"lazy\" src=\"' + img + '\" alt=\"\">' : '') + '<span class=\"lmadp-tag\"></span><h4></h4><div class=\"lmadp-row\"><strong>' + fmt(v.price / 100) + '</strong><button type=\"button\">+ Agregar</button></div>';\n        c.querySelector('.lmadp-tag').textContent = etiqueta(handles[i], p.type);\n        c.querySelector('h4').textContent = p.title;\n        c.querySelector('button').onclick = function () { agregar(v, c); };\n        track.appendChild(c);\n      });\n      up.style.display = track.children.length ? '' : 'none';\n    });\n  }\n\n  function agregar(v, card) {\n    var b = card.querySelector('button'); b.disabled = true; b.textContent = 'Agregando\u2026';\n    fetch('/cart/add.js', { method: 'POST', headers: { 'Content-Type': 'application/json', Accept: 'application/json' }, body: JSON.stringify({ items: [{ id: v.id, quantity: 1 }] }) })\n      .then(function (r) { if (!r.ok) throw r; return r.json(); })\n      .then(function () {\n        card.classList.add('added'); b.textContent = '\u2713 Agregado';\n        document.dispatchEvent(new CustomEvent('dispatch:cart-drawer:refresh', { bubbles: true }));\n        return fetch('/cart.js').then(function (r) { return r.json(); }).then(function (c) { cart = c; revisar(); });\n      })\n      .then(function () { setTimeout(function () { card.classList.add('gone'); setTimeout(function () { card.remove(); if (!$('track').children.length) $('up').style.display = 'none'; }, 300); }, 900); })\n      .catch(function () { b.disabled = false; b.textContent = 'No disponible'; });\n  }\n\n  function validar() {\n    var v = $('in').value.trim(), r = $('res');\n    if (!v) { r.className = 'lmadp-res warn'; r.textContent = 'Escribe tu direcci\u00F3n o tu sector.'; return; }\n    if (st.place && v === st.place.txt) return resultado({ lat: st.place.lat, lon: st.place.lon }, st.place.address1 + (st.place.city ? ', ' + st.place.city : ''), v);\n    if (sugs.length) return autoElegir(v);                    /* hay sugerencias de Google: toma la que coincide */\n    if (CFG.gkey) {                                           /* pide sugerencias y toma la primera */\n      var b = $('v'); b.disabled = true; b.textContent = '\u2026'; r.className = 'lmadp-res info'; r.textContent = 'Buscando tu direcci\u00F3n\u2026';\n      return cargarGoogle().then(function (lib) {\n        if (!tok) tok = new lib.AutocompleteSessionToken();\n        return lib.AutocompleteSuggestion.fetchAutocompleteSuggestions({ input: conCiudad(v), sessionToken: tok, includedRegionCodes: ['co'], language: 'es', region: 'co', locationBias: { center: { lat: CFG.sede.lat, lng: CFG.sede.lon }, radius: 30000 } });\n      }).then(function (res) {\n        b.disabled = false; b.textContent = 'Validar';\n        sugs = ((res && res.suggestions) || []).filter(function (s) { return s.placePrediction; }).slice(0, 5);\n        if (sugs.length) return autoElegir(v);\n        buscarOSM(v);\n      }).catch(function () { buscarOSM(v); });\n    }\n    buscarOSM(v);\n  }\n\n  /* Con placa escrita, solo se acepta autom\u00E1ticamente una sugerencia de la misma v\u00EDa y cruce; si no hay, el cliente elige */\n  function autoElegir(v) {\n    var pl = placaDe(v);\n    if (!pl) return elegir(0);                                /* sector o texto libre: la primera */\n    for (var i = 0; i < sugs.length; i++) { var p = sugs[i].placePrediction; if (coincide(pl, p.mainText ? p.mainText.text : p.text.text)) return elegir(i); }\n    var lista = sugs.slice(), r = $('res');\n    st.zona = null; st.z = null; st.ship = null; st.place = null; revisar();\n    r.className = 'lmadp-res warn';\n    r.innerHTML = 'No encontramos exactamente <b></b>. Elige tu direcci\u00F3n en la lista o revisa c\u00F3mo la escribiste. <a href=\"#\" data-tal>Usar la direcci\u00F3n como la escrib\u00ED</a>';\n    r.querySelector('b').textContent = pl.txt;\n    r.querySelector('[data-tal]').onclick = function (e) { e.preventDefault(); ocultarSug(); buscarOSM(v); };\n    pintarSug(lista.map(function (s) { return s; }));\n    $('in').focus();\n  }\n\n  /* Respaldo sin Google: OpenStreetMap (Nominatim) */\n  function buscarOSM(v) {\n    var r = $('res'), b = $('v');\n    b.disabled = true; b.textContent = '\u2026'; r.className = 'lmadp-res info'; r.textContent = 'Buscando tu direcci\u00F3n\u2026';\n    var q = limpiar(CIUDAD.test(v) ? v : v + ', Medell\u00EDn') + ', Colombia';\n    fetch('https://nominatim.openstreetmap.org/search?' + new URLSearchParams({ q: q, format: 'json', limit: 1, countrycodes: 'co', addressdetails: 1, 'accept-language': 'es' }), { headers: { Accept: 'application/json' } })\n      .then(function (x) { return x.json(); }).catch(function () { return []; })\n      .then(function (d) {\n        if (!d || !d[0]) {\n          b.disabled = false; b.textContent = 'Validar';\n          st.zona = null; st.z = null; st.ship = null; st.place = null; r.className = 'lmadp-res warn';\n          r.innerHTML = 'No encontramos esa direcci\u00F3n. Prueba solo con el sector o <a target=\"_blank\" rel=\"noopener\" href=\"https://wa.me/' + CFG.wa + '\">escr\u00EDbenos por WhatsApp</a>.';\n          return revisar();\n        }\n        var a = d[0].address || {}, g = { lat: +d[0].lat, lon: +d[0].lon };\n        var barrio = a.neighbourhood || a.suburb || a.quarter || '';\n        var plo = placaDe(v);\n        var dir = plo ? plo.txt : tieneNumero(v) ? v.replace(/,.*$/, '') : (a.road ? a.road + (a.house_number ? ' # ' + a.house_number : '') : v);\n        if (barrio && norm(dir).indexOf(norm(barrio)) < 0) dir += ', ' + barrio;\n        var ciudad = (a.city || a.town || a.village || a.municipality || '').replace(/^per[i\u00ED]metro urbano\\s+/i, '');\n        st.place = { lat: g.lat, lon: g.lon, address1: dir, city: ciudad, provinceCode: codDep(a.state), zip: a.postcode || '', txt: v };\n        resultado(g, d[0].display_name.split(',').slice(0, 2).join(','), v);\n      });\n  }\n\n  /* Con coordenadas: zona, tarifa y mensaje */\n  function resultado(g, lugar, v) {\n    var r = $('res'), b = $('v');\n    b.disabled = false; b.textContent = 'Validar';\n    var dist = km(CFG.sede, g);\n    st.lugar = lugar;\n    if (st.place && !st.place.provinceCode && dist <= 60) st.place.provinceCode = 'ANT';\n    if (st.place && !st.place.city && dist <= CFG.maxKm) st.place.city = 'Medell\u00EDn';\n    if (dist <= CFG.maxKm) {\n      var z = ZONAS[zonaPorCoord(g)]; st.zona = 'local'; st.z = z; st.ship = z.v; r.className = 'lmadp-res ok';\n      r.innerHTML = '\u2705 <b>Tu direcci\u00F3n est\u00E1 cubierta.</b> ' + esc(lugar) + '<br>' + z.n + ' \u00B7 domicilio ' + fmt(z.v) + ' \u00B7 llega en ' + z.t + '.';\n    } else if (dist <= 60) {\n      st.zona = 'lejos'; st.z = null; st.ship = null; r.className = 'lmadp-res warn';\n      r.innerHTML = '<b>' + esc(lugar) + '</b> est\u00E1 a ' + dist.toFixed(0) + ' km y tiene tarifa especial. <a target=\"_blank\" rel=\"noopener\" href=\"https://wa.me/' + CFG.wa + '?text=' + encodeURIComponent('Hola, quiero cotizar un domicilio a ' + v) + '\">Te la confirmamos por WhatsApp \u2192</a>';\n    } else {\n      st.zona = 'nacional'; st.z = null; st.ship = null; r.className = 'lmadp-res info';\n      r.innerHTML = '<b>Env\u00EDo nacional a ' + esc(lugar) + '.</b> Sale desde Medell\u00EDn por transportadora y llega en 48 a 72 horas. <a target=\"_blank\" rel=\"noopener\" href=\"https://wa.me/' + CFG.wa + '?text=' + encodeURIComponent('Hola, quiero un env\u00EDo nacional a ' + v) + '\">Cotiza el env\u00EDo por WhatsApp \u2192</a>';\n    }\n    try { sessionStorage.setItem('lm_adp', JSON.stringify({ dir: $('in').value.trim(), place: st.place })); } catch (e) {}\n    revisar();\n    if (st.zona === 'local' && $('up').style.display !== 'none') $('up').scrollIntoView({ behavior: 'smooth', block: 'start' });\n  }\n  function esc(s) { var d = document.createElement('div'); d.textContent = s; return d.innerHTML; }\n\n  function revisar() {\n    var pay = $('pay'), m = $('min');\n    var sub = cart ? cart.total_price / 100 : 0, min = st.z ? st.z.min : 50000;\n    var ok = st.zona === 'lejos' || (st.zona === 'local' && sub >= min);\n    pay.classList.toggle('ready', ok);\n    if (st.zona === 'local' && sub < min) { m.style.display = 'block'; m.textContent = 'Te faltan ' + fmt(min - sub) + ' en productos para el pedido m\u00EDnimo de domicilio en tu zona (' + fmt(min) + ').'; }\n    else m.style.display = 'none';\n  }\n\n  /* Deja la direcci\u00F3n elegida seleccionada en el carrito -> el checkout la muestra ya llena */\n  var Q_DIR = 'mutation($id:ID!,$a:[CartSelectableAddressInput!]!){cartDeliveryAddressesReplace(cartId:$id,addresses:$a){userErrors{field message}}}';\n  function enviarDir(a) {\n    return fetch(CFG.api, { method: 'POST', headers: { 'Content-Type': 'application/json', Accept: 'application/json' },\n      body: JSON.stringify({ query: Q_DIR, variables: { id: 'gid://shopify/Cart/' + cart.token, a: [{ selected: true, oneTimeUse: true, address: { deliveryAddress: a } }] } }) })\n      .then(function (r) { return r.json(); })\n      .then(function (j) { var p = j && j.data && j.data.cartDeliveryAddressesReplace; return !!(p && !p.userErrors.length); });\n  }\n  function guardarDireccion() {\n    var p = st.place; if (!p) return Promise.resolve();\n    var listo = cart && cart.token ? Promise.resolve() : fetch('/cart.js').then(function (r) { return r.json(); }).then(function (c) { cart = c; });\n    return listo.then(function () {\n      if (!cart || !cart.token) return;\n      var a = { address1: p.address1.slice(0, 255), city: p.city || 'Medell\u00EDn', countryCode: 'CO' };\n      if (p.provinceCode) a.provinceCode = p.provinceCode;\n      if (p.zip) a.zip = p.zip;\n      return enviarDir(a).then(function (ok) { if (!ok && (a.zip || a.provinceCode)) { delete a.zip; if (a.provinceCode !== 'ANT') delete a.provinceCode; return enviarDir(a); } });\n    }).catch(function () {});\n  }\n\n  function irAlPago() {\n    bypass = true;\n    var p = st.place, attrs = { 'Direcci\u00F3n validada': p ? p.address1 + (p.city ? ', ' + p.city : '') : $('in').value.trim() };\n    if (st.zona) attrs['Zona de entrega'] = st.zona === 'local' ? st.z.n : st.zona === 'lejos' ? 'M\u00E1s de 12 km (tarifa especial)' : 'Env\u00EDo nacional';\n    if (p) attrs['Ubicaci\u00F3n en mapa'] = 'https://www.google.com/maps?q=' + p.lat.toFixed(6) + ',' + p.lon.toFixed(6);\n    fetch('/cart/update.js', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ attributes: attrs }) })\n      .catch(function () {})\n      .then(guardarDireccion)\n      .then(function () { window.location.href = '/checkout'; });\n  }\n\n  /* Interceptar el bot\u00F3n de pago (carrito lateral y p\u00E1gina del carrito) */\n  document.addEventListener('click', function (e) {\n    if (bypass) return;\n    var t = e.target.closest && e.target.closest('button[name=\"checkout\"], input[name=\"checkout\"], a[href=\"/checkout\"], a[href^=\"/checkout?\"]');\n    if (!t || t.disabled) return;\n    e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation();\n    abrir();\n  }, true);\n\n  window.lmAntesDePagar = abrir;\n})();\n\n"],
  "mappings": "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",
  "names": []
}
