/**
 * CRO mega menus — ported from Tarigo Next.js mockup (CROmockup globals.css).
 */

:root {
	--mega-teal: #007c89;
	--mega-teal-dark: #004f5f;
	--mega-ink: #19313a;
	--mega-muted: #66767d;
	--mega-line: #d9e8eb;
	--mega-olive: #8a9220;
}

/* ----- Compact dropdowns (Who We Help / Why Tarigo / Resources) ----- */
@media (min-width: 769px) {
	.main-navigation:not(.toggled) .main-nav > ul > li:not(.mega-menu) > .sub-menu {
		width: 320px;
		padding: 22px 18px 20px;
		background: #fff;
		border: 1px solid #d8e8ea;
		border-top: 4px solid var(--mega-teal);
		border-radius: 0 0 14px 14px;
		box-shadow: 0 22px 50px rgba(0, 53, 65, 0.18);
		left: 50% !important;
		transform: translateX(-50%);
	}

	.main-navigation:not(.toggled) .main-nav > ul > li:not(.mega-menu) > .sub-menu > li > a {
		display: block;
		padding: 10px 12px;
		color: var(--mega-teal);
		font-size: 13px;
		font-weight: 500;
		line-height: 1.35;
		text-transform: none;
		letter-spacing: 0;
		border-radius: 7px;
	}

	.main-navigation:not(.toggled) .main-nav > ul > li:not(.mega-menu) > .sub-menu > li > a:hover,
	.main-navigation:not(.toggled) .main-nav > ul > li:not(.mega-menu) > .sub-menu > li > a:focus {
		background: #eaf6f7;
		color: var(--mega-teal-dark);
	}

	.main-navigation:not(.toggled) .main-nav > ul > li:not(.mega-menu) > .sub-menu > li.menu-item-has-children > a {
		margin-bottom: 4px;
		padding-bottom: 8px;
		color: var(--mega-teal);
		font-size: 13px;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: 0.02em;
		pointer-events: none;
	}
}

