/* Premium Micro-Animations for Service Cards */

/* 1. Homepage Grid Cards (glass-service-card) */
.glass-service-card {
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), 
                box-shadow 0.4s ease, 
                background 0.4s ease, 
                border-color 0.4s ease !important;
}

.glass-service-card:hover {
    transform: translateY(-12px) scale(1.02) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3), 
                0 0 20px rgba(var(--bs-primary-rgb), 0.15) !important;
}

/* Pulse animation for the icon on hover */
.glass-service-card:hover .service-icon-ring i {
    animation: pulse-icon 2s infinite ease-in-out;
}

@keyframes pulse-icon {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); filter: drop-shadow(0 0 8px var(--primary-color)); }
    100% { transform: scale(1); }
}

/* 2. Standalone List Items (single-service-card-1) */
.single-service-card-1 {
    transition: background 0.4s ease, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    margin-bottom: 10px;
}

.single-service-card-1:hover {
    transform: translateX(15px) !important;
    background: rgba(var(--bs-primary-rgb), 0.05) !important;
    border-top-color: var(--primary-color) !important;
}

.single-service-card-1 .service-card-icon {
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.single-service-card-1:hover .service-card-icon {
    transform: rotate(45deg) scale(1.2) !important;
    background-color: var(--primary-color) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 0 15px rgba(var(--bs-primary-rgb), 0.4);
}

.single-service-card-1 .service-card-title {
    transition: transform 0.4s ease;
}

.single-service-card-1:hover .service-card-title {
    transform: translateX(5px);
}

.single-service-card-1 .service-card-text {
    transition: color 0.3s ease;
}

.single-service-card-1:hover .service-card-text {
    color: var(--text-100) !important;
}
