/*===============================
Existing Theme Override  
=============================== */
nav li.menu-item-has-children > a > .sub-arrow{
    display: none !important;
}
nav li a{
    color: #ffffff;
}
nav li a:hover{
    color: #ffffff;
}
nav > ul > li > a{
    border: none;
    padding: 10px 0 5px 0 !important;
    font-size: 14px;
    text-transform: uppercase;
}
nav > ul > li.current-menu-parent>a, nav > ul > li.current-menu-ancestor>a,
nav > ul > li.current_page_parent > a, nav > ul > li.current-menu-item > a{
    border-width: 0 0 2px 0;
    border-style: solid;
    border-color: #ffffff;
}
nav > ul > li > a:hover{
    border-width: 0 0 2px 0;
    border-style: solid;
    border-color: #ffffff;
}
.jupiterx-header-stick .elementor-element .raven-nav-menu-main .raven-nav-menu>li>a.raven-menu-item-active,.jupiterx-header-stick .elementor-element .raven-nav-menu-main .raven-nav-menu>li.current-menu-parent>a,.jupiterx-header-stick .elementor-element .raven-nav-menu-main .raven-nav-menu>li.current-menu-ancestor>a {
    color: #333;
    border-color: #333;
    border-style: solid;
    border-width: 0 0 2px 0;
}
.jupiterx-header-stick .elementor-element .raven-nav-menu-main .raven-nav-menu>li>a{
    color: #333;
    border-color: #333;
    border-style: solid;
    border-width:0;
}

/*mobile menu style*/
li.is-mobile-menu-btn a{
    font-family: inherit !important;
    font-size: 16px !important;
}
li.is-mobile-menu-btn a:hover{
    border: none;
    background-color: #E0E0E0 !important;
    color: #333333 !important;
}
li.is-mobile-menu-btn{
    margin-top: 12px !important;
    margin-bottom: 4px !important;
}
@media (max-width: 1024px) {
    nav ul li.is-mobile-menu-btn{
        display: block;
    }
}
@media (min-width: 1025px) {
    nav ul li.is-mobile-menu-btn{
        display: none !important;
    }
}
nav.raven-nav-menu-mobile ul.raven-nav-menu {
    position: relative !important;
    background-color: #ffffff;
    padding: 60px 0px;
}
nav.raven-nav-menu-mobile ul.raven-nav-menu > li:not(.is-mobile-menu-btn) > a{
    color: #231F20 !important;
    width: 100% !important;
    font-size: 16px !important;
    padding: 20px 30px !important;
    border: none !important;
}
nav.raven-nav-menu-mobile ul.raven-nav-menu > li > a{
    border: none !important;
}
.mobile-menu-close-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    z-index: 9999;
    color: #231F20;
}
nav.raven-nav-menu-mobile ul.raven-nav-menu li ul.sub-menu{
    box-shadow: none;
}

nav.raven-nav-menu-mobile ul.raven-nav-menu > li.active > a, nav.raven-nav-menu-mobile ul.raven-nav-menu li.menu-item.current-menu-item, nav.raven-nav-menu-mobile ul.raven-nav-menu li.menu-item.current-menu-parent, nav.raven-nav-menu-mobile ul.raven-nav-menu li.menu-item.current-menu-ancestor{
    background-color: #E8ECF0;
    border: none !important;
}
nav.raven-nav-menu-mobile ul.raven-nav-menu li.menu-item-has-children > a::after{
    right: 30px;
}
nav.raven-nav-menu-mobile ul.raven-nav-menu > li.is-mobile-menu-btn > a{
    width: auto !important;
    margin: 0 30px;
}
nav.raven-nav-menu-mobile ul.raven-nav-menu > li.is-mobile-menu-btn{
    text-align: left !important;
}

/* Prevent mobile menu jump on scroll */
.raven-nav-menu-mobile.raven-nav-menu-dropdown {
    top: 80px !important; /* Adjust as needed */
    padding-top: 0 !important;
}
/*===============================*/




/* ===============================
   NORMAL DROPDOWN MENU STYLES
   (does NOT affect MegaMenu)
   =============================== */

