/* ============================================
   Modern Casino Guide — Eye-Friendly Design System
   ============================================ */

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

body {
    /* Background with dark gradient overlay and subtle pattern */
    /* To use a custom image, replace the url() below with: url('path/to/your/image.jpg') */
    background-image: 
        linear-gradient(135deg, rgba(10, 15, 30, 0.572) 0%, rgba(15, 23, 42, 0.676) 50%, rgba(10, 15, 30, 0.518) 100%),
        url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><defs><pattern id="grid" width="20" height="20" patternUnits="userSpaceOnUse"><path d="M 20 0 L 0 0 0 20" fill="none" stroke="rgba(14,165,233,0.1)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
    background-attachment: fixed;
    background-size: cover, 100px 100px;
    background-position: center center, 0 0;
    background-repeat: no-repeat, repeat;
    position: relative;
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 50%, rgba(14, 165, 233, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(245, 158, 11, 0.06) 0%, transparent 50%),
        linear-gradient(135deg, rgba(10, 15, 30, 0.95) 0%, rgba(15, 23, 42, 0.98) 100%);
    pointer-events: none;
    z-index: 0;
}

/* Ensure all content appears above background */
main, header, footer {
    position: relative;
    z-index: 1;
}

@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Mobile Nav Menu - Now handled by Tailwind classes */

/* Casino card animations */
.casino-card {
    animation: slideInScale 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    opacity: 0;
    transform: scale(0.9) translateY(30px);
}

@keyframes slideInScale {
    from { 
        opacity: 0; 
        transform: scale(0.9) translateY(30px); 
    }
    to { 
        opacity: 1; 
        transform: scale(1) translateY(0); 
    }
}

/* Glass morphism effect - softer */
.glass-card {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
}

/* Enhanced casino card styling */
.casino-card {
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(14, 165, 233, 0.15);
    box-shadow: 
        0 4px 16px rgba(0, 0, 0, 0.2),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset,
        0 0 40px rgba(14, 165, 233, 0.05);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.casino-card:hover {
    border-color: rgba(14, 165, 233, 0.3);
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.3),
        0 0 0 1px rgba(255, 255, 255, 0.1) inset,
        0 0 60px rgba(14, 165, 233, 0.1);
    transform: translateY(-4px);
}

/* Prose styling for content pages */
.prose-modern h2 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffffff;
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid rgba(14, 165, 233, 0.4);
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.prose-modern h3 {
    font-size: 1.35rem;
    font-weight: 700;
    color: #e0e7ff;
    margin-top: 2rem;
    margin-bottom: 1rem;
    text-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
}

.prose-modern p {
    color: rgba(226, 232, 240, 0.9);
    line-height: 1.9;
    margin-bottom: 1.25rem;
    font-size: 1.05rem;
}

.prose-modern ul {
    padding-left: 1.75rem;
    margin-bottom: 1.5rem;
}

.prose-modern li {
    color: rgba(226, 232, 240, 0.9);
    line-height: 1.9;
    margin-bottom: 0.75rem;
    font-size: 1.05rem;
}

.prose-modern strong {
    color: #ffffff;
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.prose-modern a {
    color: #0ea5e9;
    text-decoration: underline;
    font-weight: 600;
    transition: all 0.3s ease;
}

.prose-modern a:hover {
    color: #38bdf8;
    text-shadow: 0 0 8px rgba(14, 165, 233, 0.4);
}

/* Floating animation */
@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
}

.float-animation {
    animation: float 6s ease-in-out infinite;
}

/* Glow effect - softer */
.glow-effect {
    box-shadow: 0 0 20px rgba(14, 165, 233, 0.3),
                0 0 40px rgba(14, 165, 233, 0.15),
                0 0 60px rgba(14, 165, 233, 0.1);
}

/* Pulse animation - softer */
@keyframes pulse-glow {
    0%, 100% {
        box-shadow: 0 0 15px rgba(14, 165, 233, 0.3);
    }
    50% {
        box-shadow: 0 0 30px rgba(14, 165, 233, 0.5),
                    0 0 50px rgba(14, 165, 233, 0.3);
    }
}

.pulse-glow {
    animation: pulse-glow 3s ease-in-out infinite;
}

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

.modern-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.modern-btn:hover::before {
    width: 300px;
    height: 300px;
}

/* Card hover effects */
.card-hover {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.card-hover:hover {
    transform: translateY(-8px) scale(1.01);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
    border-color: rgba(14, 165, 233, 0.3);
}

/* Remove duplicate casino-card hover since it's now in .casino-card */

/* Gradient text - softer cyan/amber */
.gradient-text {
    background: linear-gradient(135deg, #0ea5e9 0%, #38bdf8 50%, #f59e0b 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Footer specific styles */
.footer-section {
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(20px);
    border-top: 1px solid rgba(14, 165, 233, 0.2);
}

.footer-link {
    color: rgba(226, 232, 240, 0.8);
    transition: all 0.3s ease;
}

.footer-link:hover {
    color: #0ea5e9;
    padding-left: 0.5rem;
}

.footer-heading {
    color: #ffffff;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.75rem;
    margin-bottom: 1.5rem;
    border-bottom: 2px solid rgba(14, 165, 233, 0.3);
    padding-bottom: 0.75rem;
}

.footer-accent {
    color: #0ea5e9;
}

.footer-accent-alt {
    color: #f59e0b;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .prose-modern h2 {
        font-size: 1.5rem;
    }
    
    .prose-modern h3 {
        font-size: 1.2rem;
    }
    
    .prose-modern p,
    .prose-modern li {
        font-size: 1rem;
    }
    
    /* Mobile casino card adjustments */
    .casino-card {
        margin: 0 auto;
        max-width: 100%;
        width: 100%;
    }
    
    .casino-card .glass-card {
        padding: 1rem;
    }
    
    /* Ensure card container uses full width on mobile */
    #casino-cards-container {
        width: 100%;
        max-width: 100%;
        padding: 0;
    }
    
    /* Remove side padding on mobile for full width cards */
    .max-w-site {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}

/* Sticky navbar */
#navbar {
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* Ensure mobile menu is above hero section */
#navMenu {
    position: relative;
    z-index: 1001;
}

/* Mobile-specific card improvements */
@media (max-width: 640px) {
    .casino-card {
        border-radius: 1rem;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }
    
    /* Only apply column layout to main card container, not rating stars */
    .casino-card > .flex {
        flex-direction: column;
    }
    
    /* Ensure stars stay in row on mobile */
    .casino-card .flex-row {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
    }
}
