.wrw-float {
    --wrw-float-green: #25d366;
    position: fixed;
    z-index: 99999;
    bottom: max(24px, env(safe-area-inset-bottom));
    display: flex;
    align-items: center;
    isolation: isolate;
}

.wrw-float--right { right: 24px; }
.wrw-float--left { left: 24px; }

.wrw-float__link {
    position: relative;
    z-index: 2;
    display: flex;
    min-width: 60px;
    height: 60px;
    padding: 0 18px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 999px;
    background: var(--wrw-float-green);
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 8px 26px rgba(20, 90, 51, .32);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.wrw-float__link:hover,
.wrw-float__link:focus-visible {
    background: #1fbd5a;
    color: #fff !important;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 12px 32px rgba(20, 90, 51, .4);
}

.wrw-float__link:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

.wrw-float__icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
}

.wrw-float__label {
    color: inherit;
    font: 700 15px/1.1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    white-space: nowrap;
}

.wrw-float__pulse {
    position: absolute;
    z-index: 1;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(37, 211, 102, .45);
    animation: wrw-float-pulse 2s infinite;
}

.wrw-float--right .wrw-float__pulse { right: 0; }
.wrw-float--left .wrw-float__pulse { left: 0; }

@keyframes wrw-float-pulse {
    0% { transform: scale(.88); opacity: .9; }
    70%, 100% { transform: scale(1.55); opacity: 0; }
}

@media (max-width: 600px) {
    .wrw-float { bottom: max(18px, env(safe-area-inset-bottom)); }
    .wrw-float--right { right: 16px; }
    .wrw-float--left { left: 16px; }
    .wrw-float__link { width: 58px; min-width: 58px; height: 58px; padding: 0; }
    .wrw-float__label { display: none; }
    .wrw-float__pulse { width: 58px; height: 58px; }
}

@media (prefers-reduced-motion: reduce) {
    .wrw-float__pulse { animation: none; }
    .wrw-float__link { transition: none; }
}

