/* ==========================================
   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%;
    max-width:1440px;

    margin:auto;

    padding-left:48px;
    padding-right:48px;

}

/* ==========================================
   NAVBAR
========================================== */

#navbar{

    width:100%;
    height:90px;

    display:flex;
    align-items:center;

    background:#ffffff;

}

/* ==========================================
   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;

}

/* ==========================================
   BUTTON
========================================== */

.btn-primary{

    display:inline-flex;

    justify-content:center;
    align-items:center;

    text-decoration:none;

    background:#2563eb;

    color:#ffffff;

    padding:16px 34px;

    border-radius:14px;

    font-size:17px;

    font-weight:600;

    transition:.25s;

}

.btn-primary:hover{

    background:#1d4ed8;

}

/* ==========================================
   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-actions .btn-primary{

    width:100%;

    height:58px;

    padding:0;

    border-radius:16px;

}

/* ==========================================
   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;

}