add_action('wp_footer',function (){if (is_admin() || is_cart() || is_checkout() || is_account_page()) return;?><canvas id="butic-snow"></canvas><style>#butic-snow{position:fixed;left:0;top:0;width:100vw;height:100vh;pointer-events:none;z-index:2147483647}</style><script>(function(){const c=document.getElementById('butic-snow');if(!c) return;const ctx=c.getContext('2d');let w=0,h=0,flakes=[],run=true;const dpr=Math.max(1, Math.min(2, window.devicePixelRatio || 1));function resize(){w=window.innerWidth;h=window.innerHeight;c.width=Math.floor(w*dpr);c.height=Math.floor(h*dpr);ctx.setTransform(dpr,0,0,dpr,0,0)}function makeFlakes(){const count=Math.min(60, Math.floor((w*h)/20000));// rari,light flakes=Array.from({length:count},()=>({x:Math.random()*w,y:Math.random()*h,r:1+Math.random()*2.2,s:0.4+Math.random()*0.9,dx:-0.25+Math.random()*0.5,a:0.25+Math.random()*0.5}))}function tick(){if(!run) return;ctx.clearRect(0,0,w,h);for(const f of flakes){f.y+=f.s;f.x+=f.dx;if(f.y>h+10){f.y=-10;f.x=Math.random()*w}if(f.x>w+10) f.x=-10;if(f.x < -10) f.x=w+10;ctx.globalAlpha=f.a;ctx.beginPath();ctx.arc(f.x,f.y,f.r,0,Math.PI*2);ctx.fillStyle="#fff";ctx.fill()}ctx.globalAlpha=1;requestAnimationFrame(tick)}document.addEventListener('visibilitychange',()=>{run=!document.hidden;if(run) requestAnimationFrame(tick)});resize();makeFlakes();requestAnimationFrame(tick);window.addEventListener('resize',()=>{resize();makeFlakes()},{passive:true})})();</script><?php},999);