/* ==========================================================
   SSSP Navigation CSS
   Part 1
   Header + Logo + Desktop Menu + Dropdown + Buttons
========================================================== */

:root{
    --primary:#8B1A1A;
    --secondary:#B88A44;
    --dark:#222;
    --light:#ffffff;
    --border:#ececec;
    --transition:.35s ease;
}

/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

.desktop-menu ul,
.desktop-menu li,
.mobile-menu-list,
.mobile-menu-list li{
    list-style:none;
    margin:0;
    padding:0;
}

.desktop-menu a,
.mobile-menu-list a{
    text-decoration:none;
}

/* =========================
   HEADER
========================= */

.main-header{

    background:#fff;

    position:relative;

    z-index:999;

    box-shadow:0 3px 18px rgba(0,0,0,.08);

}

.header-inner{

    height:100px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

/* =========================
   LOGO
========================= */

.logo-area{

    display:flex;

    align-items:center;

}

.logo-area a{

    display:flex;

    align-items:center;

}

.logo-area img{

    width:72px;

    transition:.3s;

}

.logo-area img:hover{

    transform:scale(1.05);

}

/* =========================
   DESKTOP MENU
========================= */

.desktop-menu{

    margin-left:auto;

    margin-right:40px;

}

.desktop-menu>ul{

    display:flex;

    align-items:center;

    gap:5px;

}

.desktop-menu>ul>li{

    position:relative;

}

.desktop-menu>ul>li>a{

    display:flex;

    align-items:center;

    gap:6px;

    padding:36px 16px;

    color:#222;

    font-size:16px;

    font-weight:600;

    transition:var(--transition);

}

.desktop-menu>ul>li>a:hover{

    color:var(--primary);

}

.desktop-menu>ul>li:hover>a{

    color:var(--primary);

}

/* =========================
   NAV ARROW
========================= */

.nav-arrow{

    font-size:11px;

    transition:.3s;

}

.has-dropdown:hover>.desktop-link .nav-arrow,

.has-dropdown:hover>a .nav-arrow{

    transform:rotate(180deg);

}

/* =========================
   DROPDOWN
========================= */

.has-dropdown{

    position:relative;

}

/* IMPORTANT */

.has-dropdown>.dropdown-menu{

    position:absolute;

    left:0;

    top:100%;

    width:260px;

    background:#fff;

    border-radius:12px;

    border:1px solid #ececec;

    box-shadow:0 18px 45px rgba(0,0,0,.12);

    display:flex;

    flex-direction:column;

    padding:10px 0;

    opacity:0;

    visibility:hidden;

    transform:translateY(15px);

    transition:.35s;

    z-index:99999;

}

/* SHOW */

.has-dropdown:hover>.dropdown-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

/* VERY IMPORTANT */

.dropdown-menu li{

    width:100%;

    display:block !important;

    float:none !important;

}

.dropdown-menu li a{

    display:flex !important;

    align-items:center;

    width:100%;

    padding:14px 20px;

    color:#333;

    font-size:15px;

    font-weight:500;

    transition:.25s;

    white-space:nowrap;

}

.dropdown-menu li a:hover{

    background:#F7F3EB;

    color:var(--primary);

    padding-left:28px;

}

.dropdown-menu li i{

    width:22px;

    color:var(--primary);

}

/* =========================
   HEADER BUTTONS
========================= */

.header-btns{

    display:flex;

    align-items:center;

    gap:12px;

}

.login-btn{

    padding:12px 28px;

    border:1px solid var(--primary);

    border-radius:8px;

    color:var(--primary);

    transition:.3s;

}

.login-btn:hover{

    background:var(--primary);

    color:#fff;

}

.apply-btn{

    padding:12px 30px;

    background:var(--primary);

    color:#fff;

    border-radius:8px;

    transition:.3s;

}

.apply-btn:hover{

    background:#6b1111;

}
/* ==========================================================
   SSSP Navigation CSS
   Part 2
   Mobile Sidebar + Mobile Dropdown + Responsive
========================================================== */


/* =========================
   MOBILE TOGGLE
========================= */

.mobile-toggle{

    display:none;

    font-size:30px;

    color:var(--primary);

    cursor:pointer;

    transition:.3s;

}

.mobile-toggle:hover{

    color:#6b1111;

}



/* =========================
   SIDEBAR
========================= */

.mobile-sidebar{

    position:fixed;
    top:0;
    left:-100%;
    width:320px;
    max-width:85%;
    height:100vh;

    background:#fff;

    overflow-y:auto;
    overflow-x:hidden;

    transition:left .35s ease;

    z-index:9999999;

    box-shadow:0 0 25px rgba(0,0,0,.25);

}

.mobile-sidebar.active{

    left:0;

}



/* =========================
   SIDEBAR HEADER
========================= */

.mobile-sidebar-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:22px;

    border-bottom:1px solid #ececec;

}

.mobile-sidebar-header img{

    width:70px;

}

.close-sidebar{

    font-size:24px;

    color:#222;

    cursor:pointer;

}



/* =========================
   SOCIAL
========================= */

.mobile-social{

    display:flex;

    justify-content:center;

    gap:15px;

    padding:20px;

    border-bottom:1px solid #ececec;

}

.mobile-social a{

    width:42px;

    height:42px;

    border-radius:50%;

    background:#f5f5f5;

    display:flex;

    align-items:center;

    justify-content:center;

    color:var(--primary);

    transition:.3s;

}

.mobile-social a:hover{

    background:var(--primary);

    color:#fff;

}



/* =========================
   MOBILE MENU
========================= */

.mobile-menu-list{

    list-style:none;

    margin:0;

    padding:0;
    position:relative;

z-index:999999;

}

.mobile-menu-list>li{

    border-bottom:1px solid #efefef;

}

