/* Reland Core – mega menu, icons & badges */
.gc-menu-icon {
	display: inline-block;
	margin-inline-end: .5em;
	font-size: .95em;
	line-height: 1;
}
.gc-menu-badge {
	display: inline-block;
	margin-inline-start: .5em;
	padding: 2px 7px;
	border-radius: 20px;
	background: var(--gc-badge, #e11d48);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .04em;
	text-transform: uppercase;
	vertical-align: middle;
}

/* Desktop panel */
li.gc-has-mega {
	position: relative;
}
.gc-mega {
	position: absolute;
	z-index: 999;
	top: 100%;
	left: var(--gc-mega-left, 0);
	width: var(--gc-mega-width, var(--gc-mega-custom, 800px));
	max-width: 100vw;
	margin-top: var(--gc-mega-offset, 0px);
	text-align: start;
	opacity: 0;
	visibility: hidden;
	/* Template: unfolds from the top */
	transform: scaleY(0);
	transform-origin: top;
	transition: opacity .3s ease-in-out, transform .3s ease-in-out, visibility .3s ease-in-out;
	pointer-events: none;
}
/* Hover bridge over the gap */
.gc-mega::before {
	content: '';
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	height: var(--gc-mega-offset, 0px);
}
li.gc-has-mega:not(.gc-mega-click):hover > .gc-mega,
li.gc-has-mega:not(.gc-mega-click):focus-within > .gc-mega,
li.gc-has-mega.gc-mega-open > .gc-mega,
li.gc-has-mega.is-open > .gc-mega {
	opacity: 1;
	visibility: visible;
	transform: none;
	pointer-events: auto;
}

/* Templates can follow their box width (@container gc-mega) */
.gc-mega,
.gc-mega-inline,
.gc-mnav__mega {
	container: gc-mega / inline-size;
}
/* Template page and editor: same rules */
.single-reland-megamenu .elementor[data-elementor-id] {
	container: gc-mega / inline-size;
}

/* Lists (panels, side menus): opens below like a sub menu */
.gc-mega-inline {
	display: none;
	overflow-x: auto;
}
li.is-open > .gc-mega-inline {
	display: block;
}

/* Theme header: its menu link rules stop at the panel */
.navbar-wrap .gc-mega ul {
	display: block;
	margin: 0;
}
.navbar-wrap .gc-mega a:not(.btn) {
	padding: 0;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: normal;
	text-transform: none;
}
/* Buttons: the theme .btn again */
.navbar-wrap .gc-mega .btn {
	padding: 19px 38px;
	color: var(--tg-white);
	font-size: 14px;
	font-weight: 500;
	line-height: 1rem;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.navbar-wrap .gc-mega .btn.transparent-btn {
	color: var(--tg-primary-color);
}

/* Desktop: the mega replaces the sub menu */
li.gc-has-mega:not(.tgmobile__menu li):not(.mobile-menu li):not(.gc-mnav li) > .sub-menu {
	display: none !important;
}

/* Theme mobile menu: plain sub items */
.tgmobile__menu .gc-mega,
.mobile-menu .gc-mega {
	display: none !important;
}
.tgmobile__menu .gc-mega-only > .dropdown-btn,
.mobile-menu .gc-mega-only > .dropdown-btn {
	display: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.gc-mega {
		transition: none;
	}
}
