/* Zentry: wide, readable segment panel on desktop. */
@media (min-width: 993px) {
	#site-header .site-navigation {
		position: static;
	}

	#site-header .site-navigation ul.menu > li.zentry-solutions {
		position: static;
	}

	#site-header .site-navigation ul.menu > li.zentry-solutions > ul.sub-menu {
		box-sizing: border-box;
		position: absolute;
		z-index: 10001;
		top: 100%;
		left: 50%;
		display: block !important;
		width: min(1120px, calc(100vw - 40px));
		max-height: min(72vh, 650px);
		overflow-y: auto;
		padding: 16px;
		transform: translateX(-50%);
		border: 1px solid #eadff7;
		border-radius: 18px;
		background: #fff;
		box-shadow: 0 20px 48px rgba(48, 24, 78, .18);
	}

	#site-header .site-navigation ul.menu > li.zentry-solutions:hover > ul.sub-menu,
	#site-header .site-navigation ul.menu > li.zentry-solutions:focus-within > ul.sub-menu {
		display: block !important;
	}

	#site-header .site-navigation ul.menu > li.zentry-solutions > ul.sub-menu > li.zentry-segments {
		display: block !important;
		position: relative;
		width: 100%;
		padding: 0;
	}

	#site-header .site-navigation ul.menu > li.zentry-solutions > ul.sub-menu > li.zentry-segments > a {
		display: flex;
		align-items: center;
		min-height: 46px;
		margin-bottom: 10px;
		padding: 10px 42px 10px 14px;
		border-radius: 12px;
		background: #f3eaff;
		color: #5520b9;
		font-size: 16px;
		font-weight: 800;
	}

	#site-header .site-navigation ul.menu > li.zentry-solutions > ul.sub-menu > li.zentry-segments::after {
		position: absolute;
		top: 11px;
		right: 16px;
		color: #7437df;
		content: "›";
		font-size: 24px;
		line-height: 1;
		transform: none;
	}

	#site-header .site-navigation ul.menu > li.zentry-solutions > ul.sub-menu > li.zentry-segments > ul.sub-menu {
		position: static;
		left: auto;
		top: auto;
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 7px;
		width: 100%;
		min-width: 0;
		margin: 0;
		padding: 0;
		overflow: visible;
		background: transparent;
		box-shadow: none;
	}

	#site-header .site-navigation ul.menu > li.zentry-solutions > ul.sub-menu > li.zentry-segments > ul.sub-menu > li {
		display: block;
		min-width: 0;
		border: 0;
	}

	#site-header .site-navigation ul.menu > li.zentry-solutions > ul.sub-menu > li.zentry-segments > ul.sub-menu > li > a {
		display: flex;
		align-items: center;
		min-height: 52px;
		height: 100%;
		padding: 10px 12px;
		border: 1px solid #f0e9f8;
		border-radius: 10px;
		background: #fcfaff;
		color: #4d2a78;
		font-size: 15px;
		font-weight: 650;
		line-height: 1.35;
		white-space: normal;
		transition: background-color .18s ease, color .18s ease;
	}

	#site-header .site-navigation ul.menu > li.zentry-solutions > ul.sub-menu > li.zentry-segments > ul.sub-menu > li > a:hover,
	#site-header .site-navigation ul.menu > li.zentry-solutions > ul.sub-menu > li.zentry-segments > ul.sub-menu > li > a:focus-visible {
		background: #f7f1ff;
		color: #5520b9;
	}

	#site-header .site-navigation ul.menu > li.zentry-solutions > ul.sub-menu > li.zentry-segments > ul.sub-menu > li > a:focus-visible {
		outline: 2px solid #7437df;
		outline-offset: -2px;
	}
}

@media (min-width: 993px) and (max-width: 1199px) {
	#site-header .site-navigation ul.menu > li.zentry-solutions > ul.sub-menu > li.zentry-segments > ul.sub-menu {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Zentry mobile navigation: purple blocks with accessible white labels. */
@media (max-width: 992px) {
	#site-header .site-navigation-dropdown,
	#site-header .site-navigation-dropdown ul.menu,
	#site-header .site-navigation-dropdown ul.menu > li {
		background-color: #7437df !important;
	}

	#site-header .site-navigation-dropdown ul.menu {
		max-height: calc(100vh - 76px);
		max-height: calc(100dvh - 76px);
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}
	#site-header .site-navigation-dropdown ul.menu li > a {
		background-color: #7437df !important;
		box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .18);
		color: #fff !important;
		font-weight: 700;
		transition: background-color .18s ease;
	}
	#site-header .site-navigation-dropdown ul.menu li.current-menu-item > a,
	#site-header .site-navigation-dropdown ul.menu li > a:hover,
	#site-header .site-navigation-dropdown ul.menu li > a:focus-visible,
	#site-header .site-navigation-dropdown ul.menu li.elementor-active > a {
		background-color: #5d27be !important;
		color: #fff !important;
	}
	#site-header .site-navigation-dropdown ul.menu ul.sub-menu li > a {
		background-color: #6430c4 !important;
		padding-left: 40px;
	}
	#site-header .site-navigation-dropdown ul.menu li > a:focus-visible {
		outline: 2px solid #fff;
		outline-offset: -4px;
	}

	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions.elementor-active > ul.sub-menu > li.zentry-segments > ul.sub-menu > li,
	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions:focus-within > ul.sub-menu > li.zentry-segments > ul.sub-menu > li {
		max-height: 120px !important;
		transform: scaleY(1) !important;
	}

	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions.elementor-active > ul.sub-menu > li.zentry-segments > ul.sub-menu > li > a,
	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions:focus-within > ul.sub-menu > li.zentry-segments > ul.sub-menu > li > a {
		padding-left: 56px;
		background-color: #5729aa !important;
		font-size: 15px;
		font-weight: 650;
	}
}