nav ul.scm-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 180px;
    background: #ffffff;
    border: 1px solid #eeeeee;
    padding: 0;
    visibility: hidden;
    opacity: 0;
    transition: opacity .25s ease, transform .25s ease;
    transform: translateY(10px);
    z-index: 9999;
    margin-left: 30px;
}



/* Parent hover = show dropdown */
nav li.menu-item-has-children:hover > ul.scm-submenu:not(.scm-mm-submenu) {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

/* Dropdown list items */
nav ul.scm-submenu:not(.scm-mm-submenu) > li {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Dropdown links */
nav ul.scm-submenu:not(.scm-mm-submenu) > li > a {
    display: block;
    padding: 8px 15px;
    color: #231F20;
    font-size: inherit;
    text-decoration: none;
    white-space: nowrap;
}

nav ul.scm-mm-submenu li  a {
    color: var(--scm-txt-color, #231F20) !important;
    font-size: var(--scm-font-size, inherit) !important;
    text-decoration: none !important;
    border: none !important;
}

/* Hover effect */
nav ul.sub-menu:not(.scm-mm-submenu) > li > a:hover {
    background: #f2f2f2;
    color: #000;
}
nav ul.sub-menu {
    box-shadow: 0 0 20px 5px rgb(51 51 51 / .48);
}

/* ======================================
   MOBILE RESPONSIVE DROPDOWN (<1024px)
   ====================================== */

@media (max-width: 1024px) {

    /* Parent becomes full row */
    nav li.menu-item-has-children > a {
        position: relative;
        padding-right: 30px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    /* Replace hover behavior with click/tap */
    nav ul.scm-submenu:not(.scm-mm-submenu) {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none; /* hidden by default */
        border: none;
        padding-left: 15px; /* nested indentation */
    }

    /* When parent has class "open" */
    nav li.menu-item-has-children.active > ul.scm-submenu:not(.scm-mm-submenu) {
        display: block;
    }

    /* Arrow styling */
    nav li.menu-item-has-children > a::after {
        transform: translateY(-50%) rotate(0deg);
        transition: transform .25s ease;
    }

    /* Rotate arrow when open */
    nav li.menu-item-has-children.active > a::after {
        transform: translateY(-50%) rotate(180deg) !important;
    }
    nav li.menu-item-has-children > a::after {
        transform: translateY(-50%) rotate(0deg) !important;
    }
}



/* SCM MegaMenu Frontend Styles */

/* Parent menu wrap */
.scm-mm-parent .sub-menu.scm-mm-submenu {
    display: grid !important;
    grid-gap: 0px;
    padding: 0px;
    background: var(--scm-bg, #fff);
    border-top: 1px solid var(--scm-border, #fff);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.25s ease-in-out;
    position: absolute;
    left: 0;
    top: calc(100% + 30px) !important;
    z-index: 9999;
    min-width: 250px;
    width: auto !important;
}

/* Show dropdown */
.scm-mm-parent:hover > .sub-menu.scm-mm-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

.scm-mm-parent .sub-menu.scm-mm-submenu {
    max-width: 100vw;       /* Never exceed screen width */
    overflow-x: hidden;     /* Hide extra overflow */
}


/* Columns dynamic */
.scm-mm-columns-1 > ul.sub-menu { grid-template-columns: repeat(1, 1fr); }
.scm-mm-columns-2 > ul.sub-menu { grid-template-columns: repeat(2, 1fr); }
.scm-mm-columns-3 > ul.sub-menu { grid-template-columns: repeat(3, 1fr); }
.scm-mm-columns-4 > ul.sub-menu { grid-template-columns: repeat(4, 1fr); }
.scm-mm-columns-5 > ul.sub-menu { grid-template-columns: repeat(5, 1fr); }
.scm-mm-columns-6 > ul.sub-menu { grid-template-columns: repeat(6, 1fr); }

/* Make sure submenu items fill the grid cell equally */

.scm-mm-parent .sub-menu.scm-mm-submenu > li {
    width: 100%;
    min-width: 170px;
    box-sizing: border-box;
    padding: 20px 10px 15px 10px;
}

/* Submenu items (child links) */
.scm-mm-parent .scm-mm-subitem a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    transition: 0.2s ease-in-out;
    font-weight: var(--scm-weight, 400) !important;
    text-transform: none !important;
}
.scm-mm-parent .scm-mm-subitem a:hover {
    color: var(--scm-hover-color, #231F20) !important;
    font-weight: var(--scm-hover-weight, inherit) !important;
    transform: translateY(-3px);
}

/* Icons */
.scm-mm-parent .scm-mm-icon {
    max-height: var(--scm-icon-height, 40px);
    object-fit: contain;
}

/* Responsive */
@media (max-width: 1024px) {
    .scm-mm-parent .sub-menu.scm-mm-submenu {
        position: relative;
        transform: none;
        visibility: hidden; /*--removed to fix iPhone 14, safari issue and added below two lines*/
        opacity: 0;
        height: 0;
        /*opacity: 0;
        max-height: 0;*/
        overflow: hidden;
        pointer-events: none;
        overflow: hidden;
        transition: all 0.25s ease-in-out;
        grid-template-columns: repeat(5, 1fr) !important;
    }

    .scm-mm-parent .sub-menu.scm-mm-submenu > li {
    width: 100%;
    min-width: 85px;
    box-sizing: border-box;
    padding: 12px 10px 12px 10px;
    }

    /* When active */
    .scm-mm-parent.active .scm-mm-submenu {
        visibility: visible; /*--removed to fix iPhone 14, safari issue and added below three lines*/
        opacity: 1;
        height: auto;
        /*opacity: 1;
        max-height: 1000px;*/
        pointer-events: auto;
        overflow: visible;
    }

    /* Closed state – no borders */
    .scm-mm-parent .scm-mm-submenu {
        border: none !important;
    }

    .scm-mm-parent .scm-mm-submenu li {
        border: none !important;
    }

    /* Open state – restore borders 
    .scm-mm-parent.active .scm-mm-submenu {
        border: 1px solid var(--scm-border, #fff) !important;
    }*/

    .scm-mm-parent.active .scm-mm-submenu li {
        border-bottom: 1px solid var(--scm-border, #fff) !important;
        border-right: 1px solid var(--scm-border, #fff) !important;
    }
    .scm-mm-parent.active .scm-mm-submenu li.scm-mm-extra {
        border: none !important;
    }
    
}
@media (max-width: 768px) {
    .scm-mm-parent .sub-menu.scm-mm-submenu { grid-template-columns: repeat(3, 1fr) !important; }
    .scm-mm-parent.scm-mm-columns-1 > .sub-menu.scm-mm-submenu { grid-template-columns: repeat(1, 1fr) !important; }
    .scm-mm-parent.scm-mm-columns-2 > .sub-menu.scm-mm-submenu { grid-template-columns: repeat(2, 1fr) !important; }

    .jupiterx-header .mobile-menu-wrapper .raven-nav-menu-mobile .raven-nav-menu  .scm-mm-parent.scm-mm-columns-1 > .sub-menu.scm-mm-submenu li{
        text-align: left !important;
    }
    .jupiterx-header .mobile-menu-wrapper .raven-nav-menu-mobile .raven-nav-menu  .scm-mm-parent.scm-mm-columns-1 > .sub-menu.scm-mm-submenu li a{
        padding-left:30px !important;
    }
}
@media (max-width: 576px) {
    .scm-mm-parent .sub-menu.scm-mm-submenu > li {
        min-width: calc(100% / 3);
    }
}
@media (max-width: 379px) {
     .scm-mm-parent .sub-menu.scm-mm-submenu { grid-template-columns: repeat(2, 1fr) !important; min-width: 100%; }
    .scm-mm-parent.scm-mm-columns-1 > .sub-menu.scm-mm-submenu { grid-template-columns: repeat(1, 1fr) !important; }
}
.scm-mm-parent .sub-menu.scm-mm-submenu li.menu-item:hover {
    background: var(--scm-hover-bg, #fff);
    color: var(--scm-hover-color, #fff);
    font-weight: var(--scm-hover-weight, inherit) !important;
}
.scm-mm-parent .sub-menu.scm-mm-submenu li.menu-item.current-menu-item {
    background: var(--scm-hover-bg, #fff);
    color: var(--scm-hover-color, #fff);
    font-weight: var(--scm-hover-weight, inherit) !important;
}
.scm-mm-parent .sub-menu.scm-mm-submenu li.menu-item.current-menu-item a{
    color: var(--scm-hover-color, #231F20) !important;
    font-weight: var(--scm-hover-weight, inherit) !important;
}

/*customize*/
.scm-mm-parent li.scm-mm-subitem{
    list-style: none;
     border-bottom: 1px solid var(--scm-border, #fff);
    border-right: 1px solid var(--scm-border, #fff);
}
/* Add left border only to first column */
.scm-mm-parent li.scm-mm-subitem:nth-child(1) {
    border-left: 1px solid var(--scm-border, #fff);
}

.scm-mm-parent .scm-mm-extra {
    grid-column: 1 / -1; /* full width */
    text-align: center;
    padding: 8px 12px 12px !important;
    border: none !important;
    background: var(--scm-addl-bg-color, #fff) !important;
}

.scm-mm-parent .scm-mm-extra a.scm-mm-extra-link {
    color: var(--scm-addl-color, #000) !important;
    text-decoration: none;
    padding: 10px !important;
}
.scm-mm-parent .scm-mm-extra a.scm-mm-extra-link:hover {
    text-decoration: underline !important;
}


/* Add SVG dropdown icon to ALL parent menus */
nav li.menu-item-has-children > a {
    position: relative !important;
    padding-right: 25px !important; 
    /*display: inline-flex !important;*/
    align-items: center !important;
}

/* SVG Arrow */
nav li.menu-item-has-children > a::after {
    content: '';
    width: 18px !important;
    height: 18px !important;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform .25s ease;
    background-repeat: no-repeat;
    background-size: 18px 18px;
    opacity: 0.8;
    transform-origin: center;

    /*background-image: url("data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor'> <path d='M5.23 7.21a.75.75 0 011.06.02L10 10.94l3.71-3.71a.75.75 0 111.06 1.06l-4.24 4.24a.75.75 0 01-1.06 0L5.21 8.29a.75.75 0 01.02-1.06z'/> </svg>");*/
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M5.23 7.21a.75.75 0 011.06.02L10 10.94l3.71-3.71a.75.75 0 111.06 1.06l-4.24 4.24a.75.75 0 01-1.06 0L5.21 8.29a.75.75 0 01.02-1.06z'/></svg>");
    mask-size: contain;
    background-color: currentColor;
}

/* rotate on hover */
nav li.menu-item-has-children:hover > a::after {
    transform: translateY(-50%) rotate(180deg);
}

/* SECOND LEVEL AND DEEPER — OPEN TO THE RIGHT */
nav ul.scm-submenu:not(.scm-mm-submenu) ul.scm-submenu:not(.scm-mm-submenu) {
    position: absolute;
    top: 0;
    left: 100%;
    margin-left: 0 !important;
    min-width: 180px;
    transform: none !important;
    visibility: hidden;
    opacity: 0;
    transition: opacity .25s ease;
}

/* SHOW DEEP LVL DROPDOWNS */
nav ul.scm-submenu:not(.scm-mm-submenu) li.menu-item-has-children:hover > ul.scm-submenu:not(.scm-mm-submenu) {
    visibility: visible;
    opacity: 1;
}


/* MOBILE: second level and deeper submenu default state */
@media (max-width: 1024px) {
    nav ul.scm-submenu:not(.scm-mm-submenu) ul.scm-submenu:not(.scm-mm-submenu) {
        display: none;                /* hidden until parent active */
        padding-left: 15px !important; /* indentation */
        border: none;
        position: static !important;
    }

    /* When parent is active */
    nav li.menu-item-has-children.active > ul.scm-submenu:not(.scm-mm-submenu) {
        display: block;
    }
    
}