/* Ultra Core: Header Mega Menu (moved from child theme) */

/* Make the header/nav bar taller (matches previous feel) */
.thim-nav-wrapper .tm-table {
	min-height: 82px;
}

.thim-nav-wrapper .width-logo,
.thim-nav-wrapper .width-navigation {
	vertical-align: middle;
}

.thim-nav-wrapper .width-navigation {
	position: relative;
}

.thim-nav-wrapper .navbar-nav > li > a {
	padding-top: 22px;
	padding-bottom: 22px;
}

/* Sticky header (force sticky if theme option disabled) */
#masthead.site-header {
	position: sticky;
	top: 0;
	z-index: 10000;
	background: #fff;
}

/* Keep header layout consistent while sticky/affixed (Eduma uses affix classes) */
#masthead.site-header.affix,
#masthead.site-header.affix-top,
#masthead.site-header.bg-custom-sticky,
#masthead.site-header.bg-custom-sticky.affix {
	background: #fff !important;
}

/* Prevent clipping of mega dropdown when header becomes sticky */
#masthead.site-header,
.thim-nav-wrapper,
.thim-nav-wrapper .navigation {
	overflow: visible !important;
}

/* Keep menu link color readable on sticky (Eduma sometimes flips to white) */
#masthead.site-header .navigation .navbar-nav > li > a,
#masthead.site-header.bg-custom-sticky.affix .navigation .navbar-nav > li > a {
	color: #111 !important;
}

/* Ensure first-load (affix-top) is readable on all pages */
#masthead.site-header.affix-top .navigation .navbar-nav > li > a {
	color: #111 !important;
}

/* Thim login popup / profile menu: keep visible on first load */
#masthead.site-header.affix-top .navigation .navbar-nav li.menu-right li a,
#masthead.site-header.affix-top .navigation .menu-right .thim-link-login a,
#masthead.site-header.affix-top .navigation .menu-right a {
	color: #111 !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Ensure any login/profile dropdown panel isn't clipped/hidden on initial load */
#masthead.site-header.affix-top .navigation .navbar-nav > li.menu-right {
	position: relative;
	z-index: 10002;
}

/* Fix “double letters” from theme text-shadows on initial load */
#masthead.site-header .navbar-nav > li > a,
#masthead.site-header .nav > li {
	text-shadow: none !important;
}

/* Ensure logo stays visible above header overlays */
#masthead.site-header .width-logo {
	position: relative;
	z-index: 10001;
}

/* Force logo visibility on first load (some Eduma states hide it until affix) */
#masthead.site-header .width-logo,
#masthead.site-header .width-logo a,
#masthead.site-header .width-logo img {
	opacity: 1 !important;
	visibility: visible !important;
	display: block;
}

#masthead.site-header .width-logo.table-cell {
	display: table-cell !important;
}

/* Ensure dropdown positions relative to header/nav container (not the hovered <li>) */
.thim-nav-wrapper,
.thim-nav-wrapper .navigation {
	position: relative;
}

/* The wrapper we inject around the first-level dropdown */
div.zedu-mega-menu {
	display: none !important;
	/* Anchor mega dropdown to viewport, not hovered <li> */
	position: fixed !important;
	left: 0 !important;
	right: auto !important;
	transform: none !important;
	/* Avoid “hover gap” between the menu item and dropdown */
	top: calc(var(--uc-header-bottom, 82px) - 12px);
	z-index: 9999;
	width: min(1240px, calc(100vw - 40px));
	background: #fff;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
	border-radius: 10px;
	overflow: hidden;
	padding-block: 48px;
}

/* In Eduma, align mega dropdown to the nav container (prevents off-screen dropdown on rightmost items) */
#masthead .width-navigation div.zedu-mega-menu:not(:has(.zedu-mega-menu__media--empty)) {
	left: 0 !important;
	right: auto !important;
	width: 100vw;
}

/* Defensive: ensure only the active dropdown receives pointer events */
.zedu-mega-menu li.menu-item-has-children > div.zedu-mega-menu {
	pointer-events: none;
}
.zedu-mega-menu li.zedu-has-mega.uc-mega-open > div.zedu-mega-menu,
.zedu-mega-menu li.zedu-has-mega:hover > div.zedu-mega-menu,
.zedu-mega-menu li.zedu-has-mega:focus-within > div.zedu-mega-menu {
	pointer-events: auto;
}

/* Invisible bridge so slower mouse movement doesn’t break hover */
.zedu-mega-menu li.zedu-has-mega > div.zedu-mega-menu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -18px;
	height: 18px;
	background: transparent;
}

.zedu-mega-menu li.zedu-has-mega {
	/* Let the mega dropdown align from nav container left */
	position: static !important;
	overflow: visible !important;
}

.zedu-mega-menu li.zedu-has-mega:hover > div.zedu-mega-menu,
.zedu-mega-menu li.zedu-has-mega:focus-within > div.zedu-mega-menu {
	display: flex !important;
}

.zedu-mega-menu li.menu-item-has-children:hover > div.zedu-mega-menu,
.zedu-mega-menu li.menu-item-has-children:focus-within > div.zedu-mega-menu {
	display: flex !important;
}

/* Keep open when pointer is inside dropdown itself (prevents flicker on some headers) */
.zedu-mega-menu li.zedu-has-mega > div.zedu-mega-menu:hover,
.zedu-mega-menu li.menu-item-has-children > div.zedu-mega-menu:hover {
	display: flex !important;
}

