/**
 * Mega Menu Styles - Premium UI (Theme Integrated)
 * 
 * Specifically designed to match Elementic Theme colors and typography.
 */

/* 1. LAYER FIX: Ensure the dropdown floats high above all content */
#masthead {
    z-index: 99999 !important;
}

.el-menu-box {
    position: relative !important;
    z-index: 100000 !important;
}

/* 2. PARENT MENU ITEM: Clean up and isolate */
.main-navigation ul li.elementic-mega-menu {
    position: static !important;
    /* Required for full-width dropdown */
}

/* Remove any unwanted borders or highlights from theme on the parent itself */
.main-navigation ul li.elementic-mega-menu>a {
    border-left: none !important;
    position: relative;
}

/* 3. MEGA MENU CONTAINER: SOLID, CENTERED, HIGH Z-INDEX */
.main-navigation ul li.elementic-mega-menu .mega-menu-container {
    background: #ffffff !important;
    box-shadow: 0 50px 100px rgba(0, 0, 0, 0.25) !important;
    border-radius: 20px !important;
    z-index: 2147483647 !important;
    /* Maximum possible z-index to stay on top */
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    list-style: none !important;
    padding: 50px !important;

    /* Animation & Visiblity */
    opacity: 0;
    visibility: hidden;
    transform: translateY(0px);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;

    /* Layout */
    display: grid !important;
}

/* Show on Hover */
.main-navigation ul li.elementic-mega-menu:hover>.mega-menu-container,
.main-navigation ul li.elementic-mega-menu.focus>.mega-menu-container {
    opacity: 1 !important;
    visibility: visible !important;
}

/* GRID COLUMNS - Integrated with Promo Section */
.mega-menu-container.mega-column-4 {
    grid-template-columns: repeat(4, 1fr) 340px !important;
}

.mega-menu-container.mega-column-3 {
    grid-template-columns: repeat(3, 1fr) 340px !important;
}

.mega-menu-container.mega-column-2 {
    grid-template-columns: repeat(2, 1fr) 340px !important;
}

.mega-menu-container.mega-column-1 {
    grid-template-columns: 1fr 340px !important;
}

/* 4. CONTENT ELEMENTS */

/* Heading Item - Subdued Category Text */
.mega-menu-heading-item {
    grid-column: 1 / -2 !important;
    margin-bottom: 15px !important;
}

.mega-menu-heading {
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #94a3b8 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    border: none !important;
    line-height: normal !important;
}

/* CHILD ITEMS (THE LINKS) */
.mega-menu-container .menu-item>a {
    display: flex !important;
    align-items: center !important;
    padding: 12px 18px !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    color: #1e293b !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
    border: none !important;
    line-height: 1.2 !important;
    height: auto !important;
}

.mega-menu-container .menu-item>a:hover {
    background: #f1f5f9 !important;
    color: var(--elementic-primary-color, #ff7601) !important;
    transform: translateX(5px) !important;
}

/* ICON CIRCLES - Premium Look */
.el-menu-icon-wrap {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    background: #f1f5f9 !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 15px !important;
    font-size: 18px !important;
    color: #475569 !important;
    transition: all 0.3s ease !important;
}

.mega-menu-container .menu-item>a:hover .el-menu-icon-wrap {
    background: #ffffff !important;
    color: var(--elementic-primary-color, #ff7601) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* FOOTER SECTION */
.mega-menu-footer-item {
    grid-column: 1 / -2 !important;
    margin-top: 40px !important;
    padding-top: 30px !important;
    border-top: 2px solid #f1f5f9 !important;
    text-align: right !important;
}

.mega-menu-footer-link {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    text-decoration: none !important;
}

.mega-menu-footer-link:hover {
    color: var(--elementic-primary-color, #ff7601) !important;
}

/* 5. PROMO SECTION (RIGHT PANEL) - Soft Background to match theme aesthetics */
.mega-menu-promo-item {
    grid-column: -2 / -1 !important;
    grid-row: 1 / 20 !important;
    padding-left: 50px !important;
    border-left: 2px solid #f1f5f9 !important;
    display: flex !important;
    flex-direction: column !important;
}

.promo-image {
    margin-bottom: 25px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
    aspect-ratio: 1.6 / 1 !important;
}

.promo-image img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
}

.promo-title {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 12px 0 !important;
    line-height: 1.2 !important;
}

.promo-desc {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #475569 !important;
    margin: 0 0 25px 0 !important;
}

.promo-link {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--elementic-primary-color, #ff7601) !important;
    text-decoration: underline !important;
}

.nav-menu>li {
    padding: 30px 0px;
}

/* 6. RESPONSIVE OPTIMIZATIONS */
@media screen and (max-width: 1200px) {
    .main-navigation ul li.elementic-mega-menu .mega-menu-container {
        padding: 30px !important;
        grid-gap: 15px 30px !important;
    }
}

@media screen and (max-width: 1100px) {
    .mega-menu-promo-item {
        display: none !important;
    }

    .mega-menu-container {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .mega-menu-heading-item,
    .mega-menu-footer-item {
        grid-column: 1 / -1 !important;
    }
}

@media screen and (max-width: 768px) {
    .main-navigation ul li.elementic-mega-menu .mega-menu-container {
        position: static !important;
        display: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        transform: none !important;
        padding: 20px !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        border: none !important;
    }

    .elementic-mega-menu.active .mega-menu-container {
        display: block !important;
    }
}