.contact-widgets {
    position: fixed;
    bottom: 25px;
    right: 25px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

.contact-buttons .btn {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: white;
    background-size: 70%;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    animation: popIn 0.6s ease forwards;
}

.contact-buttons .btn img {
    display: none;
}

.contact-buttons .btn {
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1),
        box-shadow 0.3s ease,
        filter 0.3s ease;
}


.contact-buttons .btn:hover {
    transform: scale(2) translateY(-4px);
    box-shadow: 0 0 35px rgba(0, 0, 0, 0.35);
    filter: brightness(1.3) saturate(1.2);
}

/* Messenger: logo chuẩn */
.messenger {
    background-image: url('images/mess.png');
    background-color: #0084FF;
    animation: glowBlue 1.8s infinite ease-in-out;
}

@keyframes glowBlue {
    0%, 100% {
        box-shadow: 0 0 10px rgba(0, 123, 255, 0.4);
    }

    50% {
        box-shadow: 0 0 25px rgba(0, 123, 255, 0.9);
        transform: scale(1.1);
    }
}

/* Zalo */
.zalo {
    background-image: url('https://upload.wikimedia.org/wikipedia/commons/9/91/Icon_of_Zalo.svg');
    background-color: white;
    animation: shake 2.5s infinite;
}

@keyframes shake {
    0%, 90%, 100% {
        transform: translate(0, 0);
    }

    92% {
        transform: translate(3px, 0);
    }

    94% {
        transform: translate(-3px, 0);
    }

    96% {
        transform: translate(2px, 0);
    }

    98% {
        transform: translate(-2px, 0);
    }
}

/* Line */
.line {
    background-image: url('https://upload.wikimedia.org/wikipedia/commons/4/41/LINE_logo.svg');
    background-color: #00c300;
    animation: heartbeat 1.8s infinite;
}

@keyframes heartbeat {
    0%, 20%, 100% {
        transform: scale(1);
    }

    10% {
        transform: scale(1.25);
    }
}

/* Call */
.call {
    background-image: url('/images/phone.png');
    background-color: #00cc66;
    animation: ring 3s infinite linear;
}

@keyframes ring {
    0%, 100% {
        transform: rotate(0deg);
        box-shadow: 0 0 8px rgba(0, 200, 0, 0.4);
    }

    25% {
        transform: rotate(15deg);
        box-shadow: 0 0 20px rgba(0, 200, 0, 0.8);
    }

    75% {
        transform: rotate(-15deg);
        box-shadow: 0 0 20px rgba(0, 200, 0, 0.8);
    }
}

/* Pop-in effect */
@keyframes popIn {
    0% {
        opacity: 0;
        transform: scale(0);
    }

    70% {
        opacity: 1;
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}