/* HEADER: sticky + Scroll-Hide ------------------------------------- */

header {
    position: sticky;
    top: 0;
    z-index: 2000;
    background: var(--color-bg, #ffffff);
    transition: transform 0.3s ease;
}

/* wird per JS gesetzt, wenn nach unten gescrollt wird */
header.header-hidden {
    transform: translateY(-100%);
}

/* NAV BASIS -------------------------------------------------------- */

.main-nav{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-l);
    position: relative;
    z-index: 1000; /* Header vor dem Rest */
}

.main-nav--items{
    display: flex;
    flex-direction: row;
    gap: var(--spacing-l);
}

nav a{
    color: inherit;
    text-decoration: none;
}

.main-nav--item.active{
    color: var(--color-accent);
}

/* Toggle Button Styling */
.nav-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    position: relative; 
    z-index: 1200; /* Toggle bleibt vor dem Menü */
}



/* --------------------------------------------------------- */
/* MOBILE NAVIGATION */
/* --------------------------------------------------------- */
@media (max-width: 768px) {

    .nav-toggle {
        display: block;
    }

    .main-nav {
        padding: var(--spacing-m);
    }

    .main-nav--items {
        flex-direction: column;

        /* Offcanvas-Overlay */
        position: fixed;
        top: 0;
        right: -100%;              /* Startposition: ausgeblendet */
        width: 80svw;
        height: 100svh;

        backdrop-filter: blur(10px);
        background-color: rgba(255, 255, 255, 0.4);

        padding: var(--spacing-xxl) var(--spacing-l);
        align-items: end;
        transition: right var(--transition-speed) ease;
        display: flex;
        border: 1px solid var(--color-border);

        z-index: 1100; /* Menü über dem gesamten Inhalt */
    }

    .main-nav--items.active {
        right: 0; /* fährt ins Bild */
    }

    .main-nav--item{
        width: 100%;
        display: flex;
        justify-content: end;
    }

    .main-nav--item a{
        padding: var(--spacing-m);
        width: 100%;
        text-align: right;
    }
}