/*==============================================================
#
# EcoClimPro V2
# Navigation CSS
# Navigation uniquement
#
==============================================================*/


/*==============================================================
# Navigation principale
==============================================================*/

.main-navigation{

    display:flex;

    align-items:center;

    margin-left:auto;

}

.main-navigation ul{

    display:flex;

    align-items:center;

    gap:38px;

    margin:0;

    padding:0;

    list-style:none;

}

.main-navigation li{

    position:relative;

    margin:0;

}

.main-navigation a{

    display:flex;

    align-items:center;

    height:calc(var(--header-height) - var(--topbar-height));

    color:var(--heading-color);

    font-weight:600;

    font-size:1rem;

    transition:var(--transition);

    position:relative;

}


/*==============================================================
# Soulignement animé
==============================================================*/

.main-navigation>ul>li>a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:22px;

    width:0;

    height:2px;

    border-radius:999px;

    background:linear-gradient(
        90deg,
        var(--color-primary),
        var(--color-secondary)
    );

    transition:.35s;

}

.main-navigation>ul>li:hover>a::after,
.main-navigation .current-menu-item>a::after,
.main-navigation .current_page_item>a::after{

    width:100%;

}

.main-navigation a:hover{

    color:var(--color-primary);

}


/*==============================================================
# Flèche des sous-menus
==============================================================*/

.menu-item-has-children>a{

    padding-right:18px;

}

.menu-item-has-children>a::before{

    content:"";

    position:absolute;

    right:0;

    top:50%;

    width:7px;

    height:7px;

    border-right:2px solid currentColor;

    border-bottom:2px solid currentColor;

    transform:translateY(-70%) rotate(45deg);

    transition:.30s;

}

.menu-item-has-children:hover>a::before{

    transform:translateY(-30%) rotate(225deg);

}


/*==============================================================
# Sous-menu
==============================================================*/

.sub-menu{

    position:absolute;

    top:calc(100% + 16px);

    left:0;

    min-width:260px;

    padding:15px 0;

    background:#fff;

    border-radius:18px;

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

    opacity:0;

    visibility:hidden;

    transform:translateY(15px);

    transition:.35s;

    z-index:100;

}

.main-navigation li:hover>.sub-menu{

    opacity:1;

    visibility:visible;

    transform:none;

}

.sub-menu li{

    width:100%;

}

.sub-menu a{

    display:block;

    height:auto;

    padding:14px 24px;

    font-size:.95rem;

    color:var(--heading-color);

}

.sub-menu a:hover{

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

    color:var(--color-primary);

}

.sub-menu a::after,
.sub-menu a::before{

    display:none;

}


/*==============================================================
# CTA Menu
==============================================================*/

.btn--nav{

    margin-left:28px;

}


/*==============================================================
# Hamburger
==============================================================*/

.nav-toggle{

    width:48px;

    height:48px;

    display:none;

    justify-content:center;

    align-items:center;

    position:relative;

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

    border-radius:12px;

    cursor:pointer;

}

.nav-toggle span,

.nav-toggle::before,

.nav-toggle::after{

    content:"";

    position:absolute;

    width:24px;

    height:2px;

    background:var(--color-primary);

    transition:.30s;

}

.nav-toggle span{

    transform:translateY(0);

}

.nav-toggle::before{

    transform:translateY(-8px);

}

.nav-toggle::after{

    transform:translateY(8px);

}


/*==============================================================
# Animation Hamburger
==============================================================*/

.nav-toggle.is-active span{

    opacity:0;

}

.nav-toggle.is-active::before{

    transform:rotate(45deg);

}

.nav-toggle.is-active::after{

    transform:rotate(-45deg);

}


/*==============================================================
# Overlay
==============================================================*/

.menu-overlay{

    position:fixed;

    inset:0;

    background:rgba(15,23,42,.55);

    backdrop-filter:blur(4px);

    opacity:0;

    visibility:hidden;

    transition:.30s;

    z-index:1090;

}

.menu-overlay.is-visible{

    opacity:1;

    visibility:visible;

}


/*==============================================================
# Navigation Mobile
==============================================================*/

@media(max-width:1100px){

.main-navigation{

    position:fixed;

    top:0;

    right:-100%;

    width:340px;

    max-width:100%;

    height:100vh;

    background:#fff;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    justify-content:flex-start;

    padding:110px 35px 40px;

    transition:.35s;

    overflow-y:auto;

    box-shadow:-25px 0 60px rgba(0,0,0,.12);

    z-index:1100;

}

.main-navigation.is-open{

    right:0;

}

.main-navigation ul{

    width:100%;

    flex-direction:column;

    align-items:flex-start;

    gap:0;

}

.main-navigation li{

    width:100%;

    border-bottom:1px solid var(--color-gray-200);

}

.main-navigation a{

    width:100%;

    height:auto;

    padding:18px 0;

}

.main-navigation>ul>li>a::after{

    display:none;

}


/* Sous-menu */

.sub-menu{

    position:relative;

    top:0;

    left:0;

    display:none;

    opacity:1;

    visibility:visible;

    transform:none;

    width:100%;

    min-width:100%;

    background:transparent;

    box-shadow:none;

    border-radius:0;

    padding:0 0 0 18px;

}

.menu-item-has-children.is-open>.sub-menu{

    display:block;

}


/* Flèche */

.menu-item-has-children>a::before{

    right:10px;

}

.menu-item-has-children.is-open>a::before{

    transform:rotate(225deg);

}


/* CTA */

.btn--nav{

    width:100%;

    margin:30px 0 0;

}

.nav-toggle{

    display:flex;

}

}


/*==============================================================
# Smartphone
==============================================================*/

@media(max-width:768px){

.main-navigation{

    width:100%;

    padding:90px 24px 30px;

}

}