/* ==========================================
   RESET
========================================== */

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}


body{

    font-family:'Montserrat',sans-serif;

    color:#111827;

    /*background:#f8f7f5;*/

}


body.menu-open{

    overflow:hidden;

}


/* ==========================================
   CONTAINER
========================================== */

.container{

    width:100%;

    margin:auto;

    padding-left:48px;

    padding-right:48px;

}


/* ==========================================
   NAVBAR
========================================== */

#navbar{

    width:100%;

    height:90px;

    display:flex;

    align-items:center;

    background:transparent;

}


/* ==========================================
   INNER
========================================== */

#navbar .container{

    display:flex;

    align-items:center;

}


/* ==========================================
   LOGO
========================================== */

.navbar-logo{

    display:flex;

    align-items:center;

    text-decoration:none;

}


.navbar-logo img{

    height:48px;

    display:block;

}


/* ==========================================
   MENU
========================================== */

.navbar-menu{

    display:flex;

    gap:42px;

    margin-left:100px;

}


.navbar-menu a{

    text-decoration:none;

    color:#1f2937;

    font-size:17px;

    font-weight:500;

    transition:.25s;

}


.navbar-menu a:hover{

    color:#2563eb;

}


/* ==========================================
   RIGHT SIDE
========================================== */

.navbar-actions{

    margin-left:auto;

    display:flex;

    align-items:center;

    gap:36px;

}


/* ==========================================
   LOGIN
========================================== */

.login-link{

    text-decoration:none;

    color:#111827;

    font-size:17px;

    font-weight:500;

    transition:.25s;

}


.login-link:hover{

    color:#2563eb;

}


/* ==========================================
   NAVBAR PRIMARY BUTTON
========================================== */

#navbar .btn-primary{

    position:relative;

    overflow:hidden;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:150px;

    height:56px;

    padding:0 28px;

    border:none;

    border-radius:14px;

    text-decoration:none;

    background:
        linear-gradient(
            90deg,
            #2563eb,
            #7c3aed
        );

    color:#ffffff;

    font-size:17px;

    font-weight:600;

    box-shadow:
        0 10px 28px rgba(124,58,237,.25);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease;

}


/* ==========================================
   NAVBAR BUTTON SHINE
========================================== */

#navbar .btn-primary::before{

    content:"";

    position:absolute;

    top:0;

    left:-140%;

    width:45%;

    height:100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.35),
            transparent
        );

    transform:skewX(-25deg);

    animation:
        navbarButtonShine 5s linear infinite;

    pointer-events:none;

}


/* ==========================================
   NAVBAR BUTTON HOVER
========================================== */

#navbar .btn-primary:hover{

    transform:translateY(-3px);

    box-shadow:
        0 16px 40px rgba(124,58,237,.35);

    background:
        linear-gradient(
            90deg,
            #2563eb,
            #7c3aed
        );

}


/* ==========================================
   NAVBAR BUTTON SHINE ANIMATION
========================================== */

@keyframes navbarButtonShine{

    0%,
    80%{

        left:-140%;

    }

    100%{

        left:150%;

    }

}


/* ==========================================
   MOBILE OVERLAY
========================================== */

.mobile-overlay{

    position:fixed;

    inset:0;

    width:100vw;

    height:100vh;

    background:rgba(15,23,42,.45);

    backdrop-filter:blur(6px);

    opacity:0;

    visibility:hidden;

    transition:
        opacity .35s ease,
        visibility .35s ease;

    z-index:998;

}


/* ==========================================
   MOBILE DRAWER
========================================== */

.mobile-menu{

    position:fixed;

    top:0;

    right:0;

    width:min(360px,85vw);

    height:100vh;

    background:#ffffff;

    display:flex;

    flex-direction:column;

    overflow-y:auto;

    overscroll-behavior:contain;

    box-shadow:
        -20px 0 60px rgba(0,0,0,.15);

    transform:translateX(100%);

    transition:
        transform .35s ease;

    z-index:999;

}


/* ==========================================
   MOBILE HEADER
========================================== */

.mobile-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:24px;

    border-bottom:1px solid #ececec;

    flex-shrink:0;

}


.mobile-header img{

    height:44px;

    display:block;

}


.mobile-close{

    width:48px;

    height:48px;

    border:none;

    border-radius:14px;

    background:#f3f4f6;

    color:#111827;

    cursor:pointer;

    transition:.25s;

}


.mobile-close:hover{

    background:#e5e7eb;

}


.mobile-close i{

    font-size:22px;

}


/* ==========================================
   MOBILE LINKS
========================================== */

.mobile-links{

    display:flex;

    flex-direction:column;

    padding:20px 24px;

}


.mobile-links a{

    display:flex;

    align-items:center;

    min-height:64px;

    text-decoration:none;

    color:#111827;

    font-size:20px;

    font-weight:600;

    border-bottom:1px solid #f1f5f9;

    transition:.25s;

}


.mobile-links a:hover{

    color:#2563eb;

    padding-left:8px;

}


/* ==========================================
   MOBILE ACTIONS
========================================== */

.mobile-actions{

    margin-top:auto;

    padding:24px;

    display:flex;

    flex-direction:column;

    gap:16px;

}


.mobile-actions .login-link{

    text-align:center;

    font-size:18px;

}


/* ==========================================
   MOBILE PRIMARY BUTTON
========================================== */

.mobile-actions .btn-primary{

    position:relative;

    overflow:hidden;

    width:100%;

    height:58px;

    padding:0;

    border:none;

    border-radius:16px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
        linear-gradient(
            90deg,
            #2563eb,
            #7c3aed
        );

    color:#ffffff;

    box-shadow:
        0 10px 28px rgba(124,58,237,.25);

}


/* ==========================================
   MOBILE BUTTON SHINE
========================================== */

.mobile-actions .btn-primary::before{

    content:"";

    position:absolute;

    top:0;

    left:-140%;

    width:45%;

    height:100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.35),
            transparent
        );

    transform:skewX(-25deg);

    animation:
        navbarButtonShine 5s linear infinite;

    pointer-events:none;

}


/* ==========================================
   ACTIVE
========================================== */

.mobile-overlay.active{

    opacity:1;

    visibility:visible;

}


.mobile-menu.active{

    transform:translateX(0);

}


/* ==========================================
   MOBILE MENU BUTTON
========================================== */

.menu-toggle{

    display:none;

    justify-content:center;

    align-items:center;

    width:48px;

    height:48px;

    margin-left:auto;

    border:none;

    border-radius:12px;

    background:#f3f4f6;

    color:#111827;

    cursor:pointer;

    transition:.25s;

}


.menu-toggle:hover{

    background:#e5e7eb;

}


.menu-toggle i{

    font-size:22px;

}