/* Custom Styles overriding or extending Tailwind */
html {
    scroll-behavior: smooth;
}

body {
    background-color: #0f172a; /* matches Tailwind dark-900 */
}

/* Glassmorphism utility classes not natively in simple v3 config without plugins */
.glass-card {
    background: rgba(30, 41, 59, 0.7);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

/* Audio Visualizer Animation */
.visualizer-bar {
    width: 5px;
    background-color: #8b5cf6;
    border-radius: 4px;
    animation: bounce 0.8s infinite ease-in-out alternate;
    transform-origin: bottom;
}

@keyframes bounce {
    0% { height: 6px; background-color: #8b5cf6; }
    50% { background-color: #ec4899; } /* Pink transition */
    100% { height: 32px; background-color: #8b5cf6; }
}

/* Dynamic Navbar Scroll State */
.nav-scrolled {
    background: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(12px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* Input sliders custom styles (Volume slider) */
input[type=range] {
    -webkit-appearance: none; /* Hides the slider so that custom slider can be made */
    background: transparent; /* Otherwise white in Chrome */
}

input[type=range]:focus {
    outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
}

input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    background: #1f2937; /* Gray-800 */
    border-radius: 4px;
    border: 1px solid rgba(255,255,255,0.05);
}

input[type=range]::-webkit-slider-thumb {
    height: 18px;
    width: 18px;
    border-radius: 50%;
    background: #8b5cf6; /* Brand-500 */
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -6px; /* You need to specify a margin in Chrome, but in Firefox and IE it is automatic */
    box-shadow: 0 0 12px rgba(139, 92, 246, 0.6);
    transition: transform 0.1s;
}

input[type=range]::-webkit-slider-thumb:hover {
    transform: scale(1.2);
}

/* Firefox */
input[type=range]::-moz-range-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    background: #1f2937;
    border-radius: 4px;
    border: 1px solid rgba(255,255,255,0.05);
}

input[type=range]::-moz-range-thumb {
    height: 18px;
    width: 18px;
    border-radius: 50%;
    background: #8b5cf6;
    cursor: pointer;
    border: none;
    box-shadow: 0 0 12px rgba(139, 92, 246, 0.6);
    transition: transform 0.1s;
}

input[type=range]::-moz-range-thumb:hover {
    transform: scale(1.2);
}

/* Smooth Image Loading for Slider */
.slide img {
    transition: transform 10s ease-out;
}
.slide.opacity-100 img {
    transform: scale(1.05);
}
