{"product_id":"knh-mascarilla-reafirmante-de-peptidos-y-colageno","title":"KNH  Mascarilla Reafirmante","description":"\u003cstyle\u003e\nh1 {\n  position: absolute !important;\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important;\n  overflow: hidden !important;\n  clip: rect(0,0,0,0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n}\n\u003c\/style\u003e\n\n\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@300;400;500;600\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n\u003cstyle\u003e\n\/* SUBIR · cuántos píxeles se acerca a la foto. Si toca la foto, baja el número; si aún queda hueco, súbelo *\/\n#pkm{--pkm-subir:0px;}\n\n#pkm{position:relative !important;z-index:0 !important;isolation:isolate !important;font-family:'Poppins',sans-serif !important;width:100% !important;max-width:440px !important;margin:calc(var(--pkm-subir) * -1) auto 0 !important;box-sizing:border-box !important;overflow:visible !important;color:#c2447a !important;}\n#pkm *{box-sizing:border-box !important;}\n#pkm p{margin:0 !important;}\n#pkm .pkm-tk{position:relative !important;padding:0 0 8px !important;overflow:visible !important;}\n\n\/* Etiquetas superiores *\/\n#pkm .pkm-tags{display:flex !important;flex-wrap:wrap !important;gap:6px !important;margin:0 0 10px !important;}\n#pkm .pkm-tag{display:inline-block !important;color:#fff !important;font:500 12px\/1.5 'Poppins',sans-serif !important;padding:1px 9px !important;border-radius:6px !important;}\n#pkm .pkm-tag-1{background:#6c63df !important;}\n#pkm .pkm-tag-2{background:#ec93b5 !important;}\n\n\/* Título *\/\n#pkm .pkm-h1{font:600 24px\/1.15 'Poppins',sans-serif !important;color:#c2447a !important;letter-spacing:-.02em !important;}\n\n\/* Prueba social: avatares + nombre verificado *\/\n#pkm .pkm-so{display:flex !important;align-items:center !important;gap:8px !important;margin-top:9px !important;}\n#pkm .pkm-av{display:flex !important;flex-shrink:0 !important;}\n#pkm .pkm-av img{width:24px !important;height:24px !important;border-radius:50% !important;border:2px solid #fff !important;margin:0 0 0 -8px !important;object-fit:cover !important;object-position:center 25% !important;display:block !important;background:#f1dde6 !important;}\n#pkm .pkm-av img:first-child{margin-left:0 !important;}\n#pkm .pkm-so-t{font:300 13px\/1.3 'Poppins',sans-serif !important;color:#c2447a !important;}\n#pkm .pkm-so-t b{font-weight:600 !important;}\n#pkm .pkm-vf{display:inline-block !important;vertical-align:-2px !important;width:14px !important;height:14px !important;margin:0 2px !important;}\n\n\/* Formatos disponibles *\/\n#pkm .pkm-lm{font:500 11px\/1.2 'Poppins',sans-serif !important;color:#c2447a !important;letter-spacing:.16em !important;text-transform:uppercase !important;margin:18px 0 0 !important;}\n\n\/* Packs *\/\n#pkm .pkm-pk{position:relative !important;display:flex !important;align-items:center !important;gap:12px !important;width:100% !important;margin:14px 0 0 !important;padding:13px 13px 13px 14px !important;border:1.5px solid #f1dde6 !important;border-radius:16px !important;background:#fff !important;color:#c2447a !important;text-align:left !important;cursor:pointer !important;outline:none !important;box-shadow:none !important;-webkit-tap-highlight-color:transparent !important;transition:background .15s,border-color .15s,box-shadow .15s !important;}\n#pkm .pkm-pk.pkm-tb{margin-top:20px !important;}\n#pkm .pkm-sel{border-color:#c2447a !important;background:#fdf3f7 !important;box-shadow:0 6px 16px rgba(194,68,122,.12) !important;}\n#pkm .pkm-pk:focus-visible{outline:2px solid #c2447a !important;outline-offset:2px !important;}\n#pkm .pkm-rd{width:20px !important;height:20px !important;border-radius:50% !important;border:1.5px solid #e6c3d3 !important;background:#fff !important;flex-shrink:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;}\n#pkm .pkm-rd::after{content:'' !important;width:10px !important;height:10px !important;border-radius:50% !important;background:#c2447a !important;transform:scale(0) !important;transition:transform .15s !important;}\n#pkm .pkm-sel .pkm-rd{border-color:#c2447a !important;}\n#pkm .pkm-sel .pkm-rd::after{transform:scale(1) !important;}\n#pkm .pkm-l{flex:1 1 0 !important;min-width:0 !important;}\n#pkm .pkm-tp{display:flex !important;align-items:center !important;gap:7px !important;flex-wrap:wrap !important;}\n#pkm .pkm-nm{font:600 16px\/1.2 'Poppins',sans-serif !important;color:#c2447a !important;}\n#pkm .pkm-sv{background:#ec93b5 !important;color:#fff !important;font:600 10.5px\/1.6 'Poppins',sans-serif !important;padding:0 8px !important;border-radius:999px !important;text-transform:uppercase !important;letter-spacing:.03em !important;white-space:nowrap !important;}\n#pkm .pkm-sel .pkm-sv{background:#c2447a !important;}\n#pkm .pkm-sub{display:flex !important;align-items:center !important;gap:6px !important;flex-wrap:wrap !important;margin-top:3px !important;font:300 12.5px\/1.4 'Poppins',sans-serif !important;color:#c2447a !important;}\n#pkm .pkm-of{display:inline-block !important;font:600 12px\/1.6 'Poppins',sans-serif !important;color:#c2447a !important;background:#fde7f0 !important;border-radius:6px !important;padding:0 7px !important;white-space:nowrap !important;}\n#pkm .pkm-r{text-align:right !important;flex-shrink:0 !important;}\n#pkm .pkm-pr{font:600 19px\/1.15 'Poppins',sans-serif !important;color:#c2447a !important;letter-spacing:-.01em !important;white-space:nowrap !important;}\n#pkm .pkm-cm{font:300 12.5px\/1.3 'Poppins',sans-serif !important;color:#c2447a !important;text-decoration:line-through !important;opacity:.65 !important;white-space:nowrap !important;}\n\n\/* Pestaña con piquito (Más popular \/ Mejor oferta) *\/\n#pkm .pkm-tab{position:absolute !important;top:-11px !important;right:14px !important;display:inline-flex !important;align-items:center !important;gap:4px !important;background:#c2447a !important;color:#fff !important;font:600 10.5px\/1.7 'Poppins',sans-serif !important;padding:1px 9px !important;border-radius:6px !important;white-space:nowrap !important;z-index:1 !important;}\n#pkm .pkm-tab::after{content:'' !important;position:absolute !important;bottom:-4px !important;left:50% !important;margin-left:-4px !important;border:4px solid transparent !important;border-top-color:#c2447a !important;border-bottom:0 !important;}\n#pkm .pkm-tab svg{width:11px !important;height:11px !important;display:block !important;}\n\n\/* Regalos *\/\n#pkm .pkm-gt{text-align:center !important;font:400 13px\/1.4 'Poppins',sans-serif !important;color:#c2447a !important;margin:16px 0 12px !important;}\n#pkm .pkm-gt b{font-weight:600 !important;}\n#pkm .pkm-gs{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important;}\n#pkm .pkm-g{position:relative !important;border:1.5px solid #f1dde6 !important;border-radius:14px !important;background:#faf6f8 !important;padding:16px 8px 10px !important;text-align:center !important;transition:border-color .25s,background .25s !important;}\n#pkm .pkm-g.pkm-ok{border-color:#c2447a !important;background:#fff !important;}\n#pkm .pkm-g-bd{position:absolute !important;top:-9px !important;left:50% !important;transform:translateX(-50%) !important;background:#e9d3dd !important;color:#fff !important;font:600 9.5px\/1.7 'Poppins',sans-serif !important;padding:0 8px !important;border-radius:999px !important;white-space:nowrap !important;}\n#pkm .pkm-g.pkm-ok .pkm-g-bd{background:#c2447a !important;}\n#pkm .pkm-g-ic{height:34px !important;display:flex !important;align-items:center !important;justify-content:center !important;overflow:hidden !important;}\n#pkm .pkm-g-ic svg,#pkm .pkm-g-ic img{width:34px !important;height:34px !important;max-width:34px !important;max-height:34px !important;object-fit:contain !important;display:block !important;}\n#pkm .pkm-g .pkm-lk{display:none !important;}\n#pkm .pkm-g:not(.pkm-ok) .pkm-real{display:none !important;}\n#pkm .pkm-g:not(.pkm-ok) .pkm-lk{display:block !important;width:20px !important;height:20px !important;opacity:.4 !important;}\n#pkm .pkm-g-n{margin-top:4px !important;font:500 12.5px\/1.3 'Poppins',sans-serif !important;color:#c2447a !important;}\n#pkm .pkm-g:not(.pkm-ok) .pkm-g-n{opacity:.5 !important;}\n#pkm .pkm-g.pkm-pop{animation:pkm-pop .5s ease !important;}\n@keyframes pkm-pop{40%{transform:scale(1.05)}}\n\n@media (max-width:350px){\n#pkm .pkm-pr{font-size:17px !important;}\n#pkm .pkm-nm{font-size:15px !important;}\n#pkm .pkm-of{font-size:11px !important;}\n#pkm .pkm-so-t{font-size:12px !important;}\n#pkm .pkm-h1{font-size:21px !important;}\n}\n\u003c\/style\u003e\n\n\u003cdiv id=\"pkm\"\u003e\n  \u003cdiv class=\"pkm-tk\"\u003e\n    \u003cdiv class=\"pkm-tags\"\u003e\n      \u003cspan class=\"pkm-tag pkm-tag-1\"\u003eK-beauty\u003c\/span\u003e\n      \u003cspan class=\"pkm-tag pkm-tag-2\"\u003eefecto spa\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"pkm-h1\"\u003eKNH Mascarilla Reafirmante\u003c\/p\u003e\n\n    \u003cdiv class=\"pkm-so\"\u003e\n      \u003cdiv class=\"pkm-av\" id=\"pkm-av\"\u003e\u003c\/div\u003e\n      \u003cp class=\"pkm-so-t\" id=\"pkm-so\"\u003e\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"pkm-lm\"\u003eFormatos disponibles\u003c\/p\u003e\n    \u003cdiv id=\"pkm-levels\"\u003e\u003c\/div\u003e\n\n    \u003cp class=\"pkm-gt\" id=\"pkm-gt\"\u003e\u003c\/p\u003e\n    \u003cdiv class=\"pkm-gs\"\u003e\n      \u003cdiv class=\"pkm-g\" id=\"pkm-g0\"\u003e\n        \u003cspan class=\"pkm-g-bd\" id=\"pkm-g0-bd\"\u003eGRATIS\u003c\/span\u003e\n        \u003cdiv class=\"pkm-g-ic\"\u003e\n          \u003csvg class=\"pkm-real\" viewbox=\"0 0 48 48\" aria-hidden=\"true\"\u003e\u003cpath d=\"M24 6l17 8v20l-17 8-17-8V14z\" fill=\"#c98f5a\"\u003e\u003c\/path\u003e\u003cpath d=\"M24 6l17 8-17 8-17-8z\" fill=\"#e2b07d\"\u003e\u003c\/path\u003e\u003cpath d=\"M24 22v20l-17-8V14z\" fill=\"#b57a45\"\u003e\u003c\/path\u003e\u003cpath d=\"M15.5 10l17 8v6l-4-2v-6l-17-8z\" fill=\"#f3d9b5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003csvg class=\"pkm-lk\" viewbox=\"0 0 24 24\" fill=\"#8a6b78\" aria-hidden=\"true\"\u003e\u003crect x=\"5\" y=\"11\" width=\"14\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 11V7a4 4 0 0 1 8 0v4\" fill=\"none\" stroke=\"#8a6b78\" stroke-width=\"2\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cp class=\"pkm-g-n\"\u003eEnvío gratis\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"pkm-g\" id=\"pkm-g1\"\u003e\n        \u003cspan class=\"pkm-g-bd\" id=\"pkm-g1-bd\"\u003eGRATIS\u003c\/span\u003e\n        \u003cdiv class=\"pkm-g-ic\"\u003e\n          \u003cimg class=\"pkm-real\" id=\"pkm-gift-img\" alt=\"Bálsamo Medicube de regalo\" loading=\"lazy\"\u003e\n          \u003csvg class=\"pkm-lk\" viewbox=\"0 0 24 24\" fill=\"#8a6b78\" aria-hidden=\"true\"\u003e\u003crect x=\"5\" y=\"11\" width=\"14\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 11V7a4 4 0 0 1 8 0v4\" fill=\"none\" stroke=\"#8a6b78\" stroke-width=\"2\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cp class=\"pkm-g-n\" id=\"pkm-gift-name\"\u003e\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  var W = document.getElementById('pkm');\n  if (!W) return;\n\n  \/* PRUEBA SOCIAL · fotos de clientas *\/\n  var REVIEW_NAME = 'Andrea';\n  var REVIEW_TEXT = 'y \u003cb\u003e+12.350\u003c\/b\u003e clientas aman estas mascarillas';\n  var AVATARS = [\n    'https:\/\/cdn.shopify.com\/s\/files\/1\/1045\/1854\/9829\/files\/IMG_2257.jpg?v=1791537232\u0026width=80',\n    'https:\/\/cdn.shopify.com\/s\/files\/1\/1045\/1854\/9829\/files\/IMG_2258.jpg?v=1791537233\u0026width=80',\n    'https:\/\/cdn.shopify.com\/s\/files\/1\/1045\/1854\/9829\/files\/IMG_2259.jpg?v=1791537232\u0026width=80'\n  ];\n\n  \/* REGALO DEL PACK DE 3 · bálsamo sin fondo (se carga pequeño para que no salga gigante) *\/\n  var GIFT_NAME = 'Bálsamo Medicube';\n  var GIFT_IMG  = 'https:\/\/cdn.shopify.com\/s\/files\/1\/1045\/1854\/9829\/files\/Balsamo_Medicube_rosa_aislado.png?v=1791736135\u0026height=120';\n\n  \/* MASCARILLAS POR CAJA *\/\n  var PER_BOX = 4;\n\n  \/* PRECIOS DE CADA MERCADO · iguales que en Shopify\n     unit: precio de 1 caja · packs: precio de cada pack\n     compare: tachado de cada pack (0 = sin tachado; si no hay lista, se calcula con 1 caja; el pack de 3 nunca lleva tachado)\n     giftValue: precio real de venta del bálsamo en ese mercado\n     freeShip: pedido mínimo para envío gratis · shipCost: coste normal del envío *\/\n  var PRICES = {\n    MXN: { sym:'$', post:false, dec:0, unit:499,   packs:[499,699,899],       compare:[0,998,0], giftValue:449,   freeShip:799, shipCost:60 },\n    EUR: { sym:'€', post:true,  dec:2, unit:29.99, packs:[29.99,49.99,59.99], compare:null,      giftValue:29.99, freeShip:30,  shipCost:0  }\n  };\n  \/* IDs de variante, en el mismo orden: 1 caja, 2 cajas, 3 cajas *\/\n  var VARIANTS = ['59678217371973','59678217404741','59678217437509'];\n\n  \/* TEXTOS DE CADA PACK\n     dur: duración (4 mascarillas por caja, 2 a la semana)\n     of: oferta resaltada POR MONEDA (vacío = sin oferta)\n     tab: pestaña con piquito · icon: 'flame' o 'gift'\n     gift: desbloquea el bálsamo; en su etiqueta sale el valor total (cajas + bálsamo + envío) *\/\n  var DATA = [\n    { n:'1 caja',  dur:'2 semanas', of:{ MXN:'',             EUR:'' },             tab:'',             icon:'',      gift:false },\n    { n:'2 cajas', dur:'4 semanas', of:{ MXN:'2ª caja -60%', EUR:'2ª caja -33%' }, tab:'Más popular',  icon:'flame', gift:false },\n    { n:'3 cajas', dur:'6 semanas', of:{ MXN:'',             EUR:'' },             tab:'Mejor oferta', icon:'gift',  gift:true  }\n  ];\n  var sel = 1;          \/* pack preseleccionado: 0 = 1 caja, 1 = 2 cajas, 2 = 3 cajas *\/\n  var _qp = new URLSearchParams(location.search).get('pack');\n  if (_qp === '1' || _qp === '2' || _qp === '3') sel = parseInt(_qp, 10) - 1;\n  var lastCur = null;\n  var unlocked = [false, false];\n\n  var ICONS = {\n    flame:'\u003csvg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 1c1.5 4 8 6.5 8 13.5a8 8 0 0 1-16 0c0-3.6 1.7-6 3.7-7.6.1 3 1.6 4.7 3.4 5-.6-4.6.3-8.5.9-10.9z\"\/\u003e\u003c\/svg\u003e',\n    gift:'\u003csvg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 7.5C10.5 3.5 6 2.5 5.5 5c-.4 2 3 2.5 6.5 2.5zm0 0c1.5-4 6-5 6.5-2.5.4 2-3 2.5-6.5 2.5z\"\/\u003e\u003crect x=\"2\" y=\"7.5\" width=\"20\" height=\"4.5\" rx=\"1\"\/\u003e\u003crect x=\"3.5\" y=\"13\" width=\"17\" height=\"9\" rx=\"1\"\/\u003e\u003crect x=\"11\" y=\"7.5\" width=\"2\" height=\"14.5\" fill=\"#c2447a\"\/\u003e\u003c\/svg\u003e'\n  };\n  var VERIFIED = '\u003csvg class=\"pkm-vf\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"11\" fill=\"#1d9bf0\"\/\u003e\u003cpath d=\"M7 12.5l3.2 3L17 8.5\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/\u003e\u003c\/svg\u003e';\n\n  document.getElementById('pkm-av').innerHTML = AVATARS.map(function(u){ return '\u003cimg src=\"' + u + '\" alt=\"\" loading=\"lazy\"\u003e'; }).join('');\n  document.getElementById('pkm-so').innerHTML = '\u003cb\u003e' + REVIEW_NAME + '\u003c\/b\u003e' + VERIFIED + ' ' + REVIEW_TEXT;\n  document.getElementById('pkm-gift-img').src = GIFT_IMG;\n  document.getElementById('pkm-gift-name').textContent = GIFT_NAME;\n\n  function cur(){\n    var c = window.Shopify \u0026\u0026 window.Shopify.currency \u0026\u0026 window.Shopify.currency.active;\n    if (PRICES[c]) return c;\n    if (\/^\\\/es-mx(\\\/|$)\/i.test(window.location.pathname)) return 'MXN';\n    return 'EUR';\n  }\n  function money(v, C){\n    var s = (Math.round(v * 100) \/ 100).toFixed(C.dec);\n    if (C.dec === 2) s = s.replace('.', ',');\n    else s = s.replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, ',');\n    return C.post ? s + C.sym : C.sym + s;\n  }\n\n  \/* Cálculos de cada pack *\/\n  function calc(k, C){\n    var n = k + 1, price = C.packs[k], d = DATA[k];\n    var cmp = 0, value = 0, save = 0;\n    if (d.gift){\n      var ship = price \u003e= C.freeShip ? C.shipCost : 0;\n      value = Math.round((C.unit * n + C.giftValue + ship) * 100) \/ 100;\n      save = Math.round((value - price) * 100) \/ 100;\n    } else {\n      cmp = C.compare ? C.compare[k] : (n \u003e 1 ? Math.round(C.unit * n * 100) \/ 100 : 0);\n      if (cmp \u003e price) save = Math.round((cmp - price) * 100) \/ 100;\n    }\n    return { n:n, price:price, cmp:cmp, value:value, save:save };\n  }\n\n  function render(){\n    lastCur = cur();\n    var C = PRICES[lastCur];\n    document.getElementById('pkm-levels').innerHTML = DATA.map(function(d, k){\n      var x = calc(k, C);\n      var of = d.gift ? 'Valor ' + money(x.value, C) : (d.of \u0026\u0026 d.of[lastCur] ? d.of[lastCur] : '');\n      var sub = (x.n * PER_BOX) + ' mascarillas · ' + d.dur;\n      return '\u003cdiv role=\"button\" tabindex=\"0\" aria-pressed=\"' + (k === sel) + '\" class=\"pkm-pk' + (d.tab ? ' pkm-tb' : '') + (k === sel ? ' pkm-sel' : '') + '\" data-i=\"' + k + '\"\u003e' +\n        (d.tab ? '\u003cspan class=\"pkm-tab\"\u003e' + (ICONS[d.icon] || '') + d.tab + '\u003c\/span\u003e' : '') +\n        '\u003cspan class=\"pkm-rd\" aria-hidden=\"true\"\u003e\u003c\/span\u003e' +\n        '\u003cdiv class=\"pkm-l\"\u003e' +\n          '\u003cdiv class=\"pkm-tp\"\u003e\u003cspan class=\"pkm-nm\"\u003e' + d.n + '\u003c\/span\u003e' +\n            (x.save \u003e 0 ? '\u003cspan class=\"pkm-sv\"\u003eAhorra ' + money(x.save, C) + '\u003c\/span\u003e' : '') +\n          '\u003c\/div\u003e' +\n          '\u003cp class=\"pkm-sub\"\u003e\u003cspan\u003e' + sub + '\u003c\/span\u003e' + (of ? '\u003cspan class=\"pkm-of\"\u003e' + of + '\u003c\/span\u003e' : '') + '\u003c\/p\u003e' +\n        '\u003c\/div\u003e' +\n        '\u003cdiv class=\"pkm-r\"\u003e\u003cp class=\"pkm-pr\"\u003e' + money(x.price, C) + '\u003c\/p\u003e' +\n          (x.cmp \u003e x.price ? '\u003cp class=\"pkm-cm\"\u003e' + money(x.cmp, C) + '\u003c\/p\u003e' : '') +\n        '\u003c\/div\u003e' +\n      '\u003c\/div\u003e';\n    }).join('');\n\n    \/* Etiquetas de los regalos: lo que cuestan normalmente, tachado *\/\n    document.getElementById('pkm-g0-bd').innerHTML = 'GRATIS' + (C.shipCost ? ' \u003cs\u003e' + money(C.shipCost, C) + '\u003c\/s\u003e' : '');\n    document.getElementById('pkm-g1-bd').innerHTML = 'GRATIS' + (C.giftValue ? ' \u003cs\u003e' + money(C.giftValue, C) + '\u003c\/s\u003e' : '');\n\n    var btns = W.querySelectorAll('.pkm-pk');\n    for (var j = 0; j \u003c btns.length; j++){\n      btns[j].addEventListener('click', pick);\n      btns[j].addEventListener('keydown', function(e){\n        if (e.key === 'Enter' || e.key === ' '){ e.preventDefault(); pick.call(this); }\n      });\n    }\n    gifts(false);\n  }\n\n  \/* Regalos: envío gratis si el pack llega al mínimo de cada país; bálsamo con el pack de 3 *\/\n  function gifts(animate){\n    var C = PRICES[lastCur];\n    var g = [C.packs[sel] \u003e= C.freeShip, !!DATA[sel].gift];\n    var c = (g[0] ? 1 : 0) + (g[1] ? 1 : 0);\n    document.getElementById('pkm-gt').innerHTML =\n      c === 2 ? '\u003cb\u003e¡Regalos desbloqueados!\u003c\/b\u003e' :\n      c === 1 ? '\u003cb\u003eRegalo desbloqueado\u003c\/b\u003e · llévate 3 y suma el bálsamo' :\n                'Elige 3 cajas para \u003cb\u003edesbloquear tus regalos\u003c\/b\u003e';\n    for (var i = 0; i \u003c 2; i++){\n      var el = document.getElementById('pkm-g' + i);\n      el.classList.toggle('pkm-ok', g[i]);\n      if (animate \u0026\u0026 g[i] \u0026\u0026 !unlocked[i]){\n        el.classList.remove('pkm-pop'); void el.offsetWidth; el.classList.add('pkm-pop');\n      }\n    }\n    unlocked = g;\n  }\n\n  \/* Al elegir: solo cambian las clases. No se vuelve a pintar nada, así no se mueve *\/\n  function pick(){\n    sel = parseInt(this.getAttribute('data-i'), 10);\n    var btns = W.querySelectorAll('.pkm-pk');\n    for (var j = 0; j \u003c btns.length; j++){\n      var on = j === sel;\n      btns[j].classList.toggle('pkm-sel', on);\n      btns[j].setAttribute('aria-pressed', on ? 'true' : 'false');\n    }\n    gifts(true);\n    setVariant();\n  }\n\n  \/* Vuelca la variante seleccionada al formulario del tema *\/\n  function setVariant(){\n    var id = VARIANTS[sel];\n    var inputs = document.querySelectorAll('input[name=\"id\"], select[name=\"id\"]');\n    for (var j = 0; j \u003c inputs.length; j++){\n      if (W.contains(inputs[j])) continue;\n      if (inputs[j].tagName === 'SELECT'){\n        for (var o = 0; o \u003c inputs[j].options.length; o++){\n          if (inputs[j].options[o].value === id) inputs[j].selectedIndex = o;\n        }\n      } else {\n        inputs[j].value = id;\n      }\n      inputs[j].dispatchEvent(new Event('change', { bubbles: true }));\n    }\n  }\n\n  \/* Si la moneda llega tarde, vuelve a pintar los precios *\/\n  function refresh(){\n    if (cur() !== lastCur) render();\n    setVariant();\n  }\n\n  function boot(){\n    render();\n    setVariant();\n    setTimeout(refresh, 300);\n    setTimeout(refresh, 900);\n    setTimeout(refresh, 1800);\n  }\n\n  if (document.readyState === 'loading'){\n    document.addEventListener('DOMContentLoaded', boot);\n  } else {\n    boot();\n  }\n  window.addEventListener('load', refresh);\n})();\n\u003c\/script\u003e","brand":"Bloomi Labs","offers":[{"title":"1 caja","offer_id":59678217371973,"sku":null,"price":29.99,"currency_code":"EUR","in_stock":true},{"title":"2 cajas","offer_id":59678217404741,"sku":null,"price":49.99,"currency_code":"EUR","in_stock":true},{"title":"3 cajas","offer_id":59678217437509,"sku":null,"price":59.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1045\/1854\/9829\/files\/Pack_rosa_de_mascarillas_coreanas_1.png?v=1791712218","url":"https:\/\/www.bloomilabs.com\/products\/knh-mascarilla-reafirmante-de-peptidos-y-colageno","provider":"Bloomi Labs","version":"1.0","type":"link"}