{"product_id":"electric-facial-threader-smooth-hair-removal-at-home","title":"Electric Facial Threader – Smooth Hair Removal at Home","description":"\u003cdiv id=\"deslore-video-anchor-15540697661551\" style=\"display:none;\"\u003e\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  function esc(s){ return (s||'').replace(\/\u0026\/g,'\u0026amp;').replace(\/\u003c\/g,'\u0026lt;').replace(\/\u003e\/g,'\u0026gt;').replace(\/\"\/g,'\u0026quot;'); }\n\n  function init(){\n    var anchor = document.getElementById('deslore-video-anchor-15540697661551');\n    if (!anchor) return;\n    var pageWidth = anchor.closest('.page-width');\n\n    var wrap = document.createElement('div');\n    wrap.id = 'deslore-full-15540697661551';\n    wrap.style.cssText = 'width:100%;box-sizing:border-box;margin-top:40px;';\n\n    var band = document.createElement('div');\n    band.style.cssText = 'width:100%;background:#faf7f5;padding:44px 16px 36px;box-sizing:border-box;text-align:center;';\n    var vids = [\n      \"029658a1f6cd4d8d9cff8ef57a916a29\/029658a1f6cd4d8d9cff8ef57a916a29.HD-720p-1.6Mbps-94994846\",\n      \"0d17ddc405034ae09d9bf589ed64f437\/0d17ddc405034ae09d9bf589ed64f437.HD-720p-1.6Mbps-94994844\",\n      \"d409e837ab5646839fc9f84142814009\/d409e837ab5646839fc9f84142814009.HD-720p-1.6Mbps-94994845\",\n      \"8c758af0a5ae4c338655833095b6ea9f\/8c758af0a5ae4c338655833095b6ea9f.HD-720p-1.6Mbps-94995892\",\n      \"ecdf607750c348daa2d62676542aac5d\/ecdf607750c348daa2d62676542aac5d.HD-720p-1.6Mbps-94995890\",\n      \"79318f67c6a846b387c609df251f9965\/79318f67c6a846b387c609df251f9965.HD-720p-1.6Mbps-94995891\"\n    ];\n    var bandHtml = '\u003ch3 style=\"font-size:26px;font-weight:800;color:#c0392b;margin:0 0 6px;\"\u003e🎥 Watch It In Action\u003c\/h3\u003e' +\n      '\u003cp style=\"font-size:14px;color:#666;margin:0 0 24px;\"\u003eSee exactly how smooth and easy the threading feels — real demo, real results. Swipe for more →\u003c\/p\u003e' +\n      '\u003cdiv class=\"deslore-vrow\" style=\"display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 16px 12px;-webkit-overflow-scrolling:touch;max-width:750px;margin:0 auto;box-sizing:border-box;\"\u003e';\n    vids.forEach(function(v){\n      bandHtml += '\u003cvideo data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/vp\/' + v + '.mp4\" muted loop playsinline preload=\"none\" style=\"scroll-snap-align:center;width:220px;height:391px;object-fit:cover;border-radius:14px;flex:0 0 auto;background:#f0e8e4;box-shadow:0 4px 14px rgba(0,0,0,0.15);\"\u003e\u003c\/video\u003e';\n    });\n    bandHtml += '\u003c\/div\u003e';\n    band.innerHTML = bandHtml;\n\n    var descLabel = document.createElement('div');\n    descLabel.style.cssText = 'max-width:860px;margin:40px auto 0;padding:0 20px;box-sizing:border-box;';\n    descLabel.innerHTML = '\u003cdiv style=\"font-size:15px;font-weight:700;letter-spacing:0.3px;color:#111;padding-bottom:12px;border-bottom:2px solid #111;display:inline-block;\"\u003e📝 Description\u003c\/div\u003e\u003cdiv style=\"border-bottom:1px solid #e5e5e5;margin-top:-1px;\"\u003e\u003c\/div\u003e';\n\n    var descContent = document.createElement('div');\n    descContent.style.cssText = 'max-width:860px;margin:0 auto;padding:28px 20px 8px;box-sizing:border-box;';\n    descContent.innerHTML = \"\u003cp\u003e\u003cstrong\u003eSalon-style facial threading, right at home.\u003c\/strong\u003e A gentle electric facial hair remover that lifts and removes peach fuzz and fine facial hair at the root using the traditional threading technique — smoother skin in minutes, no pain, no chemicals.\u003c\/p\u003e\u003ch3 style=\\\"font-size:20px; font-weight:700; margin:24px 0 10px;\\\"\u003e✨ Why You'll Love It\u003c\/h3\u003e\u003cul\u003e\\n\u003cli\u003e🧵 Traditional threading technique — lifts hair out at the root, not just the surface\u003c\/li\u003e\\n\u003cli\u003e🎯 Precise on delicate areas — upper lip, chin, cheeks and jawline\u003c\/li\u003e\\n\u003cli\u003e🪒 Gentler than shaving or waxing — no cuts, no burns, no sticky mess\u003c\/li\u003e\\n\u003cli\u003e🔋 USB rechargeable — no disposable batteries to keep buying\u003c\/li\u003e\\n\u003cli\u003e👜 Compact \u0026amp; travel-friendly — fits in any bag or drawer\u003c\/li\u003e\\n\u003cli\u003e🧼 Easy to clean — wipes down in seconds after every use\u003c\/li\u003e\\n\u003c\/ul\u003e\u003cp style=\\\"text-align:center; margin:20px 0;\\\"\u003e\u003cimg src=\\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0754\/7034\/0207\/files\/electric-facial-threading-hair-removal-886131.jpg?v=1789914813\\\" alt=\\\"Electric Facial Threader in use\\\" style=\\\"max-width:100%; border-radius:12px;\\\"\u003e\u003c\/p\u003e\u003ch3 style=\\\"font-size:20px; font-weight:700; margin:24px 0 10px;\\\"\u003e📝 How to Use\u003c\/h3\u003e\u003cp\u003e\u003cstrong\u003e1.\u003c\/strong\u003e Cleanse the area and pat dry — a light dusting of powder helps the threader glide smoothly.\u003cbr\u003e\u003cstrong\u003e2.\u003c\/strong\u003e Switch the device on with a single button press.\u003cbr\u003e\u003cstrong\u003e3.\u003c\/strong\u003e Guide it gently across the hair in the direction of growth.\u003cbr\u003e\u003cstrong\u003e4.\u003c\/strong\u003e Rinse and moisturize after use for extra-smooth results.\u003c\/p\u003e\u003cp style=\\\"text-align:center; margin:20px 0;\\\"\u003e\u003cimg src=\\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0754\/7034\/0207\/files\/electric-facial-threading-hair-removal-194968.jpg?v=1789914813\\\" alt=\\\"Threading technique demonstration\\\" style=\\\"max-width:100%; border-radius:12px;\\\"\u003e\u003c\/p\u003e\u003ch3 style=\\\"font-size:20px; font-weight:700; margin:24px 0 10px;\\\"\u003e📦 What's Included\u003c\/h3\u003e\u003cul\u003e\\n\u003cli\u003e1× Electric Facial Threader\u003c\/li\u003e\\n\u003cli\u003e1× USB Charging Cable\u003c\/li\u003e\\n\u003cli\u003e1× Quick Start Guide\u003c\/li\u003e\\n\u003c\/ul\u003e\u003ch3 style=\\\"font-size:20px; font-weight:700; margin:24px 0 10px;\\\"\u003e🔍 Product Details\u003c\/h3\u003e\u003cp\u003eCategory: Facial hair removal device  |  Technology: Threading-based  |  Target areas: Upper lip, chin, cheeks \u0026amp; jawline  |  Power: USB rechargeable  |  Design: Compact \u0026amp; lightweight\u003c\/p\u003e\u003cp style=\\\"text-align:center; margin:20px 0;\\\"\u003e\u003cimg src=\\\"https:\/\/cdn.shopify.com\/s\/files\/1\/0754\/7034\/0207\/files\/electric-facial-threading-hair-removal-561639.jpg?v=1789914813\\\" alt=\\\"Before and after results\\\" style=\\\"max-width:100%; border-radius:12px;\\\"\u003e\u003c\/p\u003e\u003cp\u003e🚚 Free delivery across the UAE · 💵 Cash on Delivery · ↩️ 7-day easy returns\u003c\/p\u003e\u003ch3 style=\\\"font-size:20px; font-weight:700; margin:24px 0 10px;\\\"\u003e❓ Frequently Asked Questions\u003c\/h3\u003e\u003cp\u003e\u003cstrong\u003eIs this safe for sensitive skin?\u003c\/strong\u003e\u003cbr\u003eYes — threading lifts hair from the root without heat or chemicals, so it's generally gentler on sensitive skin than waxing or depilatory creams. As with any hair removal method, we recommend a small patch test first.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eHow long does it take to charge?\u003c\/strong\u003e\u003cbr\u003eA full USB charge comfortably covers several sessions of everyday facial touch-ups.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eCan I use it beyond my face?\u003c\/strong\u003e\u003cbr\u003eIt's designed for precise facial areas like the upper lip, chin and cheeks — for larger areas like arms or legs, a dedicated body hair removal tool will give faster coverage.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eIs it beginner-friendly?\u003c\/strong\u003e\u003cbr\u003eYes — the one-button design and guided threading motion make it easy to pick up, even on your first try.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eHow do I clean it after use?\u003c\/strong\u003e\u003cbr\u003eWipe the threading head with a dry or lightly damp cloth after each use to keep it hygienic and ready for next time.\u003c\/p\u003e\";\n\n    var pabWrap = document.createElement('div');\n    pabWrap.style.cssText = 'max-width:1100px;margin:56px auto 0;padding:0 20px 8px;box-sizing:border-box;';\n    pabWrap.innerHTML = '\u003ch3 style=\"text-align:center;font-size:24px;font-weight:800;margin:0 0 24px;\"\u003ePeople Also Bought\u003c\/h3\u003e\u003cdiv class=\"dq-pab-grid\" style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;\"\u003e\u003c\/div\u003e';\n\n    var rvWrap = document.createElement('div');\n    rvWrap.style.cssText = 'max-width:1100px;margin:48px auto 0;padding:0 20px 40px;box-sizing:border-box;display:none;';\n    rvWrap.innerHTML = '\u003ch3 style=\"text-align:center;font-size:24px;font-weight:800;margin:0 0 24px;\"\u003eRecently Viewed\u003c\/h3\u003e\u003cdiv class=\"dq-rv-grid\" style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;\"\u003e\u003c\/div\u003e';\n\n    wrap.appendChild(band);\n    wrap.appendChild(descLabel);\n    wrap.appendChild(descContent);\n    wrap.appendChild(pabWrap);\n    wrap.appendChild(rvWrap);\n\n    if (pageWidth \u0026\u0026 pageWidth.parentElement) {\n      pageWidth.parentElement.insertBefore(wrap, pageWidth.nextSibling);\n    } else {\n      anchor.parentElement.insertBefore(wrap, anchor.nextSibling);\n    }\n    anchor.remove();\n\n    var videoEls = Array.from(band.querySelectorAll('video'));\n    var scrollRoot = band.querySelector('.deslore-vrow');\n    var MAX_ACTIVE = 3;\n    var active = [];\n    var queue = [];\n\n    function tryPlay(v){ var p = v.play(); if (p \u0026\u0026 p.catch) p.catch(function(){}); }\n    function activate(v){\n      if (active.indexOf(v) !== -1) return;\n      active.push(v);\n      v.src = v.dataset.src;\n      v.load();\n      v.addEventListener('canplay', function(){ tryPlay(v); }, {once:true});\n      tryPlay(v);\n    }\n    function deactivate(v){\n      var i = active.indexOf(v);\n      if (i === -1) return;\n      active.splice(i,1);\n      v.pause();\n      v.removeAttribute('src');\n      try { v.load(); } catch(e){}\n      pump();\n    }\n    function pump(){\n      while (active.length \u003c MAX_ACTIVE \u0026\u0026 queue.length) {\n        var v = queue.shift();\n        if (v.dataset.want === '1') { activate(v); }\n      }\n    }\n    if ('IntersectionObserver' in window \u0026\u0026 scrollRoot) {\n      var io = new IntersectionObserver(function(entries){\n        entries.forEach(function(entry){\n          var v = entry.target;\n          if (entry.isIntersecting) {\n            v.dataset.want = '1';\n            if (active.length \u003c MAX_ACTIVE) { activate(v); }\n            else if (queue.indexOf(v) === -1) { queue.push(v); }\n          } else {\n            v.dataset.want = '';\n            var qi = queue.indexOf(v);\n            if (qi !== -1) queue.splice(qi, 1);\n            deactivate(v);\n          }\n        });\n      }, {root: scrollRoot, threshold: 0.6});\n      videoEls.forEach(function(v){ io.observe(v); });\n    } else {\n      videoEls.slice(0, MAX_ACTIVE).forEach(activate);\n    }\n    videoEls.forEach(function(v){\n      v.addEventListener('pause', function(){\n        if (active.indexOf(v) === -1) return;\n        var r = v.getBoundingClientRect();\n        if (r.bottom \u003e 0 \u0026\u0026 r.top \u003c window.innerHeight) { setTimeout(function(){ tryPlay(v); }, 80); }\n      });\n    });\n\n    function money(cents){ return (cents\/100).toFixed(2); }\n    function fixImg(src){ if (!src) return ''; return src.indexOf('\/\/') === 0 ? ('https:' + src) : src; }\n\n    function addToCart(btn, variantId, qtyEl){\n      if (!variantId) return;\n      var qty = parseInt(qtyEl.textContent, 10) || 1;\n      var original = btn.textContent;\n      btn.textContent = 'ADDING...';\n      btn.disabled = true;\n      fetch('\/cart\/add.js', {\n        method: 'POST',\n        headers: {'Content-Type': 'application\/json'},\n        body: JSON.stringify({items: [{id: variantId, quantity: qty}]})\n      }).then(function(r){ return r.json(); }).then(function(){\n        btn.textContent = 'ADDED ✓';\n        fetch('\/cart.js').then(function(r){ return r.json(); }).then(function(cart){\n          document.querySelectorAll('.cart-count-bubble span, [data-cart-count], .cart-count').forEach(function(el){\n            el.textContent = cart.item_count;\n          });\n        }).catch(function(){});\n        setTimeout(function(){ btn.textContent = original; btn.disabled = false; }, 1600);\n      }).catch(function(){\n        btn.textContent = 'ERROR';\n        setTimeout(function(){ btn.textContent = original; btn.disabled = false; }, 1600);\n      });\n    }\n\n    function renderCard(p){\n      var price = money(p.price);\n      var compareAt = (p.compare_at_price \u0026\u0026 p.compare_at_price \u003e p.price) ? money(p.compare_at_price) : null;\n      var img = fixImg(p.featured_image || (p.images \u0026\u0026 p.images[0]) || '');\n      var variantId = (p.variants \u0026\u0026 p.variants.length) ? p.variants[0].id : null;\n\n      var card = document.createElement('div');\n      card.style.cssText = 'background:#fff;border:1px solid #eee;border-radius:12px;padding:14px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,0.04);display:flex;flex-direction:column;';\n      card.innerHTML =\n        '\u003ca href=\"' + p.url + '\" style=\"text-decoration:none;color:inherit;\"\u003e' +\n          '\u003cimg src=\"' + img + '\" alt=\"' + esc(p.title) + '\" style=\"width:100%;aspect-ratio:1\/1;object-fit:cover;border-radius:8px;margin-bottom:10px;background:#f7f7f7;\"\u003e' +\n          '\u003cdiv style=\"font-size:13px;color:#222;min-height:36px;margin-bottom:8px;line-height:1.3;\"\u003e' + esc(p.title) + '\u003c\/div\u003e' +\n        '\u003c\/a\u003e' +\n        '\u003cdiv style=\"margin-bottom:10px;\"\u003e' +\n          (compareAt ? '\u003cspan style=\"text-decoration:line-through;color:#999;font-size:12px;margin-right:6px;\"\u003eAED ' + compareAt + '\u003c\/span\u003e' : '') +\n          '\u003cspan style=\"color:#c0392b;font-weight:700;font-size:15px;\"\u003eAED ' + price + '\u003c\/span\u003e' +\n        '\u003c\/div\u003e' +\n        '\u003cdiv style=\"display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px;\"\u003e' +\n          '\u003cbutton type=\"button\" class=\"dq-minus\" style=\"width:26px;height:26px;border:1px solid #ddd;background:#f7f7f7;border-radius:6px;cursor:pointer;font-size:14px;\"\u003e−\u003c\/button\u003e' +\n          '\u003cspan class=\"dq-qty\" style=\"min-width:18px;font-size:14px;\"\u003e1\u003c\/span\u003e' +\n          '\u003cbutton type=\"button\" class=\"dq-plus\" style=\"width:26px;height:26px;border:1px solid #ddd;background:#f7f7f7;border-radius:6px;cursor:pointer;font-size:14px;\"\u003e+\u003c\/button\u003e' +\n        '\u003c\/div\u003e' +\n        '\u003cbutton type=\"button\" class=\"dq-add\" style=\"width:100%;background:#111;color:#fff;border:none;padding:10px;border-radius:8px;font-weight:700;font-size:12px;letter-spacing:0.5px;cursor:pointer;margin-top:auto;\"\u003eADD TO CART\u003c\/button\u003e';\n\n      var qtyEl = card.querySelector('.dq-qty');\n      card.querySelector('.dq-minus').addEventListener('click', function(){\n        var q = parseInt(qtyEl.textContent, 10) || 1;\n        if (q \u003e 1) qtyEl.textContent = String(q - 1);\n      });\n      card.querySelector('.dq-plus').addEventListener('click', function(){\n        var q = parseInt(qtyEl.textContent, 10) || 1;\n        qtyEl.textContent = String(q + 1);\n      });\n      card.querySelector('.dq-add').addEventListener('click', function(){\n        addToCart(this, variantId, qtyEl);\n      });\n\n      return card;\n    }\n\n    fetch('\/recommendations\/products.json?product_id=15540697661551\u0026limit=4\u0026intent=related')\n      .then(function(r){ return r.json(); })\n      .then(function(data){\n        var grid = pabWrap.querySelector('.dq-pab-grid');\n        var products = (data \u0026\u0026 data.products) ? data.products.slice(0,4) : [];\n        if (!products.length) { pabWrap.style.display = 'none'; return; }\n        products.forEach(function(p){ grid.appendChild(renderCard(p)); });\n      })\n      .catch(function(){ pabWrap.style.display = 'none'; });\n\n    (function(){\n      var LS_KEY = 'deslore_recently_viewed';\n      var currentHandle = 'electric-facial-threader-smooth-hair-removal-at-home';\n      var viewed = [];\n      try { viewed = JSON.parse(localStorage.getItem(LS_KEY) || '[]'); } catch(e){ viewed = []; }\n      viewed = viewed.filter(function(h){ return h \u0026\u0026 h !== currentHandle; });\n      var toShow = viewed.slice(0, 4);\n      viewed.unshift(currentHandle);\n      if (viewed.length \u003e 12) viewed = viewed.slice(0, 12);\n      try { localStorage.setItem(LS_KEY, JSON.stringify(viewed)); } catch(e){}\n\n      if (!toShow.length) { rvWrap.style.display = 'none'; return; }\n      var grid = rvWrap.querySelector('.dq-rv-grid');\n      var loaded = 0;\n      toShow.forEach(function(handle){\n        fetch('\/products\/' + handle + '.js').then(function(r){\n          if (!r.ok) throw new Error('not found');\n          return r.json();\n        }).then(function(p){\n          grid.appendChild(renderCard(p));\n          loaded++;\n          rvWrap.style.display = 'block';\n        }).catch(function(){});\n      });\n    })();\n  }\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n})();\n\u003c\/script\u003e","brand":"Deslore","offers":[{"title":"Default Title","offer_id":54347103305839,"sku":"EFTH-N-GF-ZAM","price":149.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0754\/7034\/0207\/files\/electric-facial-threading-hair-removal-463553.jpg?v=1789914813","url":"https:\/\/www.deslore.com\/products\/electric-facial-threader-smooth-hair-removal-at-home","provider":"Deslore ","version":"1.0","type":"link"}