/* JS-stabilized open state (prevents flicker caused by header overlays/scripts) */
.zedu-mega-menu li.zedu-has-mega.uc-mega-open > div.zedu-mega-menu {
	display: flex !important;
}

.zedu-mega-menu .zedu-mega-menu__media {
	flex: 0 0 360px;
}

.zedu-mega-menu .zedu-mega-menu__media img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 260px;
	object-fit: cover;
	border-radius: 8px;
}

.zedu-mega-menu .zedu-mega-menu__media--empty {
	background: #f3f5f7;
	display: none;
}

.zedu-mega-menu .zedu-mega-menu__lists {
	flex: 1 1 auto;
}

/* Keep dropdown background height stable in sticky mode */
#masthead.site-header.bg-custom-sticky.affix .zedu-mega-menu li.menu-item-has-children > div.zedu-mega-menu,
#masthead.site-header.affix .zedu-mega-menu li.menu-item-has-children > div.zedu-mega-menu {
	background: #fff;
}

/* If Eduma forces UL display/positioning, neutralize inside mega menu */
.zedu-mega-menu .zedu-mega-menu__lists ul,
.zedu-mega-menu .zedu-mega-menu__lists ul li {
	float: none !important;
}

/* First-level submenu becomes “columns” */
.zedu-mega-menu .zedu-mega-menu__lists > ul.zedu-mega-columns {
	position: static !important; /* fight theme absolute positioning */
	display: flex !important;
	gap: 18px 40px;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;

	@media (max-width: 767px) {
		& {
			flex-wrap: wrap;
		}
	}
}

.zedu-mega-menu .zedu-mega-menu__lists > ul.zedu-mega-columns > li.zedu-mega-col {
	margin: 0;
	padding: 0;
}

/* “Heading” (sub-menu label) */
.zedu-mega-menu .zedu-mega-menu__lists > ul.zedu-mega-columns > li.zedu-mega-col > a,
.zedu-mega-menu .zedu-mega-menu__lists > ul.zedu-mega-columns > li.zedu-mega-col > a.zedu-mega-heading {
	display: inline-block;
	font-weight: 800;
	font-size: 16px;
	line-height: 1.2;
	color: #111;
	margin-bottom: 10px;
}

.zedu-mega-menu .zedu-mega-menu__lists > ul.zedu-mega-columns > li.zedu-mega-col:has(.zedu-mega-links) > a.zedu-mega-heading {
  font-size: 20px;
  border-bottom: 1px solid #00000033;
  display: inline-block;
  width: 100%;
  padding-block-end: 12px;
}

/*Full width mega menu and center content*/
.zedu-mega-menu .container {
    display: flex;
    text-align: left;
    gap: 64px;

    &::before,
    &::after {
        display: none;
    }
}

/* Second level (sub-sub menu) stacks under its heading */
.zedu-mega-menu .zedu-mega-menu__lists > ul.zedu-mega-columns > li.zedu-mega-col > ul.zedu-mega-links {
	position: static !important;
	display: block !important;
	margin: 0;
	padding: 0;
	list-style: none;
	box-shadow: none !important;
	background: transparent !important;
}

.zedu-mega-menu .zedu-mega-menu__lists > ul.zedu-mega-columns > li.zedu-mega-col > ul.zedu-mega-links.zedu-mega-links--cols {
	column-count: 2;
	column-gap: 26px;
}

.zedu-mega-menu .zedu-mega-menu__lists > ul.zedu-mega-columns > li.zedu-mega-col > ul.zedu-mega-links > li {
	margin: 0;
	padding: 0;
	break-inside: avoid;
}

.zedu-mega-menu .zedu-mega-menu__lists > ul.zedu-mega-columns > li.zedu-mega-col > ul.zedu-mega-links > li > a,
.zedu-mega-menu .zedu-mega-menu__lists a.zedu-mega-leaf {
	display: block;
	padding: 6px 10px;
	margin: 0 -10px; /* extend hover background to full column width */
	border-radius: 6px;
	font-size: 16px;
	font-weight: 400;
	color: #555;
	line-height: 1.25;
}

/* Full-row hover highlight for wrapped items */
.zedu-mega-menu .zedu-mega-menu__lists > ul.zedu-mega-columns > li.zedu-mega-col > ul.zedu-mega-links > li > a:hover,
.zedu-mega-menu .zedu-mega-menu__lists > ul.zedu-mega-columns > li.zedu-mega-col > ul.zedu-mega-links > li > a:focus {
	background: rgba(0, 0, 0, 0.05);
	color: #111;
	text-decoration: none;
}

.zedu-mega-menu .zedu-mega-menu__lists a:hover,
.zedu-mega-menu .zedu-mega-menu__lists a:focus {
	color: #de406b;
}

@media (max-width: 1024px) {
	/* On mobile, keep default (theme) mobile menu UX */
	.zedu-mega-menu li.menu-item-has-children > div.zedu-mega-menu {
		display: none !important;
	}
}


.zedu-mega-menu:has(.zedu-mega-menu__media--empty) .zedu-mega-columns {
    flex-direction: column;
    gap: 0 !important;
}

.zedu-mega-menu:has(.zedu-mega-menu__media--empty) {
    left: auto !important;
    padding-block: 12px;
    width: auto;
}

.menu-item:hover > a {
    color: #E4398C !important;
}
