/* NHC header nuke v8b */
body.single-product:has([class*="nhc-pdp"]) #site-header,
body.single-product:has([class*="nhc-pdp"]) header#site-header,
body.single-product:has([class*="nhc-pdp"]) header.site-header,
body.single-product:has([class*="nhc-pdp"]) .site-header,
body.single-product:has([class*="nhc-pdp"]) .dynamic-header,
body.single-product:has([class*="nhc-pdp"]) .elementor-location-header,
body.single-product:has([class*="nhc-pdp"]) header.site-header .header-inner,
body.single-product:has([class*="nhc-pdp"]) .e-con.e-parent:not(:has([class*="nhc-pdp"])),
body.single-product:has([class*="nhc-pdp"]) .elementor-widget:not(:has([class*="nhc-pdp"])):not(.elementor-widget-html) {
display:none!important; visibility:hidden!important; height:0!important; max-height:0!important; overflow:hidden!important; margin:0!important; padding:0!important; border:0!important;
}
body.single-product:has([class*="nhc-pdp"]) .e-con.e-parent:has([class*="nhc-pdp"]),
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-html:has([class*="nhc-pdp"]) {
width:100%!important; max-width:100%!important; flex:1 1 100%!important;
}
/* NHC final-pass hide leftovers (v8) — explore more + shopengine + default chrome */
body.single-product:has([class*="nhc-pdp"]) [class*="shopengine"],
body.single-product:has([class*="nhc-pdp"]) .shopengine-widget,
body.single-product:has([class*="nhc-pdp"]) .woocommerce-product-gallery,
body.single-product:has([class*="nhc-pdp"]) .summary.entry-summary,
body.single-product:has([class*="nhc-pdp"]) .product > .summary,
body.single-product:has([class*="nhc-pdp"]) .entry-summary,
body.single-product:has([class*="nhc-pdp"]) .related.products,
body.single-product:has([class*="nhc-pdp"]) .upsells.products,
body.single-product:has([class*="nhc-pdp"]) #reviews,
body.single-product:has([class*="nhc-pdp"]) .woocommerce-Reviews,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-related,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-upsells,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-data-tabs,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-additional-information,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-images,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-price,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-add-to-cart,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-title,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-rating,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-meta,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-short-description,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-content,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-heading,
body.single-product:has([class*="nhc-pdp"]) .elementor-heading-title,
body.single-product:has([class*="nhc-pdp"]) .elementor-element-4b5316f,
body.single-product:has([class*="nhc-pdp"]) .elementor-element-80785e7,
body.single-product:has([class*="nhc-pdp"]) .elementor-element-4e68253,
body.single-product:has([class*="nhc-pdp"]) .e-con.e-parent:not(:has([class*="nhc-pdp"])) {
display:none!important;
height:0!important;
overflow:hidden!important;
margin:0!important;
padding:0!important;
border:0!important;
}
/* nuke default single-product chrome so only custom NHC PDP shows */
body.single-product:has([class*="nhc-pdp"]) .product .woocommerce-product-gallery,
body.single-product:has([class*="nhc-pdp"]) .product > .images,
body.single-product:has([class*="nhc-pdp"]) .product > .summary,
body.single-product:has([class*="nhc-pdp"]) .product > .entry-summary,
body.single-product:has([class*="nhc-pdp"]) .entry-summary,
body.single-product:has([class*="nhc-pdp"]) .summary.entry-summary,
body.single-product:has([class*="nhc-pdp"]) .woocommerce-tabs,
body.single-product:has([class*="nhc-pdp"]) .woocommerce-Tabs-panel,
body.single-product:has([class*="nhc-pdp"]) .related.products,
body.single-product:has([class*="nhc-pdp"]) .upsells.products,
body.single-product:has([class*="nhc-pdp"]) .woocommerce-breadcrumb,
body.single-product:has([class*="nhc-pdp"]) form.cart,
body.single-product:has([class*="nhc-pdp"]) .variations_form,
body.single-product:has([class*="nhc-pdp"]) .product_meta,
body.single-product:has([class*="nhc-pdp"]) .woocommerce-product-rating,
body.single-product:has([class*="nhc-pdp"]) .woocommerce-Reviews,
body.single-product:has([class*="nhc-pdp"]) #reviews,
body.single-product:has([class*="nhc-pdp"]) .shopengine-single-product-gallery,
body.single-product:has([class*="nhc-pdp"]) .shopengine-product-title,
body.single-product:has([class*="nhc-pdp"]) .shopengine-product-price,
body.single-product:has([class*="nhc-pdp"]) .shopengine-add-to-cart,
body.single-product:has([class*="nhc-pdp"]) .shopengine-product-categories,
body.single-product:has([class*="nhc-pdp"]) .shopengine-tabs,
body.single-product:has([class*="nhc-pdp"]) .shopengine-related,
body.single-product:has([class*="nhc-pdp"]) .woolentor-related,
body.single-product:has([class*="nhc-pdp"]) .eael-woo-product-*,
body.single-product:has([class*="nhc-pdp"]) .ast-woocommerce-container > .product > *:not(:has([class*="nhc-pdp"])),
body:has([class*="nhc-pdp"]) #masthead,
body:has([class*="nhc-pdp"]) header.site-header,
body:has([class*="nhc-pdp"]) .elementor-location-header,
body:has([class*="nhc-pdp"]) .main-header-bar,
body:has([class*="nhc-pdp"]) .ast-above-header,
body:has([class*="nhc-pdp"]) .site-header,
body:has([class*="nhc-pdp"]) .announcer {display:none!important}
body.single-product:has([class*="nhc-pdp"]) .product {display:block!important}
body.single-product:has([class*="nhc-pdp"]) [class*="nhc-pdp"] {display:block!important;width:100%;max-width:100%}
/* hide any leftover "Explore more / reviews" text blocks often injected below */
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-related,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-upsells,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-additional-information,
body.single-product:has([class*="nhc-pdp"]) .elementor-widget-woocommerce-product-data-tabs {display:none!important}
/* legacy .table contrast overrides removed */
@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap');
body:has(.nhc-pdp-duo) #masthead,body:has(.nhc-pdp-duo) header.site-header,body:has(.nhc-pdp-duo) .elementor-location-header,body:has(.nhc-pdp-duo) .elementor-location-footer,body:has(.nhc-pdp-duo) .announcer,body:has(.nhc-pdp-duo) .site-footer,body:has(.nhc-pdp-duo) footer.site-footer{display:none!important}
body:has(.nhc-pdp-duo) .site-content,body:has(.nhc-pdp-duo) #content,body:has(.nhc-pdp-duo) .ast-container,body:has(.nhc-pdp-duo) .elementor-section.elementor-section-boxed>.elementor-container,body:has(.nhc-pdp-duo) .e-con-inner{max-width:100%!important;width:100%!important;padding-left:0!important;padding-right:0!important}
.nhc-pdp-duo{--c:#f4efe4;--f:#2f4a3c;--d:#24382e;--g:#c6a048;--m:#6f675c;background:var(--c);color:#1a1714;font:15px/1.45 Figtree,system-ui,sans-serif;margin:0;width:100%;overflow-x:hidden}
.nhc-pdp-duo *{box-sizing:border-box}.nhc-pdp-duo h1,.nhc-pdp-duo h2,.nhc-pdp-duo h3{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.08;margin:0;color:var(--d)}.nhc-pdp-duo a{text-decoration:none;color:inherit}
.topbar{background:var(--d);color:var(--g);text-align:center;padding:9px 14px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}
.hdr{background:var(--c);border-bottom:1px solid #e0d6c4;position:sticky;top:0;z-index:40}
.hdr-row{display:flex;align-items:center;gap:14px;padding:12px clamp(14px,4vw,40px)}
.brand{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.brand img{width:52px;height:52px;object-fit:contain;border-radius:50%}
.brand-txt strong{display:block;font:700 15px Figtree,sans-serif;color:var(--d)}.brand-txt em{display:block;font:500 11px/1.3 Figtree,sans-serif;color:var(--m);font-style:normal;margin-top:2px}
.hdr-actions{display:flex;gap:8px}.icon-btn{position:relative;width:42px;height:42px;border-radius:12px;border:1px solid #d7cdb8;background:#f8f3e9;display:inline-flex;align-items:center;justify-content:center;color:var(--d)}
.icon-btn svg{width:20px;height:20px}.cart-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--g);color:var(--d);font:800 10px Figtree,sans-serif;display:none;align-items:center;justify-content:center}
.nav{display:flex;flex-wrap:wrap;gap:8px;padding:0 clamp(14px,4vw,40px) 12px}.nav a{padding:9px 14px;border-radius:999px;background:var(--d);color:var(--c);font-size:12px;font-weight:700}
.nav a.active,.nav a[aria-current="page"]{background:var(--g)!important;color:var(--d)!important}
.search{padding:0 clamp(14px,4vw,40px) 14px}.search form{display:flex;position:relative;background:#fff;border:1px solid #d7cdb8;border-radius:14px}
.search input{flex:1;border:0;padding:13px 14px;font:500 14px Figtree,sans-serif;outline:none;min-width:0;background:transparent}.search button{border:0;background:var(--f);color:#f4efe4;padding:13px 18px;font-weight:700;font-size:13px;border-radius:0 14px 14px 0}
.foot{background:var(--d);color:#d9dfd6;padding:48px clamp(18px,5vw,72px) 24px}.fg{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.foot h4{color:var(--g);font:700 11px Figtree,sans-serif;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 12px}
.foot a,.foot p{color:#d9dfd6;font-size:14px;line-height:1.7;margin:0;display:block}.copy{border-top:1px solid #3a4a41;margin-top:28px;padding-top:16px;font-size:12px;color:#9aaaa0;text-align:center}
body:has(.nhc-pdp-duo) .fkcart-floating-btn{width:58px!important;height:58px!important;border-radius:18px!important;background:#24382e!important;border:2px solid #c6a048!important;box-shadow:0 12px 28px rgba(36,56,46,.35)!important}
body:has(.nhc-pdp-duo) .fkcart-floating-count,body:has(.nhc-pdp-duo) .fkcart-item-count{background:#c6a048!important;color:#24382e!important;font-weight:800!important}
.qty-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.qty-btn{width:36px;height:36px;border-radius:10px;border:1px solid #d7cdb8;background:#fff;font-weight:800;cursor:pointer;color:var(--d)}
.qty-val{width:42px;border:1px solid #d7cdb8;border-radius:10px;text-align:center;font-weight:800;height:36px}
.add{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:12px;background:var(--f);color:#f4efe4!important;font-weight:700;font-size:13px;width:100%;border:0;cursor:pointer}
.add.disabled{background:#9a948a;pointer-events:none}.wa{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:12px;background:#128C7E;color:#fff!important;font-weight:700;font-size:13px;width:100%;margin-top:8px}
@media(max-width:767px){.fg{grid-template-columns:1fr}.nav a{padding:8px 12px;font-size:11px}}
body.single-product:has([class*="nhc-pdp"]) .product>.images,body.single-product:has([class*="nhc-pdp"]) .woocommerce-product-gallery,body.single-product:has([class*="nhc-pdp"]) .product>.summary,body.single-product:has([class*="nhc-pdp"]) .entry-summary,body.single-product:has([class*="nhc-pdp"]) .woocommerce-tabs,body.single-product:has([class*="nhc-pdp"]) .related.products,body.single-product:has([class*="nhc-pdp"]) .upsells,body.single-product:has([class*="nhc-pdp"]) .woocommerce-breadcrumb,body.single-product:has([class*="nhc-pdp"]) form.cart,body.single-product:has([class*="nhc-pdp"]) .variations_form,body.single-product:has([class*="nhc-pdp"]) .product_meta,body.single-product:has([class*="nhc-pdp"]) .woocommerce-product-rating,body.single-product:has([class*="nhc-pdp"]) .woocommerce-Reviews,body.single-product:has([class*="nhc-pdp"]) #reviews,body:has([class*="nhc-pdp"]) #masthead,body:has([class*="nhc-pdp"]) header.site-header,body:has([class*="nhc-pdp"]) .elementor-location-header{display:none!important}
.page-label{padding:22px clamp(18px,5vw,72px) 4px;display:flex;flex-direction:column;gap:6px}
.page-label-ey{display:block;color:#9b7a30;font:800 11px Figtree,sans-serif;letter-spacing:1.8px;text-transform:uppercase}
.page-label strong{display:block;font:600 clamp(22px,3vw,32px)/1.15 Fraunces,Georgia,serif;color:#24382e;letter-spacing:-0.02em;text-transform:none}
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:18px clamp(18px,5vw,72px) 40px;align-items:start}
.gallery{position:relative;background:#f8f3e9;border:1px solid #ddd4c4;border-radius:22px;padding:18px;min-height:420px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gallery img{width:100%;max-height:480px;object-fit:contain;position:relative;z-index:2}
.sunbeam{position:absolute;inset:-20%;background:conic-gradient(from 200deg,rgba(255,233,168,0),rgba(255,233,168,.28),rgba(255,233,168,0) 35%);animation:spin 14s linear infinite;z-index:1}
.drop{position:absolute;width:10px;height:14px;background:radial-gradient(circle at 30% 30%,#d7c089,#8a6a2a);border-radius:50% 50% 50% 0;transform:rotate(-40deg);opacity:.75;animation:drop 4.5s ease-in-out infinite;z-index:3}
.drop:nth-child(3){left:18%;top:20%;animation-delay:.4s}.drop:nth-child(4){right:16%;top:35%;animation-delay:1.2s;width:8px;height:11px}.drop:nth-child(5){left:40%;bottom:18%;animation-delay:2s}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes drop{0%,100%{transform:rotate(-40deg) translateY(0);opacity:.35}50%{transform:rotate(-40deg) translateY(14px);opacity:.9}}
.info .ey{color:#9b7a30;font:700 12px Figtree,sans-serif;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:10px}
.info h1{font-size:clamp(30px,4vw,46px);margin-bottom:12px}.lead{color:#514a42;margin:0 0 18px}
.price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}.now{font-weight:800;font-size:32px;color:var(--d)}.mrp{font-size:16px;color:#8a8276;text-decoration:line-through}.off{font-size:12px;font-weight:700;color:#6b3a3a;background:#f3e0e0;padding:4px 8px;border-radius:6px}
.trust{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.trust span{background:#ebe4d4;border:1px solid #d7cdb8;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;color:var(--d)}
.pdp-actions{max-width:420px}.specs{margin-top:18px;background:#fff;border:1px solid #ddd4c4;border-radius:16px;padding:16px}.specs h4{margin:0 0 10px;font:700 13px Figtree,sans-serif;color:var(--d);letter-spacing:.4px;text-transform:uppercase}.specs ul{margin:0;padding-left:18px;color:#514a42}.specs li{margin:6px 0}
.section{padding:8px clamp(18px,5vw,72px) 48px}.section h2{font-size:clamp(26px,3.5vw,36px);margin-bottom:16px}
.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:28px}.benefit{background:#f8f3e9;border:1px solid #ddd4c4;border-radius:16px;padding:16px}.benefit strong{display:block;margin-bottom:6px;color:var(--d)}.benefit p{margin:0;color:#514a42;font-size:13px}
/* .table legacy neutralized — use .ings cards */
.ings{display:grid;gap:0;border:1px solid #2f4a3c;border-radius:16px;overflow:hidden;margin:0 0 28px}
.ing{display:grid;grid-template-columns:minmax(120px,0.42fr) 1fr;gap:0;border-bottom:1px solid #d7e0d9}
.ing:last-child{border-bottom:0}
.ing strong{display:block;padding:14px 16px;background:#1a2a22;color:#f4efe4;font:800 14px Figtree,sans-serif}
.ing span{display:block;padding:14px 16px;background:#fff;color:#1a1714;font:600 14px Figtree,sans-serif}
.pdp-actions .add,.pdp-actions .wa,.pdp-actions .qty-btn{pointer-events:auto;z-index:5;position:relative}
.howto,.caution{background:#eee6d7;border-radius:16px;padding:20px;margin-bottom:16px}
.related{padding:0 clamp(18px,5vw,72px) 56px}.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rcard{background:#f8f3e9;border:1px solid #ddd4c4;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.rcard img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#f3eee4;padding:8px}.rcard .b{padding:14px;display:flex;flex-direction:column;gap:8px;flex:1}
@media(max-width:767px){.pdp,.benefits,.rgrid{grid-template-columns:1fr}.gallery{min-height:280px}}
AYUSH Approved·GMP Certified
Know your formulaInside this bottle
Oil + Roll On · Best value
Pain Relief Duo
Includes Newgen Rapid Pain Relief Oil + Rapid Pain Relief Roll On. Best-value pain pair at ₹449.
₹449₹768Save ₹319
AYUSH formulaExternal useGMP checked
Product facts
- Net volume: 100 ml
- Form: Massage oil (external use)
- Use: Joint & muscle comfort
- Ships across India
Secure checkout · Support on WhatsApp
Why customers choose it
Rapid reliefTargets joints, knees, back and muscles.
Classical herbsShallaki, Nirgundi, Guggulu and more.
Deep penetrationGandhpura, Camphor, Menthol, Clove.
Skin-nourishing baseTil (sesame) oil massages smoothly.
Key ingredients
Shallaki (Boswellia)Reduces swelling & pain
NirgundiLocal anti-inflammatory
GugguluJoint health support
Ashwagandha + HadjodStrength & joint support
Gandhpura + Camphor + MentholDeep-penetrating relief
Til (Sesame) OilNourishing base
How to use
- Apply a small amount to the affected area.
- Massage gently for 5–10 minutes.
- Use 2–3 times a day, or as advised.
Caution
- For external use only.
- Do not apply on broken skin.
- Avoid eyes.
- Keep away from children.
(function(){
if (window.__NHC_STORE_BOUND_V9__) return;
window.__NHC_STORE_BOUND_V9__ = true;
var PRODUCTS = [
{id:1445, keys:['oil','pain oil','pain relief','rapid pain','joint','knee'], url:'/product/rapid-pain-relief-oil/', name:'Newgen Rapid Pain Relief Oil', price:299, img:'oil-v2.png'},
{id:2004, keys:['roll','roll on','roll-on','rollon'], url:'/product/rapid-pain-relief-roll-on/', name:'Newgen Rapid Pain Relief Roll On', price:199, img:'rollon.png'},
{id:1462, keys:['shampoo','onion','hair'], url:'/product/onion-luxe-shampoo/', name:'Onion Luxe Shampoo', price:249, oos:true, img:'shampoo.png'},
{id:1460, keys:['kabz','constipation','powder','digestion'], url:'/product/kabz-sanjeevani-powder/', name:'Kabz Sanjeevani Constipation Powder', price:199, oos:true, img:'kabz.png'},
{id:2018, keys:['duo','combo'], url:'/product/pain-relief-duo/', name:'Pain Relief Duo', price:449, duo:true, img:'duo-banner.png'}
];
function toast(msg){
var t = document.getElementById('nhc-toast');
if(!t){
t = document.createElement('div');
t.id = 'nhc-toast';
t.setAttribute('style','position:fixed;left:50%;bottom:88px;transform:translateX(-50%);background:#24382e;color:#f4efe4;padding:14px 18px;border-radius:14px;font:700 14px Figtree,system-ui,sans-serif;z-index:2147483647;box-shadow:0 12px 40px rgba(0,0,0,.25);opacity:0;transition:opacity .2s;pointer-events:none');
document.body.appendChild(t);
}
t.textContent = msg;
t.style.opacity = '1';
clearTimeout(t._h);
t._h = setTimeout(function(){ t.style.opacity = '0'; }, 2200);
}
function setCounts(n){
n = n || 0;
var nodes = document.querySelectorAll('[data-nhc-cart-count], .fkcart-floating-count, .fkcart-item-count, .fkcart__count, .fkcart-count');
for (var i=0;i<nodes.length;i++){
var el = nodes[i];
el.textContent = n ? String(n) : (el.hasAttribute('data-nhc-cart-count') ? '' : '0');
if (el.hasAttribute('data-nhc-cart-count')) el.style.display = n ? 'inline-flex' : 'none';
}
}
function refreshCartBadge(){
fetch('/wp-json/wc/store/v1/cart', {credentials:'same-origin', headers:{'Accept':'application/json'}})
.then(function(r){ return r.json(); })
.then(function(cart){
var n = 0;
var items = (cart && cart.items) || [];
for (var i=0;i<items.length;i++) n += (items[i].quantity || 0);
setCounts(n);
}).catch(function(){});
}
function addToCart(id, qty, label){
id = String(id); qty = parseInt(qty,10) || 1;
toast('Adding…');
// 1) Woo AJAX
var body = 'product_id=' + encodeURIComponent(id) + '&quantity=' + encodeURIComponent(qty);
return fetch('/?wc-ajax=add_to_cart', {
method:'POST',
headers:{'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'},
body: body,
credentials:'same-origin'
}).then(function(r){ return r.json().catch(function(){ return null; }); })
.then(function(data){
if (data && !data.error) {
toast(label || 'Added to cart');
refreshCartBadge();
try { document.body.dispatchEvent(new Event('wc_fragment_refresh')); } catch(e){}
try { if (window.jQuery) { jQuery(document.body).trigger('added_to_cart', [data.fragments, data.cart_hash]); jQuery(document.body).trigger('wc_fragment_refresh'); } } catch(e){}
return data;
}
// 2) Store API
return fetch('/wp-json/wc/store/v1/cart/add-item', {
method:'POST',
credentials:'same-origin',
headers:{'Content-Type':'application/json', 'Accept':'application/json'},
body: JSON.stringify({id: parseInt(id,10), quantity: qty})
}).then(function(r){
if (!r.ok) throw new Error('store api fail');
return r.json();
}).then(function(){
toast(label || 'Added to cart');
refreshCartBadge();
}).catch(function(){
// 3) classic redirect fallback
return fetch('/?add-to-cart=' + encodeURIComponent(id) + '&quantity=' + encodeURIComponent(qty), {credentials:'same-origin'})
.then(function(){ toast(label || 'Added to cart'); refreshCartBadge(); });
});
}).catch(function(){
return fetch('/?add-to-cart=' + encodeURIComponent(id) + '&quantity=' + encodeURIComponent(qty), {credentials:'same-origin'})
.then(function(){ toast(label || 'Added to cart'); refreshCartBadge(); });
});
}
function findQty(fromEl){
var wrap = fromEl.closest('[data-product-wrap], .card, .info, .duo, .rcard, .pdp-actions, .body, article') || fromEl.parentElement;
if (!wrap) return 1;
var qtyEl = wrap.querySelector('[data-qty]');
if (!qtyEl) return 1;
var n = parseInt(qtyEl.value != null ? qtyEl.value : qtyEl.textContent, 10);
return isNaN(n) || n < 1 ? 1 : Math.min(20, n);
}
function changeQty(btn, delta){
var wrap = btn.closest('[data-product-wrap], .card, .info, .duo, .rcard, .pdp-actions, .body, .qty-row, article') || btn.parentElement;
if (!wrap) return;
var qtyEl = wrap.querySelector('[data-qty]');
if (!qtyEl) return;
var n = parseInt(qtyEl.value != null ? qtyEl.value : qtyEl.textContent, 10) || 1;
n = Math.max(1, Math.min(20, n + delta));
if ('value' in qtyEl) qtyEl.value = n; else qtyEl.textContent = String(n);
}
function waLink(name, price, url){
var text = 'Namaste Newgen,%0A%0AI want to buy:%0A*' + encodeURIComponent(name || 'Newgen product') + '*%0APrice: ₹' + (price || '') + '%0ALink: ' + encodeURIComponent(url || location.href) + '%0A%0APlease confirm availability and delivery.';
return 'https://wa.me/919812108786?text=' + text;
}
function matchProduct(q){
q = (q || '').toLowerCase().trim();
if (!q) return null;
for (var i=0;i<PRODUCTS.length;i++){
var p = PRODUCTS[i];
if (p.name.toLowerCase().indexOf(q) !== -1) return p;
for (var k=0;k<p.keys.length;k++){
if (p.keys[k].indexOf(q) !== -1 || q.indexOf(p.keys[k]) !== -1) return p;
}
}
return null;
}
function wireSearchForms(){
var forms = document.querySelectorAll('.search form, form[role="search"]');
for (var i=0;i<forms.length;i++){
var form = forms[i];
if (form.dataset.nhcSearch) continue;
form.dataset.nhcSearch = '1';
var input = form.querySelector('input[type="search"], input[name="q"], input[name="s"]');
if (!input) continue;
var box = document.createElement('div');
box.setAttribute('style','display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #d7cdb8;border-radius:14px;z-index:80;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.1)');
form.style.position = 'relative';
form.appendChild(box);
function render(){
var q = input.value.trim();
if (q.length < 2){ box.style.display='none'; return; }
var hits = [];
for (var j=0;j<PRODUCTS.length;j++){
var p = PRODUCTS[j];
var qq = q.toLowerCase();
var ok = p.name.toLowerCase().indexOf(qq) !== -1;
if (!ok) for (var k=0;k<p.keys.length;k++) if (p.keys[k].indexOf(qq)!==-1 || qq.indexOf(p.keys[k])!==-1) ok=true;
if (ok) hits.push(p);
}
hits = hits.slice(0,6);
if (!hits.length){ box.innerHTML = '
No match — try oil, roll on, shampoo, kabz
'; box.style.display='block'; return; }
var html = '';
for (var h=0;h<hits.length;h++){
var x = hits[h];
html += '
'+(x.oos?'OOS · ':'')+x.name+' ₹'+x.price+'';
}
box.innerHTML = html; box.style.display='block';
}
input.addEventListener('input', render);
input.addEventListener('focus', render);
form.addEventListener('submit', function(e){
e.preventDefault();
var p = matchProduct(input.value);
if (p) location.href = p.url;
else location.href = '/shop/?q=' + encodeURIComponent(input.value);
});
}
}
function markActiveNav(){
var path = (location.pathname || '/').replace(/\/$/,'') || '/';
var links = document.querySelectorAll('.nav a');
for (var i=0;i<links.length;i++){
var a = links[i];
var href = (a.getAttribute('href')||'').replace(/\/$/,'') || '/';
var on = false;
if (href === '/' && path === '/') on = true;
else if (href !== '/' && path.indexOf(href) === 0) on = true;
if (href.indexOf('shop') !== -1 && (path.indexOf('shop') !== -1 || path.indexOf('/product/') === 0)) on = true;
a.classList.toggle('active', on);
if (on) a.setAttribute('aria-current','page'); else a.removeAttribute('aria-current');
}
}
// EVENT DELEGATION — works even if Elementor re-renders
document.addEventListener('click', function(e){
var t = e.target;
if (!t || !t.closest) return;
var minus = t.closest('[data-qty-minus]');
if (minus){ e.preventDefault(); e.stopPropagation(); changeQty(minus, -1); return; }
var plus = t.closest('[data-qty-plus]');
if (plus){ e.preventDefault(); e.stopPropagation(); changeQty(plus, 1); return; }
var addBtn = t.closest('[data-add]');
if (addBtn){
e.preventDefault(); e.stopPropagation();
if (addBtn.classList.contains('disabled')) return;
var id = addBtn.getAttribute('data-add');
if (!id) return;
var qty = findQty(addBtn);
var label = addBtn.getAttribute('data-added-label') || 'Added to cart';
var old = addBtn.textContent;
addBtn.textContent = 'Adding…';
addToCart(id, qty, label).finally(function(){
addBtn.textContent = 'Added ✓';
setTimeout(function(){ addBtn.textContent = old; }, 1400);
});
return;
}
var wa = t.closest('[data-wa-buy]');
if (wa){
e.preventDefault(); e.stopPropagation();
var href = waLink(wa.getAttribute('data-wa-buy'), wa.getAttribute('data-wa-price'), wa.getAttribute('data-wa-url') || location.href);
window.open(href, '_blank');
return;
}
}, true);
function boot(){
wireSearchForms();
markActiveNav();
refreshCartBadge();
// hydrate wa hrefs
var was = document.querySelectorAll('[data-wa-buy]');
for (var i=0;i<was.length;i++){
var a = was[i];
a.setAttribute('href', waLink(a.getAttribute('data-wa-buy'), a.getAttribute('data-wa-price'), a.getAttribute('data-wa-url') || location.href));
a.setAttribute('target','_blank');
a.setAttribute('rel','noopener');
}
var q = new URLSearchParams(location.search).get('q') || new URLSearchParams(location.search).get('s');
if (q && location.pathname.indexOf('shop') !== -1){
var p = matchProduct(q);
if (p) location.replace(p.url);
}
}
if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot);
else boot();
setTimeout(boot, 800);
setInterval(refreshCartBadge, 10000);
window.NHCStore = { addToCart:addToCart, toast:toast, refreshCartBadge:refreshCartBadge, matchProduct:matchProduct, PRODUCTS:PRODUCTS };
})();