.side-nav {
    width: 300px;
    background: rgba(8, 8, 10, 0.88);
    border-right: 2px solid rgba(0, 210, 255, 0.35);
    display: flex;
    flex-direction: column;
    padding: 18px 14px;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    backdrop-filter: blur(10px);
    box-shadow: inset -1px 0 0 rgba(255,255,255,0.03);
}

.sidebar-inner {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.sidebar-image-link {
    display: block;
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.24s ease, box-shadow 0.24s ease, filter 0.24s ease;
    box-shadow:
        0 10px 20px rgba(0, 0, 0, 0.28),
        0 0 0 1px rgba(255,255,255,0.04);
}

.sidebar-image-link img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 22px;
    position: relative;
    z-index: 1;
}

.sidebar-image-link:hover {
    transform: translateX(8px) translateY(-2px) scale(1.03);
    box-shadow:
        0 0 13px #00d2ff,
        0 0 32px rgba(0,210,255,0.75),
        0 18px 28px rgba(0,0,0,0.4),
        0 0 0 1px rgba(0,210,255,0.16);
    filter: brightness(1.05);
}

.sidebar-image-link.active {
    animation: activeGlow 2.6s ease-in-out infinite;
    transform: scale(1.01);
    filter: brightness(1.05);
    box-shadow:
        0 0 13px rgba(0,210,255,0.88),
        0 0 30px rgba(0,210,255,0.62),
        0 18px 28px rgba(0,0,0,0.4),
        0 0 0 1px rgba(0,210,255,0.18);
}

.sidebar-image-link.active::after {
    content: "";
    position: absolute;
    inset: -20% auto -20% -35%;
    width: 40%;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(0, 210, 255, 0.10) 35%,
        rgba(255, 255, 255, 0.42) 50%,
        rgba(0, 210, 255, 0.10) 65%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: skewX(-25deg);
    animation: activeSweep 3.6s ease-in-out infinite;
    pointer-events: none;
    z-index: 2;
    mix-blend-mode: screen;
}

@keyframes activeGlow {
    0% {
        box-shadow:
            0 0 8px rgba(0,210,255,0.5),
            0 0 18px rgba(0,210,255,0.35),
            0 18px 28px rgba(0,0,0,0.35);
    }
    50% {
        box-shadow:
            0 0 13px rgba(0,210,255,0.95),
            0 0 30px rgba(0,210,255,0.75),
            0 18px 28px rgba(0,0,0,0.42);
    }
    100% {
        box-shadow:
            0 0 8px rgba(0,210,255,0.5),
            0 0 18px rgba(0,210,255,0.35),
            0 18px 28px rgba(0,0,0,0.35);
    }
}

@keyframes activeSweep {
    0% {
        transform: translateX(-170%) skewX(-25deg);
        opacity: 0;
    }
    15% {
        opacity: 0.25;
    }
    50% {
        transform: translateX(320%) skewX(-25deg);
        opacity: 0.55;
    }
    70% {
        opacity: 0.18;
    }
    100% {
        transform: translateX(320%) skewX(-25deg);
        opacity: 0;
    }
}

@media (max-width: 900px) {
    .side-nav {
        width: 100%;
        height: auto;
        position: relative;
        border-right: none;
        border-bottom: 2px solid rgba(0, 210, 255, 0.35);
        padding: 14px;
    }

    .sidebar-inner {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
}

@media (max-width: 600px) {
    .sidebar-inner {
        grid-template-columns: 1fr;
    }
}