/* assets/css/style.css */

/* Base Reset */
html {
    scroll-behavior: smooth;
}

body {
    background-color: #050505; /* Deep Black */
    font-family: 'Inter', sans-serif;
}

/* Custom Fonts */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
}

@tailwind base;
@tailwind components;
@tailwind utilities;

/* Custom Base Styles */
html {
    scroll-behavior: smooth;
    background-color: #050505;
}

body {
    font-family: 'Inter', sans-serif;
}

h1, h2, h3, h4 {
    font-family: 'Montserrat', sans-serif;
}

/* Neon Glow Effects */
.neon-text-purple {
    text-shadow: 0 0 10px rgba(168, 85, 247, 0.5), 0 0 20px rgba(168, 85, 247, 0.3);
}

/* Custom Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
    opacity: 0; /* Start hidden */
}

.delay-100 { animation-delay: 0.1s; }
.delay-200 { animation-delay: 0.2s; }
.delay-300 { animation-delay: 0.3s; }

/* --- NEON GLOW UTILITIES --- */
.neon-text-purple {
    text-shadow: 0 0 10px rgba(168, 85, 247, 0.6), 0 0 20px rgba(168, 85, 247, 0.3);
}

.neon-border-cyan {
    box-shadow: 0 0 10px rgba(34, 211, 238, 0.4);
    border: 1px solid rgba(34, 211, 238, 0.5);
}

/* --- HERO ANIMATION --- */
.hero-bg {
    /* Placeholder for the Red Carpet Image */
    background-image: linear-gradient(to bottom, rgba(5,5,5,0.3), rgba(5,5,5,1)), url('https://placehold.co/1920x1080/1a1a1a/purple?text=Stage+Setup+Background'); 
    background-size: cover;
    background-position: center;
}

/* --- COOKIE BANNER --- */
#cookie-banner {
    transform: translateY(100%);
    transition: transform 0.3s ease-in-out;
}
#cookie-banner.visible {
    transform: translateY(0);
}

/* --- INFINITE SCROLL ANIMATION --- */
@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.animate-scroll {
    animation: scroll 30s linear infinite;
    /* Ensure the track is wide enough */
    width: max-content; 
}

/* Pause the scrolling when the user hovers over it */
.pause-on-hover:hover .animate-scroll {
    animation-play-state: paused;
}

/* --- EVENTS PAGE STYLES --- */

/* Ensure card contents stretch evenly */
.event-card {
    display: flex;
    flex-direction: column;
}

/* Line clamp for descriptions to keep cards uniform height */
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Adjust date badge position on mobile if needed */
@media (max-width: 640px) {
    .event-card .absolute.top-0.left-8 {
        left: 1.5rem; /* Slightly smaller offset on small screens */
    }
}