/* Elite Group Mega Menu CSS */

.main-navigation li.mega-menu {
    position: static;
}

.main-navigation li.mega-menu > ul.sub-menu {
    position: absolute;
    display: grid;
    grid-template-columns: 3fr 3fr 3fr 3fr; /* 4 equal columns */
    gap: 0;
    width: min(100%, 1400px);
    max-width: 1400px;
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    background: #ffffff;
    border-radius: 12px;
    padding: 0;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 200ms ease,
        visibility 200ms ease,
        transform 200ms ease;
    margin-top: 8px;
    z-index: 1000;
}
.main-navigation .mega-menu > ul.sub-menu > li.column-section:first-child {
    background: #f0f5f4;
    border-radius: 11px 0 0 11px;
}
.main-navigation li.mega-menu > ul.sub-menu::before {
    content: "";
    position: absolute;
    top: -16px;
    left: 0;
    right: 0;
    height: 16px;
    background: transparent;
}

.main-navigation li.mega-menu:hover > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: translateX(-50%) translateY(0);
    left: 50%;
}

.main-navigation li.mega-menu.keyboard-focus > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: translateX(-50%) translateY(0);
    left: 50%;
}

.main-navigation li.mega-menu.sfHover > ul.sub-menu {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.main-navigation li.mega-menu.sfHover:hover > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: translateX(-50%) translateY(0);
    left: 50%;
}

.main-navigation .mega-menu > ul.sub-menu > li.column-section {
    padding: 36px 20px;
    border-right: 1px solid #e5e7eb;
    transition: opacity 200ms ease;
}

.main-navigation .mega-menu > ul.sub-menu > li.column-section.dynamic-column {
    opacity: 0;
    transition: opacity 200ms ease;
}

.main-navigation
    .mega-menu
    > ul.sub-menu
    > li.column-section.dynamic-column.active {
    opacity: 1;
}

.main-navigation .mega-menu > ul.sub-menu > li.column-section:last-of-type {
    border-right: none;
}

.main-navigation .mega-menu > ul.sub-menu > li.column-section.menu-item > a,
.main-navigation .mega-menu > ul.sub-menu > li.column-section > .column-header {
    display: block;
    color: #9f9e9e;
    font-size: 15px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: -0.6px;
    text-transform: capitalize;
    padding: 0 20px;
    margin-bottom: 15px;
}

.main-navigation .mega-menu > ul.sub-menu > li.column-section > ul.sub-menu {
    display: flex !important;
    flex-direction: column;
    gap: 4px;
    position: relative;
    background: transparent;
    border-radius: none;
    padding: 0;
    margin: 0;
    list-style: none;
    opacity: 1 !important;
    visibility: visible !important;
    left: auto !important;
    height: auto !important;
    overflow: visible !important;
    pointer-events: all !important;
    width: auto !important;
    box-shadow: none !important;
    float: none !important;
}

.main-navigation
    .mega-menu
    > ul.sub-menu
    > li.column-section
    > ul.sub-menu
    > li
    > ul.sub-menu {
    display: none !important;
}

/* Menu item links */
.main-navigation
    .mega-menu
    ul.sub-menu
    li.menu-item
    > a:not(.featured-content--image-only) {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 8px;
    transition: background-color 0.2s ease;
    color: rgba(81, 81, 81, 0.6);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    background: transparent;
}

.main-navigation .mega-menu ul.sub-menu li.menu-item > a:hover,
.main-navigation .mega-menu ul.sub-menu li.menu-item > a:focus {
    color: #515151;
}

.main-navigation .mega-menu ul.sub-menu li.menu-icon svg,
.main-navigation .mega-menu ul.sub-menu li.menu-icon img {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.main-navigation .mega-menu ul.sub-menu li.menu-item .dropdown-menu-toggle {
    display: none;
}

.main-navigation
    .mega-menu
    > ul.sub-menu
    > li.column-section:first-child
    ul.sub-menu
    li.menu-item
    .dropdown-menu-toggle,
.main-navigation
    .mega-menu
    > ul.sub-menu
    > li.column-section:nth-child(2)
    ul.sub-menu
    li.menu-item
    .dropdown-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    width: 20px;
    height: 20px;
    padding: 0;
    opacity: 0.5;
    transition: opacity 0.2s ease;
    position: relative;
    font-size: 0;
    transform: translateY(5px);
}
.main-navigation
    .mega-menu
    > ul.sub-menu
    > li.column-section:first-child
    ul.sub-menu
    li.menu-item:not(.active-item)
    .dropdown-menu-toggle,
