/**
 * Mega menu header — modale tablet/mobile (due colonne, dimensione contenuto).
 * Angoli: solo basso-destra (design system AIOP). Solo widget #382af9a.
 */

@media (min-width: 1025px) {
	:is(.elementor-location-header, .elementor-50) .aiop-mm-header-actions {
		display: none !important;
	}
}

@media (max-width: 1024px) {
	:root {
		--aiop-mm-modal-top: calc(env(safe-area-inset-top, 0px) + 5.25rem);
		--aiop-mm-modal-min-height: 26rem;
		--aiop-mm-modal-grey: var(--e-global-color-secondary, #e9e9e9);
		--aiop-mm-modal-peach: var(--e-global-color-fourth, #f7d7c6);
	}

	body.aiop-mobile-mega-menu-open {
		overflow: hidden;
	}

	body.aiop-mobile-mega-menu-open::before {
		content: "";
		position: fixed;
		inset: 0;
		z-index: 100001;
		background: rgb(17 17 34 / 0.4);
		pointer-events: none;
	}

	/* Header (con modale menu) sopra il velo: estetica menu invariata, niente scurimento */
	body.aiop-mobile-mega-menu-open :is(.elementor-location-header, .elementor-50) {
		position: relative;
		z-index: 100010 !important;
	}

	body.aiop-mobile-mega-menu-open :is(.elementor-location-header, .elementor-50),
	body.aiop-mobile-mega-menu-open :is(.elementor-location-header, .elementor-50) .e-con,
	body.aiop-mobile-mega-menu-open .elementor-element-048bca2,
	body.aiop-mobile-mega-menu-open .elementor-element-382af9a {
		overflow: visible !important;
	}

	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-toggle[aria-expanded="true"]
		+ .e-n-menu-wrapper {
		--aiop-mm-header-offset: calc(env(safe-area-inset-top, 0px) + 5.25rem);
		--aiop-mm-radius-br: 0 0 20px 0;
		--aiop-mm-modal-width: calc(100vw - max(0.5rem, env(safe-area-inset-left, 0px)) - max(0.5rem, env(safe-area-inset-right, 0px)));
		--aiop-mm-left-col: 38%;
		--aiop-mm-right-col: 62%;
		position: fixed;
		top: var(--aiop-mm-modal-top);
		right: max(0.25rem, env(safe-area-inset-right, 0px));
		left: auto;
		bottom: auto;
		display: flex !important;
		flex-direction: row !important;
		align-items: stretch !important;
		flex-wrap: nowrap !important;
		width: var(--aiop-mm-modal-width) !important;
		max-width: var(--aiop-mm-modal-width) !important;
		height: auto !important;
		min-height: var(--aiop-mm-modal-min-height) !important;
		max-height: calc(100dvh - var(--aiop-mm-modal-top) - 350px - max(0.5rem, env(safe-area-inset-bottom, 0px))) !important;
		margin: 0 !important;
		padding: 0.35rem 0.4rem 0.45rem !important;
		box-sizing: border-box;
		overflow: hidden !important;
		background: var(--aiop-mm-modal-grey);
		border-radius: var(--aiop-mm-radius-br);
		box-shadow: 0 12px 40px rgb(17 17 34 / 0.18);
	}

	body.aiop-mobile-mega-menu-open
		:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-wrapper {
		min-height: var(--aiop-mm-modal-min-height) !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper:not(.aiop-mm-panel-open)
{
		width: calc(var(--aiop-mm-left-col) + 0.85rem) !important;
		max-width: var(--aiop-mm-modal-width) !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper > .e-n-menu-heading
{
		display: flex !important;
		flex: 0 0 var(--aiop-mm-left-col);
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0.4rem;
		width: var(--aiop-mm-left-col) !important;
		max-width: var(--aiop-mm-left-col) !important;
		min-height: 0;
		margin: 0 !important;
		padding: 0.15rem 0.35rem 0.25rem !important;
		overflow: hidden;
		max-height: none;
		flex: 1 1 auto;
		align-self: stretch;
		background: transparent;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-heading > .e-n-menu-item
{
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: 0 0 auto !important;
		flex-direction: column !important;
		align-items: stretch !important;
		--width: 100% !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title
{
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
		--width: 100% !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container
{
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		justify-content: center !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-item .e-n-menu-title .e-n-menu-title-text
{
		white-space: normal;
		text-align: center;
		line-height: 1.15;
		hyphens: auto;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-item .e-n-menu-dropdown-icon,
	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-item .e-n-menu-icon
{
		display: none !important;
	}

	/* Contenuto sottomenu: solo colonna destra quando attivo */ :is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-item .e-n-menu-content
{
		display: none !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-wrapper.aiop-mm-panel-open .e-n-menu-item.aiop-mm-active.aiop-mm-has-submenu .e-n-menu-content
{
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: stretch !important;
		position: absolute !important;
		top: 0.35rem;
		right: 0.4rem;
		bottom: 0.45rem;
		left: var(--aiop-mm-left-col);
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0.25rem 0.15rem 0.35rem !important;
		overflow: hidden;
		z-index: 1;
		box-sizing: border-box;
		background: var(--aiop-mm-modal-peach);
		border-radius: var(--aiop-mm-radius-br);
	}

	/* Colonna destra: contenuto a tutta larghezza + centrato in altezza (tutte le voci) */ :is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-item.aiop-mm-active .e-n-menu-content.e-active > .e-con
{
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: center !important;
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 0 !important;
		padding: 0.45rem 0.35rem 0.55rem !important;
		box-sizing: border-box;
		background-color: transparent !important;
		min-width: 0;
		margin-block: auto;
		border-radius: 0;
	}

	/* Solo colonna destra mega menu: niente flex-wrap a colonne (es. Progetti) */ :is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-content .e-con
{
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
	}

	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content.e-active
		.elementor-widget,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content.e-active
		.e-con {
		min-width: 0 !important;
		max-width: 100% !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-content .elementor-element
{
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		--n-tabs-heading-width: 100% !important;
		--margin-left: 0px !important;
		--margin-right: 0px !important;
		box-sizing: border-box;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-content .elementor-widget > .elementor-widget-container
{
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-content
{
		--aiop-eem-preview-max-size: 0px;
		--aiop-eem-preview-right-offset: 0px;
		--aiop-eem-preview-text-gap: 0px;
	}

	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.elementor-widget,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.elementor-widget
		> .elementor-widget-container,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.elementor-widget-n-tabs,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.e-n-tabs,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.aiop-mm-accordion,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.aiop-elenco-eventi-menu-wrap {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
		align-self: stretch !important;
	}

	/* Disattiva il reorder Elementor (e-n-tabs-mobile) dentro il pannello */ :is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-content .elementor-widget-n-tabs.e-n-tabs-mobile .e-n-tabs
{
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0.4rem;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .aiop-mm-accordion
{
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.55rem;
		margin: 0;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .aiop-mm-accordion__item
{
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100%;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .aiop-mm-accordion__item > .e-n-tab-title
{
		order: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		justify-content: center !important;
		text-align: center;
		border-radius: var(--aiop-mm-radius-br) !important;
		padding: 0.55rem 0.5rem !important;
		font-size: 0.85rem !important;
		line-height: 1.25 !important;
		box-sizing: border-box;
		margin: 0 !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .aiop-mm-accordion__item > .e-n-tab-title[aria-selected="true"]
{
		background-color: var(--e-global-color-fifth, #eb6037) !important;
		color: var(--e-global-color-third, #faf9f9) !important;
		margin-block-end: 0 !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .aiop-mm-accordion__item > .e-n-tab-title[aria-selected="false"]
{
		background-color: var(--e-global-color-third, #faf9f9) !important;
		color: var(--e-global-color-primary, #111122) !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-content .aiop-mm-accordion__item > .e-n-tab-title:not(:first-child)
{
		margin-block-start: 0 !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .aiop-mm-accordion__item > .e-n-tab-title .e-n-tab-title-text
{
		white-space: normal;
		text-align: center;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .aiop-mm-accordion__item > [role="tabpanel"]
{
		order: 1 !important;
		display: none !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0.35rem 0 0.15rem;
		box-sizing: border-box;
		text-align: center;
		margin: 0 !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .aiop-mm-accordion__item > .e-n-tab-title[aria-selected="true"] + [role="tabpanel"]
{
		display: block !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .aiop-mm-accordion__item > [role="tabpanel"][hidden]
{
		display: none !important;
	}

	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.aiop-mm-accordion__item
		[role="tabpanel"]
		.aiop-elenco-eventi-menu,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.aiop-mm-accordion__item
		[role="tabpanel"]
		.aiop-elenco-eventi-menu__list {
		width: 100%;
		max-width: 100%;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-content .e-n-tab-title
{
		border-radius: var(--aiop-mm-radius-br) !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-content .aiop-elenco-eventi-menu__preview
{
		display: none !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-content .aiop-elenco-eventi-menu-wrap
{
		min-height: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-content .aiop-elenco-eventi-menu-wrap .aiop-elenco-eventi-menu__list
{
		padding-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.e-con,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.e-con
		> .e-con,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.elementor-widget {
		width: 100% !important;
		max-width: 100% !important;
		--width: 100% !important;
		--container-widget-width: 100% !important;
	}

	/* Liste progetti / voci senza tab: stack a tutta larghezza */
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.aiop-elenco-eventi-menu,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.aiop-elenco-eventi-menu__list {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.45rem;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.aiop-elenco-eventi-menu__item,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.aiop-elenco-eventi-menu__item
		.elementor-heading-title {
		width: 100%;
		text-align: center;
		margin: 0;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-content .aiop-elenco-eventi-menu__link
{
		display: block;
		width: 100%;
		padding: 0.55rem 0.5rem;
		box-sizing: border-box;
		border-radius: var(--aiop-mm-radius-br);
		background: var(--e-global-color-third, #faf9f9);
		font-size: 0.85rem !important;
		line-height: 1.3 !important;
		text-align: center;
		text-decoration: none;
		color: var(--e-global-color-primary, #111122) !important;
		word-break: break-word;
	}

	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.aiop-elenco-eventi-menu__empty,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.aiop-elenco-eventi-menu__archive {
		display: block;
		width: 100%;
		text-align: center;
		font-size: 0.8rem;
	}

	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.aiop-elenco-eventi-menu__empty-wrap,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-content
		.aiop-header-menu-congressi__empty {
		width: 100%;
		text-align: center;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-content .aiop-elenco-eventi-menu__item .elementor-heading-title
{
		font-size: 0.82rem !important;
		line-height: 1.25 !important;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title
{
		border-radius: var(--aiop-mm-radius-br) !important;
	}

	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-item.aiop-mm-active
		> .e-n-menu-title.e-current,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-item.aiop-mm-active.aiop-mm-has-submenu
		> .e-n-menu-title {
		background-color: var(--e-global-color-fifth, #eb6037);
	}

	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-item.aiop-mm-active.aiop-mm-has-submenu
		> .e-n-menu-title
		.e-n-menu-title-text,
	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-item.aiop-mm-active
		> .e-n-menu-title.e-current
		.e-n-menu-title-text {
		color: var(--e-global-color-third, #faf9f9);
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .aiop-mm-header-actions {
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0.45rem;
		margin-top: auto;
		padding: 0.65rem 0.2rem 0.35rem;
		width: 100%;
		box-sizing: border-box;
	}

	:is(.elementor-location-header, .elementor-50)
		.elementor-element-382af9a
		.e-n-menu-toggle[aria-expanded="true"]
		+ .e-n-menu-wrapper
		> .e-n-menu-heading
		> .aiop-mm-header-actions {
		display: flex;
	}

	:is(.elementor-location-header, .elementor-50) .elementor-element-382af9a .aiop-mm-header-actions .elementor-button {
		width: 100%;
		justify-content: center;
		white-space: normal;
		text-align: center;
		font-size: 0.8125rem !important;
		padding: 0.55rem 0.65rem !important;
		line-height: 1.2 !important;
	}
}
