.whatsapp-float {
    position: fixed;
    left: max(20px, env(safe-area-inset-left));
    bottom: max(24px, env(safe-area-inset-bottom));
    z-index: 40;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border: 1px solid #ffffff90;
    border-radius: 50%;
    background: #16864b;
    color: #fff;
    box-shadow: 0 5px 22px #082c2440, inset 0 1px 0 #ffffff30;
    text-decoration: none;
    isolation: isolate;
    transition: background-color .2s, transform .2s;
}
.whatsapp-float::before {
    content: '';
    position: absolute;
    inset: -1px;
    z-index: -1;
    border: 1px solid #25d366;
    border-radius: inherit;
    pointer-events: none;
    animation: whatsapp-pulse 3.6s ease-out infinite;
}
.whatsapp-float .fa {
    display: block;
    font-size: 31px;
    line-height: 1;
    animation: whatsapp-turn 8s ease-in-out infinite;
}
.whatsapp-float-label {
    position: absolute;
    left: calc(100% + 12px);
    padding: 10px 15px;
    border: 1px solid #183b3215;
    border-radius: 24px;
    background: #faf7ef;
    color: #183b32;
    box-shadow: 0 3px 18px #082c2420;
    font: 500 12px/1.4 Manrope, sans-serif;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-4px);
    pointer-events: none;
    transition: opacity .2s, transform .2s, visibility .2s;
}
.whatsapp-float:hover,
.whatsapp-float:focus-visible { background: #126e3e; color: #fff; transform: translateY(-2px); }
.whatsapp-float:focus-visible { outline: 3px solid #183b32; outline-offset: 4px; }
.whatsapp-float:hover .whatsapp-float-label,
.whatsapp-float:focus-visible .whatsapp-float-label { opacity: 1; visibility: visible; transform: none; }
.whatsapp-float:hover::before,
.whatsapp-float:focus-visible::before,
.whatsapp-float:hover .fa,
.whatsapp-float:focus-visible .fa { animation-play-state: paused; }
@keyframes whatsapp-pulse {
    0% { transform: scale(1); opacity: .5; }
    60%, 100% { transform: scale(1.48); opacity: 0; }
}
@keyframes whatsapp-turn {
    0%, 68% { transform: rotate(0); }
    84%, 100% { transform: rotate(360deg); }
}
@media (max-width: 600px) {
    .whatsapp-float { width: 54px; height: 54px; left: max(16px, env(safe-area-inset-left)); bottom: max(18px, env(safe-area-inset-bottom)); }
    .whatsapp-float .fa { font-size: 29px; }
}
@media (prefers-reduced-motion: reduce) {
    .whatsapp-float, .whatsapp-float .fa, .whatsapp-float::before, .whatsapp-float-label { animation: none; transition: none; }
    .whatsapp-float::before { display: none; }
    .whatsapp-float:hover, .whatsapp-float:focus-visible { transform: none; }
}
@media print { .whatsapp-float { display: none; } }
