.nabrisa-whatsapp-float {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1100;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: #fff;
    text-decoration: none;
}

.nabrisa-whatsapp-float__label {
    padding: 6px 12px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(24, 35, 31, .18);
    color: #263c31;
    font: 700 13px/1.1 "Rajdhani", sans-serif;
    letter-spacing: .04em;
    white-space: nowrap;
}

.nabrisa-whatsapp-float__button {
    position: relative;
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 50%;
    background: #25d366;
    box-shadow: 0 8px 22px rgba(37, 211, 102, .35);
    color: #fff;
    font-size: 30px;
    transition: transform .2s ease, box-shadow .2s ease;
}

.nabrisa-whatsapp-float__button::before,
.nabrisa-whatsapp-float__button::after {
    position: absolute;
    inset: -5px;
    border: 2px solid #25d366;
    border-radius: 50%;
    content: "";
    opacity: 0;
    animation: nabrisa-whatsapp-pulse 2.2s ease-out infinite;
}

.nabrisa-whatsapp-float__button::after { animation-delay: 1.1s; }

.nabrisa-whatsapp-float:hover .nabrisa-whatsapp-float__button,
.nabrisa-whatsapp-float:focus-visible .nabrisa-whatsapp-float__button {
    box-shadow: 0 10px 28px rgba(37, 211, 102, .52);
    transform: translateY(-3px) scale(1.04);
}

.nabrisa-whatsapp-float:focus-visible {
    outline: 3px solid rgba(37, 211, 102, .45);
    outline-offset: 5px;
}

@keyframes nabrisa-whatsapp-pulse {
    0% { opacity: .65; transform: scale(.9); }
    70%, 100% { opacity: 0; transform: scale(1.45); }
}

@media (max-width: 575px) {
    .nabrisa-whatsapp-float { right: 14px; bottom: 14px; }
    .nabrisa-whatsapp-float__button { width: 54px; height: 54px; font-size: 28px; }
}

@media (prefers-reduced-motion: reduce) {
    .nabrisa-whatsapp-float__button::before,
    .nabrisa-whatsapp-float__button::after { animation: none; }
}