/* ----- Wide mega panels ----- */
@media (min-width: 769px) {
	.main-navigation .main-nav > ul {
		position: relative;
	}

	nav .main-nav .mega-menu {
		position: static;
	}

	.main-navigation:not(.toggled) .main-nav .mega-menu > .sub-menu,
	nav .main-nav .mega-menu > ul {
		display: flex;
		flex-wrap: nowrap;
		align-items: stretch;
		width: min(1080px, calc(100vw - 48px));
		left: 50% !important;
		right: auto;
		transform: translateX(-50%);
		padding: 0;
		margin-top: 0;
		background: #fff;
		border: 1px solid #d8e8ea;
		border-top: 4px solid var(--mega-teal);
		border-radius: 0 0 14px 14px;
		box-shadow: 0 22px 50px rgba(0, 53, 65, 0.18);
		overflow: hidden;
		box-sizing: border-box;
	}

	/* Default mega columns */
	nav .main-nav .mega-menu > ul > li,
	.main-navigation:not(.toggled) .main-nav .mega-menu > .sub-menu > li {
		display: flex;
		flex-direction: column;
		width: auto;
		flex: 1 1 0;
		min-width: 0;
		padding: 28px 30px 30px;
		vertical-align: top;
		border-left: 1px solid var(--mega-line);
	}

	nav .main-nav .mega-menu > ul > li:first-child,
	.main-navigation:not(.toggled) .main-nav .mega-menu > .sub-menu > li:first-child {
		border-left: 0;
	}

	nav .main-nav .mega-menu.mega-menu-col-2 > ul > li {
		flex: 1 1 50%;
		width: auto;
	}

	nav .main-nav .mega-menu.mega-menu-col-3 > ul > li {
		flex: 1 1 33.333%;
		width: auto;
	}

	nav .main-nav .mega-menu.mega-menu-col-5 > ul > li {
		flex: 1 1 20%;
		width: auto;
	}

	/* Column title row */
	nav .main-nav .mega-menu > ul > li > a,
	.main-navigation:not(.toggled) .main-nav .mega-menu > .sub-menu > li > a {
		display: grid;
		grid-template-columns: auto 1fr;
		gap: 10px 14px;
		align-items: center;
		margin: 0 0 14px;
		padding: 0 0 16px;
		border-bottom: 1px solid var(--mega-line);
		color: var(--mega-teal-dark) !important;
		font-size: 13px;
		font-weight: 800;
		line-height: 1.25;
		text-transform: uppercase;
		letter-spacing: 0.02em;
		background: transparent !important;
	}

	nav .main-nav .mega-menu > ul > li > a img,
	.main-navigation:not(.toggled) .main-nav .mega-menu > .sub-menu > li > a img {
		width: 54px;
		height: 48px;
		margin: 0;
		object-fit: contain;
	}

	nav .main-nav .mega-menu > ul > li > a .menu-image-title,
	nav .main-nav .mega-menu > ul > li > a span.menu-image-title-after.menu-image-title,
	.main-navigation:not(.toggled) .main-nav .mega-menu > .sub-menu > li > a .menu-image-title {
		width: auto;
		font-size: 13px;
		font-weight: 800;
		text-transform: uppercase;
		color: var(--mega-teal-dark);
	}

	.mega-column-desc {
		display: block;
		grid-column: 2;
		margin-top: -6px;
		color: var(--mega-muted);
		font-size: 11px;
		font-weight: 500;
		line-height: 1.45;
		text-transform: none;
		letter-spacing: 0;
	}

	/* Nested links in columns */
	nav .main-nav .mega-menu ul .sub-menu,
	.main-navigation:not(.toggled) .main-nav .mega-menu .sub-menu .sub-menu {
		position: static !important;
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		width: 100% !important;
		height: auto !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
		left: 0 !important;
		transform: none !important;
		pointer-events: auto;
	}

	nav .main-nav .mega-menu .sub-menu .sub-menu > li > a,
	.main-navigation:not(.toggled) .main-nav .mega-menu .sub-menu .sub-menu > li > a {
		position: relative;
		display: block;
		padding: 9px 28px 9px 0;
		color: #28515b !important;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.35;
		text-transform: none;
		letter-spacing: 0;
		background: transparent !important;
		transition: color 0.18s ease, transform 0.18s ease;
	}

	nav .main-nav .mega-menu .sub-menu .sub-menu > li > a::after {
		content: "";
		position: absolute;
		right: 5px;
		top: 50%;
		width: 6px;
		height: 6px;
		border-top: 1.5px solid var(--mega-teal);
		border-right: 1.5px solid var(--mega-teal);
		transform: translateY(-50%) rotate(45deg);
		opacity: 0.45;
		transition: opacity 0.18s ease;
	}

	nav .main-nav .mega-menu .sub-menu .sub-menu > li > a:hover,
	nav .main-nav .mega-menu .sub-menu .sub-menu > li > a:focus {
		color: var(--mega-teal) !important;
		transform: translateX(3px);
		background: transparent !important;
	}

	nav .main-nav .mega-menu .sub-menu .sub-menu > li > a:hover::after,
	nav .main-nav .mega-menu .sub-menu .sub-menu > li > a:focus::after {
		opacity: 1;
	}

	nav .main-nav .mega-menu > ul > li:hover > a,
	nav .main-nav .mega-menu > ul > li:focus > a,
	nav .main-nav .mega-menu > ul > li[class*="current-"] > a,
	nav .main-nav .mega-menu ul ul {
		background-color: transparent !important;
		color: inherit;
	}

	nav .main-nav .mega-menu .sub-menu .menu-item-has-children .dropdown-menu-toggle {
		display: none;
	}

	/* Kill GP underline animation inside megas */
	.main-navigation .mega-menu .sub-menu a::before,
	.main-navigation .main-nav > ul > li:not(.mega-menu) > .sub-menu a::before {
		display: none !important;
		height: 0 !important;
	}
}

