.casino-card {
    position: relative;
    overflow: hidden;
}

.casino-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 215, 0, 0.1), transparent);
    transition: left 0.5s;
}

.casino-card:hover::before {
    left: 100%;
}

/* Button hover effects */
.play-btn {
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.play-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(255, 215, 0, 0.3);
}

.play-btn:active {
    transform: translateY(0);
}

/* Promo code button hover effects */
.promo-btn {
    position: relative;
    transition: all 0.3s ease;
}

.promo-btn:hover {
    transform: scale(1.05);
    box-shadow: 0 5px 15px rgba(59, 130, 246, 0.4);
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #1E293B;
}

::-webkit-scrollbar-thumb {
    background: #FFD700;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #FFC107;
}

/* Toast animation */
#toast.show {
    transform: translateY(0);
    opacity: 1;
}

/* Responsive improvements */
@media (max-width: 768px) {
    .casino-card {
        margin-bottom: 1rem;
    }
    
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* Loading animation for casino cards */
@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}

.casino-card.loading {
    animation: pulse 2s infinite;
}

/* Gold shimmer effect for special offers */
@keyframes shimmer {
    0% {
        background-position: -1000px 0;
    }
    100% {
        background-position: 1000px 0;
    }
}

.bg-casino-gold {
    background: linear-gradient(90deg, #FFD700 0%, #FFC107 50%, #FFD700 100%);
    background-size: 200% 200%;
    animation: shimmer 2s infinite;
}

/* Enhanced hover effects for images */
.casino-card img {
    transition: transform 0.3s ease;
}

.casino-card:hover img {
    transform: scale(1.1);
}

/* Improved focus states for accessibility */
.play-btn:focus,
.promo-btn:focus {
    outline: 2px solid #FFD700;
    outline-offset: 2px;
}

/* Better typography */
h1, h2, h3 {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

/* Enhanced contrast for better readability */
.text-gray-400 {
    color: #9CA3AF;
}

.text-gray-300 {
    color: #D1D5DB;
}

/* Special effects for hot offers */
.bg-red-600 {
    background: linear-gradient(45deg, #DC2626, #EF4444);
    animation: pulse-red 2s infinite;
}

@keyframes pulse-red {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.7);
    }
    50% {
        box-shadow: 0 0 0 10px rgba(220, 38, 38, 0);
    }
}

/* New offer badge */
.bg-green-600 {
    background: linear-gradient(45deg, #059669, #10B981);
    animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(5, 150, 105, 0.7);
    }
    50% {
        box-shadow: 0 0 0 10px rgba(5, 150, 105, 0);
    }
}
@media (max-width: 640px) {
    .grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 641px) and (max-width: 1024px) {
    .grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1025px) {
    .grid {
        grid-template-columns: repeat(3, 1fr);
    }
}