/* MENU OVERRIDE v4 - JS-controlled hover state */

/* Services dropdown - full width fixed position */
body #menu-main #menu-item-1112 > ul.sub-menu,
body #menu-main #menu-item-1117 > ul.sub-menu {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 40px 10% !important;
    box-sizing: border-box !important;
    
    flex-direction: row !important;
    justify-content: center !important;
    gap: 60px !important;
    
    background: #fff !important;
    border-top: 3px solid #fe7400 !important;
    box-shadow: 0 25px 50px rgba(0,0,0,0.15) !important;
    z-index: 99999 !important;
    
    /* Hidden by default */
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Show dropdown via JS class OR hover (for fallback) */
body #menu-main #menu-item-1112.menu-open > ul.sub-menu,
body #menu-main #menu-item-1117.menu-open > ul.sub-menu,
body #menu-main #menu-item-1112:hover > ul.sub-menu,
body #menu-main #menu-item-1117:hover > ul.sub-menu {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Column containers */
body #menu-main #menu-item-1112 > ul.sub-menu > li.menu-item,
body #menu-main #menu-item-1117 > ul.sub-menu > li.menu-item {
    min-width: 280px !important;
    max-width: 320px !important;
    list-style: none !important;
    position: static !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Column headers */
body #menu-main #menu-item-1112 > ul.sub-menu > li.menu-item > a,
body #menu-main #menu-item-1117 > ul.sub-menu > li.menu-item > a {
    display: block !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #113559 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 0 0 10px 0 !important;
    margin: 0 0 20px 0 !important;
    border-bottom: 3px solid #fe7400 !important;
    background: transparent !important;
}

body #menu-main #menu-item-1112 > ul.sub-menu > li.menu-item > a:hover,
body #menu-main #menu-item-1117 > ul.sub-menu > li.menu-item > a:hover {
    background: transparent !important;
}

/* Nested service items container */
body #menu-main #menu-item-1112 ul.sub-menu ul.sub-menu,
body #menu-main #menu-item-1117 ul.sub-menu ul.sub-menu {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: auto !important;
}

body #menu-main #menu-item-1112 ul.sub-menu ul.sub-menu li,
body #menu-main #menu-item-1117 ul.sub-menu ul.sub-menu li {
    list-style: none !important;
    float: none !important;
    width: auto !important;
}

body #menu-main #menu-item-1112 ul.sub-menu ul.sub-menu li a,
body #menu-main #menu-item-1117 ul.sub-menu ul.sub-menu li a {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 10px !important;
    margin: 0 -10px !important;
    border-radius: 6px !important;
    color: #333 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    background: transparent !important;
    text-decoration: none !important;
    border: none !important;
}

body #menu-main #menu-item-1112 ul.sub-menu ul.sub-menu li a:hover,
body #menu-main #menu-item-1117 ul.sub-menu ul.sub-menu li a:hover {
    background: #f5f5f5 !important;
}

body #menu-main #menu-item-1112 ul.sub-menu ul.sub-menu li a i,
body #menu-main #menu-item-1117 ul.sub-menu ul.sub-menu li a i {
    color: #fe7400 !important;
    width: 24px !important;
    flex-shrink: 0 !important;
}

body #menu-main #menu-item-1112 ul.sub-menu ul.sub-menu li a span,
body #menu-main #menu-item-1117 ul.sub-menu ul.sub-menu li a span {
    display: block !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #888 !important;
    margin-top: 2px !important;
}
