(function () {
var CSS = ""
+ ".im-sticky-buybar{display:none;position:fixed;bottom:0;left:0;right:0;"
+ "z-index:99999;background:#ffffff;box-shadow:0 -2px 12px rgba(0,0,0,0.18);"
+ "padding:10px 14px;align-items:center;justify-content:space-between;gap:10px;"
+ "box-sizing:border-box;}"
+ ".im-sticky-buybar.im-visible{display:flex;}"
+ ".im-sticky-price{font-weight:700;font-size:16px;color:#111111;white-space:nowrap;"
+ "overflow:hidden;text-overflow:ellipsis;max-width:90px;}"
+ ".im-sticky-actions{display:flex;gap:8px;flex:1;justify-content:flex-end;}"
+ ".im-sticky-btn{padding:11px 16px;border-radius:6px;font-weight:600;font-size:14px;"
+ "border:none;cursor:pointer;flex:1;max-width:160px;}"
+ ".im-sticky-cart{background:#ffffff;border:1.5px solid #111111;color:#111111;}"
+ ".im-sticky-buy{background:#f5a623;color:#111111;}"
+ "@media (min-width:768px){.im-sticky-buybar{display:none !important;}}"
+ ".im-buy-now-btn{margin-left:8px;padding:11px 20px;border-radius:6px;font-weight:600;"
+ "font-size:14px;border:none;cursor:pointer;background:#f5a623;color:#111111;"
+ "vertical-align:middle;}"
+ ".im-buy-now-btn[disabled]{opacity:0.6;cursor:default;}"
+ "@media (max-width:480px){.im-buy-now-btn{display:block;margin-left:0;margin-top:8px;width:100%;}}";
function injectCss() {
if (document.getElementById('im-injected-styles')) return;
var styleEl = document.createElement('style');
styleEl.id = 'im-injected-styles';
styleEl.textContent = CSS;
document.head.appendChild(styleEl);
}
var ADD_TO_CART_WORDS = ['add to cart', 'add to bag'];
var BUY_NOW_WORDS = ['buy now'];
function textMatches(el, wordList) {
var t = (el.textContent || '').trim().toLowerCase();
if (!t || t.length > 40) return false;
for (var i = 0; i < wordList.length; i++) {
if (t.indexOf(wordList[i]) !== -1) return true;
}
return false;
}
function findButton(wordList) {
var candidates = document.querySelectorAll('button, a');
for (var i = 0; i < candidates.length; i++) {
if (textMatches(candidates[i], wordList)) return candidates[i];
}
return null;
}
function findPriceNear(anchorEl) {
var scope = anchorEl;
for (var level = 0; level < 6 && scope.parentElement; level++) {
scope = scope.parentElement;
}
var all = scope.querySelectorAll('*');
for (var i = 0; i < all.length; i++) {
var el = all[i];
if (el.children.length > 0) continue;
var txt = el.textContent.trim();
if (/[₹$]\s?[\d,]+(\.\d+)?/.test(txt) && txt.length < 20) {
return txt;
}
}
return '';
}
// ---------- Sticky bottom bar ----------
var stickyBar = null;
var stickyObserver = null;
var stickyTimer = null;
var stickyAttempts = 0;
function cleanupStickyBar() {
if (stickyObserver) { stickyObserver.disconnect(); stickyObserver = null; }
if (stickyBar) { stickyBar.remove(); stickyBar = null; }
if (stickyTimer) { clearTimeout(stickyTimer); stickyTimer = null; }
stickyAttempts = 0;
}
function tryBuildStickyBar() {
stickyAttempts++;
var addBtn = findButton(ADD_TO_CART_WORDS);
var buyBtn = findButton(BUY_NOW_WORDS);
// Avoid picking up our own inline Buy Now button as the "real" one
if (buyBtn && buyBtn.className && buyBtn.className.indexOf('im-buy-now-btn') !== -1) {
buyBtn = null;
}
if (!addBtn && !buyBtn) {
if (stickyAttempts < 40) stickyTimer = setTimeout(tryBuildStickyBar, 250);
return;
}
var priceText = findPriceNear(addBtn || buyBtn);
stickyBar = document.createElement('div');
stickyBar.className = 'im-sticky-buybar';
var priceHtml = '' + (priceText || '') + '
';
var buttonsHtml = '';
if (addBtn) buttonsHtml += '';
buttonsHtml += '';
buttonsHtml += '
';
stickyBar.innerHTML = priceHtml + buttonsHtml;
document.body.appendChild(stickyBar);
if (addBtn) {
stickyBar.querySelector('.im-sticky-cart').addEventListener('click', function () {
addBtn.click();
});
}
stickyBar.querySelector('.im-sticky-buy').addEventListener('click', function () {
triggerBuyNow(addBtn);
});
var originalControls = (buyBtn || addBtn).closest('div') || (buyBtn || addBtn);
stickyObserver = new IntersectionObserver(function (entries) {
entries.forEach(function (entry) {
if (entry.isIntersecting) {
stickyBar.classList.remove('im-visible');
} else {
stickyBar.classList.add('im-visible');
}
});
}, { threshold: 0 });
stickyObserver.observe(originalControls);
}
// ---------- Inline Buy Now button ----------
var inlineBuyNowBtn = null;
var inlineTimer = null;
var inlineAttempts = 0;
function cleanupInlineBuyNow() {
if (inlineTimer) { clearTimeout(inlineTimer); inlineTimer = null; }
if (inlineBuyNowBtn) { inlineBuyNowBtn.remove(); inlineBuyNowBtn = null; }
inlineAttempts = 0;
}
function triggerBuyNow(addBtn) {
if (!addBtn) return;
var handled = false;
function onCartChanged() {
if (handled) return;
handled = true;
try { Ecwid.OnCartChanged.remove(onCartChanged); } catch (e) {}
Ecwid.Cart.gotoCheckout();
}
Ecwid.OnCartChanged.add(onCartChanged);
addBtn.click();
setTimeout(function () {
if (!handled) {
try { Ecwid.OnCartChanged.remove(onCartChanged); } catch (e) {}
}
}, 4000);
}
function tryBuildInlineBuyNow() {
inlineAttempts++;
var addBtn = findButton(ADD_TO_CART_WORDS);
var existingBuyNow = findButton(BUY_NOW_WORDS);
if (existingBuyNow) return; // already one on the page