

/* ===================================================
   NZOTA CARGO & TRADERS
   LIGHT CORPORATE NAVBAR
=================================================== */

.nz-navbar{
    position:sticky;
    top:0;
    background:#fff;
    padding:12px 0;
    transition:.25s ease;
    border-bottom:1px solid var(--border);
    z-index:9999;
}

.nz-navbar.scrolled{
    padding:8px 0;
    box-shadow:0 8px 24px rgba(15,35,70,.08);
}

.navbar-brand{
    display:flex;
    align-items:center;
    gap:14px;
    color:var(--navy)!important;
}

.navbar-logo{
    height:46px;
    max-height:46px;
    width:auto;
    display:block;
}

.logo-text{
    display:flex;
    flex-direction:column;
    line-height:1.1;
}

.logo-title{
    color:var(--navy);
    font-size:1.4rem;
    font-weight:800;
    letter-spacing:2px;
}

.logo-subtitle{
    color:var(--muted);
    font-size:.7rem;
    letter-spacing:1px;
}

.navbar-nav{
    gap:4px;
}

.nav-link{
    position:relative;
    color:var(--text)!important;
    font-weight:600;
    padding:.8rem 1rem!important;
    transition:.25s;
}

.nav-link:hover,
.nav-link.active{
    color:var(--gold-dark)!important;
}

.nav-link::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:6px;
    width:0;
    height:2px;
    border-radius:50px;
    background:var(--gold);
    transition:.25s;
    transform:translateX(-50%);
}

.nav-link:hover::after,
.nav-link.active::after{
    width:56%;
}

.navbar-buttons{
    display:flex;
    align-items:center;
    gap:12px;
}

.nav-phone{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--text);
    padding:11px 16px;
    border-radius:50px;
    border:1px solid var(--border);
    background:var(--bg-2);
    transition:.25s;
}

.nav-phone:hover{
    color:var(--navy);
    border-color:var(--gold);
    background:var(--gold-soft);
}

.nav-phone i{
    color:var(--gold-dark);
}

.nav-cart{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:50%;
    border:1px solid var(--border);
    background:var(--bg-2);
    color:var(--navy);
    transition:.25s;
}

.nav-cart:hover{
    border-color:var(--gold);
    background:var(--gold-soft);
}

.nav-cart-label{
    display:none;
    font-weight:600;
}

.navbar-buttons .btn{
    border-radius:50px;
    padding:12px 26px;
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:700;
}

.navbar-toggler{
    border:1px solid var(--border);
    padding:8px;
}

.navbar-toggler:focus{
    box-shadow:none;
}

@media(max-width:991px){

    .navbar-collapse{
        margin-top:16px;
        padding:20px;
        background:#fff;
        border-radius:16px;
        border:1px solid var(--border);
        box-shadow:0 16px 32px rgba(15,35,70,.1);
    }

    .navbar-nav{
        gap:2px;
        margin-bottom:16px;
    }

    .nav-link{
        border-radius:10px;
    }

    .nav-link:hover{
        background:var(--gold-soft);
    }

    .navbar-buttons{
        flex-direction:column;
        align-items:stretch;
    }

    .nav-phone,
    .navbar-buttons .btn{
        justify-content:center;
        width:100%;
        height:auto;
    }

    .nav-cart{
        justify-content:center;
        gap:10px;
        width:100%;
        height:auto;
        border-radius:50px;
        padding:11px 16px;
    }

    .nav-cart-label{
        display:inline;
    }

    .logo-title{
        font-size:1.2rem;
    }
}

@media(max-width:576px){

    .nz-navbar{
        padding:10px 0;
    }

    .logo-subtitle{
        display:none;
    }

    .logo-title{
        font-size:1.05rem;
    }
}

/* Keep the complete public navigation inside the viewport at every width. */
.nz-navbar .container{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:1rem;
}

.nz-navbar .navbar-brand{
    flex:0 1 240px;
    min-width:0;
    gap:10px;
}

.nz-navbar .logo-text{
    min-width:0;
}

.nz-navbar .logo-title{
    font-size:1.12rem;
    letter-spacing:.14em;
    white-space:nowrap;
}

.nz-navbar .logo-subtitle{
    display:block;
    margin-top:3px;
    font-size:.66rem;
    font-weight:700;
    letter-spacing:.1em;
    line-height:1;
    text-transform:uppercase;
    white-space:nowrap;
}

.nz-navbar .navbar-collapse{
    flex:1 1 auto;
    min-width:0;
}