/* On phones, use the Por segmento index page instead of a 20-link nested list. */
@media (max-width: 992px) {
	#site-header .site-navigation-dropdown ul.menu li.zentry-segments > ul.sub-menu {
		display: none !important;
	}
}

/* Desktop mega menu stays closed until Soluções is hovered or keyboard-focused. */
@media (min-width: 993px) {
	#site-header .site-navigation ul.menu > li.zentry-solutions > ul.sub-menu {
		display: none !important;
	}
	#site-header .site-navigation ul.menu > li.zentry-solutions:hover > ul.sub-menu,
	#site-header .site-navigation ul.menu > li.zentry-solutions:focus-within > ul.sub-menu {
		display: block !important;
	}
}

/* Let the pointer travel from Soluções into the mega menu before it closes. */
@media (min-width: 993px) {
	#site-header .site-navigation ul.menu > li.zentry-solutions > ul.sub-menu {
		display: block !important;
		visibility: hidden !important;
		opacity: 0;
		transition: opacity .18s ease, visibility 0s linear .28s;
	}
	#site-header .site-navigation ul.menu > li.zentry-solutions:hover > ul.sub-menu,
	#site-header .site-navigation ul.menu > li.zentry-solutions:focus-within > ul.sub-menu {
		display: block !important;
		visibility: visible !important;
		opacity: 1;
		transition-delay: 0s;
	}
}

/* Mobile: expand the segment links in normal flow and keep long lists scrollable. */
@media (max-width: 992px) {
	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions.elementor-active > ul.sub-menu,
	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions:focus-within > ul.sub-menu {
		position: static !important;
		inset: auto !important;
		width: 100% !important;
		transform: none !important;
	}

	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions.elementor-active > ul.sub-menu > li.zentry-segments > ul.sub-menu,
	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions:focus-within > ul.sub-menu > li.zentry-segments > ul.sub-menu {
		display: block !important;
		position: static !important;
		inset: auto !important;
		width: 100% !important;
		max-height: min(45vh, 360px) !important;
		max-height: min(45dvh, 360px) !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		transform: none !important;
	}

	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions.elementor-active > ul.sub-menu > li.zentry-segments > ul.sub-menu > li,
	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions:focus-within > ul.sub-menu > li.zentry-segments > ul.sub-menu > li {
		display: block !important;
		max-height: none !important;
		transform: none !important;
	}
}

/* Keep one simple scroll area on phones; categories flow before the remaining menu items. */
@media (max-width: 992px) {
	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions.elementor-active > ul.sub-menu > li.zentry-segments > ul.sub-menu,
	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions:focus-within > ul.sub-menu > li.zentry-segments > ul.sub-menu {
		max-height: none !important;
		overflow: visible !important;
		overscroll-behavior: auto;
	}
}

/* Force both submenu levels into the mobile menu flow so they never cover sibling links. */
@media (max-width: 992px) {
	#site-header .site-navigation-dropdown ul.menu > li.zentry-solutions > ul.sub-menu,
	#site-header .site-navigation-dropdown ul.menu > li.zentry-solutions > ul.sub-menu > li.zentry-segments > ul.sub-menu {
		position: static !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: 100% !important;
		max-height: none !important;
		overflow: visible !important;
		transform: none !important;
	}
}

/* Reset Elementor's positioned submenu layers on mobile so the full tree scrolls in order. */
@media (max-width: 992px) {
	#site-header .site-navigation-dropdown ul.menu li,
	#site-header .site-navigation-dropdown ul.menu ul.sub-menu {
		position: static !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		float: none !important;
		transform: none !important;
	}

	#site-header .site-navigation-dropdown ul.menu ul.sub-menu {
		width: 100% !important;
		max-height: none !important;
		overflow: visible !important;
	}
}

/* Ensure expanding submenus push later mobile links down instead of overlaying them. */
@media (max-width: 992px) {
	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions,
	#site-header .site-navigation-dropdown ul.menu li.zentry-segments,
	#site-header .site-navigation-dropdown ul.menu ul.sub-menu {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		transition: none !important;
	}
}

/* Mobile submenu opens only after the Soluções row is expanded. */
@media (max-width: 992px) {
	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions > ul.sub-menu {
		display: none !important;
	}
	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions.elementor-active > ul.sub-menu,
	#site-header .site-navigation-dropdown ul.menu li.zentry-solutions:focus-within > ul.sub-menu {
		display: block !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	#site-header .site-navigation-dropdown ul.menu li > a,
	#site-header .site-navigation ul.menu li > a {
		transition: none;
	}
}


