/**
 * FAB Mega Menu - Theme Matched Dark Version
 * Replace:
 * /wp-content/themes/royal-elementor-kit-child/assets/css/fab-mega-menu.css
 *
 * Desktop: dark FAB header-matched mega menu with orange accents.
 * <=1024px: existing FAB mobile accordion remains in control.
 */

@media (min-width: 1025px) {

	.fab-site-header .fab-primary-navigation,
	.fab-site-header .fab-primary-menu {
		position: relative !important;
	}

	.fab-site-header .fab-primary-menu > .fab-mega-menu-parent {
		position: static !important;
	}

	/* Main mega panel */
	.fab-site-header .fab-primary-menu > .fab-mega-menu-parent > .sub-menu {
		--fab-mega-columns: 6;
		--fab-mega-bg: #1d1d22;
		--fab-mega-bg-soft: #24242a;
		--fab-mega-text: #f7f7f8;
		--fab-mega-muted: #c9cbd2;
		--fab-mega-accent: #f58220;
		--fab-mega-border: rgba(255,255,255,.08);

		position: absolute !important;
		z-index: 99999 !important;
		top: 100% !important;
		left: 50% !important;
		right: auto !important;
		bottom: auto !important;

		display: grid !important;
		grid-template-columns: repeat(var(--fab-mega-columns), minmax(0, 1fr)) !important;
		align-items: start !important;
		gap: 30px !important;

		width: min(1180px, calc(100vw - 72px)) !important;
		min-width: 0 !important;
		max-width: 1180px !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;

		margin: 0 !important;
		padding: 32px 34px 36px !important;

		background:
			radial-gradient(circle at 88% 5%, rgba(245,130,32,.11), transparent 28%),
			linear-gradient(135deg, #202026 0%, #19191e 100%) !important;
		border: 1px solid var(--fab-mega-border) !important;
		border-top: 1px solid rgba(245,130,32,.22) !important;
		border-radius: 0 0 18px 18px !important;
		box-shadow: 0 26px 65px rgba(0,0,0,.34) !important;

		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;

		transform: translate(-50%, 8px) !important;
		transform-origin: top center !important;
		transition:
			opacity 160ms ease,
			visibility 160ms ease,
			transform 220ms cubic-bezier(.22, 1, .36, 1) !important;

		overflow: visible !important;
	}

	/* Hover bridge - no dead gap */
	.fab-site-header .fab-primary-menu > .fab-mega-menu-parent > .sub-menu::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: -14px;
		height: 14px;
		background: transparent;
	}

	.fab-site-header .fab-primary-menu > .fab-mega-cols-2 > .sub-menu { --fab-mega-columns: 2; }
	.fab-site-header .fab-primary-menu > .fab-mega-cols-3 > .sub-menu { --fab-mega-columns: 3; }
	.fab-site-header .fab-primary-menu > .fab-mega-cols-4 > .sub-menu { --fab-mega-columns: 4; }
	.fab-site-header .fab-primary-menu > .fab-mega-cols-5 > .sub-menu { --fab-mega-columns: 5; }
	.fab-site-header .fab-primary-menu > .fab-mega-cols-6 > .sub-menu { --fab-mega-columns: 6; }

	.fab-site-header .fab-primary-menu > .fab-mega-menu-parent:hover > .sub-menu,
	.fab-site-header .fab-primary-menu > .fab-mega-menu-parent:focus-within > .sub-menu,
	.fab-site-header .fab-primary-menu > .fab-mega-menu-parent.is-open > .sub-menu,
	.fab-site-header .fab-primary-menu > .fab-mega-menu-parent.menu-item-open > .sub-menu {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: translate(-50%, 0) !important;
	}

	/* Column */
	.fab-site-header
	.fab-primary-menu
	> .fab-mega-menu-parent
	> .sub-menu
	> .fab-mega-menu-column {
		position: relative !important;
		inset: auto !important;
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
		float: none !important;
	}

	/* Column heading */
	.fab-site-header
	.fab-primary-menu
	> .fab-mega-menu-parent
	> .sub-menu
	> .fab-mega-menu-column
	> a {
		position: relative !important;
		display: inline-flex !important;
		align-items: center !important;
		width: auto !important;
		min-width: 0 !important;
		height: auto !important;

		margin: 0 0 14px !important;
		padding: 0 0 10px 15px !important;

		color: #ffffff !important;
		background: transparent !important;
		border: 0 !important;
		border-bottom: 1px solid rgba(255,255,255,.09) !important;
		box-shadow: none !important;

		font-size: 14px !important;
		font-weight: 600 !important;
		line-height: 1.35 !important;
		letter-spacing: .01em !important;
		text-decoration: none !important;
		text-transform: none !important;
		white-space: normal !important;
		transform: none !important;
	}

	/* One consistent FAB orange marker */
	.fab-site-header
	.fab-primary-menu
	> .fab-mega-menu-parent
	> .sub-menu
	> .fab-mega-menu-column
	> a::before {
		content: "";
		position: absolute;
		left: 0;
		top: .48em;
		width: 7px;
		height: 7px;
		border-radius: 2px;
		background: #f58220;
		box-shadow: 0 0 10px rgba(245,130,32,.35);
	}

	/* Desktop column submenu toggle is unnecessary */
	.fab-site-header
	.fab-primary-menu
	> .fab-mega-menu-parent
	> .sub-menu
	> .fab-mega-menu-column
	> .fab-submenu-toggle {
		display: none !important;
	}

	/* Product link list */
	.fab-site-header
	.fab-primary-menu
	> .fab-mega-menu-parent
	> .sub-menu
	> .fab-mega-menu-column
	> .sub-menu {
		position: static !important;
		inset: auto !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;

		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 2px !important;

		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;

		margin: 0 !important;
		padding: 0 !important;

		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;

		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: none !important;
		transform-origin: initial !important;
		overflow: visible !important;
		float: none !important;
	}

	.fab-site-header
	.fab-primary-menu
	> .fab-mega-menu-parent
	> .sub-menu
	> .fab-mega-menu-column
	> .sub-menu
	> li {
		position: static !important;
		inset: auto !important;
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		transform: none !important;
	}

	.fab-site-header
	.fab-primary-menu
	> .fab-mega-menu-parent
	> .sub-menu
	> .fab-mega-menu-column
	> .sub-menu
	> li
	> a {
		position: relative !important;
		display: flex  !important;

		width: 100% !important;
		min-width: 0 !important;
		height: auto !important;

		margin: 0 !important;
		padding: 7px 10px !important;

		color: #cfd1d8 !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 8px !important;
		box-shadow: none !important;

		font-size: 13px !important;
		font-weight: 400 !important;
		line-height: 1.4 !important;
		text-align: left !important;
		text-decoration: none !important;
		text-transform: none !important;
		white-space: normal !important;

		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;

		transition:
			color 150ms ease,
			background-color 150ms ease,
			padding-left 150ms ease !important;
	}

	.fab-site-header
	.fab-primary-menu
	> .fab-mega-menu-parent
	> .sub-menu
	> .fab-mega-menu-column
	> .sub-menu
	> li
	> a:hover,
	.fab-site-header
	.fab-primary-menu
	> .fab-mega-menu-parent
	> .sub-menu
	> .fab-mega-menu-column
	> .sub-menu
	> li
	> a:focus-visible,
	.fab-site-header
	.fab-primary-menu
	> .fab-mega-menu-parent
	> .sub-menu
	> .fab-mega-menu-column
	> .sub-menu
	> li.current-menu-item
	> a {
		color: #ffffff !important;
		background: rgba(245,130,32,.13) !important;
		padding-left: 14px !important;
		transform: none !important;
	}

	.fab-site-header
	.fab-primary-menu
	> .fab-mega-menu-parent
	> .sub-menu
	> .fab-mega-menu-column
	> .sub-menu
	> li
	> a:focus-visible {
		outline: 1px solid rgba(245,130,32,.75) !important;
		outline-offset: 1px !important;
	}

	/* Deeper nesting */
	.fab-site-header
	.fab-primary-menu
	> .fab-mega-menu-parent
	> .sub-menu
	.sub-menu
	.sub-menu {
		position: static !important;
		inset: auto !important;
		width: 100% !important;
		margin: 4px 0 6px 10px !important;
		padding: 0 0 0 10px !important;
		background: transparent !important;
		border: 0 !important;
		border-left: 1px solid rgba(245,130,32,.22) !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}

	/* Smaller desktop / landscape tablet */
	@media (max-width: 1260px) {
		.fab-site-header .fab-primary-menu > .fab-mega-menu-parent > .sub-menu {
			grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
			width: min(940px, calc(100vw - 48px)) !important;
			gap: 28px 34px !important;
		}
	}
}

/*
 * <=1024px:
 * Existing FAB mobile menu/accordion remains responsible for submenu behavior.
 * No desktop mega layout is forced on mobile.
 */