#main-nav {
    position: sticky !important;
    top: 20px;
    /* Wir entfernen 'top' aus der Transition, damit das JS beim Scrollen 
       nicht durch CSS-Verzögerungen ausgebremst wird */
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.3s;
    z-index: 1001;
    will-change: transform; /* Optimiert die Performance für den Browser */
}

#main-nav.nav-hidden {
    /* Hier bleibt top: 20px, wir schieben NUR per transform */
    transform: translateY(calc(-100% + 10px)); 
    opacity: 0.95;
    cursor: pointer;
}

@media (max-width: 767px) {
    #main-nav.nav-hidden {
        transform: translateY(calc(-100% + 15px));
    }
}

/* Mobile-Einstellung: 15px sichtbar für bessere Touch-Bedienung */
@media (max-width: 767px) {
    #main-nav.nav-hidden {
        transform: translateY(calc(-100% + 15px));
    }
}

/* --- DYNAMISCHE SIDEBAR --- */
.left-sidebar {
    position: fixed !important;
    left: 10px;
    top: var(--sidebar-top, 110px); 
    height: var(--sidebar-height, calc(100vh - 120px));
    width: 15%;
    background-color: #fff6a6;
    border-radius: 15px;
    z-index: 1000;
    padding: 20px;
    /* transition nur für die Bewegung, nicht für die Breite auf Mobile */
    transition: transform 0.3s ease-in-out, top 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

/* Mobile Fix für Sidebar Breite */
@media (max-width: 1024px) {
    .left-sidebar {
        width: 250px; /* Feste Breite auf Tablets/Handys */
        left: -270px; /* Versteckt sie standardmäßig links */
    }
}