/* ==========================================================================
   OCE Mega Menu – desktop only
   ========================================================================== */

/* Tablet & mobile: plain menu */
@media only screen and (max-width: 980px) {
	.et-l--header .oce-mega-panel,
	.et-l--header .oce-mega-shell,
	.et-l--header .oce-mega-panel-inner,
	.et-l--header .oce-mega-columns,
	.et-l--header .oce-mega-column,
	.et-l--header .oce-mega-cta {
		all: unset;
		display: block;
	}

	.et-l--header .oce-mega-menu.mega-menu > ul.sub-menu {
		display: block !important;
		position: static !important;
		width: 100% !important;
		left: auto !important;
		transform: none !important;
		padding: 0 !important;
		margin: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		border-radius: 0 !important;
	}

	.et-l--header .oce-mega-col-title,
	.et-l--header .oce-mega-icon,
	.et-l--header .oce-mega-desc,
	.et-l--header .oce-mega-cta {
		display: none !important;
	}

	.et-l--header .oce-mega-menu .oce-mega-link {
		display: block !important;
		padding: 0 !important;
	}

	.et-l--header .oce-mega-text,
	.et-l--header .oce-mega-title {
		display: inline !important;
		font: inherit !important;
		color: inherit !important;
	}
}

.et-l--header .et_pb_menu_1_tb_header .oce-mega-col-title,
.et-l--header .et_pb_menu_1_tb_header .oce-mega-icon,
.et-l--header .et_pb_menu_1_tb_header .oce-mega-desc,
.et-l--header .et_pb_menu_1_tb_header .oce-mega-cta,
.et-l--header .et_pb_menu_1_tb_header .oce-mega-shell {
	display: none !important;
}

/* ==========================================================================
   Desktop mega menu
   ========================================================================== */
