﻿/* ==========================================
   ECOPARROT â€” CINEMATIC NAVBAR
========================================== */

.navbar {

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    z-index: 1000;

    padding: 18px 0;

    background: rgba(5, 7, 6, 0.15);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    border-bottom: 1px solid transparent;

    transition:
        background .45s ease,
        backdrop-filter .45s ease,
        border-color .45s ease,
        padding .45s ease;

}

/* ==========================================
   SCROLL EFFECT
========================================== */

.navbar.scrolled {

    padding: 11px 0;

    background: rgba(5, 7, 6, 0.92);

    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);

    border-bottom: 1px solid rgba(255,255,255,.08);

    box-shadow: 0 20px 50px rgba(0,0,0,.20);

}

/* ========================================== */
   CONTAINER
========================================== */

.nav-container {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 35px;
}


/* ==========================================
   LOGO
========================================== */

.logo {

    display: flex;

    align-items: center;

    flex-shrink: 0;
}


.logo img{

    width:auto;

    height:58px;

    object-fit:contain;

    transition:
        transform .45s ease,
        height .45s ease;

}

.logo:hover img{

    transform:scale(1.05);

}
.navbar.scrolled .logo img {

    height: 48px;
}


/* ==========================================
   DESKTOP MENU
========================================== */

.nav-links {

    display: flex;

    align-items: center;

    gap: 36px;

    margin-left: auto;
}

.nav-links li {

    list-style: none;
}

.nav-links a {

    position: relative;

    display: inline-block;

    padding: 8px 0;

    color: rgba(255, 255, 255, .92);
    text-shadow: 0 1px 3px rgba(0, 0, 0, .35);

    font-size: 14px;

    font-weight: 600;

    letter-spacing: .01em;

    transition:
        color .3s ease;
}


/* ==========================================
   ACTIVE / HOVER LINE
========================================== */

.nav-links a::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: 0;

    width: 0;

    height: 3px;

    border-radius: 999px;
   

    background: var(--primary);

    transition:
        width .4s cubic-bezier(
            .22,
            1,
            .36,
            1
        );
}

.nav-links a:hover,
.nav-links a.active {

    color: var(--primary-light);
}

.nav-links a:hover::after,
.nav-links a.active::after {

    width: 100%;
}


/* ==========================================
   RIGHT SIDE
========================================== */

.nav-right {

    display: flex;

    align-items: center;

    gap: 15px;
}


/* ==========================================
   REQUEST QUOTE
========================================== */

.nav-quote {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 42px;

    padding: 0 18px;

    border-radius: 999px;

    color: #04120b;
     box-shadow:
    0 12px 30px rgba(76,175,80,.25);

    background: var(--primary);

    font-size: 13px;

    font-weight: 600;

    white-space: nowrap;

    transition:
        transform .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}

.nav-quote:hover {

    color: #04120b;

    background: var(--primary-light);

    transform:
    translateY(-3px)
    scale(1.03);

    box-shadow:
        0 0 30px rgba(
            24,
            200,
            120,
            .25
        );
}


/* ==========================================
   HAMBURGER
========================================== */

.hamburger {

    display: none;

    width: 42px;

    height: 42px;

    padding: 0;

    border: none;

    background: transparent;

    cursor: pointer;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    gap: 5px;
}

.hamburger span {

    display: block;

    width: 23px;

    height: 2px;

    margin: 0;

    background: white;

    border-radius: 20px;

    transition:
        transform .35s ease,
        opacity .35s ease,
        background .35s ease;
}


/* ==========================================
   HAMBURGER OPEN STATE
========================================== */

.navbar.menu-open .hamburger span:nth-child(1) {

    transform:
        translateY(7px)
        rotate(45deg);
}

.navbar.menu-open .hamburger span:nth-child(2) {

    opacity: 0;
}

.navbar.menu-open .hamburger span:nth-child(3) {

    transform:
        translateY(-7px)
        rotate(-45deg);
}


/* ==========================================
   MOBILE NAVIGATION
========================================== */

.nav-links-mobile {

    display: none;

    list-style: none;

    margin: 0;

    padding: 20px 32px 30px;

    background:
        rgba(5, 7, 6, .97);

    backdrop-filter: blur(20px);

    -webkit-backdrop-filter: blur(20px);

    border-top:
        1px solid rgba(
            255,
            255,
            255,
            .06
        );
}

.nav-links-mobile li {

    border-bottom:
        1px solid rgba(
            255,
            255,
            255,
            .07
        );
}

.nav-links-mobile a {

    display: block;

    padding: 15px 0;

    color:
        rgba(255, 255, 255, .78);

    font-size: 16px;

    transition:
        color .3s ease;
}

.nav-links-mobile a:hover {

    color: var(--primary);
}

.nav-links-mobile .mobile-quote {

    margin-top: 18px;

    padding: 14px 18px;

    text-align: center;

    color: #04120b;

    background: var(--primary);

    border: none;

    border-radius: 10px;
}


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 1000px) {

    .nav-links {

        gap: 20px;
    }

    .nav-links a {

        font-size: 12px;
    }

    .nav-quote {

        padding: 0 14px;

        font-size: 12px;
    }
}


@media (max-width: 850px) {

    .nav-links {

        display: none;
    }

    .nav-right .nav-quote {

        display: none;
    }

    .hamburger {

        display: flex;
    }

    .navbar.menu-open .nav-links-mobile {

        display: block;
    }
}


@media (max-width: 480px) {

    .navbar {

        padding: 14px 0;
    }

    .navbar.scrolled {

        padding: 10px 0;
    }

    .logo img {

        height: 46px;
    }

    .navbar.scrolled .logo img {

        height: 42px;
    }

    .nav-links-mobile {

        padding-left: 20px;

        padding-right: 20px;
    }
}
