/* ==========================================================================
   MultiDivs Custom Mega Menu (Nyusoft Design)
   ========================================================================== */

/* 1. Mega Menu Parent LI */
#main-nav > li.has-mega-menu {
    position: relative !important;
}

/* 2. Mega Menu Main Dropdown Container */
#main-nav > li.has-mega-menu > ul.sub-menu.is-mega-menu {
    position: absolute !important;
    top: 100% !important;
    left: -40px !important; /* Slight offset for perfect visual balance */
    width: 920px !important;
    max-width: 90vw !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12) !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(12px) !important;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease !important;
    z-index: 99999 !important;
    box-sizing: border-box !important;
    overflow: hidden !important; /* Keeps border-radius crisp */
    list-style: none !important;
}

/* 3. Open State ONLY when hovering this specific parent item */
#main-nav > li.has-mega-menu:hover > ul.sub-menu.is-mega-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

/* Hide theme's default triangle pointer */
#main-nav > li.has-mega-menu > ul.sub-menu.is-mega-menu::before,
#main-nav > li.has-mega-menu > ul.sub-menu.is-mega-menu::after {
    display: none !important;
}

/* Force override theme's opacity/transform animation on child LIs */
#main-nav > li.has-mega-menu ul.sub-menu.is-mega-menu li,
#main-nav > li.has-mega-menu:hover ul.sub-menu.is-mega-menu li {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    transition: none !important;
}

/* 4. Mega Menu Body Row (Guarantees Left Tabs and Right Content sit side-by-side) */
.mega-menu-body {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    min-height: 250px !important;
}

