/* Shared BizHelp motion and interaction styles */
html { scroll-behavior: smooth; }

@keyframes float { 0%,100%{transform:translateY(0) rotate(0deg)} 33%{transform:translateY(-12px) rotate(1deg)} 66%{transform:translateY(-6px) rotate(-1deg)} }
@keyframes floatSlow { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-18px)} }
@keyframes pulseGlow { 0%,100%{box-shadow:0 0 10px rgba(37,99,235,.4),0 0 20px rgba(37,99,235,.15)} 50%{box-shadow:0 0 28px rgba(37,99,235,.8),0 0 55px rgba(37,99,235,.35)} }
@keyframes shimmer { 0%{background-position:-200% center} 100%{background-position:200% center} }
@keyframes slideUp { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
@keyframes livePulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.5);opacity:.6} }
@keyframes gradientShift { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
@keyframes ctaPulse { 0%{box-shadow:0 0 0 0 rgba(37,99,235,.55)} 70%{box-shadow:0 0 0 14px rgba(37,99,235,0)} 100%{box-shadow:0 0 0 0 rgba(37,99,235,0)} }
@keyframes orangePulse { 0%{box-shadow:0 0 0 0 rgba(249,115,22,.55)} 70%{box-shadow:0 0 0 14px rgba(249,115,22,0)} 100%{box-shadow:0 0 0 0 rgba(249,115,22,0)} }
@keyframes rippleAnim { to{transform:scale(40);opacity:0} }

.float-el { animation: float 6s ease-in-out infinite; }
.float-slow { animation: floatSlow 10s ease-in-out infinite; }
.pulse-blue { animation: ctaPulse 2.2s infinite; }
.pulse-orange { animation: orangePulse 2.2s infinite; }
.live-dot { animation: livePulse 1.5s ease-in-out infinite; display:inline-block; }

.shimmer-text {
    background: linear-gradient(90deg,#1e40af 25%,#60a5fa 50%,#1e40af 75%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: shimmer 3s linear infinite;
}

.animated-gradient-bg {
    background: linear-gradient(-45deg,#dbeafe,#eff6ff,#e0f2fe,#f0fdf4);
    background-size: 400% 400%;
    animation: gradientShift 8s ease infinite;
}

.reveal { opacity:0; transition: opacity .7s ease, transform .7s ease; }
.reveal.revealed { opacity:1 !important; transform:none !important; }
.reveal-up { transform:translateY(40px); }
.reveal-left { transform:translateX(-40px); }
.reveal-right { transform:translateX(40px); }
.reveal-scale { transform:scale(.85); }
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}
.reveal-delay-5{transition-delay:.5s}

.cursor-glow {
    width:22px;height:22px;border-radius:50%;
    background:radial-gradient(circle,rgba(37,99,235,.7) 0%,transparent 70%);
    position:fixed;pointer-events:none;z-index:9999;mix-blend-mode:screen;
}

.cursor-trail {
    width:44px;height:44px;border-radius:50%;
    border:1.5px solid rgba(37,99,235,.35);
    position:fixed;pointer-events:none;z-index:9998;
    transition:all .15s ease;
}

#scrollProgress {
    position:fixed;top:0;left:0;height:3px;width:0%;
    background:linear-gradient(90deg,#2563eb,#f97316);
    z-index:9999;transition:width .1s linear;
}

.sticky-cta {
    position:fixed;bottom:0;left:0;right:0;
    background:linear-gradient(135deg,#1e40af,#1d4ed8);
    padding:10px 20px;
    display:flex;justify-content:space-between;align-items:center;
    z-index:1000;box-shadow:0 -4px 20px rgba(0,0,0,.2);
    transform:translateY(100%);transition:transform .4s ease;
}
.sticky-cta.visible { transform:translateY(0); }

.whatsapp-float {
    position:fixed;bottom:74px;right:20px;
    width:54px;height:54px;border-radius:50%;
    background:#25D366;display:flex;align-items:center;justify-content:center;
    color:white;font-size:26px;
    box-shadow:0 4px 20px rgba(37,211,102,.5);
    z-index:999;cursor:pointer;text-decoration:none;
    animation:pulseGlow 2.5s ease-in-out infinite;
    transition:transform .2s ease;
}
.whatsapp-float:hover { transform:scale(1.12); }

.live-toast {
    position:fixed;bottom:140px;right:20px;
    background:white;border-left:4px solid #2563eb;border-radius:10px;
    padding:12px 14px;box-shadow:0 8px 32px rgba(0,0,0,.15);
    z-index:9999;transform:translateX(120%);
    transition:transform .4s cubic-bezier(.23,1,.32,1);max-width:280px;font-size:13px;
}
.live-toast.show { transform:translateX(0); }

.card-3d { transform-style:preserve-3d; will-change:transform; }
.animated-bar { width:0% !important; transition:width 1.5s ease; }
.animated-bar.animate { width:var(--target-width) !important; }

button, .btn, a.btn, input[type="submit"] {
    transition: transform .22s cubic-bezier(.34,1.56,.64,1), box-shadow .22s ease, background-color .2s ease !important;
    will-change: transform;
}
button:hover { transform: scale(1.08) translateY(-2px) !important; }
button:active { transform: scale(0.95) translateY(0) !important; transition-duration:.08s !important; }

button[class*="bg-blue"]:hover { box-shadow:0 8px 26px rgba(37,99,235,.45) !important; }
button[class*="bg-orange"]:hover { box-shadow:0 8px 26px rgba(249,115,22,.45) !important; }
button[class*="bg-green"]:hover { box-shadow:0 8px 26px rgba(22,163,74,.45) !important; }
button[class*="bg-purple"]:hover { box-shadow:0 8px 26px rgba(147,51,234,.45) !important; }

[class*="rounded-xl"],[class*="rounded-2xl"] {
    transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease !important;
}
[class*="rounded-xl"]:hover,[class*="rounded-2xl"]:hover {
    transform: scale(1.03) translateY(-5px) !important;
    box-shadow: 0 22px 55px rgba(0,0,0,.13) !important;
    z-index:2; position:relative;
}

.w-16.h-16,.w-12.h-12,.w-24.h-24,.w-20.h-20 {
    transition: transform .3s cubic-bezier(.34,1.56,.64,1) !important;
}
div:hover > .w-16.h-16, div:hover > .w-12.h-12, div:hover > .w-20.h-20 {
    transform: scale(1.15) rotate(6deg) !important;
}

.flex.gap-2 > span, .flex.flex-wrap > span {
    transition: transform .2s cubic-bezier(.34,1.56,.64,1) !important;
    display:inline-block;
}
.flex.gap-2 > span:hover, .flex.flex-wrap > span:hover { transform:scale(1.1) !important; }

nav a { transition: transform .2s ease, color .2s ease !important; display:inline-block; }
nav a:hover { transform: scale(1.05) translateY(-1px) !important; }

input:focus,select:focus,textarea:focus {
    transform:scale(1.01);
    transition:transform .2s ease !important;
    outline:none;
}

img { transition: transform .3s cubic-bezier(.34,1.56,.64,1) !important; }
img:hover { transform: scale(1.05) !important; }

.ripple-btn { position:relative; overflow:hidden; }
.active-dot { background:#2563eb !important; transform:scale(1.3) !important; }

.footer-col { animation: slideUp .6s ease both; }
.footer-link {
    position:relative;
    padding-left:0;
    transition: padding-left .2s ease, color .2s ease;
}
.footer-link:hover { padding-left:6px; }
.footer-link::before {
    content:">";
    position:absolute;
    left:-12px;
    opacity:0;
    transition: opacity .2s ease, left .2s ease;
}
.footer-link:hover::before { opacity:1; left:-8px; }

.social-icon {
    transition: transform .25s cubic-bezier(.34,1.56,.64,1), filter .2s ease !important;
}
.social-icon:hover { transform: scale(1.22) rotate(8deg) translateY(-3px) !important; filter:brightness(1.15); }

#bgCanvas {
    position:fixed;top:0;left:0;width:100%;height:100%;
    pointer-events:none;z-index:0;opacity:.055;
}
