/*
 * ************************************************************
 * ************************************************************
 * ** Copyright (c) flavio.ferrara.it
 * ** All rights reserved.
 * **
 * ** Strict Proprietary Notice:
 * ** This website data, source code, and associated
 * ** assets are the exclusive property of flavio.ferrara.it.
 * ** Unauthorized copying, modification,
 * ** or distribution via any medium is strictly prohibited.
 * ************************************************************
 * ************************************************************
 */

/* ==========================
   LAYOUT / NAVIGATION
========================== */

.nav-links{
    display:flex;
    align-items:center;
    gap:28px;
    list-style:none;
}

.nav-links a{
    color:var(--charcoal);
    font-weight:500;
    transition:0.3s ease;
}

.nav-links a:hover{
    color:var(--accent);
}

.nav-links a.active{
    color:var(--accent);
}

/* Scalable dropdown support for nested navigation levels
   (e.g. Key Projects > individual project pages) */
.nav-item-dropdown{
    position:relative;
}

.nav-dropdown{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    min-width:260px;
    background:var(--white);
    border:1px solid var(--border);
    border-radius:12px;
    box-shadow:var(--shadow);
    padding:8px;
    list-style:none;
    margin-top:12px;
}

.nav-item-dropdown:hover .nav-dropdown,
.nav-item-dropdown:focus-within .nav-dropdown{
    display:block;
}

.nav-dropdown li a{
    display:block;
    padding:10px 12px;
    border-radius:8px;
    font-size:0.92rem;
}

.nav-dropdown li a:hover{
    background:var(--off-white);
}

@media (max-width: 768px){

    nav{
        position:fixed;
        top:80px;
        left:0;
        right:0;
        width:100%;
        background:white;
        border-top:1px solid var(--border);
        box-shadow:0 12px 24px rgba(0,0,0,0.08);
        max-height:0;
        overflow:hidden;
        transition:max-height 0.35s ease;
    }

    nav.active{ max-height:600px; overflow-y:auto; }

    .nav-links{
        flex-direction:column;
        align-items:flex-start;
        gap:0;
        padding:20px;
    }

    .nav-links li{ width:100%; }

    .nav-links a{
        display:block;
        width:100%;
        padding:14px 0;
        border-bottom:1px solid var(--border);
    }

    .nav-item-dropdown .nav-dropdown{
        display:block;
        position:static;
        box-shadow:none;
        border:none;
        margin:0 0 0 12px;
        padding:0;
    }
}

@media (max-width: 768px){
    .menu-toggle{ display:flex; }
}