.mobile-menu-list>li>a{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:17px 25px;

    font-size:15px;

    font-weight:600;

    color:#333;

    transition:.3s;

}

.mobile-menu-list>li>a:hover{

    color:var(--primary);

}



/* =========================
   MOBILE DROPDOWN
========================= */

.mobile-dropdown{

display:none;

padding:0;

margin:0;

background:#fafafa;

list-style:none;

width:100%;

}

.mobile-dropdown li{

    border-top:1px solid #eee;

}

.mobile-dropdown li a{

display:block;

width:100%;

padding:15px 45px;

background:#fafafa;

color:#444;

text-decoration:none;

}

.mobile-dropdown li a:hover{

    background:#f3f3f3;

    color:var(--primary);

    padding-left:50px;

}



/* OPEN */

.mobile-menu-list li.active>.mobile-dropdown{

    display:block;

}

.mobile-menu-list li.active>.mobile-parent i{

    transform:rotate(180deg);

}



/* PARENT */

.mobile-parent{

display:flex;

justify-content:space-between;

align-items:center;

width:100%;

padding:18px 25px;

cursor:pointer;

font-size:16px;

font-weight:600;

background:#fff;

position:relative;

z-index:10;

}

.mobile-parent i{

    transition:.3s;

}



/* =========================
   BUTTONS
========================= */

.mobile-buttons{

    padding:25px;

    display:flex;

    flex-direction:column;

    gap:12px;

}

.mobile-buttons a{

    width:100%;

    justify-content:center;

}

.mobile-sidebar,
.mobile-sidebar *{

    pointer-events:auto;

}

/* =========================
   OVERLAY
========================= */

.sidebar-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.45);

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transition:.3s;

    z-index:9999998;

}

.sidebar-overlay.active{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

}



/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

.desktop-menu{

display:none;

}

.header-btns{

display:none;

}

.mobile-toggle{

display:block;

}

.header-inner{

height:85px;

}

.logo-area img{

width:60px;

}

}



@media(max-width:576px){

.mobile-sidebar{

width:290px;

}

.logo-area img{

width:55px;

}

}

/* ==========================================================
   SSSP Navigation CSS
   Part 3
   Animation + Sticky Header + Active Menu + Final Fixes
========================================================== */

/* =========================
   STICKY HEADER
========================= */

.main-header{
    position:sticky;
    top:0;
    left:0;
    width:100%;
    z-index:9999;
    background:#fff;
    transition:.35s;
}

.main-header.scrolled{
    box-shadow:0 8px 30px rgba(0,0,0,.08);
}


/* =========================
   ACTIVE MENU
========================= */

.desktop-menu>ul>li.active>a,
.desktop-menu>ul>li>a.active{

    color:var(--primary);

}

.desktop-menu>ul>li.active>a::after,
.desktop-menu>ul>li>a.active::after{

    content:'';

    position:absolute;

    left:16px;

    bottom:24px;

    width:30px;

    height:2px;

    background:var(--primary);

}


/* =========================
   DROPDOWN ANIMATION
========================= */

.has-dropdown>.dropdown-menu{

    transform-origin:top;

    animation:none;

}

.has-dropdown:hover>.dropdown-menu{

    animation:dropdownFade .28s ease;

}

@keyframes dropdownFade{

0%{

opacity:0;

transform:translateY(15px);

}

100%{

opacity:1;

transform:translateY(0);

}

}


/* =========================
   ICON ANIMATION
========================= */

.dropdown-menu li a i{

    transition:.3s;

}

.dropdown-menu li a:hover i{

    transform:translateX(4px);

}


/* =========================
   MOBILE ANIMATION
========================= */

.mobile-dropdown{

    animation:mobileDrop .25s ease;

}

@keyframes mobileDrop{

0%{

opacity:0;

transform:translateY(-8px);

}

100%{

opacity:1;

transform:translateY(0);

}

}


/* =========================
   SCROLLBAR
========================= */

.mobile-sidebar::-webkit-scrollbar{

width:6px;

}

.mobile-sidebar::-webkit-scrollbar-thumb{

background:#b7b7b7;

border-radius:20px;

}


/* =========================
   HOVER EFFECT
========================= */

.desktop-menu>ul>li>a{

position:relative;

}

.desktop-menu>ul>li>a::before{

content:'';

position:absolute;

left:0;

bottom:18px;

width:0;

height:2px;

background:var(--primary);

transition:.35s;

}

.desktop-menu>ul>li:hover>a::before{

width:100%;

}


/* =========================
   FINAL BUG FIX
========================= */

/* Main UL only */

.desktop-menu > ul{

display:flex !important;

}

/* IMPORTANT */

.desktop-menu .dropdown-menu{

display:none;

flex-direction:column !important;

}

/* IMPORTANT */

.desktop-menu .dropdown-menu li{

display:block !important;

width:100% !important;

}

/* IMPORTANT */

.desktop-menu .dropdown-menu li a{

display:flex !important;

width:100% !important;

}

/* IMPORTANT */

.desktop-menu li:hover>.dropdown-menu{

display:flex !important;

}


/* Prevent inherited flex */

.desktop-menu .dropdown-menu ul{

display:block !important;

}


/* Prevent row layout */

.desktop-menu .dropdown-menu{

row-gap:0;

column-gap:0;

}


/* Mobile */

.mobile-dropdown{

display:none;

}

.mobile-menu-list li.active>.mobile-dropdown{

display:block;

}


/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

.main-header{

position:relative;

}

.desktop-menu{

display:none !important;

}

.mobile-toggle{

display:block !important;

}

}

@media(min-width:992px){

.mobile-sidebar{

display:none;

}

.sidebar-overlay{

display:none;

}

}