    /* Animation Keyframes */
    @keyframes float {
        0%, 100% { transform: translateY(0px); }
        50% { transform: translateY(-8px); }
    }
    
    @keyframes shimmer {
        0% { background-position: -200% 0; }
        100% { background-position: 200% 0; }
    }
    
    @keyframes pulse-glow {
        0%, 100% { box-shadow: 0 0 20px rgba(249, 115, 22, 0.3); }
        50% { box-shadow: 0 0 30px rgba(249, 115, 22, 0.6); }
    }

    /* Component Styles */
    .card-hover {
        transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .card-hover:hover {
        transform: translateY(-12px) scale(1.02);
    }
    
    .floating-animation {
        animation: float 6s ease-in-out infinite;
    }
    
    .floating-animation:nth-child(even) {
        animation-delay: -3s;
    }
    
    .shimmer-effect {
        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
        background-size: 200% 100%;
        animation: shimmer 2s infinite;
    }
    
    .gradient-border {
        background: linear-gradient(45deg, #f97316, #ea580c, #dc2626);
        padding: 2px;
        border-radius: 1.5rem;
    }
    
    .duration-badge {
        animation: pulse-glow 2s infinite;
    }
    
    .course-item {
        position: relative;
        overflow: hidden;
    }
    
    .course-item::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 2px;
        background: linear-gradient(90deg, transparent, #f97316, transparent);
        transition: left 0.5s ease;
    }
    
    .course-item:hover::before {
        left: 100%;
    }
    
    .image-overlay {
        background: linear-gradient(45deg, rgba(0,0,0,0.4) 0%, rgba(249,115,22,0.3) 100%);
    }
    
    /* Card hover animation */
    .group:hover { animation: float 3s ease-in-out infinite; }

    /* Uniform card image sizes */
    .card-image { width: 100%; height: 256px; object-fit: cover; }

    /* Smooth scroll */
    html { scroll-behavior: smooth; }

    /* Custom text selection */
    ::selection { background-color: rgba(249, 115, 22, 0.2); color: #ea580c; }

    /* Focus accessibility */
    a:focus, button:focus { outline: 2px solid #f97316; outline-offset: 2px; }
/* Uniform Card Styles */
.card-image { 
    width: 100%; 
    height: 192px; /* Fixed height for all images */
    object-fit: cover; 
    object-position: center; /* Ensure consistent image cropping */
}

/* Flexbox utilities for consistent card layout */
.flex-col {
    display: flex;
    flex-direction: column;
}

.h-full {
    height: 100%;
}

.flex-grow {
    flex-grow: 1;
}

.flex-shrink-0 {
    flex-shrink: 0;
}

.mt-auto {
    margin-top: auto;
}

/* Line clamping for consistent text blocks */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.min-h-\[3rem\] {
    min-height: 3rem;
}

.min-h-\[4\.5rem\] {
    min-height: 4.5rem;
}

/* Ensure consistent button positioning */
.flex.items-center.justify-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Uniform card heights */
/* .grid > * {
    display: flex;
}

.grid > * > * {
    width: 100%;
} */