/* Floating WhatsApp Button – KVN Promotions v1.5.0 */
.fwk-wrap { --fwk-size:65px; --fwk-green:#25d366; --fwk-shadow:rgba(37,211,102,.45); }
.fwk-floating { position:fixed; z-index:9999; display:flex; align-items:center; gap:10px; }
.fwk-pos-bottom-right,.fwk-pos-top-right { flex-direction:row-reverse; }
.fwk-pos-bottom-left,.fwk-pos-top-left   { flex-direction:row; }
.fwk-pos-top-right,.fwk-pos-top-left     { align-items:flex-start; }
.fwk-inline { display:inline-flex; align-items:center; gap:10px; vertical-align:middle; }

.fwk-btn {
    position:relative; display:flex; align-items:center; justify-content:center;
    width:var(--fwk-size); height:var(--fwk-size); border-radius:50%;
    background:var(--fwk-green); box-shadow:0 4px 18px var(--fwk-shadow);
    text-decoration:none; overflow:hidden; flex-shrink:0;
    transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;
    animation:fwk-bounce-in .6s cubic-bezier(.34,1.56,.64,1) both;
}
.fwk-btn:hover  { transform:scale(1.08); box-shadow:0 8px 28px var(--fwk-shadow); }
.fwk-btn:active { transform:scale(.95); }
.fwk-btn::before {
    content:''; position:absolute; inset:0; border-radius:50%;
    background:var(--fwk-green); z-index:-1;
    animation:fwk-pulse 2.4s ease-out infinite;
}
.fwk-btn.fwk-has-lottie { background:transparent!important; box-shadow:none!important; border-radius:0!important; overflow:visible!important; }
.fwk-btn.fwk-has-lottie::before { display:none; }
.fwk-btn.fwk-has-lottie > svg { width:var(--fwk-size)!important; height:var(--fwk-size)!important; display:block; overflow:visible; }

.fwk-tooltip {
    display:inline-block; background:#1a1a1a; color:#fff;
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:13px; font-weight:500; padding:8px 14px; border-radius:8px;
    white-space:nowrap; pointer-events:none; opacity:0;
    transform:translateX(8px); transition:opacity .2s,transform .2s;
    box-shadow:0 2px 10px rgba(0,0,0,.2);
}
.fwk-wrap:hover .fwk-tooltip { opacity:1; transform:translateX(0); }
.fwk-pos-bottom-left .fwk-tooltip,
.fwk-pos-top-left    .fwk-tooltip { transform:translateX(-8px); }
.fwk-pos-bottom-left .fwk-wrap:hover .fwk-tooltip,
.fwk-pos-top-left    .fwk-wrap:hover .fwk-tooltip { transform:translateX(0); }
.fwk-tooltip-hidden { display:none!important; }

@keyframes fwk-bounce-in {
    0%   { opacity:0; transform:scale(0) rotate(-10deg); }
    60%  { transform:scale(1.15) rotate(3deg); }
    100% { opacity:1; transform:scale(1) rotate(0); }
}
@keyframes fwk-pulse {
    0%   { transform:scale(1);    opacity:.65; }
    70%  { transform:scale(1.55); opacity:0; }
    100% { transform:scale(1.55); opacity:0; }
}
@media(prefers-reduced-motion:reduce){ .fwk-btn,.fwk-btn::before{ animation:none; } }
