/* ============================================
   Mobile Navigation — Hamburger Menu
   Silver Calico / CalicoOS
   Shared across all pages
   ============================================ */

/* --- Hamburger Button (hidden on desktop) --- */
.nav-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    z-index: 1001;
    position: relative;
    flex-shrink: 0;
}

.nav-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--ink, #1a1a2e);
    transition: transform 0.3s ease, opacity 0.3s ease;
    border-radius: 2px;
}

/* Animate hamburger to X when open */
.nav-toggle.open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.nav-toggle.open span:nth-child(2) {
    opacity: 0;
}
.nav-toggle.open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* --- Mobile Styles (< 768px) --- */
@media (max-width: 768px) {
    /* Show hamburger button */
    .nav-toggle {
        display: flex;
    }

    /* Nav container: relative for dropdown positioning */
    nav {
        position: relative;
        flex-wrap: nowrap !important;
        padding: 1rem 1.25rem !important;
    }

    /* Reduce logo size on mobile */
    .logo img {
        height: 70px !important;
        width: auto !important;
    }

    /* Hide nav-tag on mobile */
    .nav-tag {
        display: none !important;
    }

    /* Hide nav links by default on mobile */
    .nav-links {
        display: none !important;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--parchment, #ffffff);
        flex-direction: column;
        padding: 0.5rem 1.5rem 1rem;
        gap: 0;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
        z-index: 1000;
        border-top: 1px solid var(--cream, #f0f0f8);
    }

    /* Show dropdown when toggled open */
    .nav-links.open {
        display: flex !important;
    }

    /* Style each nav link for touch */
    .nav-links a {
        padding: 0.875rem 0.5rem !important;
        font-size: 0.9rem !important;
        min-height: 44px;
        display: flex !important;
        align-items: center;
        border-bottom: 1px solid var(--cream, #f0f0f8);
        width: 100%;
        letter-spacing: 1.5px !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        font-weight: 500 !important;
        color: var(--warm-gray, #5a5a7a) !important;
        transition: color 0.2s;
    }

    .nav-links a:last-child {
        border-bottom: none;
    }

    .nav-links a:hover,
    .nav-links a.active {
        color: var(--amber, #400080) !important;
    }

    /* nav-left should not show the hidden nav-links gap */
    .nav-left {
        gap: 0 !important;
        flex: 1;
        min-width: 0;
    }
}

/* --- Overlay behind menu (optional visual) --- */
.nav-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 999;
}

.nav-overlay.open {
    display: block;
}
