/**
 * CMS Courses mega menu — desktop only (Astra primary nav).
 * Intermediate is a double column so every course name stays on one line.
 * Mobile: third-level course links stay hidden (same 4 hubs as before).
 */

@media (min-width: 922px) {
	.ast-desktop .main-header-bar {
		position: relative;
	}

	.ast-desktop .main-header-menu > .menu-item.cms-courses-mega {
		position: static !important;
	}

	/* Let the panel use the full header bar, not the narrow menu list. */
	.ast-desktop .main-header-menu:has(> .menu-item.cms-courses-mega:hover),
	.ast-desktop .main-header-menu:has(> .menu-item.cms-courses-mega:focus-within),
	.ast-desktop .main-header-menu:has(> .menu-item.cms-courses-mega.focus),
	.ast-desktop .main-header-menu:has(> .menu-item.cms-courses-mega.ast-submenu-expanded) {
		position: static !important;
	}

	.ast-desktop .main-header-menu > .menu-item.cms-courses-mega > .sub-menu {
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 1.4rem 2.25rem 1.7rem;
		display: none;
		grid-template-columns:
			minmax(0, 2.25fr)
			minmax(0, 1.12fr)
			minmax(0, 1.28fr)
			minmax(0, 0.7fr);
		align-items: start;
		column-gap: 2rem;
		row-gap: 0;
		box-sizing: border-box;
		box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
		border-top: 3px solid #ff6a00;
		background: #fff;
		z-index: 99999;
	}

	.ast-desktop .main-header-menu > .menu-item.cms-courses-mega:hover > .sub-menu,
	.ast-desktop .main-header-menu > .menu-item.cms-courses-mega.focus > .sub-menu,
	.ast-desktop .main-header-menu > .menu-item.cms-courses-mega.ast-submenu-expanded > .sub-menu {
		display: grid;
	}

	.ast-desktop .cms-courses-mega > .sub-menu > .menu-item.menu-item-has-children {
		position: static !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		min-width: 0;
		margin: 0 !important;
		padding: 0 1.35rem 0 0 !important;
		border-right: 1px solid rgba(0, 0, 0, 0.08);
		top: auto !important;
		transform: none !important;
	}

	.ast-desktop .cms-courses-mega > .sub-menu > .menu-item.menu-item-has-children:last-child {
		border-right: none;
		padding-right: 0 !important;
	}

	.ast-desktop .cms-courses-mega > .sub-menu > .menu-item > .menu-link {
		order: 1;
		flex: 0 0 auto;
		display: flex !important;
		align-items: flex-end;
		width: 100%;
		min-height: 2.6rem;
		box-sizing: border-box;
		font-weight: 700;
		font-size: 0.75rem;
		line-height: 1.25;
		letter-spacing: 0.03em;
		text-transform: uppercase;
		color: #ff6a00;
		white-space: nowrap;
		word-break: keep-all;
		hyphens: none;
		padding: 0 0 0.65rem 0 !important;
		margin: 0 0 0.55rem 0 !important;
		border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
		background: transparent !important;
	}

	.ast-desktop .cms-courses-mega > .sub-menu > .menu-item > .sub-menu {
		order: 2;
		position: static !important;
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		box-shadow: none !important;
		border: none !important;
		min-width: 0 !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		background: transparent !important;
		top: auto !important;
		left: auto !important;
	}

	.ast-desktop .cms-courses-mega > .sub-menu > .menu-item.cms-courses-mega-col-split > .sub-menu {
		column-count: 2;
		column-gap: 2.25rem;
		column-rule: 1px solid rgba(0, 0, 0, 0.08);
		column-fill: balance;
	}

	.ast-desktop .cms-courses-mega > .sub-menu > .menu-item.cms-courses-mega-col-split > .sub-menu > .menu-item {
		break-inside: avoid;
		page-break-inside: avoid;
		-webkit-column-break-inside: avoid;
		display: block !important;
		width: 100% !important;
		float: none !important;
	}

	.ast-desktop .cms-courses-mega > .sub-menu > .menu-item.menu-item-has-children > .ast-menu-toggle {
		order: 0;
		display: none !important;
	}

	.ast-desktop .cms-courses-mega > .sub-menu > .menu-item > .sub-menu::before {
		display: none !important;
	}

	.ast-desktop .cms-courses-mega > .sub-menu > .menu-item > .sub-menu .menu-item {
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;
	}

	.ast-desktop .cms-courses-mega > .sub-menu > .menu-item > .sub-menu .menu-link {
		display: block;
		font-weight: 500;
		text-transform: none;
		font-size: 0.875rem;
		line-height: 1.3;
		letter-spacing: 0;
		padding: 0.42rem 0 !important;
		margin: 0 !important;
		white-space: nowrap !important;
		border: none !important;
		color: #334155;
	}

	.ast-desktop .cms-courses-mega > .sub-menu > .menu-item > .sub-menu .menu-link:hover {
		color: #ff6a00;
	}

	.ast-desktop .cms-courses-mega > .sub-menu > .menu-item > .ast-menu-toggle {
		display: none !important;
	}
}

@media (max-width: 921px) {
	.cms-courses-mega .sub-menu > .menu-item.cms-courses-mega-hub-desktop-only {
		display: none !important;
	}

	.cms-courses-mega .sub-menu .sub-menu {
		display: none !important;
	}

	.cms-courses-mega .sub-menu > .menu-item.menu-item-has-children > .ast-menu-toggle {
		display: none;
	}
}