/* 5. Left Column (Tabs) */
.mega-menu-tabs-wrapper {
    width: 30% !important;
    flex: 0 0 30% !important;
    max-width: 30% !important;
    border-right: 1px solid #edf0f2 !important;
    padding: 20px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

.mega-menu-tabs-wrapper .mega-menu-tab {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mega-menu-tabs-wrapper .mega-menu-tab > a {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 24px !important;
    color: #495057 !important;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    border-left: 3px solid transparent !important;
    background: transparent !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
}

/* Hide duplicate theme arrow on tabs */
.mega-menu-tabs-wrapper .mega-menu-tab > a::after {
    display: none !important;
}

.mega-menu-tabs-wrapper .mega-menu-tab.active > a,
.mega-menu-tabs-wrapper .mega-menu-tab:hover > a {
    background-color: rgba(177, 242, 0, 0.12) !important;
    color: #052328 !important;
    font-weight: 600 !important;
    border-left: 3px solid var(--color-ins, #B1F200) !important;
}

.mega-tab-arrow {
    font-size: 11px !important;
    color: #a0aec0 !important;
    transition: transform 0.2s ease, color 0.2s ease !important;
}

.mega-menu-tab.active .mega-tab-arrow,
.mega-menu-tab:hover .mega-tab-arrow {
    color: #052328 !important;
    transform: translateX(3px) !important;
}

/* 6. Right Column (Content Panels) */
.mega-menu-content-area {
    width: 70% !important;
    flex: 0 0 70% !important;
    max-width: 70% !important;
    padding: 20px 28px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
}

.mega-menu-panel {
    display: none !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.mega-menu-panel.active {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-auto-rows: min-content !important;
    align-content: start !important;
    align-items: start !important;
    justify-content: start !important;
    column-gap: 24px !important;
    row-gap: 9px !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mega-menu-panel::before,
.mega-menu-panel::after {
    display: none !important;
}

.mega-menu-panel li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    height: auto !important;
}

/* Panel link items with brand accent line */
.mega-menu-panel li a,
.mega-menu-panel li a span,
.main-menu ul li ul.sub-menu.is-mega-menu .mega-menu-panel li a,
.main-menu ul li ul.sub-menu.is-mega-menu .mega-menu-panel li a span {
    position: relative !important;
    display: block !important;
    padding: 4px 0 4px 12px !important;
    color: #2d3748 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    height: auto !important;
    text-decoration: none !important;
    background: transparent !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
}

.mega-menu-panel li a::before,
.main-menu ul li ul.sub-menu.is-mega-menu .mega-menu-panel li a::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 2.5px !important;
    height: 13px !important;
    background-color: var(--color-ins, #B1F200) !important;
    border-radius: 1px !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.mega-menu-panel li a::after,
.main-menu ul li ul.sub-menu.is-mega-menu .mega-menu-panel li a::after {
    display: none !important;
}

.mega-menu-panel li a:hover,
.mega-menu-panel li a:hover span,
.main-menu ul li ul.sub-menu.is-mega-menu .mega-menu-panel li a:hover,
.main-menu ul li ul.sub-menu.is-mega-menu .mega-menu-panel li a:hover span {
    color: #052328 !important;
    font-weight: 600 !important;
    transform: translateX(2px) !important;
}

/* 7. Footer Area */
.mega-menu-footer {
    width: 100% !important;
    border-top: 1px solid #edf0f2 !important;
    padding: 16px 30px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background-color: #fafbfc !important;
    box-sizing: border-box !important;
}

.mega-menu-social {
    display: flex !important;
    gap: 9px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.main-menu ul li ul.sub-menu.is-mega-menu .mega-menu-social a,
.mega-menu-social a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    background-color: var(--color-ins, #B1F200) !important;
    color: #052328 !important;
    border-radius: 50% !important;
    font-size: 13px !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.main-menu ul li ul.sub-menu.is-mega-menu .mega-menu-social a:hover,
.mega-menu-social a:hover {
    background-color: #052328 !important;
    color: var(--color-ins, #B1F200) !important;
    transform: translateY(-2px) !important;
}

.main-menu ul li ul.sub-menu.is-mega-menu .mega-menu-social a i,
.mega-menu-social a i {
    font-weight: 400 !important;
    font-family: "Font Awesome 5 Brands" !important;
    color: inherit !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    line-height: 1 !important;
    font-size: 13px !important;
    font-style: normal !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

.main-menu ul li ul.sub-menu.is-mega-menu .mega-menu-social a i::before,
.mega-menu-social a i::before {
    display: block !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mega-menu-cta {
    font-size: 13.5px !important;
    color: #64748b !important;
    font-weight: 500 !important;
    margin: 0 !important;
}

.main-menu ul li ul.sub-menu.is-mega-menu .mega-menu-cta a,
.mega-menu-cta a {
    color: #052328 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    background: transparent !important;
    padding: 0 !important;
    display: inline-block !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-left: 4px !important;
    border-bottom: 2px solid var(--color-ins, #B1F200) !important;
    transition: all 0.2s ease !important;
}

.main-menu ul li ul.sub-menu.is-mega-menu .mega-menu-cta a:hover,
.mega-menu-cta a:hover {
    color: #8FC908 !important;
    border-color: #8FC908 !important;
}

/* 8. Mobile handling (Do not break standard mobile navigation) */
@media (max-width: 991px) {
    #main-nav > li.has-mega-menu > ul.sub-menu.is-mega-menu {
        display: none !important;
    }
}

/* ==========================================================================
   9. Simple Dropdown Menus (White Background + MultiDivs Brand Colors)
   ========================================================================== */
.header-insurance .xb-header .main-menu ul li .sub-menu:not(.is-mega-menu),
.main-menu ul li .sub-menu:not(.is-mega-menu) {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

/* Triangle arrow on simple dropdowns */
.header-insurance .xb-header .main-menu ul li .sub-menu:not(.is-mega-menu)::before,
.main-menu ul li .sub-menu:not(.is-mega-menu)::before {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-left: 1px solid rgba(0, 0, 0, 0.05) !important;
    box-shadow: none !important;
}

/* Simple dropdown items */
.main-menu ul li .sub-menu:not(.is-mega-menu) li {
    margin: 0 !important;
    padding: 0 !important;
}

.header-insurance .main-menu ul li .sub-menu:not(.is-mega-menu) li a,
.main-menu ul li .sub-menu:not(.is-mega-menu) li a {
    color: #2d3748 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 9px 24px !important;
    display: block !important;
    border-left: 3px solid transparent !important;
    transition: all 0.2s ease !important;
    text-transform: capitalize !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
    background: transparent !important;
    text-decoration: none !important;
}

.header-insurance .main-menu ul li .sub-menu:not(.is-mega-menu) li a span,
.main-menu ul li .sub-menu:not(.is-mega-menu) li a span {
    color: inherit !important;
}

/* Hover & active state on simple dropdown items */
.header-insurance .main-menu ul li .sub-menu:not(.is-mega-menu) li:hover > a,
.header-insurance .main-menu ul li .sub-menu:not(.is-mega-menu) li.current-menu-item > a,
.main-menu ul li .sub-menu:not(.is-mega-menu) li:hover > a,
.main-menu ul li .sub-menu:not(.is-mega-menu) li a:hover,
.main-menu ul li .sub-menu:not(.is-mega-menu) li.current-menu-item > a {
    background-color: rgba(177, 242, 0, 0.12) !important;
    color: #052328 !important;
    font-weight: 600 !important;
    border-left: 3px solid var(--color-ins, #B1F200) !important;
}
