/* CRITICAL CSS FIXES */

/* FORCE mega menu dropdown to be completely hidden and non-interactive when not active */
.mega-menu-dropdown:not(.mega-menu-show) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(-50%) translateY(-10px) !important;
    z-index: -1 !important;
    display: none !important;
}

/* Only show when explicitly activated */
.mega-menu-dropdown.mega-menu-show {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) translateY(0) !important;
    z-index: 9999 !important;
    display: block !important;
}

/* Remove any pseudo-elements that might cause invisible hover areas */
.mega-menu-trigger::before,
.mega-menu-trigger::after,
.menu-item::before,
.menu-item::after {
    display: none !important;
    content: none !important;
}

/* Ensure menu items don't have invisible overflow areas */
.menu-item {
    overflow: visible !important;
    position: relative !important;
}

/* Make sure only the actual link text is hoverable */
.mega-menu-trigger {
    display: inline-block !important;
    position: relative !important;
    z-index: 1 !important;
    margin: 0 !important;
    overflow: visible !important;
}

/* Prevent any invisible elements from interfering */
.mega-menu-dropdown * {
    pointer-events: auto !important;
}

.mega-menu-dropdown:not(.mega-menu-show) * {
    pointer-events: none !important;
}

/* Fix positioning to prevent overlap with page content */
.mega-menu-dropdown {
        position: fixed !important;
        /* Remove: top: 250px !important; - this will be set by JavaScript */
        left: 50% !important;
        transform: translateX(-50%) !important;
        /* Keep other styles as they are */
        width: 80% !important;
        max-width: 1400px !important;
        min-width: 1200px !important;
        background: #ffffff !important;
        border: 1px solid #e5e7eb !important;
        box-shadow: 0 10px 15px rgba(0,0,0,0.1) !important;
        border-radius: 8px !important;
        font-family: inherit !important;
        line-height: 1.6 !important;
    }

/* Ensure no elements extend beyond the dropdown bounds */
.mega-menu-dropdown,
.mega-menu-dropdown * {
    box-sizing: border-box !important;
}

/* Remove any transforms or positioning that might cause invisible areas */
.mega-menu-header,
.mega-menu-content,
.mega-menu-description {
    transform: none !important;
    position: relative !important;
}

/* Production Mega Menu Styles - Fixed Responsive Design */

/* Reset and Base Styles */
.mega-menu-dropdown,
.mega-menu-dropdown * {
    box-sizing: border-box !important;
    margin: 0;
    padding: 0;
}

/* Ensure parent menu item is a positioning context */
.menu-item,
.elementor-nav-menu .menu-item,
.consulting-primary_menu .menu-item,
.elementor-nav-menu--main .menu-item,
.elementor-widget-nav-menu .menu-item {
    position: relative !important;
}

/* Hide theme's default sub-menus when plugin mega menu is present */
.menu-item:has(.mega-menu-dropdown) > .sub-menu,
.elementor-nav-menu .menu-item:has(.mega-menu-dropdown) > .sub-menu,
.consulting-primary_menu .menu-item:has(.mega-menu-dropdown) > .sub-menu,
.elementor-nav-menu--main .menu-item:has(.mega-menu-dropdown) > .sub-menu,
.elementor-widget-nav-menu .menu-item:has(.mega-menu-dropdown) > .sub-menu {
    display: none !important;
}

/* ADDITIONAL CSS FIXES FOR ELEMENTOR COMPATIBILITY */

