/*==================================================
  NEOGEN PREMIUM NAVBAR
  assets/css/navbar.css
==================================================*/

:root{

    --primary:#7F3F73;
    --secondary:#B77C90;
    --dark:#1B1B1B;
    --text:#555;
    --white:#fff;
    --border:#ECECEC;

}

/* ===========================
   TOP BAR
=========================== */

.topbar{

    height:44px;

    display:flex;

    align-items:center;

    background:#fff;

    border-bottom:1px solid var(--border);

    font-size:14px;

}

.topbar .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.topbar-left span{

    color:#666;

    display:flex;

    align-items:center;

    gap:8px;

}

.topbar-left i{

    color:var(--primary);

}

.topbar-right{

    display:flex;

    align-items:center;

    gap:20px;

}

.topbar-right a{

    color:#666;

    text-decoration:none;

    transition:.3s;

}

.topbar-right a:hover{

    color:var(--primary);

}

.divider{

    width:1px;

    height:18px;

    background:#ddd;

}


/* ===========================
 HEADER
=========================== */

.main-header{

    position:sticky;

    top:0;

    z-index:9999;

    width:100%;

    transition:.4s;

    backdrop-filter:blur(20px);

    -webkit-backdrop-filter:blur(20px);

    background:rgba(255,255,255,.78);

    border-bottom:1px solid rgba(255,255,255,.4);

}


.main-header.scrolled{

    box-shadow:

    0 12px 40px rgba(0,0,0,.06);

}


/* ===========================
 NAVBAR
=========================== */

.navbar{

    height:88px;

    display:flex;

    align-items:center;

    justify-content:space-between;

}


.logo img{

    height:64px;

    transition:.3s;

}

.logo:hover img{

    transform:scale(1.04);

}


/* ===========================
 MENU
=========================== */

.menu{

    display:flex;

    align-items:center;

    gap:40px;

    list-style:none;

}

.menu li{

    position:relative;

}

.menu a{

    text-decoration:none;

    color:var(--dark);

    font-weight:500;

    font-size:15px;

    transition:.35s;

    position:relative;

}

.menu a:hover{

    color:var(--primary);

}

.menu a.active{

    color:var(--primary);

}

.menu a.active:after{

    content:"";

    position:absolute;

    left:0;

    bottom:-10px;

    width:100%;

    height:2px;

    background:var(--primary);

    border-radius:20px;

}


/* ===========================
 HEADER RIGHT
=========================== */

.header-right{

    display:flex;

    align-items:center;

    gap:18px;

}

.header-phone{

    display:flex;

    align-items:center;

    gap:10px;

    text-decoration:none;

    color:#333;

    font-weight:600;

}

.header-phone i{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#F7F3F6;

    color:var(--primary);

    transition:.3s;

}

.header-phone:hover i{

    background:var(--primary);

    color:#fff;

}


.primary-btn{

    background:linear-gradient(
        135deg,
        #7F3F73,
        #B77C90
    );

    color:#fff;

    padding:14px 30px;

    border-radius:999px;

    text-decoration:none;

    font-weight:600;

    transition:.35s;

    box-shadow:

    0 15px 35px rgba(127,63,115,.18);

}

.primary-btn:hover{

    transform:translateY(-3px);

    box-shadow:

    0 20px 45px rgba(127,63,115,.30);

}


/* ===========================
 MEGA MENU
=========================== */

.has-dropdown{

    position:relative;

}

.mega-menu{

    position:absolute;

    left:-220px;

    top:70px;

    width:980px;

    display:grid;

    grid-template-columns:

    repeat(4,1fr);

    gap:35px;

    padding:35px;

    background:#fff;

    border-radius:26px;

    box-shadow:

    0 30px 70px rgba(0,0,0,.08);

    opacity:0;

    visibility:hidden;

    transition:.35s;

}

.has-dropdown:hover .mega-menu{

    opacity:1;

    visibility:visible;

    top:55px;

}

.mega-column h4{

    margin-bottom:18px;

    color:var(--primary);

    font-size:18px;

}

.mega-column a{

    display:block;

    margin-bottom:12px;

    color:#666;

    text-decoration:none;

    transition:.25s;

}

.mega-column a:hover{

    color:var(--primary);

    padding-left:8px;

}

.featured{

    background:#FCFCFD;

    padding:18px;

    border-radius:18px;

}

.featured img{

    width:100%;

    border-radius:14px;

    margin-bottom:15px;

}

.featured p{

    color:#666;

    margin:15px 0 20px;

    line-height:1.8;

}

.mega-btn{

    display:inline-block;

    padding:12px 24px;

    background:var(--primary);

    color:#fff;

    border-radius:999px;

    text-decoration:none;

}


/* ===========================
 MOBILE
=========================== */

.mobile-toggle{

    display:none;

    font-size:34px;

    cursor:pointer;

}

.mobile-menu{

    position:fixed;

    right:-100%;

    top:0;

    width:340px;

    height:100%;

    background:#fff;

    z-index:999999;

    transition:.4s;

    padding:35px;

    overflow:auto;

}

.mobile-menu.active{

    right:0;

}

.mobile-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:40px;

}

.mobile-header img{

    height:58px;

}

.close-menu{

    font-size:34px;

    cursor:pointer;

}

.mobile-menu ul{

    list-style:none;

}

.mobile-menu li{

    margin-bottom:20px;

}

.mobile-menu a{

    text-decoration:none;

    color:#222;

    font-size:18px;

    font-weight:500;

}

.mobile-btn{

    width:100%;

    text-align:center;

    margin-top:30px;

}

.mobile-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.45);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:999998;

}

.mobile-overlay.active{

    opacity:1;

    visibility:visible;

}