@media only screen and (min-width: 981px) {
	.et-l--header .et_pb_menu_0_tb_header .et-menu-nav {
		position: relative;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-menu {
		position: relative !important;
	}

	/* Invisible bridge so the pointer can reach the panel without closing */
	.et-l--header .et_pb_menu_0_tb_header .oce-mega-menu::after {
		content: "";
		position: absolute;
		left: -40px;
		right: -40px;
		top: 100%;
		height: 24px;
		z-index: 100001;
	}

	/* Dropdown panel */
	.et-l--header .et_pb_menu_0_tb_header .oce-mega-menu > ul.sub-menu {
		display: block !important;
		visibility: hidden;
		opacity: 0;
		position: absolute !important;
		top: 100% !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-58%);
		width: min(1040px, calc(100vw - 80px)) !important;
		max-width: 1040px !important;
		padding: 24px 0 0 !important;
		margin: 0 !important;
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		border-radius: 0 !important;
		animation: none !important;
		z-index: 100000;
		pointer-events: none;
		transition: opacity 0.15s ease, visibility 0.15s ease;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-menu:hover > ul.sub-menu,
	.et-l--header .et_pb_menu_0_tb_header .oce-mega-menu.et-hover > ul.sub-menu,
	.et-l--header .et_pb_menu_0_tb_header .oce-mega-menu.oce-mega-open > ul.sub-menu {
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-menu.mega-menu > ul > li,
	.et-l--header .et_pb_menu_0_tb_header .oce-mega-menu.mega-menu ul li {
		float: none !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* Inner card */
	.et-l--header .et_pb_menu_0_tb_header .oce-mega-panel-inner {
		display: flex;
		align-items: stretch;
		background: #f7f9fb;
		border-radius: 18px;
		overflow: hidden;
		box-shadow: 0 24px 64px rgba(5, 18, 36, 0.22);
		min-height: 420px;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-shell {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	/* Two content columns */
	.et-l--header .et_pb_menu_0_tb_header .oce-mega-columns {
		display: grid;
		grid-template-columns: 1fr 1fr;
		flex: 1;
		gap: 0;
		padding: 36px 12px 36px 36px;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-column {
		min-width: 0;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-col-title {
		margin: 0 0 18px;
		padding: 0 16px;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: #8b95a5;
		line-height: 1.2;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-items {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-item {
		margin: 0;
		padding: 0;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-link {
		display: flex !important;
		align-items: flex-start;
		gap: 14px;
		padding: 11px 16px !important;
		border-radius: 10px;
		text-decoration: none !important;
		transition: background 0.18s ease;
		width: 100% !important;
		box-sizing: border-box;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-link:hover {
		background: rgba(11, 25, 41, 0.05) !important;
		opacity: 1 !important;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-icon {
		flex: 0 0 42px;
		width: 42px;
		height: 42px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 11px;
		background: #e3edf9;
		color: #3a6fd4;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-text {
		display: flex;
		flex-direction: column;
		gap: 4px;
		min-width: 0;
		padding-top: 2px;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-title {
		font-size: 15px;
		font-weight: 700;
		color: #0f1b2d !important;
		line-height: 1.3;
		text-transform: none !important;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-desc {
		font-size: 13px;
		font-weight: 400;
		color: #667085 !important;
		line-height: 1.45;
		text-transform: none !important;
	}

	/* CTA sidebar */
	.et-l--header .et_pb_menu_0_tb_header .oce-mega-cta {
		flex: 0 0 300px;
		width: 300px;
		background: #0b1929;
		padding: 36px 32px 32px;
		display: flex;
		flex-direction: column;
		color: #fff;
		box-sizing: border-box;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-cta__label {
		margin: 0 0 14px;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: #8fa3b8;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-cta__title {
		margin: 0 0 14px;
		font-size: 24px;
		font-weight: 700;
		line-height: 1.2;
		color: #fff;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-cta__text {
		margin: 0 0 28px;
		font-size: 13px;
		line-height: 1.6;
		color: #b8c5d3;
		flex: 1;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-cta__buttons {
		display: flex;
		flex-direction: column;
		gap: 12px;
		margin-bottom: 24px;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-cta__btn {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		padding: 14px 20px !important;
		border-radius: 13px;
		font-size: 13px;
		font-weight: 700;
		text-decoration: none !important;
		text-align: center;
		line-height: 1.2;
		box-sizing: border-box;
		letter-spacing: 0.02em;
		text-transform: uppercase;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-cta__btn--primary {
		background: linear-gradient(90deg, #783ceb 0%, #5153db 40%, #226ec7 100%);
		color: #fff !important;
		border: none;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-cta__btn--primary:hover {
		opacity: 0.92;
		color: #fff !important;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-cta__btn--secondary {
		background: transparent;
		color: #fff !important;
		border: 1px solid rgba(255, 255, 255, 0.5);
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-cta__btn--secondary:hover {
		background: rgba(255, 255, 255, 0.08);
		color: #fff !important;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-cta__link {
		display: inline-block !important;
		margin-top: auto;
		padding: 0 !important;
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		color: #5b9fff !important;
		text-decoration: none !important;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-cta__link:hover {
		color: #7eb3ff !important;
	}

	/* Kill Divi mega-menu defaults */
	.et-l--header .et_pb_menu_0_tb_header .oce-mega-menu.mega-menu li > ul,
	.et-l--header .et_pb_menu_0_tb_header .oce-mega-menu.mega-menu li ul {
		position: static !important;
		width: auto !important;
		box-shadow: none !important;
		border: none !important;
		background: transparent !important;
		padding: 0 !important;
	}
}

@media only screen and (min-width: 981px) and (max-width: 1200px) {
	.et-l--header .et_pb_menu_0_tb_header .oce-mega-menu > ul.sub-menu {
		width: min(920px, calc(100vw - 48px)) !important;
		transform: translateX(-62%);
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-cta {
		flex: 0 0 260px;
		width: 260px;
		padding: 28px 24px;
	}

	.et-l--header .et_pb_menu_0_tb_header .oce-mega-columns {
		padding: 28px 8px 28px 28px;
	}
}