/* Force visibility for description elements in Elementor environments */
.elementor-nav-menu .mega-menu-description,
.elementor-nav-menu .mega-menu-description *,
.elementor-widget-nav-menu .mega-menu-description,
.elementor-widget-nav-menu .mega-menu-description * {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Specific fixes for description content in Elementor */
.elementor-nav-menu .mega-menu-description .description-content,
.elementor-widget-nav-menu .mega-menu-description .description-content {
    min-height: 100px !important;
    width: 100% !important;
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    flex: 1 !important;
    overflow: visible !important;
}

.elementor-nav-menu .mega-menu-description .description-title,
.elementor-nav-menu .mega-menu-description h4,
.elementor-widget-nav-menu .mega-menu-description .description-title,
.elementor-widget-nav-menu .mega-menu-description h4 {
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 11 !important;
}

.elementor-nav-menu .mega-menu-description .description-text,
.elementor-nav-menu .mega-menu-description .description-list,
.elementor-widget-nav-menu .mega-menu-description .description-text,
.elementor-widget-nav-menu .mega-menu-description .description-list {
    color: #000000 !important;
    line-height: 1.6 !important;
    font-size: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 11 !important;
}

/* Override any Elementor hiding styles */
.elementor-nav-menu .mega-menu-description .description-list ul,
.elementor-widget-nav-menu .mega-menu-description .description-list ul {
    list-style-type: disc !important;
    padding-left: 24px !important;
    margin: 0 !important;
    line-height: 1.6 !important;
    color: #000000 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.elementor-nav-menu .mega-menu-description .description-item,
.elementor-widget-nav-menu .mega-menu-description .description-item {
    color: #000000 !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    padding: 0 !important;
    list-style-type: disc !important;
    display: list-item !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 11 !important;
}

/* Ensure no Elementor transitions interfere */
.elementor-nav-menu .mega-menu-description,
.elementor-widget-nav-menu .mega-menu-description {
    transition: none !important;
    animation: none !important;
}

/* Show mega menu on hover */
.menu-item:hover > .mega-menu-dropdown,
.mega-menu-dropdown:hover,
.mega-menu-dropdown.mega-menu-show {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important;
    pointer-events: auto !important;
}

/* Mega Menu Header */
.mega-menu-header {
    padding: 20px 24px !important;
    border-bottom: 2px solid #e5e7eb !important;
    background: #ffffff !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
}

.mega-menu-logo {
    width: 100px !important;
    height: 100px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

.mega-menu-left-header {
    flex: 1 !important;
    max-width: 50% !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.mega-menu-header-content {
    flex: 1 !important;
}

.mega-menu-header-content h3 {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #000000 !important;
    text-transform: capitalize !important;
    letter-spacing: -0.025em !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mega-menu-header-content p {
    font-size: 14px !important;
    color: #000000 !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
}

.mega-menu-right-header {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 1 !important;
    max-width: 50% !important;
    align-items: center !important;
    gap: 16px !important;
    justify-content: flex-end !important;
}

.mega-menu-right-header-content {
    flex: 1 !important;
}

.mega-menu-right-header-content h3 {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #000000 !important;
    text-transform: capitalize !important;
    letter-spacing: -0.025em !important;
    line-height: 1.2 !important;
    text-align: right !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mega-menu-right-header-content p {
    font-size: 14px !important;
    color: #000000 !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
    text-align: right !important;
}

/* UPDATED CSS FOR COMBINED CONTAINER DESIGN */

/* Main Content Area - Now with 2 containers instead of 3 */
.mega-menu-content {
    display: flex !important;
    gap: 24px !important;
    padding: 24px !important;
    width: 100% !important;
}

/* COMBINED LEFT CONTAINER - Contains both nav items and descriptions */
.mega-menu-combined-nav {
    flex: 2 !important;
    min-width: 560px !important;
    background: #f9fafb !important;
    border-radius: 6px !important;
    padding: 16px !important;
    overflow: visible !important;
    position: relative !important;
}

/* Combined Container Header */
.mega-menu-combined-header {
    padding: 12px 16px !important;
    border-bottom: 2px solid #e5e7eb !important;
    margin-bottom: 16px !important;
}

.mega-menu-combined-header h4 {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    text-transform: capitalize !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Combined Content Area - Side by side layout */
.mega-menu-combined-content {
    display: flex !important;
    gap: 24px !important;
    width: 100% !important;
    transition: all 0.3s ease !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    position: relative !important;
    grid-template-columns: none !important;
}

/* Keep nav column fixed-ish while description grows */
.mega-menu-combined-content .mega-menu-nav-items {
    flex: 0 0 240px !important;
    width: 240px !important;
    min-width: 200px !important;
    max-width: 280px !important;
    order: 1 !important;
    background: transparent !important;
}

/* Menu Items within Combined Container */
.mega-menu-nav-items .mega-menu-item {
    cursor: pointer !important;
    padding: 12px 16px 12px 40px !important;
    border-radius: 6px !important;
    transition: all 0.3s ease !important;
    border-bottom: 1px solid #e5e7eb !important;
    margin: 0 0 4px 0 !important;
    width: 100% !important;
    display: block !important;
    position: relative !important;
}

/* Arrow for menu items in combined container */
.mega-menu-nav-items .mega-menu-item::before {
    content: '→' !important;
    position: absolute !important;
    left: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: transparent !important;
    font-size: 16px !important;
    font-weight: bold !important;
    transition: color 0.3s ease, transform 0.3s ease !important;
    width: 16px !important;
    text-align: center !important;
}

.mega-menu-nav-items .mega-menu-item:hover::before,
.mega-menu-nav-items .mega-menu-item.active::before {
    color: #dc2626 !important;
    transform: translateY(-50%) translateX(2px) !important;
}

.mega-menu-nav-items .mega-menu-item:hover,
.mega-menu-nav-items .mega-menu-item.active {
    background: linear-gradient(to right, #fef2f2, #fee2e2) !important;
    border-left: 3px solid #dc2626 !important;
    transform: translateX(2px) !important;
}

.mega-menu-nav-items .mega-menu-item a {
    display: block !important;
    color: #000000 !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.mega-menu-nav-items .mega-menu-item:hover a,
.mega-menu-nav-items .mega-menu-item.active a {
    color: #dc2626 !important;
}

/* Right Side - Description Container (within combined container) */
.mega-menu-combined-content .mega-menu-description {
    flex: 1 !important;
    min-width: 280px !important;
    max-width: none !important;
    order: 2 !important;
    transition: all 0.3s ease !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 6px !important;
    padding: 16px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
    min-height: 120px !important;
}

/* Description Content within Combined Container */
.mega-menu-combined-nav .mega-menu-description .description-content {
    min-height: 100px !important;
    width: 100% !important;
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    flex: 1 !important;
}

/* Description styling within combined container */
.mega-menu-combined-nav .mega-menu-description .description-title,
.mega-menu-combined-nav .mega-menu-description h4 {
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Description subheading styling */
.mega-menu-combined-nav .mega-menu-description .description-subheading-item {
    margin-bottom: 16px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.mega-menu-combined-nav .mega-menu-description .description-subheading-item h5 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
}

.mega-menu-combined-nav .mega-menu-description .description-subheading-description p {
    color: #000000 !important;
    font-size: 14px !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    line-height: 1.6 !important;
}

/* Right Container */
.mega-menu-right-content {
    flex: 1 !important;
    min-width: 280px !important;
    background: #f9fafb !important;
    border-radius: 6px !important;
    padding: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    z-index: 8 !important;
}

/* FIXED: Right content container layout fixes */
.mega-menu-right-content .right-content {
    position: relative !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Subheading items */
.subheading-item {
    margin-bottom: 16px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    position: relative !important;
    z-index: 11 !important;
    background: transparent !important;
}

.subheading-icon {
    width: 24px !important;
    height: 24px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
    position: relative !important;
    z-index: 12 !important;
}

.subheading-item h5 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 12 !important;
}

.subheading-description {
    color: #000000 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    position: relative !important;
    z-index: 12 !important;
}

.subheading-description p {
    color: #000000 !important;
    font-size: 14px !important;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 13 !important;
}

/* Force visibility for description elements */
.mega-menu-dropdown .description-title,
.mega-menu-dropdown .description-text,
.mega-menu-dropdown .description-content,
.mega-menu-dropdown .description-list,
.mega-menu-dropdown .description-item {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
}

.mega-menu-dropdown .description-list {
    display: block !important;
}

.mega-menu-dropdown .description-item {
    display: list-item !important;
}

/* Additional override for hidden content */
.mega-menu-dropdown .description-content,
.mega-menu-dropdown .description-text,
.mega-menu-dropdown .description-list {
    transform: none !important;
    clip: auto !important;
    clip-path: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
}

/* ENSURE: Description content is always visible */
.mega-menu-description .description-content,
.mega-menu-description .description-subheading-item,
.mega-menu-description .description-subheading-description {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 10 !important;
}

/* CRITICAL FIX: Prevent mobile header duplication and ensure proper responsive behavior */

/* FIXED: Mobile right header positioning and z-index management */
.mobile-right-header.mobile-header-dynamic {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: relative !important;
    z-index: 5 !important;
    background: transparent !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #e5e7eb !important;
    order: -1 !important;
}

/* Show mobile right header only on tablet and mobile (1024px and below) */
@media (max-width: 1024px) {
    .mobile-right-header.mobile-header-dynamic {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 5 !important;
        background: transparent !important;
        margin-bottom: 16px !important;
        padding-bottom: 12px !important;
        border-bottom: 2px solid #e5e7eb !important;
        order: -1 !important;
    }
    
    .mobile-right-header.mobile-header-dynamic h4,
    .mobile-right-header.mobile-header-dynamic .mobile-right-title {
        font-size: 18px !important;
        font-weight: 600 !important;
        color: #000000 !important;
        margin: 0 0 6px 0 !important;
        padding: 0 !important;
        line-height: 1.3 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 6 !important;
    }
    
    .mobile-right-header.mobile-header-dynamic p,
    .mobile-right-header.mobile-header-dynamic .mobile-right-desc {
        font-size: 14px !important;
        color: #666666 !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.5 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 6 !important;
    }
}

/* Hide right header in main header when screen is 1200px or smaller */
@media (max-width: 1200px) {
    .mega-menu-right-header {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
    
    .mega-menu-left-header {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 !important;
    }
}

/* Show right header in main header only on large screens (1201px+) */
@media (min-width: 1201px) {
    .mega-menu-right-header {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        flex: 1 !important;
        max-width: 50% !important;
    }
    
    .mega-menu-left-header {
        flex: 1 !important;
        max-width: 50% !important;
    }
}

/* FIXED: Hide mobile right header on desktop (1025px and above) */
@media (min-width: 1025px) {
    .mobile-right-header,
    .mobile-right-header.mobile-header-dynamic {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
        left: -9999px !important;
        z-index: -1 !important;
    }
}

/* CONSULTING THEME SPECIFIC OVERRIDES WITH PROPER Z-INDEX */
.consulting-primary_menu .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic,
.elementor-nav-menu .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic,
.elementor-widget-nav-menu .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic,
.elementor-nav-menu--main .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic {
    position: relative !important;
    z-index: 5 !important;
    background: transparent !important;
    transform: none !important;
    clip: auto !important;
    clip-path: none !important;
    height: auto !important;
    overflow: visible !important;
    width: 100% !important;
    flex: none !important;
    order: -1 !important;
}

/* Force visibility and proper stacking for Consulting theme mobile headers */
@media (max-width: 1024px) {
    .consulting-primary_menu .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic,
    .elementor-nav-menu .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic,
    .elementor-widget-nav-menu .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic,
    .elementor-nav-menu--main .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 5 !important;
        background: transparent !important;
        transform: none !important;
        clip: auto !important;
        clip-path: none !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        order: -1 !important;
    }
    
    .consulting-primary_menu .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic *,
    .elementor-nav-menu .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic *,
    .elementor-widget-nav-menu .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic *,
    .elementor-nav-menu--main .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic * {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        color: #000000 !important;
        background: transparent !important;
        transform: none !important;
        clip: auto !important;
        clip-path: none !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 6 !important;
    }
    
    /* Ensure subheadings in Consulting theme stay above mobile header */
    .consulting-primary_menu .mega-menu-dropdown .right-content,
    .elementor-nav-menu .mega-menu-dropdown .right-content,
    .elementor-widget-nav-menu .mega-menu-dropdown .right-content,
    .elementor-nav-menu--main .mega-menu-dropdown .right-content {
        position: relative !important;
        z-index: 10 !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    .consulting-primary_menu .mega-menu-dropdown .subheading-item,
    .elementor-nav-menu .mega-menu-dropdown .subheading-item,
    .elementor-widget-nav-menu .mega-menu-dropdown .subheading-item,
    .elementor-nav-menu--main .mega-menu-dropdown .subheading-item {
        position: relative !important;
        z-index: 11 !important;
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* Strict prevention of mobile headers on desktop for Consulting theme */
@media (min-width: 1025px) {
    .consulting-primary_menu .mega-menu-dropdown .mobile-right-header,
    .elementor-nav-menu .mega-menu-dropdown .mobile-right-header,
    .elementor-widget-nav-menu .mega-menu-dropdown .mobile-right-header,
    .elementor-nav-menu--main .mega-menu-dropdown .mobile-right-header,
    .consulting-primary_menu .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic,
    .elementor-nav-menu .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic,
    .elementor-widget-nav-menu .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic,
    .elementor-nav-menu--main .mega-menu-dropdown .mobile-right-header.mobile-header-dynamic {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        position: absolute !important;
        left: -9999px !important;
        z-index: -1 !important;
    }
}

/* FIXED RESPONSIVE DESIGN - Trigger vertical layout when width is insufficient */

/* When screen width is less than 1400px, start reducing mega menu width */
@media (max-width: 1400px) {
    .mega-menu-dropdown {
        min-width: 1000px !important;
        width: 90% !important;
    }
}

/* When screen width is less than 1200px, switch to vertical layout */
@media (max-width: 1200px) {
    .mega-menu-dropdown {
        min-width: 400px !important;
        max-width: 95vw !important;
        width: 95% !important;
    }
    
    /* Header adjustments - hide right header on vertical layout */
    .mega-menu-header {
        padding: 16px 20px !important;
        gap: 12px !important;
    }
    
    .mega-menu-header h3 {
        font-size: 20px !important;
    }
    
    .mega-menu-logo {
        width: 80px !important;
        height: 80px !important;
    }
    
    /* MAIN CONTENT GOES VERTICAL */
    .mega-menu-content {
        flex-direction: column !important;
        gap: 20px !important;
        padding: 20px !important;
    }
    
    /* Combined container adjustments for mobile */
    .mega-menu-combined-nav {
        order: 1 !important;
        min-width: auto !important;
        width: 100% !important;
    }
    
    .mega-menu-right-content {
        order: 2 !important;
        min-width: auto !important;
        width: 100% !important;
    }
    
    .mega-menu-combined-content {
        gap: 20px !important;
    }
    
    .mega-menu-combined-content .mega-menu-nav-items {
        flex: 0 0 200px !important;
        width: 200px !important;
        min-width: 180px !important;
    }
    
    .mega-menu-combined-content .mega-menu-description {
        min-width: 250px !important;
    }
}

/* ENHANCED: Responsive layout fixes */
@media (max-width: 1200px) and (min-width: 769px) {
    /* Intermediate size - vertical layout but still show desktop header */
    .mega-menu-content {
        flex-direction: column !important;
        gap: 20px !important;
    }
    
    .mega-menu-combined-nav {
        order: 1 !important;
        min-width: auto !important;
        width: 100% !important;
    }
    
    .mega-menu-right-content {
        order: 2 !important;
        min-width: auto !important;
        width: 100% !important;
    }
}

/* small desktops / large tablets */
@media (max-width: 1024px) {
    .mega-menu-combined-content {
        gap: 18px !important;
    }
    
    .mega-menu-combined-content .mega-menu-nav-items {
        flex: 0 0 180px !important;
        width: 180px !important;
        min-width: 160px !important;
    }
    
    .mega-menu-combined-content .mega-menu-description {
        min-width: 220px !important;
    }
}

/* tablets */
@media (max-width: 900px) {
    .mega-menu-combined-content {
        gap: 16px !important;
    }
    
    .mega-menu-combined-content .mega-menu-nav-items {
        flex: 0 0 160px !important;
        width: 160px !important;
        min-width: 150px !important;
    }
    
    .mega-menu-combined-content .mega-menu-description {
        min-width: 200px !important;
    }
}

@media (max-width: 800px) {
    .mega-menu-combined-content {
        gap: 14px !important;
    }
    
    .mega-menu-combined-content .mega-menu-nav-items {
        flex: 0 0 150px !important;
        width: 150px !important;
        min-width: 140px !important;
    }
    
    .mega-menu-combined-content .mega-menu-description {
        min-width: 180px !important;
    }
}

@media (max-width: 700px) {
    .mega-menu-combined-content {
        gap: 12px !important;
    }
    
    .mega-menu-combined-content .mega-menu-nav-items {
        flex: 0 0 140px !important;
        width: 140px !important;
        min-width: 130px !important;
    }
    
    .mega-menu-combined-content .mega-menu-description {
        min-width: 160px !important;
    }
}

/* CRITICAL: Only stack vertically on very small screens (600px and below) */
@media (max-width: 600px) {
    .mega-menu-combined-content {
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .mega-menu-combined-content .mega-menu-nav-items {
        flex: none !important;
        width: 100% !important;
        min-width: auto !important;
        max-width: none !important;
        order: 1 !important;
    }
    
    .mega-menu-combined-content .mega-menu-description {
        flex: none !important;
        width: 100% !important;
        min-width: auto !important;
        max-width: none !important;
        order: 2 !important;
    }
    
    .mega-menu-dropdown {
        min-width: 350px !important;
        max-width: 95vw !important;
    }
    
    .mega-menu-header {
        padding: 14px 16px !important;
    }
    
    .mega-menu-header h3 {
        font-size: 18px !important;
    }
    
    .mega-menu-header p {
        font-size: 13px !important;
    }
    
    .mega-menu-logo {
        width: 70px !important;
        height: 70px !important;
    }
    
    .mega-menu-combined-nav {
        padding: 12px !important;
    }
    
    .mega-menu-combined-nav .mega-menu-description {
        padding: 12px !important;
    }
    
    .mega-menu-combined-nav .mega-menu-description .description-title,
    .subheading-item h5 {
        font-size: 15px !important;
    }
    
    .subheading-icon {
        width: 20px !important;
        height: 20px !important;
    }
}

/* Mobile - Further adjustments and header layout changes */
@media (max-width: 640px) {
    .mega-menu-dropdown {
        min-width: 300px !important;
        max-width: 95vw !important;
    }
    
    /* Mobile header - only show company info */
    .mega-menu-header {
        padding: 12px 16px !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
    }
    
    /* Only show left header (company info) in mobile header */
    .mega-menu-left-header {
        width: 100% !important;
        max-width: 100% !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
    }
    
    /* Ensure right header is hidden in mobile header */
    .mega-menu-right-header {
        display: none !important;
    }
    
    .mega-menu-header h3 {
        font-size: 18px !important;
    }
    
    .mega-menu-header p {
        font-size: 13px !important;
    }
    
    .mega-menu-logo {
        width: 60px !important;
        height: 60px !important;
    }
    
    .mega-menu-content {
        padding: 16px !important;
        gap: 16px !important;
    }
    
    .mega-menu-combined-nav {
        padding: 12px !important;
    }
    
    .mega-menu-combined-content {
        gap: 12px !important;
    }
    
    .mega-menu-combined-nav .mega-menu-description {
        padding: 12px !important;
        min-height: 80px !important;
    }
    
    .mega-menu-right-content {
        padding: 12px !important;
    }
    
    .mega-menu-combined-header h4,
    .subheading-item h5 {
        font-size: 15px !important;
    }
    
    .mega-menu-combined-nav .mega-menu-description .description-title {
        font-size: 14px !important;
    }
    
    .subheading-icon {
        width: 18px !important;
        height: 18px !important;
    }
}

/* small phones */
@media (max-width: 480px) {
    .mega-menu-combined-content {
        gap: 10px !important;
    }
    
    .mega-menu-combined-nav {
        padding: 10px !important;
    }
    
    .mega-menu-dropdown {
        min-width: 280px !important;
        max-width: 98vw !important;
    }
    
    .mega-menu-header {
        padding: 10px 12px !important;
    }
    
    .mega-menu-content {
        padding: 12px !important;
        gap: 12px !important;
    }
    
    .mega-menu-combined-nav {
        padding: 10px !important;
    }
    
    .mega-menu-combined-content {
        gap: 10px !important;
    }
    
    .mega-menu-logo {
        width: 50px !important;
        height: 50px !important;
    }
    
    .subheading-icon {
        width: 16px !important;
        height: 16px !important;
    }
}

/* Prevent transitions during resize to avoid glitches */
.mega-menu-dropdown.resizing,
.mega-menu-dropdown.resizing * {
    transition: none !important;
    animation: none !important;
}

/* FINAL OVERRIDE: Prevent any duplicate mobile headers and ensure proper stacking */
.mega-menu-dropdown .mega-menu-right-content .mobile-right-header:nth-child(n+2) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    z-index: -1 !important;
}

/* Accessibility */
.mega-menu-item:focus {
    outline: 2px solid #3b82f6 !important;
    outline-offset: 2px !important;
}

/* Animation Classes for JavaScript */
.mega-menu-show {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important;
    pointer-events: auto !important;
}

/* ADDITIONAL: Ensure proper flex order for right content elements */
@media (max-width: 1024px) {
    .mega-menu-right-content {
        display: flex !important;
        flex-direction: column !important;
    }
    
    .mobile-right-header.mobile-header-dynamic {
        order: -1 !important;
        flex-shrink: 0 !important;
    }
    
    .right-content {
        order: 1 !important;
        flex: 1 !important;
    }
}

/* ENHANCED: Elementor Compatibility for Combined Layout */
.elementor-nav-menu .mega-menu-combined-content,
.elementor-widget-nav-menu .mega-menu-combined-content,
.consulting-primary_menu .mega-menu-combined-content,
.elementor-nav-menu--main .mega-menu-combined-content {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;
    width: 100% !important;
    align-items: flex-start !important;
}

/* FORCE: Navigation items to maintain fixed width in Elementor environments */
.elementor-nav-menu .mega-menu-combined-content .mega-menu-nav-items,
.elementor-widget-nav-menu .mega-menu-combined-content .mega-menu-nav-items,
.consulting-primary_menu .mega-menu-combined-content .mega-menu-nav-items,
.elementor-nav-menu--main .mega-menu-combined-content .mega-menu-nav-items {
    flex: 0 0 200px !important;
    width: 200px !important;
    min-width: 180px !important;
    max-width: 250px !important;
    order: 1 !important;
}

/* FORCE: Description to remain expandable in Elementor environments */
.elementor-nav-menu .mega-menu-combined-content .mega-menu-description,
.elementor-widget-nav-menu .mega-menu-combined-content .mega-menu-description,
.consulting-primary_menu .mega-menu-combined-content .mega-menu-description,
.elementor-nav-menu--main .mega-menu-combined-content .mega-menu-description {
    flex: 1 !important;
    min-width: 250px !important;
    order: 2 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 10 !important;
}

/* RESPONSIVE: Elementor environments maintain side-by-side until 600px */
@media (min-width: 601px) {
    .elementor-nav-menu .mega-menu-combined-content,
    .elementor-widget-nav-menu .mega-menu-combined-content,
    .consulting-primary_menu .mega-menu-combined-content,
    .elementor-nav-menu--main .mega-menu-combined-content {
        flex-direction: row !important;
        display: flex !important;
    }
}

@media (max-width: 600px) {
    .elementor-nav-menu .mega-menu-combined-content,
    .elementor-widget-nav-menu .mega-menu-combined-content,
    .consulting-primary_menu .mega-menu-combined-content,
    .elementor-nav-menu--main .mega-menu-combined-content {
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .elementor-nav-menu .mega-menu-combined-content .mega-menu-nav-items,
    .elementor-widget-nav-menu .mega-menu-combined-content .mega-menu-nav-items,
    .consulting-primary_menu .mega-menu-combined-content .mega-menu-nav-items,
    .elementor-nav-menu--main .mega-menu-combined-content .mega-menu-nav-items,
    .elementor-nav-menu .mega-menu-combined-content .mega-menu-description,
    .elementor-widget-nav-menu .mega-menu-combined-content .mega-menu-description,
    .consulting-primary_menu .mega-menu-combined-content .mega-menu-description,
    .elementor-nav-menu--main .mega-menu-combined-content .mega-menu-description {
        flex: none !important;
        width: 100% !important;
        min-width: auto !important;
        max-width: none !important;
    }
}

/* ADDITIONAL: Force proper box-sizing for all elements */
.mega-menu-combined-content *,
.mega-menu-combined-nav *,
.mega-menu-description * {
    box-sizing: border-box !important;
}

/* DEBUGGING: Temporarily add borders to see exact hover areas */
/*
.mega-menu-trigger {
    border: 2px solid red !important;
}
.mega-menu-dropdown {
    border: 3px solid blue !important;
}
*/