/* ==========================================================================
   Floating Call Button - fixed, bottom-right, always above page content
   ========================================================================== */

.floating-call-btn {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f5564a, #c8213c);
    color: #ffffff;
    border-radius: 50%;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(166, 25, 46, 0.45);
    z-index: 999;
    animation: floatingCallPulse 2.2s ease-in-out infinite;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.floating-call-btn:hover,
.floating-call-btn:focus-visible {
    background: linear-gradient(135deg, #ff6b5e, #a6192e);
    transform: translateY(-3px) scale(1.06);
    box-shadow: 0 8px 22px rgba(166, 25, 46, 0.55);
    outline: none;
}

.floating-call-btn:active {
    transform: scale(0.94);
}

.floating-call-btn__icon {
    width: 26px;
    height: 26px;
    animation: floatingCallRing 1.8s ease-in-out infinite;
}

@keyframes floatingCallPulse {
    0%,
    100% {
        box-shadow: 0 6px 18px rgba(166, 25, 46, 0.45), 0 0 0 0 rgba(166, 25, 46, 0.4);
    }
    50% {
        box-shadow: 0 6px 18px rgba(166, 25, 46, 0.45), 0 0 0 12px rgba(166, 25, 46, 0);
    }
}

@keyframes floatingCallRing {
    0%,
    100% {
        transform: rotate(0deg);
    }
    20% {
        transform: rotate(-15deg);
    }
    40% {
        transform: rotate(12deg);
    }
    60% {
        transform: rotate(-8deg);
    }
    80% {
        transform: rotate(6deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .floating-call-btn,
    .floating-call-btn__icon {
        animation: none;
    }
}

/* ---------------- Mobile responsive ---------------- */
@media (max-width: 640px) {
    .floating-call-btn {
        width: 52px;
        height: 52px;
        right: 16px;
        bottom: 16px;
    }

    .floating-call-btn__icon {
        width: 22px;
        height: 22px;
    }
}

@media (max-width: 360px) {
    .floating-call-btn {
        width: 46px;
        height: 46px;
        right: 12px;
        bottom: 12px;
    }

    .floating-call-btn__icon {
        width: 20px;
        height: 20px;
    }
}
