/* The Wayfinder - Shared Styles */

/* Prevent horizontal shift when scrollbar appears/disappears */
html {
    overflow-y: scroll; /* Fallback for older browsers */
    scrollbar-gutter: stable; /* Modern approach - reserves space for scrollbar */
}

/* Base Body Styles */
body {
    background-color: #F0F0EB;
    color: #2D3748;
    scroll-behavior: smooth;
    /* Subtle texture */
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E");
}

/* Depth Shadow for Cards */
.depth-shadow {
    box-shadow:
        0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 2px 4px -1px rgba(0, 0, 0, 0.06),
        0 20px 25px -5px rgba(0, 0, 0, 0.1),
        0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Card Hover Effect */
.card-hover {
    transition: all 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-4px);
    box-shadow:
        0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -2px rgba(0, 0, 0, 0.05),
        0 25px 30px -5px rgba(0, 0, 0, 0.15);
}

/* Navigation Active State */
.nav-link.active {
    color: #C05621;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

/* Spotify Widget Pulse Animation */
@keyframes pulse-green {
    0% { box-shadow: 0 0 0 0 rgba(29, 185, 84, 0.7); }
    70% { box-shadow: 0 0 0 6px rgba(29, 185, 84, 0); }
    100% { box-shadow: 0 0 0 0 rgba(29, 185, 84, 0); }
}

.spotify-pulse {
    animation: pulse-green 2s infinite;
}

/* Form Range Inputs */
input[type=range] {
    -webkit-appearance: none;
    background: transparent;
}

input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 16px;
    width: 16px;
    border-radius: 50%;
    background: #C05621;
    cursor: pointer;
    margin-top: -6px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px;
    cursor: pointer;
    background: #4A5568;
    border-radius: 2px;
}

/* Filter Tab Active State */
.filter-tab.active {
    background-color: #C05621 !important;
    color: white !important;
}
