body { font-family: 'Inter', sans-serif; }
.bts-purple { color: #5D2291; }
.bg-bts-purple { background-color: #5D2291; }
.bg-bts-dark { background-color: #1a0b2e; }

html { scroll-behavior: smooth; }

/* Parallax Background */
.parallax-bg {
    /* Ensure this path is correct relative to your CSS file */
    background-image: url('img/concert.jpg'); 
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 400px;
}

/* Live Dot Pulse Animation */
@keyframes pulse-dot {
    0% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.2); }
    100% { opacity: 1; transform: scale(1); }
}
.live-dot { animation: pulse-dot 2s infinite; }

/* Continuous Marquee Animation */
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

.animate-marquee {
    display: flex;
    animation: marquee 40s linear infinite;
}

/* Pause animation on hover so users can read */
.group:hover .animate-marquee {
    animation-play-state: paused;
}

/* Accordion Transitions */
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }

/* Prose Styling */
.prose h3 { color: #1a0b2e; font-weight: 700; margin-bottom: 0.5rem; }
.prose p { margin-bottom: 1rem; color: #4b5563; }
.prose strong { color: #5D2291; }

/* Fade In Animation */
@keyframes fadeInUp {
    from { opacity: 0; transform: translate3d(0, 20px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.animate-fade-in-up {
    animation: fadeInUp 0.8s ease-out;
}