.nz-navbar .navbar-nav{
    gap:2px;
    flex-wrap:nowrap;
}

.nz-navbar .nav-link{
    padding:.72rem .5rem!important;
    font-size:.92rem;
    white-space:nowrap;
}

.nz-navbar .navbar-buttons{
    flex:0 0 auto;
    gap:8px;
}

.nz-navbar .nav-phone{
    padding:9px 12px;
    white-space:nowrap;
}

.nz-navbar .navbar-buttons .btn{
    padding:10px 20px;
    white-space:nowrap;
}

@media(max-width:1399px){
    .nz-navbar .navbar-brand{
        flex-basis:210px;
    }

    .nz-navbar .logo-title{
        font-size:1rem;
    }

    .nz-navbar .nav-link{
        padding-left:.4rem!important;
        padding-right:.4rem!important;
        font-size:.85rem;
    }

    .nz-navbar .nav-phone-label{
        font-size:.8rem;
    }
}

@media(max-width:1199px){
    .nz-navbar .navbar-brand{
        flex-basis:195px;
    }

    .nz-navbar .nav-phone{
        width:44px;
        height:44px;
        justify-content:center;
        padding:0;
    }

    .nz-navbar .nav-phone-label{
        display:none;
    }

    .nz-navbar .navbar-nav{
        gap:0;
    }
}

@media(max-width:991px){
    .nz-navbar .container{
        flex-wrap:wrap;
        gap:0;
    }

    .nz-navbar .navbar-brand{
        flex:1 1 auto;
        max-width:calc(100% - 58px);
    }

    .nz-navbar .navbar-collapse{
        flex-basis:100%;
    }

    .nz-navbar .navbar-nav{
        flex-wrap:wrap;
    }

    .nz-navbar .nav-link{
        white-space:normal;
    }

    .nz-navbar .navbar-buttons{
        flex-direction:column;
        align-items:stretch;
        gap:10px;
    }

    .nz-navbar .nav-phone,
    .nz-navbar .nav-cart,
    .nz-navbar .navbar-buttons .btn{
        width:100%;
        height:auto;
        justify-content:center;
        padding:12px 18px!important;
    }

    .nz-navbar .nav-cart{
        border-radius:50px;
        gap:10px;
    }

    .nz-navbar .nav-phone-label,
    .nz-navbar .nav-cart-label{
        display:inline;
    }
}

@media(max-width:576px){
    .nz-navbar .navbar-logo{
        height:40px;
        max-height:40px;
    }

    .nz-navbar .logo-title{
        font-size:.92rem;
    }

    .nz-navbar .logo-subtitle{
        font-size:.58rem;
    }
}

/* Public reference header refresh */
.nz-navbar{
    background:rgba(255,255,255,.97);
    padding:15px 0;
    border-bottom:1px solid rgba(221,231,241,.85);
    box-shadow:0 4px 18px rgba(7,29,59,.035);
    backdrop-filter:blur(12px);
}

.nz-navbar.scrolled{padding:10px 0;box-shadow:0 12px 28px rgba(7,29,59,.1);}
.nz-navbar .navbar-logo{width:48px;height:48px;max-height:48px;object-fit:contain;}
.nz-navbar .logo-title{color:var(--navy);font-weight:800;}
.nz-navbar .logo-subtitle{color:var(--blue);}
.nz-navbar .nav-link{color:var(--navy)!important;}
.nz-navbar .nav-link:hover,.nz-navbar .nav-link.active{color:var(--blue)!important;}
.nz-navbar .nav-link::after{background:var(--blue);}
.nz-navbar .nav-phone,.nz-navbar .nav-cart{background:#fff;color:var(--navy);}
.nz-navbar .nav-phone i{color:var(--blue);}
.nz-navbar .nav-phone:hover,.nz-navbar .nav-cart:hover{border-color:#9CCBFA;background:var(--navy-soft);}
.nz-navbar .nav-cart{flex:0 0 44px;}
.nz-navbar .nav-action{margin-left:8px;padding:11px 18px!important;border-radius:10px;white-space:nowrap;}
.nz-navbar .nav-action i{font-size:.85rem;}

.navbar-toggler-lines{display:flex;flex-direction:column;gap:4px;width:22px;}
.navbar-toggler-lines span{display:block;height:2px;border-radius:99px;background:var(--navy);}

@media(max-width:991px){
    .nz-navbar .navbar-collapse{margin-top:14px;background:#fff;}
    .nz-navbar .nav-action{width:100%;margin:10px 0 0;justify-content:center;}
}
