/* ==========================================================================
   Navigation Responsive Overrides - Consolidated Media Queries
   This file overrides navigation.css with consistent breakpoints
   ========================================================================== */

/* ==========================================================================
   Desktop & Large Screens - 1025px and above
   ========================================================================== */
@media (min-width: 1025px) {
    .menu-toggle {
        /* Keine Überschreibung - bleibt bei 20px/50px aus Basis */
    }

    .nav-menu {
        width: 420px;
        right: -420px;
    }

    .nav-menu.active {
        right: 0;
    }

    .header-container {
        /* Padding bleibt bei 20px aus base.css */
        padding-right: 80px; /* Space for menu button */
        max-width: none; /* Full width mit 20px padding auf beiden Seiten */
    }
}

/* ==========================================================================
   Tablet (iPad) - 769px to 1024px
   ========================================================================== */
@media (min-width: 769px) and (max-width: 1024px) {
    .menu-toggle {
        /* Konsistent bei 20px/50px */
    }

    .nav-menu {
        width: 380px;
        right: -380px;
    }

    .nav-menu.active {
        right: 0;
    }

    .header-container {
        padding-right: 80px; /* Konsistent space for menu button */
    }

    .nav-menu-inner {
        padding: 35px;
    }
}

/* ==========================================================================
   Small Tablet & Large Mobile - 481px to 768px
   ========================================================================== */
@media (min-width: 481px) and (max-width: 768px) {
    .menu-toggle {
        /* Bleibt bei 20px/50px für Konsistenz */
    }

    .nav-menu {
        width: 340px;
        max-width: 85vw;
        right: -340px;
    }

    .nav-menu.active {
        right: 0;
    }

    .header-container {
        /* Konsistent 20px padding */
        padding-right: 80px;
    }

    .nav-menu-inner {
        padding: 30px 25px;
    }

    .nav-link {
        padding: 14px 20px;
        font-size: 1.05rem;
    }
}

/* ==========================================================================
   Mobile - up to 480px
   ========================================================================== */
@media (max-width: 480px) {
    .menu-toggle {
        /* Mobile: slightly smaller but maintain 20px margin */
        top: 20px;
        right: 20px;
        width: 45px;
        height: 45px;
    }

    /* Mobile icon adjustments */
    .menu-icon {
        width: 26px;
        height: 26px;
    }

    .menu-icon svg {
        width: 22px;
        height: 22px;
    }

    .nav-menu {
        width: 100vw;
        max-width: 100vw;
        right: -100vw;
    }

    .nav-menu.active {
        right: 0;
    }

    .header-container {
        /* Konsistent 20px padding auf Mobile */
        padding: 20px;
        padding-right: 75px; /* 45px button + 20px margin + 10px buffer */
    }

    .logo img {
        max-height: 35px;
    }

    .nav-menu-inner {
        padding: 20px 15px;
    }

    .nav-link {
        padding: 12px 15px;
        font-size: 0.95rem;
    }

    .nav-link span {
        font-size: 0.95rem;
    }

    .nav-footer {
        padding: 15px;
    }

    .language-switcher {
        transform: scale(0.9);
    }
}

/* ==========================================================================
   Very Small Mobile - up to 360px
   ========================================================================== */
@media (max-width: 360px) {
    .menu-toggle {
        /* Auch auf sehr kleinen Screens 20px Abstand beibehalten */
        top: 20px;
        right: 20px;
        width: 40px;
        height: 40px;
    }

    .menu-icon {
        width: 24px;
        height: 24px;
    }

    .menu-icon svg {
        width: 20px;
        height: 20px;
    }

    .header-container {
        padding: 20px;
        padding-right: 70px; /* 40px button + 20px margin + 10px buffer */
    }

    .logo img {
        max-height: 30px;
    }

    .nav-menu-inner {
        padding: 15px 10px;
    }

    .nav-link {
        padding: 10px 12px;
        font-size: 0.9rem;
    }
}

/* ==========================================================================
   Landscape Mobile - Special handling
   ========================================================================== */
@media (max-height: 500px) and (orientation: landscape) {
    .nav-menu {
        overflow-y: auto;
    }

    .nav-menu-inner {
        padding: 15px;
    }

    .nav-header {
        margin-bottom: 20px;
    }

    .nav-links li {
        margin-bottom: 5px;
    }

    .nav-link {
        padding: 8px 15px;
        font-size: 0.9rem;
    }
}