/* Animation Classes */
.fade-in {
    animation: fadeIn 1s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.slide-up {
    animation: slideUp 1s ease-out;
}

@keyframes slideUp {
    from { 
        opacity: 0;
        transform: translateY(50px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

.scale-in {
    animation: scaleIn 0.5s ease-out;
}

@keyframes scaleIn {
    from { 
        opacity: 0;
        transform: scale(0.8);
    }
    to { 
        opacity: 1;
        transform: scale(1);
    }
}

.rotate {
    animation: rotate 2s linear infinite;
}

@keyframes rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.pulse {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

/* Speedometer Animation */
@keyframes speedUp {
    0% { transform: translateX(-50%) rotate(-45deg); }
    100% { transform: translateX(-50%) rotate(45deg); }
}

/* Package Card Hover Animation */
.package-card:hover {
    animation: bounce 0.5s ease;
}

@keyframes bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* Button Hover Animation */
.btn-primary:hover, .btn-secondary:hover {
    animation: pulse 0.5s;
}

/* Service Card Icon Animation */
.service-card:hover .service-icon {
    animation: bounce 0.5s ease;
}

/* Testimonial Transition */
.testimonial {
    animation: fadeInOut 0.5s ease;
}

@keyframes fadeInOut {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Floating Animation for WhatsApp Button */
.whatsapp-float {
    animation: float 3s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* Gauge Animation */
.gauge {
    animation: gaugeFill 1.5s ease-out forwards;
}

@keyframes gaugeFill {
    from { background: #f5f5f5; }
    to { background: conic-gradient(
        #4CAF50 0% 25%,
        #8BC34A 25% 50%,
        #FFC107 50% 75%,
        #FF5722 75% 100%
    ); }
}