/**
 * RAM NavBar Bottom - Mobile Navigation Component
 * Epic: EPIC-02 | User Story: US-101
 *
 * Mobile-only fixed bottom navigation bar with glassmorphism effect
 * Breakpoint: max-width: 768px
 */

/* Mobile-only: Hide by default, show only on mobile */
.ram-navbar-bottom {
    display: none;
}

/* Hide header navigation links on mobile (they're now in bottom navbar) */
@media (max-width: 768px) {
    .head_name_links {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .ram-navbar-bottom {
        display: block;
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 999999 !important;
        width: 100% !important;

        /* Force own stacking context and GPU layer */
        transform: translate3d(0, 0, 0) !important;
        will-change: transform;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;

        /* Ensure fixed positioning relative to viewport, not parent */
        contain: layout style paint;

        /* Glassmorphism Effect */
        background: var(--ram-glass-bg, rgba(255, 255, 255, 0.08));
        backdrop-filter: blur(var(--ram-glass-blur-mobile, 8px));
        -webkit-backdrop-filter: blur(var(--ram-glass-blur-mobile, 8px));
        border-top: 1px solid var(--ram-glass-border, rgba(255, 255, 255, 0.12));
        box-shadow: var(--ram-glass-shadow, 0 8px 32px rgba(0, 0, 0, 0.4));

        padding: 8px 0 calc(8px + env(safe-area-inset-bottom));
        transition: var(--ram-transition, 0.2s ease);
    }

    /* Fallback for browsers without backdrop-filter support */
    @supports not (backdrop-filter: blur(1px)) {
        .ram-navbar-bottom {
            background: rgba(38, 45, 52, 0.9);
        }
    }

    /* Navigation List */
    .ram-navbar-list {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
        align-items: center;
        justify-content: space-evenly;
    }

    /* Navigation Items */
    .ram-navbar-list li {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0;
    }

    /* Navigation Links */
    .ram-navbar-list a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;

        width: 100%;
        min-height: 56px; /* Touch-friendly: > 44px */
        padding: 6px 8px;

        color: var(--ram-text, #ffffff);
        text-decoration: none;
        text-align: center;

        border-radius: 8px;
        transition: var(--ram-transition, 0.2s ease);

        /* Ensure text doesn't wrap awkwardly */
        white-space: nowrap;
        overflow: visible;
    }

    /* Link Hover/Active States */
    .ram-navbar-list a:hover,
    .ram-navbar-list a:focus,
    .ram-navbar-list a:active {
        background: var(--ram-hover-bg, rgba(255, 255, 255, 0.1));
        color: var(--ram-primary, #ff3e9a);
        outline: none;
    }

    /* Active Tab Indicator */
    .ram-navbar-list a.active {
        color: var(--ram-primary, #ff3e9a);
        font-weight: 600;
    }

    /* SVG Icons */
    .ram-navbar-list svg {
        width: 18px;
        height: 18px;
        flex-shrink: 0;
        transition: transform 0.2s ease;
    }

    .ram-navbar-list a:hover svg,
    .ram-navbar-list a:focus svg,
    .ram-navbar-list a.active svg {
        transform: scale(1.1);
    }

    /* Labels */
    .ram-navbar-label {
        font-size: 10px;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: 0.3px;
        max-width: 100%;

        /* Prevent text overflow on small screens */
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Active label */
    .ram-navbar-list a.active .ram-navbar-label {
        font-weight: 600;
    }

    /* Extra small screens (< 375px) - reduce spacing */
    @media (max-width: 374px) {
        .ram-navbar-bottom {
            padding: 4px 0 calc(4px + env(safe-area-inset-bottom));
        }

        .ram-navbar-list a {
            gap: 2px;
            padding: 4px 4px;
            min-height: 52px;
        }

        .ram-navbar-label {
            font-size: 9px;
        }

        .ram-navbar-list svg {
            width: 16px;
            height: 16px;
        }
    }

    /* Safe area for iOS devices with notch */
    @supports (padding: max(0px)) {
        .ram-navbar-bottom {
            padding-bottom: max(8px, env(safe-area-inset-bottom));
        }
    }
}

/* Ensure navbar doesn't interfere with desktop layout */
@media (min-width: 769px) {
    .ram-navbar-bottom {
        display: none !important;
    }
}

/* Dark mode overrides (WoWonder dark mode) */
body:not(.light-mode) .ram-navbar-bottom {
    background: var(--ram-glass-bg, rgba(255, 255, 255, 0.08));
}

/* Light mode adjustments (if WoWonder switches to light mode) */
body.light-mode .ram-navbar-bottom {
    background: rgba(255, 255, 255, 0.9);
    border-top-color: rgba(0, 0, 0, 0.1);
    box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.1);
}

body.light-mode .ram-navbar-list a {
    color: #333;
}

body.light-mode .ram-navbar-list a:hover,
body.light-mode .ram-navbar-list a:focus,
body.light-mode .ram-navbar-list a.active {
    color: var(--ram-primary, #ff3e9a);
}

/**
 * Accessibility Enhancements
 */

/* Focus visible for keyboard navigation */
.ram-navbar-list a:focus-visible {
    outline: 2px solid var(--ram-primary, #ff3e9a);
    outline-offset: 2px;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    .ram-navbar-bottom,
    .ram-navbar-list a,
    .ram-navbar-list svg {
        transition: none;
    }
}

/* High contrast mode adjustments */
@media (prefers-contrast: high) {
    .ram-navbar-bottom {
        border-top-width: 2px;
    }

    .ram-navbar-list a:hover,
    .ram-navbar-list a:focus,
    .ram-navbar-list a.active {
        background: rgba(255, 255, 255, 0.2);
        border: 1px solid var(--ram-primary, #ff3e9a);
    }
}
