<!-- Countdown Urgency Timer -->
<div class="sl-countdown-timer">
<span class="sl-badge">Limited Time Offer</span>
<h4>Flash sale ends soon</h4>
<div class="sl-timer-boxes">
<div class="box">
<span>02</span><small>Hours</small>
</div>
<div class="box">
<span>45</span><small>Mins</small>
</div>
<div class="box">
<span>30</span><small>Secs</small>
</div>
</div>
</div>
<!-- ========================================================
AUTO-ADAPTIVE FLUID COUNTDOWN TIMER (#20048)
======================================================== -->
<div class="sll-fluid-timer" id="sll-timer-root">
<div class="sll-timer-card">
<!-- Ambient Neon Edge & Sweep -->
<div class="sll-timer-top-line" aria-hidden="true"></div>
<!-- Header Section -->
<div class="sll-timer-header">
<div class="sll-timer-badge">
<span class="sll-timer-bolt" aria-hidden="true">⚡</span>
<span>LIMITED TIME OFFER</span>
</div>
<p class="sll-timer-subtext">Flash sale ends soon • Price goes up after timer</p>
</div>
<!-- Self-Scaling Fluid Clock Row -->
<div class="sll-timer-clock-row" role="timer" aria-live="polite">
<!-- Hours Block -->
<div class="sll-timer-slot">
<div class="sll-timer-box">
<span class="sll-timer-num" id="sh-hrs">02</span>
</div>
<span class="sll-timer-label">HOURS</span>
</div>
<div class="sll-timer-colon" aria-hidden="true">:</div>
<!-- Minutes Block -->
<div class="sll-timer-slot">
<div class="sll-timer-box">
<span class="sll-timer-num" id="sh-min">45</span>
</div>
<span class="sll-timer-label">MINS</span>
</div>
<div class="sll-timer-colon" aria-hidden="true">:</div>
<!-- Seconds Block (Neon Highlight) -->
<div class="sll-timer-slot sll-timer-slot--active">
<div class="sll-timer-box">
<span class="sll-timer-num" id="sh-sec">30</span>
</div>
<span class="sll-timer-label">SECS</span>
</div>
</div>
</div>
</div>
<style>
/* ---------------- AUTO-ADAPTIVE FLUID CSS ---------------- */
.sll-fluid-timer {
width: 100%;
display: flex;
justify-content: center;
box-sizing: border-box;
padding: 0.5rem;
}
.sll-fluid-timer *,
.sll-fluid-timer *::before,
.sll-fluid-timer *::after {
box-sizing: border-box;
}
.sll-timer-card {
position: relative;
width: 100%;
/* Container adjusts between 280px to 460px automatically */
max-width: 440px;
margin: 0 auto;
padding: clamp(0.85rem, 3.5vw, 1.35rem) clamp(0.75rem, 4vw, 1.5rem);
border-radius: clamp(12px, 3vw, 16px);
background: linear-gradient(145deg, rgba(16, 24, 40, 0.94) 0%, rgba(8, 12, 27, 0.98) 100%);
border: 1px solid rgba(25, 217, 162, 0.28);
box-shadow:
0 16px 40px -10px rgba(0, 0, 0, 0.85),
0 0 25px -4px rgba(25, 217, 162, 0.16),
inset 0 1px 0 rgba(255, 255, 255, 0.08);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
text-align: center;
overflow: hidden;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
/* Shimmering Top Accent Edge */
.sll-timer-top-line {
position: absolute;
top: 0;
left: 15%;
right: 15%;
height: 1px;
background: linear-gradient(90deg, transparent, #19D9A2, #38BDF8, transparent);
opacity: 0.85;
}
/* Moving ambient sheen */
.sll-timer-card::after {
content: '';
position: absolute;
top: -50%;
left: -80%;
width: 40%;
height: 200%;
background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.05), transparent);
transform: rotate(25deg);
animation: sllShimmerPass 5.5s ease-in-out infinite;
pointer-events: none;
}
@keyframes sllShimmerPass {
0% { left: -80%; }
30%, 100% { left: 180%; }
}
/* Header Section */
.sll-timer-header {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.35rem;
margin-bottom: clamp(0.75rem, 2.5vw, 1.15rem);
}
.sll-timer-badge {
display: inline-flex;
align-items: center;
gap: 0.35rem;
padding: 0.25rem 0.75rem;
border-radius: 999px;
background: rgba(245, 158, 11, 0.1);
border: 1px solid rgba(245, 158, 11, 0.35);
color: #FBBF24;
font-size: clamp(0.625rem, 2.2vw, 0.72rem);
font-weight: 800;
letter-spacing: 0.05em;
text-transform: uppercase;
text-shadow: 0 0 10px rgba(245, 158, 11, 0.3);
}
.sll-timer-bolt {
display: inline-block;
animation: sllBoltPulse 1.8s infinite;
}
@keyframes sllBoltPulse {
0%, 100% { transform: scale(1); filter: drop-shadow(0 0 2px #FBBF24); }
50% { transform: scale(1.22) rotate(-6deg); filter: drop-shadow(0 0 6px #F59E0B); }
}
.sll-timer-subtext {
font-size: clamp(0.7rem, 2.3vw, 0.8125rem);
color: #94A3B8;
margin: 0;
font-weight: 400;
line-height: 1.35;
}
/* Fluid Clocks Row (Auto-Shrinks on Small Screens) */
.sll-timer-clock-row {
display: flex;
align-items: center;
justify-content: center;
gap: clamp(0.3rem, 1.8vw, 0.55rem);
width: 100%;
}
.sll-timer-slot {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.35rem;
flex: 1;
max-width: 80px;
}
/* Fluid Digits Box */
.sll-timer-box {
width: 100%;
height: clamp(42px, 12vw, 54px);
border-radius: clamp(8px, 2vw, 10px);
background: rgba(4, 9, 20, 0.85);
border: 1px solid rgba(140, 170, 210, 0.18);
display: flex;
align-items: center;
justify-content: center;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.08),
0 4px 12px rgba(0, 0, 0, 0.4);
position: relative;
overflow: hidden;
}
/* Flip horizontal dividing seam */
.sll-timer-box::before {
content: '';
position: absolute;
top: 50%;
left: 0;
right: 0;
height: 1px;
background: rgba(255, 255, 255, 0.06);
z-index: 1;
}
.sll-timer-num {
font-family: ui-monospace, SFMono-Regular, "Roboto Mono", Menlo, Consolas, monospace;
font-size: clamp(1.15rem, 5vw, 1.45rem);
font-weight: 800;
color: #FFFFFF;
line-height: 1;
letter-spacing: -0.02em;
position: relative;
z-index: 2;
text-shadow: 0 0 12px rgba(255, 255, 255, 0.25);
}
/* Seconds Block Active Neon Glow */
.sll-timer-slot--active .sll-timer-box {
border-color: rgba(25, 217, 162, 0.5);
background: rgba(8, 24, 28, 0.9);
box-shadow:
0 0 18px rgba(25, 217, 162, 0.22),
inset 0 1px 0 rgba(25, 217, 162, 0.35);
}
.sll-timer-slot--active .sll-timer-num {
color: #19D9A2;
text-shadow: 0 0 14px rgba(25, 217, 162, 0.5);
}
/* Unit Label */
.sll-timer-label {
font-size: clamp(0.58rem, 1.9vw, 0.65rem);
font-weight: 700;
letter-spacing: 0.08em;
color: #64748B;
text-transform: uppercase;
}
.sll-timer-slot--active .sll-timer-label {
color: #19D9A2;
}
/* Blinking Colon */
.sll-timer-colon {
font-family: monospace;
font-size: clamp(1.1rem, 4.5vw, 1.45rem);
font-weight: 700;
color: rgba(148, 163, 184, 0.55);
line-height: 1;
margin-bottom: clamp(0.7rem, 2.2vw, 0.95rem);
animation: sllColonBlink 1s infinite;
user-select: none;
flex-shrink: 0;
}
@keyframes sllColonBlink {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.2; transform: scale(0.9); }
}
@media (prefers-reduced-motion: reduce) {
.sll-timer-bolt,
.sll-timer-colon,
.sll-timer-card::after {
animation: none !important;
}
}
</style>
<!-- ========================================================
AUTO-PERSISTENT JS ENGINE (Remembers time on reload)
======================================================== -->
<script>
(function () {
const hrsEl = document.getElementById('sh-hrs');
const minEl = document.getElementById('sh-min');
const secEl = document.getElementById('sh-sec');
if (!hrsEl || !minEl || !secEl) return;
const STORAGE_KEY = 'sll_flash_timer_deadline';
const DEFAULT_DURATION_SEC = (2 * 3600) + (45 * 60) + 30; // 2h 45m 30s
// Check localStorage taaki page refresh par timer restart na ho
let deadline = localStorage.getItem(STORAGE_KEY);
const now = Date.now();
if (!deadline || parseInt(deadline) <= now) {
deadline = now + (DEFAULT_DURATION_SEC * 1000);
localStorage.setItem(STORAGE_KEY, deadline);
} else {
deadline = parseInt(deadline);
}
function updateTimer() {
const currentTime = Date.now();
let remainingSec = Math.max(0, Math.floor((deadline - currentTime) / 1000));
// Timer khatam hone par auto-reset loop taaki zero par freeze na rahe
if (remainingSec <= 0) {
deadline = Date.now() + (DEFAULT_DURATION_SEC * 1000);
localStorage.setItem(STORAGE_KEY, deadline);
remainingSec = DEFAULT_DURATION_SEC;
}
const h = Math.floor(remainingSec / 3600);
const m = Math.floor((remainingSec % 3600) / 60);
const s = remainingSec % 60;
hrsEl.textContent = h < 10 ? '0' + h : h;
minEl.textContent = m < 10 ? '0' + m : m;
secEl.textContent = s < 10 ? '0' + s : s;
}
updateTimer();
setInterval(updateTimer, 1000);
})();
</script>
<style>
:root{--sp-bg:#f3ebdd;--sp-text:#6e6259;--sp-size:30px;--sp-gap:8px}
.sp{
display:inline-flex;align-items:center;background:var(--sp-bg);
gap:10px;padding:6px 14px 6px 8px;border-radius:100px;
max-width:100%;width:fit-content;box-sizing:border-box;
font-family:system-ui,sans-serif;
}
.sp-scroll{
flex-shrink:0;
width:calc(2*(var(--sp-size) - var(--sp-gap)) + var(--sp-size));
height:var(--sp-size);position:relative;overflow:hidden;
}
.sp-slides{position:relative;height:var(--sp-size)}
.sp-slide{
position:absolute;top:0;
width:var(--sp-size);height:var(--sp-size);
border-radius:50%;border:2.5px solid var(--sp-bg);
box-sizing:border-box;overflow:hidden;
transition:transform .7s cubic-bezier(.11,.72,.3,1.21),opacity .4s;
transform:translateX(calc(-1*var(--sp-size) - 8px));opacity:0;
}
.sp-slide img{width:100%;height:100%;object-fit:cover;display:block}
.sp-text{font-size:13px;line-height:1.35;color:var(--sp-text);min-width:0;flex:1 1 auto}
.sp-text p{margin:0;display:flex;align-items:center;gap:3px;flex-wrap:wrap}
.sp-text strong{white-space:nowrap;font-weight:700;color:#2d2d2d}
.sp-text .rest{white-space:nowrap}
.sp-text .tick{display:inline-flex;align-items:center;flex-shrink:0}
/* Mobile: just smaller size + text wraps — 3 avatars always */
@media(max-width:480px){
:root{--sp-size:26px;--sp-gap:7px}
.sp{gap:7px;padding:5px 12px 5px 6px;font-size:12px}
.sp-text .rest{white-space:normal}
}
</style>
<div class="sp">
<div class="sp-scroll">
<div class="sp-slides">
<div class="sp-slide"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWE4D-1rVRi2hqAZ2S-ypsf_78YZC2sQjj8VrHbmT4rmIqc_YQFp6s5NO_L_ZuNuQFfi-LDhxfRZ-Wcphsk8QC6_4BbZhiTmhrcQsTxmEOz59T5_Bz6Aelnwf3LsCDiMyg-8EJxB7IGISQJBKCGpcNzI7CuEu7vSu9aWM7EjgrVQ-NJSo3Zt-lNysUV4jD/s1600/1shopifycode.webp?crop=center&height=60&v=1789070186&width=60" alt=""></div>
<div class="sp-slide"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_KK8KjQ3pUf51oTclLvk4Tni5K-btMOnItZ-3GBUrYYhk70IKp8vEutkJVIxhKzEPYOvCX0W-yUBPVkMIX2kr3mvOdX78kW3w0OtGZ3w9yNkCnZyRq_OhplbZR_L3mxl2MCZOK26mIbSwELc1pH1z6GVVbTUfLPMNlshqsYepi_dSccyNYft9ewmgPrej/s1600/2shopifycode.jpg?crop=center&height=60&v=1789070200&width=60" alt=""></div>
<div class="sp-slide"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9PtVlOMQas3s3hvT0jfFPmvxf2tFqNxhyphenhyphenDtZlKUjuithT56fGiPT4c0mw56duyaDsits1rKw_tbpSD4mL8zCnLrtdZzpxMoIoPNinfc1J8xLGH5HWcRAwETIhVhraA8i4BBi5966jLzFkOo-Sib9ZkxuMq597GhXKD40Qt_7r5nEKAsPwEf-3sUZ9kqo8/s988/5ShopifyCodes.webp?crop=center&height=60&v=1789070210&width=60" alt=""></div>
<div class="sp-slide"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6FJvTeHVuaOEHsvNVjQrFR5s_AzP73LyRn8jYyd5JXnaPEiBN0QL7HNx3krf6LB1JPi-BDmohmSZKsXeJBbEqPwP7kjfTyFNrsKs0D4exfaOW85fDNRkt0MD0RZ0eO8EhvUra-CFfFWjo7oApAjXgAZi53TWHKnJZ9soHDPyRGp_CSvhQ0lPQZl7FLmDz/s1600/3shopifycode.jpg?crop=center&height=60&v=1789070222&width=60" alt=""></div>
<div class="sp-slide"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyBZggXVMxgcl9aPN0sb3CmyGFlTRMTk5ciq_OKSU-zfLF3Qmu55bpv5oQFHVine0iTrey0mpIHlx49YFJV_3feu5UxbxHAVySm2_JFVm5YV1T0MyoD2fHkPER6YlZy1SbWhHa3L8PcQyFrgvSyjyFxADVQlEhBqJDNGx88bg1-1oUhTPmI1Eo-BdGexza/s1600/4shopifycode.jpg?crop=center&height=60&v=1789070237&width=60" alt=""></div>
</div>
</div>
<div class="sp-text">
<p>
<strong>Vinita</strong>
<span class="tick">
<svg width="14" height="14" viewbox="0 0 12 12" fill="none">
<path d="M7.405 0.75L8.263 2.077L9.842 2.156L9.922 3.734L11.249 4.592L10.529 5.999L11.25 7.405L9.923 8.263L9.844 9.842L8.266 9.922L7.408 11.249L6.001 10.529L4.595 11.25L3.737 9.923L2.158 9.844L2.079 8.266L0.751 7.408L1.471 6.001L0.75 4.595L2.077 3.737L2.156 2.158L3.734 2.079L4.592 0.751L5.999 1.471Z" fill="#42a5f5"></path>
<path d="M5.35 7.81L3.72 6.19L4.26 5.66L5.36 6.76L7.75 4.44L8.27 4.98Z" fill="white"></path>
</svg>
</span>
<span class="rest">and 15,000+ others purchased</span>
</p>
</div>
</div>
<script>
(function(){
var slides=[...document.querySelectorAll('.sp-slide')];
var total=slides.length, idx=0;
var count=3;
function getSz(){
return window.innerWidth<=480?26:30;
}
function getGap(){
return window.innerWidth<=480?7:8;
}
function go(){
var sz=getSz(), gap=getGap(), start=idx%total;
slides.forEach(function(el,i){
var pos=(i-start+total)%total;
if(pos<count){
el.style.transform='translateX('+(pos*(sz-gap))+'px)';
el.style.zIndex=String(count-pos);
el.style.opacity='1';
} else {
el.style.transform='translateX('+(-sz-10)+'px)';
el.style.opacity='0';
}
});
idx++;
}
window.addEventListener('resize',function(){idx=0;go();});
go(); setInterval(go,2000);
})();
</script>
<div class="trust-badges-wrapper">
<div class="trust-badges-container">
<div class="trust-badge-item">
<div class="trust-badge-icon icon-green">
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>
<polyline points="9 12 11 14 15 10"></polyline>
</svg>
</div>
<div class="trust-badge-text">
<span class="trust-badge-title">100% Original</span>
<span class="trust-badge-subtitle">Certified Product</span>
</div>
</div>
<div class="trust-badge-item">
<div class="trust-badge-icon icon-blue">
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
<polyline points="14 2 14 8 20 8"></polyline>
<polyline points="9 15 11 17 15 13"></polyline>
</svg>
</div>
<div class="trust-badge-text">
<span class="trust-badge-title">7 Days Return</span>
<span class="trust-badge-subtitle">Return Policy </span>
</div>
</div>
<div class="trust-badge-item">
<div class="trust-badge-icon icon-yellow">
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon>
</svg>
</div>
<div class="trust-badge-text">
<span class="trust-badge-title">4.6★ Rating</span>
<span class="trust-badge-subtitle">10L+ Happy Users</span>
</div>
</div>
<div class="trust-badge-item">
<div class="trust-badge-icon icon-red">
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect x="1" y="3" width="15" height="13" rx="2"></rect>
<path d="M16 8h4l3 3v5h-7V8z"></path>
<circle cx="5.5" cy="18.5" r="2.5"></circle>
<circle cx="18.5" cy="18.5" r="2.5"></circle>
</svg>
</div>
<div class="trust-badge-text">
<span class="trust-badge-title">Free Delivery</span>
<span class="trust-badge-subtitle">All India Shipping</span>
</div>
</div>
</div>
</div>
<style>
.trust-badges-wrapper {
margin: 16px 0;
padding: 14px 16px;
background: linear-gradient(135deg, #f0faf5 0%, #f5f0ff 100%);
border-radius: 12px;
border: 1px solid #e8e8e8;
}
.trust-badges-container {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: nowrap;
gap: 6px;
}
.trust-badge-item {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
flex: 1 1 0;
min-width: 0;
gap: 6px;
}
.trust-badge-icon {
width: 46px;
height: 46px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.icon-green {
background-color: #e6f7f0;
color: #1a9e6a;
}
.icon-blue {
background-color: #e8f0fe;
color: #4a6fe3;
}
.icon-yellow {
background-color: #fff8e1;
color: #e6a817;
}
.icon-purple {
background-color: #f3eeff;
color: #8b5cf6;
}
.icon-red {
background-color: #fdeaea;
color: #e53e3e;
}
.trust-badge-text {
display: flex;
flex-direction: column;
gap: 2px;
width: 100%;
}
.trust-badge-title {
font-size: 13px;
font-weight: 700;
color: #1a1a1a;
line-height: 1.2;
word-break: break-word;
}
.trust-badge-subtitle {
font-size: 11px;
color: #666666;
line-height: 1.3;
word-break: break-word;
}
@media (max-width: 480px) {
.trust-badges-wrapper {
padding: 12px 8px;
}
.trust-badges-container {
gap: 4px;
}
.trust-badge-icon {
width: 34px;
height: 34px;
}
.trust-badge-icon svg {
width: 16px;
height: 16px;
}
.trust-badge-title {
font-size: 10px;
}
.trust-badge-subtitle {
font-size: 9px;
}
}
</style>
<div class="sl-comp-starrating" style="display: inline-flex; align-items: center; gap: 14px; background: rgba(15, 24, 44, 0.9); border: 1px solid rgba(255, 215, 0, 0.3); border-radius: 999px; padding: 10px 22px; font-family: inherit;">
<div style="color: #FFB800; font-size: 16px; letter-spacing: 2px;">★★★★★</div>
<div style="font-size: 14px; font-weight: 700; color: #FFFFFF;">4.9 / 5.0</div>
<span style="width: 1px; height: 16px; background: rgba(255,255,255,0.2);"></span>
<div style="font-size: 13px; color: #94A3B8;">Based on <strong style="color: #19D9A2;">1,480+</strong> Verified Reviews</div>
</div>
<div class="sl-comp-stockpulse" style="background: rgba(255, 77, 79, 0.08); border: 1px solid rgba(255, 77, 79, 0.35); border-radius: 10px; padding: 12px 18px; display: inline-flex; align-items: center; gap: 10px; font-family: inherit;">
<span style="width: 10px; height: 10px; border-radius: 50%; background: #FF4D4F; box-shadow: 0 0 10px #FF4D4F; display: inline-block; animation: slPulseDot 1.4s infinite;"></span>
<style>@keyframes slPulseDot { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(1.3); } }</style>
<span style="font-size: 13.5px; font-weight: 700; color: #FFA39E;">Hurry, only <span style="color: #FF4D4F; font-size: 15px; font-weight: 800;">6 items</span> left in stock!</span>
</div>
<!-- ========================================================
MOBILE-ONLY ULTRA-PREMIUM STICKY BUY BAR (#30012)
======================================================== -->
<div id="sl-mobile-sticky-bar" class="sl-mob-sticky-host" aria-hidden="false">
<div class="sl-mob-sticky-container">
<!-- Left: Price Lockup & Discount -->
<div class="sl-mob-sticky-price-wrap">
<div class="sl-mob-price-row">
<span class="sl-mob-price-current">₹289</span>
<span class="sl-mob-price-old">₹1,499</span>
<span class="sl-mob-price-badge">81% OFF</span>
</div>
<span class="sl-mob-price-sub">⚡ One-time payment</span>
</div>
<!-- Right: High-Converting Buy Button -->
<button type="button" id="sl-mob-sticky-btn" class="sl-mob-sticky-cta" aria-label="Buy Now for ₹289">
<span class="sl-mob-btn-shine" aria-hidden="true"></span>
<span class="sl-mob-btn-text">BUY NOW</span>
<span class="sl-mob-btn-arrow" aria-hidden="true">→</span>
</button>
</div>
</div>
<style>
/* ---------------- DESKTOP: STRICTLY HIDDEN ---------------- */
.sl-mob-sticky-host {
display: none !important;
}
/* ---------------- MOBILE ONLY (< 768px) ---------------- */
@media (max-width: 767px) {
.sl-mob-sticky-host {
display: block !important;
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 999999;
background: rgba(8, 12, 27, 0.94);
border-top: 1px solid rgba(25, 217, 162, 0.35);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
box-shadow:
0 -10px 30px rgba(0, 0, 0, 0.75),
0 -1px 0 rgba(255, 255, 255, 0.1);
/* iOS Notch Safe Area Padding */
padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)) 14px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
box-sizing: border-box;
transform: translateY(0);
transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.sl-mob-sticky-host *,
.sl-mob-sticky-host *::before,
.sl-mob-sticky-host *::after {
box-sizing: border-box;
}
.sl-mob-sticky-container {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
max-width: 480px;
margin: 0 auto;
}
/* Price Info */
.sl-mob-sticky-price-wrap {
display: flex;
flex-direction: column;
gap: 1px;
line-height: 1;
}
.sl-mob-price-row {
display: flex;
align-items: baseline;
gap: 6px;
}
.sl-mob-price-current {
font-size: 1.35rem;
font-weight: 900;
color: #FFFFFF;
letter-spacing: -0.03em;
text-shadow: 0 0 16px rgba(25, 217, 162, 0.4);
}
.sl-mob-price-old {
font-size: 0.8125rem;
font-weight: 500;
color: #64748B;
text-decoration: line-through;
}
.sl-mob-price-badge {
display: inline-flex;
align-items: center;
font-size: 0.625rem;
font-weight: 800;
color: #F87171;
background: rgba(239, 68, 68, 0.15);
border: 1px solid rgba(239, 68, 68, 0.35);
padding: 2px 5px;
border-radius: 4px;
line-height: 1;
}
.sl-mob-price-sub {
font-size: 0.6875rem;
font-weight: 500;
color: #94A3B8;
}
/* Animated CTA Button */
.sl-mob-sticky-cta {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
height: 44px;
padding: 0 1.25rem;
border-radius: 999px;
background: linear-gradient(135deg, #00F0B5 0%, #10B981 50%, #059669 100%);
color: #030712;
font-size: 0.875rem;
font-weight: 900;
letter-spacing: 0.02em;
border: 1px solid rgba(255, 255, 255, 0.45);
box-shadow:
0 0 20px rgba(25, 217, 162, 0.45),
inset 0 1px 0 rgba(255, 255, 255, 0.6);
cursor: pointer;
overflow: hidden;
flex-shrink: 0;
outline: none;
-webkit-tap-highlight-color: transparent;
}
.sl-mob-sticky-cta:active {
transform: scale(0.97);
}
/* Sweeping Light Sheen */
.sl-mob-btn-shine {
position: absolute;
top: -50%;
left: -80%;
width: 45%;
height: 200%;
background: linear-gradient(
120deg,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.5) 50%,
rgba(255, 255, 255, 0) 100%
);
transform: rotate(25deg);
animation: slMobShimmer 3.5s ease-in-out infinite;
pointer-events: none;
}
@keyframes slMobShimmer {
0% { left: -80%; }
35%, 100% { left: 160%; }
}
.sl-mob-btn-arrow {
font-size: 1rem;
line-height: 1;
transition: transform 0.2s ease;
}
.sl-mob-sticky-cta:active .sl-mob-btn-arrow {
transform: translateX(3px);
}
}
@media (prefers-reduced-motion: reduce) {
.sl-mob-btn-shine {
display: none !important;
}
}
</style>
<script>
(function () {
const buyBtn = document.getElementById('sl-mob-sticky-btn');
if (!buyBtn) return;
buyBtn.addEventListener('click', function (e) {
e.preventDefault();
// Shopify main add-to-cart button selectors fallback
const selectors = [
'form[action*="/cart/add"] button[type="submit"]',
'[name="add"]',
'#AddToCart',
'.product-form__submit',
'.btn--add-to-cart'
];
for (let s of selectors) {
const primaryBtn = document.querySelector(s);
if (primaryBtn && primaryBtn !== buyBtn && primaryBtn.offsetParent !== null) {
primaryBtn.click();
return;
}
}
// If no form button found, trigger default form submit
const form = document.querySelector('form[action*="/cart/add"]');
if (form) {
form.submit();
}
});
})();
</script>