.main-navigation
    .mega-menu
    > ul.sub-menu
    > li.column-section:nth-child(2)
    ul.sub-menu
    li.menu-item:not(.active-item)
    .dropdown-menu-toggle {
    opacity: 0.15;
}
.main-navigation
    .mega-menu
    > ul.sub-menu
    > li.column-section:first-child
    ul.sub-menu
    li.menu-item
    .dropdown-menu-toggle
    svg,
.main-navigation
    .mega-menu
    > ul.sub-menu
    > li.column-section:nth-child(2)
    ul.sub-menu
    li.menu-item
    .dropdown-menu-toggle
    svg {
    display: none !important;
}

.main-navigation
    .mega-menu
    > ul.sub-menu
    > li.column-section:first-child
    ul.sub-menu
    li.menu-item
    .dropdown-menu-toggle,
.main-navigation
    .mega-menu
    > ul.sub-menu
    > li.column-section:nth-child(2)
    ul.sub-menu
    li.menu-item
    .dropdown-menu-toggle {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M7.5013 14.1667L11.668 9.99999L7.5013 5.83332' stroke='%23464646' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.main-navigation
    .mega-menu
    > ul.sub-menu
    > li.column-section:first-child
    ul.sub-menu
    li.menu-item:hover
    .dropdown-menu-toggle,
.main-navigation
    .mega-menu
    > ul.sub-menu
    > li.column-section:nth-child(2)
    ul.sub-menu
    li.menu-item:hover
    .dropdown-menu-toggle {
    opacity: 1;
}

/* ========================================
   Featured Content Area
   ======================================== */

/* Featured promotional area - right side */
.main-navigation li.mega-menu > ul.sub-menu > li.featured-area {
    grid-column: 4;
    grid-row: 1 / -1;
    padding: 0;
    border-radius: 0 12px 12px 0;
    display: flex;
    flex-direction: column;
}

/* When column 3 is empty, featured area spans columns 3 and 4 */
.main-navigation li.mega-menu > ul.sub-menu.no-column-three > li.featured-area {
    grid-column: 3 / span 2;
}

.main-navigation
    li.mega-menu
    > ul.sub-menu.no-column-three
    .featured-content:not(.featured-content--image-only) {
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
}

.main-navigation
    li.mega-menu
    > ul.sub-menu.no-column-three
    .featured-content:not(.featured-content--image-only)
    .featured-image {
    flex: 0 0 45%;
    margin-bottom: 0;
    aspect-ratio: 7 / 3;
}
.main-navigation
    li.mega-menu
    > ul.sub-menu.no-column-three
    > li.featured-area
    .featured-label {
    display: none;
}
.main-navigation
    li.mega-menu
    > ul.sub-menu.no-column-three
    .featured-content:not(.featured-content--image-only)
    .featured-text {
    flex: 1;
    padding-top: 4px;
}

/* Featured content container */
.main-navigation .mega-menu .featured-content {
    background: #f3f4f6;
    border-radius: 12px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    margin: 15px;
    height: calc(100% - 30px);
}

/* Image-only featured: flex: 1 1 0 + min-height: 0 prevents the image's intrinsic
   height from contributing to grid row sizing; absolute img fills the box visually */
.main-navigation .mega-menu .featured-content--image-only {
    display: block;
    position: relative;
    flex: 1 1 0;
    min-height: 0;
    margin: 15px;
    background: transparent;
    border-radius: 12px;
    text-decoration: none;
    overflow: hidden;
}

.main-navigation .mega-menu .featured-content--image-only img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.main-navigation
    li.mega-menu
    > ul.sub-menu.no-column-three
    > li.featured-area
    .featured-content {
    flex-direction: column;
    gap: 20px;
    height: stretch;
}
.main-navigation
    li.mega-menu
    > ul.sub-menu.no-column-three
    > li.featured-area
    .featured-content:not(.featured-content--image-only)
    img {
    max-height: 300px;
}
/* Featured label - static "Featured" text */
.main-navigation .mega-menu .featured-label {
    font-size: 15px;
    font-weight: 700;
    text-transform: capitalize;
    color: #9f9e9e;
    letter-spacing: -0.52px;
    margin-bottom: 20px;
    line-height: 1.2;
}

/* Featured image */
.main-navigation .mega-menu .featured-image {
    width: 100%;
    aspect-ratio: 3 / 2;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 16px;
    background: #e5e7eb;
}

.main-navigation .mega-menu .featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Featured text content */
.main-navigation .mega-menu .featured-text {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Featured title */
.main-navigation .mega-menu .featured-title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    color: #1f2937;
    padding: 0;
}

/* Featured description */
.main-navigation .mega-menu .featured-description {
    font-size: 13px;
    line-height: 1.5;
    color: #6b7280;
    margin-bottom: 8px;
}

/* Featured CTA link */
.main-navigation .mega-menu .featured-cta {
    display: inline-flex;
    align-items: center;
    color: var(--blue);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    margin-top: auto;
    transition: color 0.2s ease;
    line-height: 1;
    padding: 0;
}

/* CTA hover state */
.main-navigation .mega-menu .featured-cta:hover {
    color: var(--green);
}

/* CTA icon */
.main-navigation .mega-menu .featured-cta svg {
    width: 12px;
    height: 12px;
}

/* Up arrow indicator on mega menu parent item */
/* .main-navigation li.mega-menu > a::before {
	content: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5L5 1L9 5' stroke='%230A3E3F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	position: absolute;
	bottom: -2px;
	left: 50%;
	transform: translate(-50%, 8px);
	opacity: 0;
	transition: transform 200ms ease, opacity 200ms ease;
	pointer-events: none;
} */

.main-navigation li.mega-menu:hover > a::before {
    opacity: 1;
    transform: translate(-50%, 0);
}

/* Third level submenu positioning */
.main-navigation .mega-menu ul.sub-menu ul.sub-menu ul.sub-menu {
    position: absolute;
    left: 100%;
    top: 0;
    margin-left: 8px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 8px 0;
    min-width: 200px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 200ms ease,
        visibility 200ms ease;
}

/* Show third level on hover */
.main-navigation
    .mega-menu
    ul.sub-menu
    ul.sub-menu
    li.menu-item:hover
    > ul.sub-menu,
.main-navigation
    .mega-menu
    ul.sub-menu
    ul.sub-menu
    li.menu-item:focus-within
    > ul.sub-menu {
    opacity: 1;
    visibility: visible;
}

/* Third level links styling */
.main-navigation
    .mega-menu
    ul.sub-menu
    ul.sub-menu
    ul.sub-menu
    li.menu-item
    > a {
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 400;
}

@media (max-width: 1280px) {
    .main-navigation li.mega-menu > ul.sub-menu {
        width: calc(100% - 40px);
        max-width: 1200px;
    }

    .main-navigation .mega-menu > ul.sub-menu > li.column-section {
        padding: 24px 20px;
    }
}

@media (max-width: 1094px) {
    .main-navigation li.mega-menu > ul.sub-menu {
        display: none;
    }
}

/* Focus visible styles */
.main-navigation .mega-menu ul.sub-menu li.menu-item > a:focus-visible {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

/* Screen reader only class */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.main-navigation li.mega-menu:hover > ul.sub-menu,
.main-navigation li.mega-menu.keyboard-focus > ul.sub-menu,
.main-navigation li.mega-menu.mega-menu-active > ul.sub-menu {
    will-change: opacity, transform;
}

.main-navigation li.mega-menu.mega-menu-active > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: translateX(-50%) translateY(0);
    left: 50%;
}
