/* Services mega menu (inc/mega-menu.php). Desktop only: below 1025px the nav-menu widget shows its own dropdown. */
.se-mega { display: none; }

@media (min-width: 1025px) {
	.elementor-nav-menu--main .se-has-mega > .sub-menu { display: none !important; }
	.elementor-sticky__spacer .se-mega { display: none !important; }
	.elementor-nav-menu--main .se-has-mega > a .sub-arrow > * { transition: transform .2s ease; }
	.elementor-nav-menu--main .se-has-mega.se-mega-open > a .sub-arrow > * { transform: rotate(180deg); }

	/* top/left/width are set by mega-menu.js from the header bar and its content box */
	.se-mega {
		--se-navy: var(--e-global-color-vamtam_accent_1, #132573);
		--se-tint: var(--e-global-color-vamtam_accent_8, #E6F1F7);
		display: block;
		position: fixed;
		top: 124px;
		left: 0;
		width: 100%;
		z-index: 1000;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transition: opacity .18s ease, visibility 0s linear .18s;
		white-space: normal;
		text-align: left;
	}
	/* invisible strip between the menu link and the panel, so the pointer can travel down without closing it */
	.se-mega::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 100%;
		height: var(--se-mega-bridge, 16px);
	}
	.se-has-mega.se-mega-open > .se-mega {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transition-delay: 0s;
	}
	.se-mega__card {
		overflow: hidden;
		background: #fff;
		border-top: 1px solid var(--se-tint);
		border-radius: 0 0 20px 20px;
		box-shadow: 0 28px 48px -16px rgba(19, 37, 115, .22), 0 2px 6px rgba(19, 37, 115, .05);
		transform: translateY(-8px);
		transition: transform .22s ease;
	}
	.se-has-mega.se-mega-open > .se-mega .se-mega__card { transform: none; }

	/* tolygus grid'as: viena kolona per sub-sarasa, ilga kategorija uzima kelias (--se-cols iš PHP) */
	.se-mega__grid {
		display: grid;
		grid-template-columns: repeat(var(--se-cols, 4), minmax(max-content, 1fr));
		column-gap: 40px;
		row-gap: 28px;
		padding: 36px 40px 30px;
	}
	.se-mega__group { min-width: 0; }
	.se-mega__group--span-2 { grid-column: span 2; }
	.se-mega__group--span-3 { grid-column: span 3; }
	.se-mega p.se-mega__title { /* beats the kit's ".elementor-kit-6 p { margin-block-end: 0 }" */
		margin: 0 0 12px;
		font-family: var(--e-global-typography-vamtam_h5-font-family, "Nexa"), sans-serif;
		font-size: 17px;
		font-weight: 700;
		line-height: 1.3;
		color: var(--se-navy);
		white-space: nowrap;
	}
	.se-mega__lists { display: flex; gap: 40px; }
	.se-mega__list { flex: 1 1 0; min-width: max-content; }

	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__link,
	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__link:hover,
	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__link:focus {
		display: inline-block;
		margin: 0 0 0 -12px;
		padding: 7px 12px;
		border-radius: 10px;
		font-family: "Noto Sans", Helvetica, Arial, sans-serif;
		font-size: 15px;
		font-weight: 400;
		line-height: 1.35;
		color: var(--se-navy);
		background: transparent;
		white-space: nowrap;
		text-decoration: none;
		transition: background-color .15s ease;
	}
	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__link:hover,
	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__link:focus-visible { background: var(--se-tint); }
	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__link[aria-current="page"] { font-weight: 700; background: var(--se-tint); }

	.se-mega__foot {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 12px 24px;
		padding: 16px 40px;
		background: var(--se-tint);
	}
	.se-mega__cta { display: flex; align-items: center; gap: 24px; }
	.se-mega__cta-phone { font-size: 15px; line-height: 1.4; color: #2E3031; white-space: nowrap; }

	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__all,
	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__all:hover,
	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__all:focus {
		display: inline-block;
		padding: 0;
		font-family: var(--e-global-typography-vamtam_h5-font-family, "Nexa"), sans-serif;
		font-size: 15px;
		font-weight: 700;
		line-height: 1.3;
		color: var(--se-navy);
		background: transparent;
		white-space: nowrap;
		text-decoration: underline;
		text-decoration-color: transparent;
		text-underline-offset: 4px;
		transition: text-decoration-color .15s ease;
	}
	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__all:hover,
	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__all:focus-visible { text-decoration-color: currentColor; }

	.elementor-nav-menu--main .elementor-nav-menu .se-mega .se-mega__cta-phone a,
	.elementor-nav-menu--main .elementor-nav-menu .se-mega .se-mega__cta-phone a:hover,
	.elementor-nav-menu--main .elementor-nav-menu .se-mega .se-mega__cta-phone a:focus {
		display: inline;
		margin-left: 4px;
		padding: 0;
		font-family: var(--e-global-typography-vamtam_h5-font-family, "Nexa"), sans-serif;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.4;
		color: var(--se-navy);
		background: transparent;
		white-space: nowrap;
		text-decoration: none;
	}

	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__cta-btn,
	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__cta-btn:hover,
	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__cta-btn:focus {
		display: inline-flex;
		padding: 12px 22px 10px;
		border-radius: 999px;
		font-family: var(--e-global-typography-vamtam_h5-font-family, "Nexa"), sans-serif;
		font-size: 15px;
		font-weight: 700;
		line-height: 1;
		color: #fff;
		background: var(--se-navy);
		white-space: nowrap;
		text-decoration: none;
		transition: background-color .15s ease;
	}
	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__cta-btn:hover,
	.elementor-nav-menu--main .elementor-nav-menu .se-mega a.se-mega__cta-btn:focus-visible { background: #0c1a57; }

	.se-mega a:focus-visible { outline: 2px solid var(--se-navy); outline-offset: 2px; }
}

@media (min-width: 1025px) and (max-width: 1279px) {
	.se-mega__grid { column-gap: 32px; padding: 30px 32px 26px; }
	.se-mega__foot { padding: 14px 32px; }
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
	.se-mega, .se-mega__card, .elementor-nav-menu--main .se-has-mega > a .sub-arrow > * { transition: none; }
}
