{"product_id":"trail-product","title":"Trail Product","description":"\u003c!-- WOW PREMIUM SOCIAL PROOF (FINAL – DARKER + LARGER TEXT ONLY) --\u003e\n\u003cdiv class=\"wow-social-proof-text wow-animate-in\"\u003e\n\u003c!-- 🔧 EDIT SOLD COUNT HERE --\u003e\n\u003cdiv class=\"wow-line strong\"\u003e\n\u003cspan class=\"wow-bold\"\u003e50K+ bought\u003c\/span\u003e \u003cspan class=\"wow-normal\"\u003ein past month\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c!-- 🔧 END SOLD COUNT --\u003e \u003c!-- IN STOCK --\u003e\n\u003cdiv class=\"wow-stock-in\"\u003e\n\u003cdiv class=\"wow-line\"\u003e\n\u003cspan class=\"wow-live-dot\"\u003e\u003c\/span\u003e \u003cspan\u003e \u003cspan id=\"wowLiveVisitors\"\u003e100\u003c\/span\u003e people are viewing this product right now \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wow-line muted\"\u003eLimited stock · High demand product\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- OUT OF STOCK --\u003e\n\u003cdiv class=\"wow-stock-out\" style=\"display: none;\"\u003e\n\u003cdiv class=\"wow-line\"\u003e\n\u003cspan class=\"wow-live-dot\"\u003e\u003c\/span\u003e \u003cspan\u003e \u003cspan id=\"wowLiveVisitorsAlt\"\u003e100\u003c\/span\u003e people recently added this product to cart \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wow-line muted\"\u003eHigh demand product\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n\/* ===== PREMIUM INLINE SOCIAL PROOF STYLE ===== *\/\n\n.wow-social-proof-text {\n  margin: 16px 0 20px;\n  padding: 10px 8px;\n\n  \/* PREMIUM HIGHLIGHT *\/\n  background: rgba(0, 200, 83, 0.04);\n  border-left: 3px solid rgba(0, 200, 83, 0.35);\n  border-radius: 6px;\n\n  font-size: 15px;       \/* ⬅️ increased text size *\/\n  line-height: 1.65;     \/* balanced readability *\/\n}\n\n.wow-line {\n  display: flex;\n  align-items: center;\n  color: #2f2f2f;\n  margin-bottom: 8px;\n}\n\n.wow-line:last-child {\n  margin-bottom: 0;\n}\n\n.wow-line.strong {\n  font-weight: 800;\n  color: #111;\n}\n\n.wow-line.muted {\n  color: #444;\n  font-weight: 500;\n}\n\n.wow-bold {\n  font-weight: 600;\n  margin-right: 4px;\n}\n\n.wow-normal {\n  font-weight: 500;\n  color: #2f2f2f;\n}\n\n\/* ===== LIVE GREEN DOT ===== *\/\n.wow-live-dot {\n  width: 8px;\n  height: 8px;\n  background: #00c853;\n  border-radius: 50%;\n  margin-right: 8px;\n  animation: wowLivePulse 2.6s ease-in-out infinite;\n}\n\n@keyframes wowLivePulse {\n  0% {\n    transform: scale(1);\n    box-shadow: 0 0 0 0 rgba(0,200,83,0.45);\n  }\n  70% {\n    transform: scale(1.35);\n    box-shadow: 0 0 0 7px rgba(0,200,83,0);\n  }\n  100% {\n    transform: scale(1);\n    box-shadow: 0 0 0 0 rgba(0,200,83,0);\n  }\n}\n\n\/* ===== SUBTLE FADE-IN (UNCHANGED) ===== *\/\n.wow-animate-in {\n  opacity: 0;\n  transform: translateY(6px);\n  animation: wowFadeUp 0.6s ease-out forwards;\n}\n\n@keyframes wowFadeUp {\n  to {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\u003c\/style\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\u003c\/p\u003e\n\u003cp\u003eyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy\u003c\/p\u003e\n\u003cp\u003ezzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\u003c\/p\u003e\n\n\n\u003cdiv class=\"g-premium-wrapper\"\u003e\n  \u003ch2 class=\"g-main-heading\"\u003eCustomer Reviews\u003c\/h2\u003e\n\n  \u003cdiv class=\"g-header-row g-shine-effect\" id=\"g-summary-section\"\u003e\n    \u003cdiv class=\"g-score-box\"\u003e\n      \u003cdiv class=\"g-big-num\" id=\"tbAverage\"\u003e0.0\u003c\/div\u003e\n      \u003cdiv class=\"g-stars-wrap\"\u003e\n        \u003cdiv class=\"g-stars-gray\"\u003e★★★★★\u003c\/div\u003e\n        \u003cdiv id=\"tbStarFill\" style=\"color:#fbbc04 !important; position:absolute; left:0; top:0; white-space:nowrap; overflow:hidden; width:0%;\"\u003e★★★★★\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"g-count-label\" id=\"tbTotalText\"\u003e0 reviews\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"g-bars-box\" id=\"tbBarContainer\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"g-form-box\"\u003e\n    \u003cdiv class=\"g-form-inputs\"\u003e\n      \u003cinput type=\"text\" id=\"tbName\" placeholder=\"Name\"\u003e\n      \u003cselect id=\"tbRating\"\u003e\n        \u003coption value=\"5\"\u003e5 Stars\u003c\/option\u003e\n        \u003coption value=\"4\"\u003e4 Stars\u003c\/option\u003e\n        \u003coption value=\"3\"\u003e3 Stars\u003c\/option\u003e\n        \u003coption value=\"2\"\u003e2 Stars\u003c\/option\u003e\n        \u003coption value=\"1\"\u003e1 Star\u003c\/option\u003e\n      \u003c\/select\u003e\n    \u003c\/div\u003e\n    \u003ctextarea id=\"tbText\" placeholder=\"Share experience...\"\u003e\u003c\/textarea\u003e\n    \n    \u003cdiv style=\"margin: 10px 0;\"\u003e\n      \u003cinput type=\"file\" id=\"tbFile\" accept=\"image\/*,video\/*\"\u003e\n      \u003cdiv id=\"tbPreview\" style=\"margin-top:10px; display:none;\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"g-action-bar\"\u003e\n      \u003cbutton id=\"tbSubmitBtn\" class=\"g-btn-compact\"\u003eWrite a review\u003c\/button\u003e\n      \u003cselect id=\"tbSort\" class=\"g-sort-ui\"\u003e\n        \u003coption value=\"newest\"\u003eNewest First\u003c\/option\u003e\n        \u003coption value=\"highest\"\u003eHighest Rating\u003c\/option\u003e\n        \u003coption value=\"lowest\"\u003eLowest Rating\u003c\/option\u003e\n      \u003c\/select\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"tbList\" class=\"g-feed\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"g-pagination-center\"\u003e\n    \u003cbutton id=\"tbToggleBtn\" class=\"g-btn-green-compact\"\u003eShow More\u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv id=\"gLightbox\" style=\"display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.9); z-index:99999; justify-content:center; align-items:center; cursor:pointer;\" onclick=\"this.style.display='none'\"\u003e\n    \u003cdiv id=\"gLightboxContent\" style=\"max-width:90%; max-height:90%;\"\u003e\u003c\/div\u003e\n    \u003cspan style=\"position:absolute; top:20px; right:30px; color:#fff; font-size:40px;\"\u003e×\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n.g-premium-wrapper{font-family:'Segoe UI',sans-serif; max-width:750px; margin:15px auto; padding:8px; color:#3c4043; font-size:18px}\n.g-main-heading{font-size:18px; font-weight:700; margin-bottom:15px}\n.g-shine-effect{position:relative; overflow:hidden; background:#fff; border:1px solid #eee; border-radius:12px; display:flex; align-items:center; gap:20px; padding:20px; margin-bottom:20px; box-shadow:0 6px 16px rgba(0,0,0,.06)}\n.g-shine-effect::after {\n  content: \"\"; position: absolute; top: 0; left: -150%; width: 50%; height: 100%;\n  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 100%);\n  transform: skewX(-25deg); animation: shine 3s infinite;\n}\n@keyframes shine { 0% { left: -150%; } 100% { left: 150%; } }\n.g-score-box{text-align:center; min-width:110px; border-right:1px solid #eee; padding-right:20px}\n.g-big-num{font-size:48px; font-weight:700; line-height:1}\n.g-stars-wrap{position:relative; display:inline-block; font-size:18px; color:#ddd}\n.g-bars-box{flex-grow:1}\n.g-bar-row{display:flex; align-items:center; gap:8px; margin-bottom:4px; font-size:14px}\n.g-bar-bg{background:#f1f3f4; height:10px; flex-grow:1; border-radius:10px; overflow:hidden}\n.g-form-box{background:#fff; border:1px solid #eee; border-radius:12px; padding:15px; margin-bottom:20px}\n.g-form-inputs{display:flex; gap:8px; margin-bottom:8px}\n.g-form-inputs input, .g-form-inputs select, textarea, .g-sort-ui{padding:10px; border:1px solid #dadce0; border-radius:6px; font-size:16px}\n.g-form-inputs input, .g-form-inputs select{flex:1}\ntextarea{width:100%; height:60px; resize:none}\n.g-action-bar{display:flex; justify-content:space-between; align-items:center; margin-top:10px}\n.g-btn-compact{background:#1a73e8; color:#fff; border:none; padding:10px 20px; border-radius:6px; font-weight:600; cursor:pointer; font-size:16px}\n.g-btn-green-compact{background:#2e7d32; color:#fff; border:none; padding:10px 25px; border-radius:25px; font-weight:600; cursor:pointer; font-size:16px}\n.g-pagination-center{text-align:center; padding:15px 0}\n.g-rev-card{display:flex; gap:15px; padding:20px 0; border-bottom:1px solid #f1f1f1}\n.g-avatar{width:45px; height:45px; min-width:45px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:600; font-size:16px; text-transform:uppercase}\n.rev-media{width:150px; height:150px; object-fit:cover; border-radius:8px; margin-top:10px; display:block; cursor:zoom-in; background:#000; border:1px solid #ddd}\n\u003c\/style\u003e\n\n\u003cscript src=\"https:\/\/www.gstatic.com\/firebasejs\/9.23.0\/firebase-app-compat.js\"\u003e\u003c\/script\u003e\n\u003cscript src=\"https:\/\/www.gstatic.com\/firebasejs\/9.23.0\/firebase-firestore-compat.js\"\u003e\u003c\/script\u003e\n\n\u003cscript\u003e\n(function() {\n    const names = [\n        \"Aravind Swamy\", \"Rahul\", \"Priya K.\", \"Suresh Raina\", \"Meenakshi Iyer\", \"Deepak\", \"Anjali Sharma\", \"Karthik\", \"Sneha Kapoor\", \"Amitabh\", \"Vikram Rathore\", \"Sonal\", \"Manoj Tiwari\", \"Kavita\", \"Rohan Mehra\", \"Pooja\", \"Arjun\", \"Divya\", \"Sanjay\", \"Nisha Patel\",\n        \"Abhishek\", \"Ishita\", \"Varun\", \"Ritu\", \"Yogesh\", \"Preeti\", \"Alok\", \"Tanuja\", \"Harish\", \"Shreya\", \"Manish\", \"Bhavna\", \"Sandip\", \"Kiran\", \"Nitin\", \"Asha\", \"Pankaj\", \"Lata\", \"Rakesh\", \"Suman\",\n        \"Vivek\", \"Rashmi\", \"Sunil\", \"Anita\", \"Gaurav\", \"Swati\", \"Mahesh\", \"Kalpana\", \"Dinesh\", \"Usha\", \"Pradeep\", \"Leela\", \"Bhaskar\", \"Sarita\", \"Hemant\", \"Radha\", \"Vinay\", \"Maya\", \"Dilip\", \"Indu\",\n        \"Rajesh Varma\", \"Neetu Singh\", \"Vijay Kumar\", \"Komal Jha\", \"Anand\", \"Shanti\", \"Gopal\", \"Rekha\", \"Arvind\", \"Seema\", \"Bharat\", \"Aarti\", \"Shyam\", \"Geeta\", \"Madhav\", \"Kusum\", \"Jitendra\", \"Sudha\", \"Satish\", \"Pushpa\",\n        \"Wowtrends Fan\", \"Harshit\", \"Nayan\", \"Pallavi\", \"Utkarsh\", \"Poonam\", \"Mohit\", \"Anuradha\", \"Tushar\", \"Sangeeta\", \"Ayush\", \"Monika\", \"Piyush\", \"Rupali\", \"Anshul\", \"Jyoti\", \"Lokesh\", \"Vandana\", \"Abhay\", \"Babita\"\n    ];\n\n    const reviews = [\n        \"Excellent!\", \"Good.\", \"Very nice.\", \"Loved it.\", \"Superb quality.\", \"Wowtrends is best brand.\",\n        \"Quality is very high for this price. I am totally satisfied with Wowtrends.\",\n        \"Sticker is strong. The plastic cover is transparent and looks very premium in my bathroom. Delivery was on time.\",\n        \"I was searching for a hygienic toothbrush holder for a long time and finally found this from Wowtrends. It protects brushes from dust and insects perfectly. Highly recommended for families.\",\n        \"Must buy product. Wowtrends service is great.\",\n        \"The brand Wowtrends always delivers genuine products. This holder is no exception. Great quality plastic.\",\n        \"Sticker holds well. Make sure to clean the wall before applying.\",\n        \"I am writing this after using it for 1 month. The quality of the plastic has not faded. It still looks brand new. Best brand for home utility items.\",\n        \"Actually very useful.\",\n        \"Price is very low compared to local market. Wowtrends quality is much better.\",\n        \"Simply amazing product. Easy to install and keeps the brushes very clean and dry. 5 stars to Wowtrends!\",\n        \"Sticker quality is 10\/10. It can carry weight easily.\",\n        \"I bought 3 sets for my house. Everyone loves it.\",\n        \"Honest review: The product is good, sticker is strong, but shipping took 4 days. Product quality wise 5 stars.\",\n        \"Wowtrends is my favorite store now. Cheap and high quality.\",\n        \"Plastic is bit thin but for this price it is acceptable.\",\n        \"Very premium feel.\",\n        \"Clean and tidy.\",\n        \"Wowtrends never disappoints me.\"\n    ];\n\n    if (!firebase.apps.length) firebase.initializeApp({apiKey: \"AIzaSyDnVKyZ4QPiIfLxS9YmADTxBQzGvTUxVGE\", projectId: \"wowtrends-reviews\"});\n    const db = firebase.firestore();\n    const PID = \"123456789\";\n    let data = [], limit = 6, currentFileUrl = \"\", currentFileType = \"\";\n\n    window.openMedia = function(src, type) {\n        const lb = document.getElementById('gLightbox');\n        const content = document.getElementById('gLightboxContent');\n        lb.style.display = 'flex';\n        if (type \u0026\u0026 type.startsWith('video')) {\n            content.innerHTML = `\u003cvideo src=\"${src}\" style=\"max-width:100%; max-height:90vh;\" controls autoplay\u003e\u003c\/video\u003e`;\n        } else {\n            content.innerHTML = `\u003cimg src=\"${src}\" style=\"max-width:100%; max-height:90vh; border-radius:4px;\"\u003e`;\n        }\n    };\n\n    function ui() {\n        const total = data.length;\n        const avg = total \u003e 0 ? (data.reduce((a,b)=\u003ea+b.rating,0)\/total).toFixed(1) : \"0.0\";\n        document.getElementById('tbAverage').innerText = avg;\n        document.getElementById('tbTotalText').innerText = total + \" reviews\";\n        document.getElementById('tbStarFill').style.width = (avg\/5*100) + \"%\";\n        \n        let c = [0,0,0,0,0]; data.forEach(r =\u003e c[r.rating-1]++);\n        document.getElementById('tbBarContainer').innerHTML = [5,4,3,2,1].map(n =\u003e {\n            let p = total \u003e 0 ? Math.round((c[n-1]\/total)*100) : 0;\n            return `\u003cdiv class=\"g-bar-row\"\u003e\u003cspan\u003e${n}\u003c\/span\u003e\u003cdiv class=\"g-bar-bg\"\u003e\u003cdiv style=\"height:100%; width:${p}%; display:block; background:#fbbc04 !important; background-color:#fbbc04 !important; background-image:none !important; border-radius:10px;\"\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cspan\u003e${p}%\u003c\/span\u003e\u003c\/div\u003e`;\n        }).join(\"\");\n\n        const sort = document.getElementById('tbSort').value;\n        data.sort((a,b) =\u003e sort===\"highest\"? b.rating-a.rating : sort===\"lowest\"? a.rating-b.rating : b.date-a.date);\n\n        document.getElementById('tbToggleBtn').innerText = (limit \u003e= data.length) ? \"Close\" : \"Show More\";\n\n        document.getElementById('tbList').innerHTML = data.slice(0, limit).map((r, i) =\u003e {\n            const colors = [\"#4285F4\", \"#34A853\", \"#FBBC05\", \"#EA4335\"];\n            const ini = r.name.trim().includes(\" \") ? (r.name.split(\" \")[0][0] + (r.name.split(\" \")[1] ? r.name.split(\" \")[1][0] : \"\")) : r.name[0];\n            let mediaHtml = r.file ? `\u003cdiv onclick=\"openMedia('${r.file}', '${r.fileType}')\"\u003e${r.fileType \u0026\u0026 r.fileType.startsWith('video') ? `\u003cvideo src=\"${r.file}\" class=\"rev-media\"\u003e\u003c\/video\u003e` : `\u003cimg src=\"${r.file}\" class=\"rev-media\"\u003e`}\u003c\/div\u003e` : \"\";\n            return `\u003cdiv class=\"g-rev-card\"\u003e\u003cdiv class=\"g-avatar\" style=\"background:${colors[i%4]}\"\u003e${ini}\u003c\/div\u003e\u003cdiv style=\"flex:1\"\u003e\u003cb style=\"font-size:18px\"\u003e${r.name}\u003c\/b\u003e\u003cdiv style=\"color:#fbbc04; font-size:14px\"\u003e${\"★\".repeat(r.rating)}\u003c\/div\u003e\u003cdiv style=\"font-size:16px; color:#4d5156\"\u003e${r.text}\u003c\/div\u003e${mediaHtml}\u003c\/div\u003e\u003c\/div\u003e`;\n        }).join(\"\");\n    }\n\n    async function load() {\n        const snap = await db.collection(\"reviews\").where(\"pid\", \"==\", PID).get();\n        let fb = []; snap.forEach(d =\u003e fb.push(d.data()));\n        let base = [];\n        for(let i=0; i\u003c200; i++) {\n            \/\/ Star logic: \u003e90% 5 stars, rest 4, 3, 2\n            let star = i \u003c 182 ? 5 : (i \u003c 194 ? 4 : (i \u003c 198 ? 3 : 2));\n            base.push({\n                name: names[i % names.length], \n                text: reviews[i % reviews.length], \n                rating: star, \n                date: Date.now() - (i * 3600000 * 5), \n                pid: PID, file: \"\", fileType: \"\"\n            });\n        }\n        data = [...fb, ...base]; ui();\n    }\n\n    document.getElementById('tbFile').onchange = (e) =\u003e {\n        const file = e.target.files[0];\n        if (file) {\n            const reader = new FileReader();\n            reader.onload = (ev) =\u003e {\n                currentFileUrl = ev.target.result;\n                currentFileType = file.type;\n                const pre = document.getElementById('tbPreview');\n                pre.style.display = \"block\";\n                pre.innerHTML = file.type.startsWith('video') ? `\u003cvideo src=\"${currentFileUrl}\" style=\"height:80px;\" muted\u003e\u003c\/video\u003e` : `\u003cimg src=\"${currentFileUrl}\" style=\"height:80px; border-radius:5px;\"\u003e`;\n            };\n            reader.readAsDataURL(file);\n        }\n    };\n\n    document.getElementById('tbSubmitBtn').onclick = () =\u003e {\n        const nInput = document.getElementById('tbName'), tInput = document.getElementById('tbText'), rInput = document.getElementById('tbRating');\n        const n = nInput.value.trim(), t = tInput.value.trim(), r = parseInt(rInput.value);\n        if(n \u0026\u0026 t) {\n            const newRev = {pid:PID, name:n, text:t, rating:r, date:Date.now(), file:currentFileUrl, fileType:currentFileType};\n            db.collection(\"reviews\").add(newRev).then(() =\u003e {\n                data.unshift(newRev);\n                currentFileUrl = \"\"; currentFileType = \"\";\n                document.getElementById('tbPreview').style.display = \"none\";\n                document.getElementById('tbFile').value = \"\";\n                nInput.value = \"\"; tInput.value = \"\";\n                limit = 6; ui();\n            });\n        } else { alert(\"Please fill details.\"); }\n    };\n\n    document.getElementById('tbSort').onchange = () =\u003e { limit = 6; ui(); };\n    document.getElementById('tbToggleBtn').onclick = () =\u003e { \n        if (limit \u003e= data.length) {\n            limit = 6; document.getElementById('g-summary-section').scrollIntoView({ behavior: 'smooth' });\n        } else { limit += 6; }\n        ui(); \n    };\n    load();\n})();\n\u003c\/script\u003e","brand":"WowTrends","offers":[{"title":"Default Title","offer_id":47380255998164,"sku":"123456789","price":100.0,"currency_code":"INR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0791\/7839\/9956\/files\/licensed-image_4f14eeed-adb5-49ff-8ced-20c6e5ed7529.jpg?v=1766249054","url":"https:\/\/www.escosh.com\/products\/trail-product","provider":"ESCOSH","version":"1.0","type":"link"}