/* =========================================================
   whatsapp.css – Global floating WhatsApp button
   ========================================================= */

.sb-wa-float {
    position: fixed;
    bottom: 90px; /* above bottom banner */
    right: 24px;
    z-index: 1080;
    display: flex;
    align-items: center;
    gap: var(--sb-space-2);
    background: #25D366;
    color: var(--sb-white);
    padding: .75rem 1.25rem .75rem 1rem;
    border-radius: var(--sb-radius-full);
    box-shadow: 0 8px 32px rgba(37,211,102,.45);
    text-decoration: none;
    font-size: var(--sb-text-sm);
    font-weight: var(--sb-fw-semibold);
    transition: all .25s cubic-bezier(.4,0,.2,1);
    max-width: 58px; /* collapsed — shows only icon */
    overflow: hidden;
    white-space: nowrap;
}

.sb-wa-float:hover {
    max-width: 200px;
    background: #20BD5A;
    color: var(--sb-white);
    box-shadow: 0 12px 40px rgba(37,211,102,.55);
    transform: translateY(-2px);
}

.sb-wa-float .sb-icon--lg { flex-shrink: 0; }

.sb-wa-float__label {
    opacity: 0;
    transform: translateX(-8px);
    transition: opacity .2s .05s ease, transform .2s .05s ease;
    pointer-events: none;
}
.sb-wa-float:hover .sb-wa-float__label {
    opacity: 1;
    transform: translateX(0);
}

/* Pulse ring */
.sb-wa-float__pulse {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    animation: sb-wa-pulse 2.5s ease-out infinite;
    background: rgba(37,211,102,.35);
    pointer-events: none;
}
@keyframes sb-wa-pulse {
    0%   { transform: scale(1);    opacity: .6; }
    70%  { transform: scale(1.35); opacity: 0; }
    100% { transform: scale(1.35); opacity: 0; }
}

/* On mobile expand always */
@media (max-width: 768px) {
    .sb-wa-float {
        max-width: 58px;
        padding: .85rem;
        border-radius: 50%;
        bottom: 80px;
        right: 16px;
    }
    .sb-wa-float__label { display: none; }
    .sb-wa-float:hover { max-width: 58px; border-radius: 50%; }
}

/* Admin bar offset */
.admin-bar .sb-wa-float { bottom: 112px; }