/* ----- Courses mega: 2 course cols + guidance ----- */
@media (min-width: 769px) {
	.main-navigation:not(.toggled) .main-nav .mega-menu-courses > .sub-menu,
	nav .main-nav .mega-menu-courses > ul {
		width: min(1080px, calc(100vw - 48px));
	}

	nav .main-nav .mega-menu-courses > ul > li:not(.mega-guidance-item),
	.main-navigation:not(.toggled) .main-nav .mega-menu-courses > .sub-menu > li:not(.mega-guidance-item) {
		flex: 1 1 0;
	}

	nav .main-nav .mega-menu-courses > ul > li.mega-guidance-item,
	.main-navigation:not(.toggled) .main-nav .mega-menu-courses > .sub-menu > li.mega-guidance-item {
		flex: 0 0 28%;
		max-width: 300px;
		padding: 0;
		border-left: 1px solid var(--mega-line);
	}

	.mega-guidance {
		display: flex;
		flex-direction: column;
		height: 100%;
		min-height: 100%;
		padding: 30px;
		background: linear-gradient(145deg, #fff2dd, #f8fbf5);
		box-sizing: border-box;
	}

	.mega-guidance__eyebrow {
		color: var(--mega-teal);
		font-size: 10px;
		font-weight: 900;
		text-transform: uppercase;
		letter-spacing: 0.08em;
	}

	.mega-guidance__title {
		display: block;
		margin: 10px 0 12px;
		color: var(--mega-teal-dark);
		font-size: 22px;
		font-weight: 700;
		line-height: 1.15;
	}

	.mega-guidance__text {
		margin: 0;
		color: #40545c;
		font-size: 12px;
		line-height: 1.6;
		text-transform: none;
	}

	.mega-guidance__list {
		margin: 15px 0 20px;
		padding: 0;
		list-style: none;
		color: #31505a;
		font-size: 11px;
		font-weight: 700;
	}

	.mega-guidance__list li {
		margin: 6px 0;
	}

	.mega-guidance__list li::before {
		content: "\2713";
		margin-right: 7px;
		color: var(--mega-olive);
		font-weight: 900;
	}

	.mega-guidance__compare {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		margin-top: auto;
		padding: 10px 0;
		border-bottom: 1px solid rgba(0, 124, 137, 0.25);
		color: var(--mega-teal) !important;
		font-size: 10px !important;
		font-weight: 900 !important;
		text-transform: uppercase;
		text-decoration: none;
		letter-spacing: 0.04em;
		background: transparent !important;
	}

	.mega-guidance__compare:hover,
	.mega-guidance__compare:focus {
		color: var(--mega-teal-dark) !important;
	}

	.mega-guidance__advice {
		display: flex !important;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 40px;
		margin-top: 14px;
		padding: 0 12px;
		border-radius: 5px;
		background: var(--mega-teal) !important;
		color: #fff !important;
		font-size: 9px !important;
		font-weight: 900 !important;
		text-align: center;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		text-decoration: none;
	}

	.mega-guidance__advice:hover,
	.mega-guidance__advice:focus {
		background: var(--mega-teal-dark) !important;
		color: #fff !important;
	}
}

@media (min-width: 769px) and (max-width: 1250px) {
	.main-navigation:not(.toggled) .main-nav .mega-menu > .sub-menu,
	nav .main-nav .mega-menu > ul {
		width: min(980px, calc(100vw - 32px));
	}

	nav .main-nav .mega-menu > ul > li,
	.main-navigation:not(.toggled) .main-nav .mega-menu > .sub-menu > li {
		padding: 24px;
	}

	nav .main-nav .mega-menu > ul > li > a img {
		width: 42px;
		height: 42px;
	}

	.mega-guidance {
		padding: 24px;
	}

	.mega-guidance__title {
		font-size: 18px;
	}
}
