/*==================================================
    HEADER
==================================================*/

.header{

    position:fixed;

    top:0;
    left:0;

    width:100%;
    height:82px;

    z-index:100;

    transition:
        background-color .35s ease,
        backdrop-filter .35s ease,
        box-shadow .35s ease;

}

.header.scrolled{

    background:rgba(255,255,255,.88);

    backdrop-filter:blur(20px);

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

    box-shadow:0 10px 30px rgba(0,0,0,.05);

}

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

.header .container{

    width:min(92%,1200px);

    height:100%;

    margin:0 auto;

    display:flex;

    align-items:center;

    justify-content:space-between;

}

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

.logo{

    display:flex;

    align-items:center;

    text-decoration:none;

    z-index:101;

}

.logo img{

    display:block;

    width:170px;

    height:auto;

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

}

/*==================================================
    DESKTOP NAVIGATION
==================================================*/

.nav{

    display:flex;

    align-items:center;

}

.nav-list{

    display:flex;

    align-items:center;

    gap:56px;

    list-style:none;

}

.nav-link{

    position:relative;

    display:flex;

    align-items:center;

    height:82px;

    font-family:var(--font-body);

    font-size:.82rem;

    font-weight:500;

    letter-spacing:.18em;

    text-transform:uppercase;

    color:#FFFFFF;

    text-decoration:none;

    transition:
        color .35s ease,
        opacity .35s ease;

}

.nav-link:hover{

    opacity:.7;

}

.nav-link::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:22px;

    width:0;

    height:1px;

    background:var(--color-gold);

    transform:translateX(-50%);

    transition:width .35s ease;

}

.nav-link:hover::after{

    width:70%;

}

/*==================================================
    SCROLLED COLORS
==================================================*/

.header.scrolled .nav-link{

    color:var(--color-black);

}

/*==================================================
    MENU TOGGLE
==================================================*/

.menu-toggle{

    display:none;

    position:relative;

    width:48px;

    height:48px;

    padding:0;

    border:none;

    background:transparent;

    cursor:pointer;

    flex-shrink:0;

    z-index:110;

}

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

.menu-toggle span{

    position:absolute;

    left:50%;

    width:28px;

    height:2px;

    border-radius:2px;

    background:#FFFFFF;

    transform-origin:center;

    transition:
        transform .35s ease,
        opacity .25s ease,
        background-color .35s ease;

}

/* Posición inicial */

.menu-toggle span:nth-child(1){

    transform:translate(-50%,-8px);

}

.menu-toggle span:nth-child(2){

    transform:translate(-50%,0);

}

.menu-toggle span:nth-child(3){

    transform:translate(-50%,8px);

}

/*==================================================
    SCROLLED
==================================================*/

.header.scrolled .menu-toggle span{

    background:var(--color-black);

}

/*==================================================
    MENU OPEN
==================================================*/

.header.menu-open .menu-toggle span{

    background:var(--color-black);

}

.header.menu-open .menu-toggle span:nth-child(1){

    transform:translate(-50%,0) rotate(45deg);

}

.header.menu-open .menu-toggle span:nth-child(2){

    opacity:0;

}

.header.menu-open .menu-toggle span:nth-child(3){

    transform:translate(-50%,0) rotate(-45deg);

}
/*==================================================
    MOBILE MENU
==================================================*/

.mobile-menu{

    position:fixed;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(255,255,255,.96);

    backdrop-filter:blur(18px);

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

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transition:
        opacity .35s ease,
        visibility .35s ease;

    z-index:90;

}

/*==================================================
    MENU OPEN
==================================================*/

.header.menu-open + .mobile-menu,
.header.menu-open .mobile-menu{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

}

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

.mobile-nav{

    width:100%;

}

.mobile-nav-list{

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:38px;

    list-style:none;

}

.mobile-nav-list a{

    display:inline-block;

    font-family:var(--font-title);

    font-size:clamp(2rem,5vw,2.6rem);

    color:var(--color-black);

    text-decoration:none;

    transition:
        color .35s ease,
        transform .35s ease;

}

.mobile-nav-list a:hover{

    color:var(--color-gold);

    transform:translateY(-2px);

}

/*==================================================
    RESPONSIVE
==================================================*/

@media (max-width:992px){

    .nav{

        display:none;

    }

    .menu-toggle{

        display:flex;

        justify-content:center;

        align-items:center;

    }

    .logo img{

        width:170px;

    }

}

@media (min-width:993px){

    .mobile-menu{

        display:none;

    }

}

@media (max-width:768px){

    .header{

        height:80px;

    }

    .logo img{

        width:160px;

    }

    .mobile-nav-list{

        gap:32px;

    }

    .mobile-nav-list a{

        font-size:2.1rem;

    }

}

@media (max-width:480px){


    .header .container{

        width:90%;

    }

    .logo img{

        width:150px;

    }

    .mobile-nav-list{

        gap:28px;

    }

    .mobile-nav-list a{

        font-size:1.9rem;

    }

}