/**
 * IFO Global Footer - v1.3.3
 *
 * Footer unico per tutte le pagine del child theme.
 * Obiettivo: rendere il footer locale coerente con il footer online/home.
 */

body.ifo-global-footer-enabled footer.vcv-footer:not(.ifo-global-footer),
body.ifo-global-footer-enabled .vcv-footer:not(.ifo-global-footer) {
	display: none !important;
}

.ifo-global-footer {
	--ifo-footer-bg: #3e3d3d;
	--ifo-footer-text: #ffffff;
	--ifo-footer-line: rgba(255, 255, 255, 0.38);
	--ifo-footer-focus: #ffbf47;

	clear: both;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: var(--ifo-footer-bg);
	color: var(--ifo-footer-text);
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.38;
	box-sizing: border-box;
}

.ifo-global-footer *,
.ifo-global-footer *::before,
.ifo-global-footer *::after {
	box-sizing: border-box;
}

.ifo-global-footer p,
.ifo-global-footer h1,
.ifo-global-footer h2,
.ifo-global-footer h3,
.ifo-global-footer h4,
.ifo-global-footer ul,
.ifo-global-footer ol,
.ifo-global-footer li,
.ifo-global-footer figure {
	margin-top: 0;
}

.ifo-global-footer a,
.ifo-global-footer a:visited,
.ifo-global-footer a:active {
	color: var(--ifo-footer-text) !important;
	text-decoration: none !important;
	box-shadow: none !important;
	border: 0;
}

.ifo-global-footer a:hover,
.ifo-global-footer a:focus-visible {
	color: var(--ifo-footer-text) !important;
	text-decoration: underline !important;
}

.ifo-global-footer a:focus-visible {
	outline: 3px solid var(--ifo-footer-focus);
	outline-offset: 4px;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85) !important;
}

.ifo-global-footer img {
	display: block;
	max-width: 100%;
	height: auto;
}

.ifo-global-footer__inner {
	width: calc(100% - 55px);
	max-width: 1140px;
	margin-right: auto;
	margin-left: auto;
}

.ifo-global-footer__top,
.ifo-global-footer__main,
.ifo-global-footer__logos-bottom,
.ifo-global-footer__copyright {
	background: var(--ifo-footer-bg);
}

/* Logo row */
.ifo-global-footer__top {
	padding: 30px 0 0;
}

.ifo-global-footer__logo-grid,
.ifo-global-footer__main-grid,
.ifo-global-footer__bottom-logo-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 30px;
	row-gap: 0;
	align-items: center;
}

.ifo-global-footer__logo,
.ifo-global-footer__bottom-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
}

.ifo-global-footer__logo--regione img {
	width: 180px;
}

.ifo-global-footer__logo--ifo img,
.ifo-global-footer__logo--irccs img {
	width: 300px;
}

/* Main footer */
.ifo-global-footer__main {
	padding: 30px 0 0;
}

.ifo-global-footer__main-grid {
	align-items: start;
}

.ifo-global-footer__col {
	min-width: 0;
}

.ifo-global-footer__contacts {
	color: var(--ifo-footer-text);
}

.ifo-global-footer__contacts p {
	margin: 0 0 18px;
	padding: 0;
	color: var(--ifo-footer-text);
}

.ifo-global-footer__contacts strong {
	font-weight: 700;
	color: var(--ifo-footer-text);
}

.ifo-global-footer__nav h2,
.ifo-global-footer__social h2,
.ifo-global-footer__col--accreditations h2 {
	margin: 0 0 17px;
	padding: 0;
	color: var(--ifo-footer-text);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	text-transform: none;
}

.ifo-global-footer__nav ul,
.ifo-global-footer__social ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ifo-global-footer__nav li,
.ifo-global-footer__social li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ifo-global-footer__nav li::marker,
.ifo-global-footer__social li::marker {
	content: "";
}

.ifo-global-footer__contacts + .ifo-global-footer__nav {
	margin-top: 22px;
}

.ifo-global-footer__nav li + li {
	border-top: 1px solid var(--ifo-footer-line);
}

.ifo-global-footer__nav a {
	display: block;
	padding: 10px 0;
	color: var(--ifo-footer-text) !important;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.32;
}

.ifo-global-footer__col--links.ifo-global-footer__nav a {
	padding: 9px 0;
}

.ifo-global-footer__social {
	margin-top: 44px;
}

.ifo-global-footer__social h2 {
	margin-bottom: 14px;
}

.ifo-global-footer__social ul {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.ifo-global-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	min-height: 22px;
	font-size: 23px;
	line-height: 1;
	color: var(--ifo-footer-text) !important;
}

/* Accreditamenti */
.ifo-global-footer__accreditations-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 16px;
	row-gap: 15px;
	align-items: start;
	margin-top: 0;
}

.ifo-global-footer__accreditation {
	min-width: 0;
	text-align: center;
}

.ifo-global-footer__accreditation-card {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 88px;
	height: 60px;
	margin: 0 auto 7px;
	padding: 6px;
	background: #ffffff;
	border-radius: 4px;
	overflow: hidden;
}

.ifo-global-footer__accreditation-card img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 48px;
	object-fit: contain;
}

.ifo-global-footer__accreditation h3 {
	max-width: 96px;
	margin: 0 auto;
	padding: 0;
	color: var(--ifo-footer-text);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.16;
	text-align: center;
}

/* Bottom logos */
.ifo-global-footer__logos-bottom {
	padding: 34px 0 0;
}

.ifo-global-footer__bottom-logo-grid {
	align-items: center;
}

.ifo-global-footer__bottom-logo--ministero {
	justify-content: flex-start;
}

.ifo-global-footer__bottom-logo--ministero img {
	width: 300px;
}

.ifo-global-footer__bottom-logo--salute-lazio {
	justify-content: center;
	grid-column: 3;
}

.ifo-global-footer__bottom-logo--salute-lazio img {
	width: 178px;
}

/* Copyright */
.ifo-global-footer__copyright {
	padding: 34px 0 18px;
}

.ifo-global-footer__separator {
	width: 100%;
	height: 1px;
	background: var(--ifo-footer-line);
	margin: 0 0 16px;
}

.ifo-global-footer__copyright-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 30px;
	align-items: start;
	color: var(--ifo-footer-text);
	font-size: 12px;
	line-height: 1.35;
}

.ifo-global-footer__copyright nav {
	min-width: 0;
}

.ifo-global-footer__copyright a {
	display: inline;
	color: var(--ifo-footer-text) !important;
}

.ifo-global-footer__copyright p {
	margin: 0;
	padding: 0;
	color: var(--ifo-footer-text);
	text-align: right;
}

@media (max-width: 1199px) {
	.ifo-global-footer__inner {
		width: calc(100% - 40px);
	}
}

@media (max-width: 991px) {
	.ifo-global-footer__logo-grid,
	.ifo-global-footer__main-grid,
	.ifo-global-footer__bottom-logo-grid,
	.ifo-global-footer__copyright-grid {
		grid-template-columns: 1fr;
	}

	.ifo-global-footer__logo,
	.ifo-global-footer__bottom-logo,
	.ifo-global-footer__bottom-logo--ministero,
	.ifo-global-footer__bottom-logo--salute-lazio {
		justify-content: flex-start;
		grid-column: auto;
	}

	.ifo-global-footer__logo-grid,
	.ifo-global-footer__main-grid,
	.ifo-global-footer__bottom-logo-grid {
		row-gap: 28px;
	}

	.ifo-global-footer__accreditations-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		max-width: 420px;
	}

	.ifo-global-footer__copyright p {
		text-align: left;
	}
}

@media (max-width: 767px) {
	.ifo-global-footer {
		font-size: 14px;
	}

	.ifo-global-footer__inner {
		width: calc(100% - 32px);
	}

	.ifo-global-footer__top,
	.ifo-global-footer__main,
	.ifo-global-footer__logos-bottom {
		padding-top: 26px;
	}

	.ifo-global-footer__logo--regione img {
		width: 160px;
	}

	.ifo-global-footer__logo--ifo img,
	.ifo-global-footer__logo--irccs img,
	.ifo-global-footer__bottom-logo--ministero img {
		width: min(300px, 100%);
	}

	.ifo-global-footer__accreditations-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 12px;
		max-width: 100%;
	}

	.ifo-global-footer__social ul {
		gap: 14px;
	}
}

/* =========================================================
   IFO Global Footer - v1.3.4 refinement
   =========================================================

   Rifinitura visiva per avvicinare il footer locale al footer online:
   - font più leggibile;
   - link footer sottolineati come online;
   - separatori visibili sotto le voci menu;
   - rimozione pseudo-bullet ereditati dal tema/plugin;
   - immagini accreditamenti più grandi.
*/

.ifo-global-footer {
	font-size: 15px !important;
	line-height: 1.46 !important;
}

.ifo-global-footer p,
.ifo-global-footer li,
.ifo-global-footer a,
.ifo-global-footer strong,
.ifo-global-footer h2,
.ifo-global-footer h3 {
	color: #ffffff !important;
}

/* Neutralizza marker e pseudo-bullet blu ereditati dal tema/plugin. */
.ifo-global-footer ul,
.ifo-global-footer ol,
.ifo-global-footer li {
	list-style: none !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
	background: none !important;
	background-image: none !important;
}

.ifo-global-footer li::marker,
.ifo-global-footer li::before,
.ifo-global-footer li::after {
	content: none !important;
	display: none !important;
	background: none !important;
	background-image: none !important;
	border: 0 !important;
}

/* Link footer come online: sottolineati, non blu, senza stile del tema eventi. */
.ifo-global-footer a,
.ifo-global-footer a:visited,
.ifo-global-footer a:active {
	color: #ffffff !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
	text-decoration-thickness: 1px !important;
	box-shadow: none !important;
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
}

.ifo-global-footer a:hover,
.ifo-global-footer a:focus-visible {
	color: #ffffff !important;
	text-decoration-thickness: 2px !important;
}

/* I loghi e le icone social non devono sembrare link testuali sottolineati. */
.ifo-global-footer__logo,
.ifo-global-footer__logo:hover,
.ifo-global-footer__logo:focus-visible,
.ifo-global-footer__accreditation-card,
.ifo-global-footer__accreditation-card:hover,
.ifo-global-footer__accreditation-card:focus-visible,
.ifo-global-footer__social a,
.ifo-global-footer__social a:hover,
.ifo-global-footer__social a:focus-visible {
	text-decoration: none !important;
}

/* Colonne testuali: scala e spaziatura più vicine al footer online. */
.ifo-global-footer__contacts p {
	margin: 0 0 17px !important;
	font-size: 15px !important;
	line-height: 1.45 !important;
}

.ifo-global-footer__contacts strong {
	font-weight: 700 !important;
}

.ifo-global-footer__nav h2,
.ifo-global-footer__social h2,
.ifo-global-footer__col--accreditations h2 {
	margin: 0 0 15px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

/* Separatori sotto le voci menu, come nel footer online. */
.ifo-global-footer__nav li {
	border-top: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.42) !important;
}

.ifo-global-footer__nav li:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, 0.42) !important;
}

.ifo-global-footer__nav a {
	display: block !important;
	padding: 9px 0 10px !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
}

.ifo-global-footer__col--links.ifo-global-footer__nav a {
	padding: 9px 0 10px !important;
}

.ifo-global-footer__contacts + .ifo-global-footer__nav {
	margin-top: 24px !important;
}

.ifo-global-footer__social {
	margin-top: 42px !important;
}

.ifo-global-footer__social ul {
	gap: 15px !important;
}

.ifo-global-footer__social a {
	font-size: 25px !important;
	min-width: 24px !important;
	min-height: 24px !important;
}

/* Accreditamenti: immagini/card più grandi e leggibili. */
.ifo-global-footer__accreditations-grid {
	column-gap: 18px !important;
	row-gap: 17px !important;
}

.ifo-global-footer__accreditation-card {
	max-width: 104px !important;
	width: 104px !important;
	height: 72px !important;
	margin: 0 auto 8px !important;
	padding: 7px !important;
	border-radius: 4px !important;
}

.ifo-global-footer__accreditation-card img {
	max-height: 58px !important;
	max-width: 100% !important;
	width: auto !important;
	height: auto !important;
}

.ifo-global-footer__accreditation h3 {
	max-width: 110px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.16 !important;
}

/* Loghi bassi leggermente più presenti come online. */
.ifo-global-footer__bottom-logo--ministero img {
	width: 315px !important;
}

.ifo-global-footer__bottom-logo--salute-lazio img {
	width: 190px !important;
}

.ifo-global-footer__copyright-grid {
	font-size: 12px !important;
}

.ifo-global-footer__copyright a {
	text-decoration: none !important;
}

@media (max-width: 1199px) {
	.ifo-global-footer {
		font-size: 14px !important;
	}

	.ifo-global-footer__contacts p,
	.ifo-global-footer__nav a {
		font-size: 14px !important;
	}

	.ifo-global-footer__accreditation-card {
		width: 94px !important;
		height: 66px !important;
	}

	.ifo-global-footer__accreditation-card img {
		max-height: 52px !important;
	}
}

@media (max-width: 767px) {
	.ifo-global-footer__nav li,
	.ifo-global-footer__nav li:last-child {
		border-bottom-color: rgba(255, 255, 255, 0.32) !important;
	}

	.ifo-global-footer__accreditation-card {
		width: 92px !important;
		height: 64px !important;
	}
}
/* =========================================================
   IFO Global Footer - v1.3.5 micro-refinement
   =========================================================
   - Accreditamenti footer: immagini/logo 105x105px.
   - Link testuali footer: font-size 15.6px.
*/

/* Link testuali footer */
.ifo-global-footer a,
.ifo-global-footer a:visited,
.ifo-global-footer a:active {
	font-size: 15.6px !important;
}

/* Escludiamo social e loghi istituzionali dalla scala font dei link */
.ifo-global-footer__social a {
	font-size: 25px !important;
}

/* Accreditamenti: box/logo 105x105 */
.ifo-global-footer__accreditation-card {
	width: 105px !important;
	height: 105px !important;
	max-width: 105px !important;
	padding: 0 !important;
	margin: 0 auto 8px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #ffffff !important;
	border-radius: 4px !important;
	overflow: hidden !important;
}

.ifo-global-footer__accreditation-card img {
	width: 105px !important;
	height: 105px !important;
	max-width: 105px !important;
	max-height: 105px !important;
	object-fit: contain !important;
	display: block !important;
}

/* Titoli sotto accreditamenti: restano proporzionati */
.ifo-global-footer__accreditation h3 {
	max-width: 120px !important;
	margin: 0 auto !important;
	font-size: 12px !important;
	line-height: 1.18 !important;
}

/* =========================================================
   IFO Global Footer - v1.3.6 refinement
   =========================================================
   Obiettivo:
   - Accreditamenti in 4 colonne: 3 righe da 4 loghi + ultima riga da 2.
   - Card/logo accreditamenti 105x105px.
   - Link footer a 15.6px.
   - Maggiore spazio tra loghi principali footer e contenuto testuale.
   - Colonne menu con spaziatura verticale simile a ok1.png.
*/

/* Layout principale footer: più spazio alla colonna Accreditamenti */
.ifo-global-footer__main-grid,
.ifo-global-footer__main {
	grid-template-columns: minmax(250px, 1fr) minmax(320px, 1.08fr) minmax(500px, 1.55fr) !important;
	column-gap: 48px !important;
	align-items: start !important;
}

/* Più respiro tra riga loghi principali e contenuto footer */
.ifo-global-footer__brand-row,
.ifo-global-footer__logos-row,
.ifo-global-footer__top {
	margin-bottom: 64px !important;
}

/* Font link footer */
.ifo-global-footer a,
.ifo-global-footer a:visited,
.ifo-global-footer a:active {
	font-size: 15.6px !important;
	line-height: 1.45 !important;
}

/* Social: non ereditano il font-size dei link testuali */
.ifo-global-footer__social a,
.ifo-global-footer .social-media a {
	font-size: 25px !important;
	line-height: 1 !important;
}

/* Voci menu/footer: più aria verticale, come riferimento ok1.png */
.ifo-global-footer__menu a,
.ifo-global-footer__links a,
.ifo-global-footer__column a,
.ifo-global-footer__main a {
	display: inline-block !important;
}

/* Liste menu: separatori e spacing */
.ifo-global-footer__menu li,
.ifo-global-footer__links li,
.ifo-global-footer__column li {
	padding: 13px 0 14px !important;
	margin: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.35) !important;
	list-style: none !important;
}

/* La prima colonna ha anche paragrafi: li lasciamo più morbidi */
.ifo-global-footer__contact p,
.ifo-global-footer__column p {
	margin-bottom: 18px !important;
	font-size: 15.6px !important;
	line-height: 1.45 !important;
}

/* Titoli colonne */
.ifo-global-footer__column-title,
.ifo-global-footer strong {
	font-size: 15.6px !important;
	line-height: 1.35 !important;
}

/* Accreditamenti: titolo */
.ifo-global-footer__accreditations-title,
.ifo-global-footer__accreditations h2,
.ifo-global-footer__accreditations h3:first-child {
	font-size: 16px !important;
	line-height: 1.25 !important;
	margin: 0 0 22px !important;
	padding-bottom: 20px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.45) !important;
}

/* Accreditamenti: griglia 4 colonne */
.ifo-global-footer__accreditations-grid,
.ifo-global-footer__accreditations .flex-container-footer,
.ifo-global-footer .flex-container-footer {
	display: grid !important;
	grid-template-columns: repeat(4, 105px) !important;
	justify-content: space-between !important;
	align-items: start !important;
	column-gap: 18px !important;
	row-gap: 24px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Singolo item accreditamento */
.ifo-global-footer__accreditation,
.ifo-global-footer__accreditation-item,
.ifo-global-footer .flex-item-footer {
	width: 105px !important;
	max-width: 105px !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

/* Card/logo accreditamento 105x105 */
.ifo-global-footer__accreditation-card,
.ifo-global-footer__accreditation a,
.ifo-global-footer .flex-item-footer a {
	width: 105px !important;
	height: 105px !important;
	max-width: 105px !important;
	max-height: 105px !important;
	padding: 0 !important;
	margin: 0 0 10px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #ffffff !important;
	border-radius: 6px !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

/* Immagini dentro card */
.ifo-global-footer__accreditation-card img,
.ifo-global-footer__accreditation a img,
.ifo-global-footer .flex-item-footer a img {
	width: 105px !important;
	height: 105px !important;
	max-width: 105px !important;
	max-height: 105px !important;
	object-fit: contain !important;
	display: block !important;
}

/* Titoli sotto loghi accreditamenti */
.ifo-global-footer__accreditation h3,
.ifo-global-footer__accreditation-title,
.ifo-global-footer .flex-item-footer h3 {
	width: 105px !important;
	max-width: 105px !important;
	margin: 0 !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	text-align: left !important;
	color: #ffffff !important;
}

/* Tablet: accreditamenti a 3 colonne per non comprimere */
@media (max-width: 1180px) {
	.ifo-global-footer__main-grid,
	.ifo-global-footer__main {
		grid-template-columns: 1fr 1fr !important;
		column-gap: 44px !important;
		row-gap: 48px !important;
	}

	.ifo-global-footer__accreditations {
		grid-column: 1 / -1 !important;
	}

	.ifo-global-footer__accreditations-grid,
	.ifo-global-footer__accreditations .flex-container-footer,
	.ifo-global-footer .flex-container-footer {
		grid-template-columns: repeat(4, 105px) !important;
		justify-content: start !important;
		column-gap: 28px !important;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.ifo-global-footer__main-grid,
	.ifo-global-footer__main {
		grid-template-columns: 1fr !important;
		row-gap: 42px !important;
	}

	.ifo-global-footer__brand-row,
	.ifo-global-footer__logos-row,
	.ifo-global-footer__top {
		margin-bottom: 42px !important;
	}

	.ifo-global-footer__accreditations-grid,
	.ifo-global-footer__accreditations .flex-container-footer,
	.ifo-global-footer .flex-container-footer {
		grid-template-columns: repeat(2, 105px) !important;
		justify-content: start !important;
		column-gap: 22px !important;
		row-gap: 24px !important;
	}
}
/* =========================================================
   IFO Header - v1.3.8 restore Max Mega Menu dropdown style
   =========================================================
   Ripristina:
   - icona/freccia su ogni voce dropdown;
   - micro-animazione hover;
   - separatore leggero;
   - compatibilità Max Mega Menu desktop.
*/

@media (min-width: 1025px) {
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu,
	body ul.mega-menu ul.mega-sub-menu {
		padding: 10px 0 !important;
		box-sizing: border-box !important;
	}

	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link,
	body ul.mega-menu ul.mega-sub-menu li > a.mega-menu-link {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		min-height: 38px !important;
		padding: 9px 14px 9px 34px !important;
		box-sizing: border-box !important;
		text-align: left !important;
		line-height: 1.25 !important;
		transition: transform 160ms ease, background-color 160ms ease, color 160ms ease !important;
		will-change: transform !important;
	}

	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link::before,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link::before,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link::before,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link::before,
	body ul.mega-menu ul.mega-sub-menu li > a.mega-menu-link::before {
		content: "" !important;
		position: absolute !important;
		left: 14px !important;
		top: 50% !important;
		width: 9px !important;
		height: 9px !important;
		border-top: 6px solid transparent !important;
		border-bottom: 6px solid transparent !important;
		border-left: 8px solid currentColor !important;
		transform: translateY(-50%) !important;
		opacity: 0.9 !important;
		pointer-events: none !important;
		transition: transform 160ms ease, opacity 160ms ease !important;
	}

	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link::after,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link::after,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link::after,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link::after,
	body ul.mega-menu ul.mega-sub-menu li > a.mega-menu-link::after {
		content: "" !important;
		position: absolute !important;
		left: 14px !important;
		right: 14px !important;
		bottom: 0 !important;
		height: 1px !important;
		background: currentColor !important;
		opacity: 0.18 !important;
		pointer-events: none !important;
	}

	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:hover,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:focus-visible,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:focus-visible,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:hover,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:focus-visible,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:focus-visible,
	body ul.mega-menu ul.mega-sub-menu li > a.mega-menu-link:hover,
	body ul.mega-menu ul.mega-sub-menu li > a.mega-menu-link:focus-visible {
		transform: translateX(3px) !important;
	}

	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover::before,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:hover::before,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:focus-visible::before,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:focus-visible::before,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover::before,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:hover::before,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:focus-visible::before,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:focus-visible::before,
	body ul.mega-menu ul.mega-sub-menu li > a.mega-menu-link:hover::before,
	body ul.mega-menu ul.mega-sub-menu li > a.mega-menu-link:focus-visible::before {
		transform: translate(4px, -50%) !important;
		opacity: 1 !important;
	}
}

/* =========================================================
   IFO Header - v1.3.9 Mobile/Tablet Mega Menu Accordion
   =========================================================
   Ripristina:
   - accordion menu in tablet/mobile;
   - sottomenu chiusi di default;
   - pulsante/freccia accessibile;
   - voci allineate a sinistra;
   - nessun impatto sul desktop.
*/

@media (max-width: 1024px) {
	body.ifo-mm-mobile-accordion .mega-menu-wrap ul.mega-menu,
	body.ifo-mm-mobile-accordion [id^="mega-menu-wrap"] ul[id^="mega-menu"],
	body.ifo-mm-mobile-accordion ul.max-mega-menu {
		text-align: left !important;
	}

	body.ifo-mm-mobile-accordion .mega-menu-wrap ul.mega-menu > li.mega-menu-item,
	body.ifo-mm-mobile-accordion [id^="mega-menu-wrap"] ul[id^="mega-menu"] > li.mega-menu-item,
	body.ifo-mm-mobile-accordion ul.max-mega-menu > li.mega-menu-item {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		text-align: left !important;
	}

	body.ifo-mm-mobile-accordion .mega-menu-wrap ul.mega-menu > li.mega-menu-item > a.mega-menu-link,
	body.ifo-mm-mobile-accordion [id^="mega-menu-wrap"] ul[id^="mega-menu"] > li.mega-menu-item > a.mega-menu-link,
	body.ifo-mm-mobile-accordion ul.max-mega-menu > li.mega-menu-item > a.mega-menu-link {
		display: block !important;
		width: 100% !important;
		padding-right: 56px !important;
		text-align: left !important;
		box-sizing: border-box !important;
	}

	body.ifo-mm-mobile-accordion .mega-menu-wrap ul.mega-menu > li.mega-menu-item > a.mega-menu-link .mega-indicator,
	body.ifo-mm-mobile-accordion [id^="mega-menu-wrap"] ul[id^="mega-menu"] > li.mega-menu-item > a.mega-menu-link .mega-indicator,
	body.ifo-mm-mobile-accordion ul.max-mega-menu > li.mega-menu-item > a.mega-menu-link .mega-indicator {
		display: none !important;
	}

	body.ifo-mm-mobile-accordion .ifo-mobile-submenu-toggle {
		position: absolute !important;
		top: 2px !important;
		right: 18px !important;
		z-index: 5 !important;
		width: 44px !important;
		height: 44px !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		background: transparent !important;
		color: currentColor !important;
		cursor: pointer !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		line-height: 1 !important;
	}

	body.ifo-mm-mobile-accordion .ifo-mobile-submenu-toggle::before {
		content: "" !important;
		width: 9px !important;
		height: 9px !important;
		border-right: 2px solid currentColor !important;
		border-bottom: 2px solid currentColor !important;
		transform: rotate(45deg) !important;
		transition: transform 180ms ease !important;
	}

	body.ifo-mm-mobile-accordion li.ifo-submenu-open > .ifo-mobile-submenu-toggle::before {
		transform: rotate(-135deg) !important;
	}

	body.ifo-mm-mobile-accordion .ifo-mobile-submenu-toggle:focus-visible {
		outline: 3px solid #ffbf47 !important;
		outline-offset: 3px !important;
		border-radius: 4px !important;
	}

	body.ifo-mm-mobile-accordion li.mega-menu-item-has-children > ul.mega-sub-menu {
		position: static !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 0 8px 18px !important;
		box-shadow: none !important;
		background: transparent !important;
		box-sizing: border-box !important;
	}

	body.ifo-mm-mobile-accordion li.mega-menu-item-has-children:not(.ifo-submenu-open) > ul.mega-sub-menu {
		display: none !important;
		visibility: hidden !important;
		max-height: 0 !important;
		overflow: hidden !important;
	}

	body.ifo-mm-mobile-accordion li.mega-menu-item-has-children.ifo-submenu-open > ul.mega-sub-menu {
		display: block !important;
		visibility: visible !important;
		max-height: none !important;
		overflow: visible !important;
	}

	body.ifo-mm-mobile-accordion li.mega-menu-item-has-children.ifo-submenu-open > ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link {
		text-align: left !important;
		font-size: 18px !important;
		line-height: 1.35 !important;
		padding-top: 9px !important;
		padding-bottom: 9px !important;
	}
}
/**
 * Header/Footer Accessibility Fixes - IFO.it
 * Versione: 1.3.9
 *
 * Scope reale di questo file:
 * - header/menu/accessibilità tastiera;
 * - Max Mega Menu desktop dropdown;
 * - accordion tablet/mobile per Max Mega Menu e menu parent fallback;
 * - piccoli fallback non invasivi per ricerca, loghi, social, lingue.
 *
 * Nota:
 * Il footer globale è gestito da assets/css/ifo-footer-global.css.
 * Questo file NON contiene più patch del vecchio footer Visual Composer.
 */

/* =========================================================
   Base / focus accessibile
   ========================================================= */

:root {
	--ifo-a11y-focus-color: #ffbf47;
	--ifo-a11y-focus-shadow: rgba(0, 0, 0, 0.72);
}

#header a:focus,
#header button:focus,
.ifo-global-footer a:focus,
.ifo-global-footer button:focus {
	outline: 2px solid var(--ifo-a11y-focus-color);
	outline-offset: 3px;
}

#header a:focus-visible,
#header button:focus-visible,
.ifo-global-footer a:focus-visible,
.ifo-global-footer button:focus-visible {
	outline: 3px solid var(--ifo-a11y-focus-color);
	outline-offset: 4px;
	box-shadow: 0 0 0 2px var(--ifo-a11y-focus-shadow);
}

#header a:focus:not(:focus-visible),
#header button:focus:not(:focus-visible),
.ifo-global-footer a:focus:not(:focus-visible),
.ifo-global-footer button:focus:not(:focus-visible) {
	outline: none;
	box-shadow: none;
}

#header button,
.ifo-global-footer button {
	font: inherit;
}

/* Touch target solo per elementi icon-only/toggle. */
#header .navbar-toggle,
#header .mega-menu-toggle,
#header .mega-toggle-block,
#main-menu .button-close {
	min-width: 44px;
	min-height: 44px;
}

#main-menu .button-close {
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	padding: 0;
	line-height: 1;
}

#main-menu .button-close .vct-icon-close {
	pointer-events: none;
}

/* Ricerca header: il nome accessibile viene aggiunto via JS, qui preserviamo la resa. */
#header form[role="search"] input[type="search"],
#header form[role="search"] input[name="s"] {
	font: inherit;
}

/* =========================================================
   Lingue header: fallback conservativo
   ========================================================= */

#header .ifo-language-link {
	min-width: 28px;
	min-height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

#header .ifo-language-link img {
	display: block;
	max-width: 24px;
	height: auto;
}

@media (pointer: coarse) {
	#header .ifo-language-link,
	#header a.glink,
	#header .gtranslate_wrapper a,
	#header .gt_switcher a,
	#header .gt_float_switcher a,
	#header .gt_selected a {
		min-width: 44px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

.ifo-mobile-language-clone {
	display: none;
}

@media (max-width: 767px) {
	.ifo-mobile-language-clone {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 6px;
		width: 100%;
		padding: 6px 12px;
		box-sizing: border-box;
		position: relative;
		z-index: 10010;
		background: #fff;
	}

	.ifo-mobile-language-clone a:not([data-ifo-language-link="true"]) {
		display: none !important;
	}

	.ifo-mobile-language-clone a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
	}

	.ifo-mobile-language-clone img {
		display: block;
		width: auto;
		height: auto;
		max-height: 22px;
	}

	html.ifo-any-mobile-menu-open .ifo-mobile-language-clone,
	body.ifo-any-mobile-menu-open .ifo-mobile-language-clone,
	body:has(.mega-menu-toggle.mega-menu-open) .ifo-mobile-language-clone,
	html:has(.mega-menu-toggle.mega-menu-open) .ifo-mobile-language-clone {
		display: none !important;
		pointer-events: none !important;
	}
}

/* =========================================================
   Desktop >= 1025px - Max Mega Menu dropdown
   ========================================================= */

@media (min-width: 1025px) {
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu,
	body ul.max-mega-menu li.mega-menu-item ul.mega-sub-menu {
		padding: 10px 0 !important;
		box-sizing: border-box !important;
	}

	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link,
	body ul.max-mega-menu ul.mega-sub-menu li > a.mega-menu-link {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		min-height: 38px !important;
		padding: 9px 14px 9px 34px !important;
		box-sizing: border-box !important;
		text-align: left !important;
		line-height: 1.25 !important;
		transition: transform 160ms ease, background-color 160ms ease, color 160ms ease !important;
		will-change: transform !important;
	}

	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link::before,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link::before,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link::before,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link::before,
	body ul.max-mega-menu ul.mega-sub-menu li > a.mega-menu-link::before {
		content: "" !important;
		position: absolute !important;
		left: 14px !important;
		top: 50% !important;
		width: 0 !important;
		height: 0 !important;
		border-top: 6px solid transparent !important;
		border-bottom: 6px solid transparent !important;
		border-left: 8px solid currentColor !important;
		transform: translateY(-50%) !important;
		opacity: 0.9 !important;
		pointer-events: none !important;
		transition: transform 160ms ease, opacity 160ms ease !important;
	}

	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link::after,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link::after,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link::after,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link::after,
	body ul.max-mega-menu ul.mega-sub-menu li > a.mega-menu-link::after {
		content: "" !important;
		position: absolute !important;
		left: 14px !important;
		right: 14px !important;
		bottom: 0 !important;
		height: 1px !important;
		background: currentColor !important;
		opacity: 0.18 !important;
		pointer-events: none !important;
	}

	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:hover,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:focus-visible,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:focus-visible,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:hover,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:focus-visible,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:focus-visible,
	body ul.max-mega-menu ul.mega-sub-menu li > a.mega-menu-link:hover,
	body ul.max-mega-menu ul.mega-sub-menu li > a.mega-menu-link:focus-visible {
		transform: translateX(3px) !important;
	}

	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover::before,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:hover::before,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:focus-visible::before,
	body .mega-menu-wrap ul.mega-menu li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:focus-visible::before,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover::before,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:hover::before,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:focus-visible::before,
	body [id^="mega-menu-wrap"] ul[id^="mega-menu"] li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > .mega-menu-link:focus-visible::before,
	body ul.max-mega-menu ul.mega-sub-menu li > a.mega-menu-link:hover::before,
	body ul.max-mega-menu ul.mega-sub-menu li > a.mega-menu-link:focus-visible::before {
		transform: translate(4px, -50%) !important;
		opacity: 1 !important;
	}
}

/* =========================================================
   Tablet/Mobile <= 1024px - Accordion menu
   ========================================================= */

@media (max-width: 1024px) {
	body.ifo-mm-mobile-accordion #main-menu,
	body.ifo-mm-mobile-accordion #main-menu ul,
	body.ifo-mm-mobile-accordion .mega-menu-wrap ul.mega-menu,
	body.ifo-mm-mobile-accordion [id^="mega-menu-wrap"] ul[id^="mega-menu"],
	body.ifo-mm-mobile-accordion ul.max-mega-menu {
		text-align: left !important;
	}

	body.ifo-mm-mobile-accordion #main-menu li.menu-item-has-children,
	body.ifo-mm-mobile-accordion .mega-menu-wrap li.mega-menu-item-has-children,
	body.ifo-mm-mobile-accordion [id^="mega-menu-wrap"] li.mega-menu-item-has-children,
	body.ifo-mm-mobile-accordion ul.max-mega-menu li.mega-menu-item-has-children {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		text-align: left !important;
	}

	body.ifo-mm-mobile-accordion #main-menu li.menu-item-has-children > a,
	body.ifo-mm-mobile-accordion .mega-menu-wrap li.mega-menu-item-has-children > a.mega-menu-link,
	body.ifo-mm-mobile-accordion [id^="mega-menu-wrap"] li.mega-menu-item-has-children > a.mega-menu-link,
	body.ifo-mm-mobile-accordion ul.max-mega-menu li.mega-menu-item-has-children > a.mega-menu-link {
		display: block !important;
		width: 100% !important;
		padding-right: 58px !important;
		text-align: left !important;
		box-sizing: border-box !important;
	}

	body.ifo-mm-mobile-accordion .mega-menu-link .mega-indicator,
	body.ifo-mm-mobile-accordion .mega-indicator {
		display: none !important;
	}

	body.ifo-mm-mobile-accordion .ifo-mobile-submenu-toggle {
		position: absolute !important;
		top: 0 !important;
		right: 10px !important;
		z-index: 5 !important;
		width: 48px !important;
		height: 48px !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		background: transparent !important;
		color: currentColor !important;
		cursor: pointer !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		line-height: 1 !important;
	}

	body.ifo-mm-mobile-accordion .ifo-mobile-submenu-toggle::before {
		content: "" !important;
		width: 9px !important;
		height: 9px !important;
		border-right: 2px solid currentColor !important;
		border-bottom: 2px solid currentColor !important;
		transform: rotate(45deg) !important;
		transition: transform 180ms ease !important;
	}

	body.ifo-mm-mobile-accordion li.ifo-submenu-open > .ifo-mobile-submenu-toggle::before {
		transform: rotate(-135deg) !important;
	}

	body.ifo-mm-mobile-accordion .ifo-mobile-submenu-toggle:focus-visible {
		outline: 3px solid var(--ifo-a11y-focus-color) !important;
		outline-offset: 3px !important;
		border-radius: 4px !important;
	}

	body.ifo-mm-mobile-accordion li.menu-item-has-children > ul.sub-menu,
	body.ifo-mm-mobile-accordion li.mega-menu-item-has-children > ul.mega-sub-menu {
		position: static !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 0 8px 18px !important;
		box-shadow: none !important;
		background: transparent !important;
		box-sizing: border-box !important;
	}

	body.ifo-mm-mobile-accordion li.menu-item-has-children:not(.ifo-submenu-open) > ul.sub-menu,
	body.ifo-mm-mobile-accordion li.mega-menu-item-has-children:not(.ifo-submenu-open) > ul.mega-sub-menu {
		display: none !important;
		visibility: hidden !important;
		max-height: 0 !important;
		overflow: hidden !important;
	}

	body.ifo-mm-mobile-accordion li.menu-item-has-children.ifo-submenu-open > ul.sub-menu,
	body.ifo-mm-mobile-accordion li.mega-menu-item-has-children.ifo-submenu-open > ul.mega-sub-menu {
		display: block !important;
		visibility: visible !important;
		max-height: none !important;
		overflow: visible !important;
	}

	body.ifo-mm-mobile-accordion li.ifo-submenu-open > ul.sub-menu li > a,
	body.ifo-mm-mobile-accordion li.ifo-submenu-open > ul.mega-sub-menu li > a.mega-menu-link {
		text-align: left !important;
		font-size: 18px !important;
		line-height: 1.35 !important;
		padding-top: 9px !important;
		padding-bottom: 9px !important;
	}
}

/* =========================================================
   Reduced motion
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
	#header *,
	.ifo-global-footer * {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
/* =========================================================
   IFO Header - v1.4.0 targeted add-on
   =========================================================
   Scope:
   - riallinea SOLO le voci top-level desktop Max Mega Menu;
   - aggiunge SOLO frecce/accordion mobile-tablet su li con submenu diretto;
   - non tocca footer globale, loghi, social, search, dropdown desktop già approvato.
*/

/* Desktop: evita voci top-level sfalsate verticalmente. */
@media (min-width: 1025px) {
	#header .mega-menu-wrap > ul.mega-menu > li.mega-menu-item,
	#header [id^="mega-menu-wrap"] > ul[id^="mega-menu"] > li.mega-menu-item,
	#header ul.max-mega-menu > li.mega-menu-item,
	#header ul.mega-menu > li.mega-menu-item {
		display: flex !important;
		align-items: stretch !important;
		float: none !important;
	}

	#header .mega-menu-wrap > ul.mega-menu > li.mega-menu-item > a.mega-menu-link,
	#header [id^="mega-menu-wrap"] > ul[id^="mega-menu"] > li.mega-menu-item > a.mega-menu-link,
	#header ul.max-mega-menu > li.mega-menu-item > a.mega-menu-link,
	#header ul.mega-menu > li.mega-menu-item > a.mega-menu-link {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		height: 60px !important;
		min-height: 60px !important;
		line-height: 1.2 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		transform: none !important;
		vertical-align: middle !important;
		box-sizing: border-box !important;
	}

	#header .mega-menu-wrap > ul.mega-menu > li.mega-menu-item > a.mega-menu-link::before,
	#header .mega-menu-wrap > ul.mega-menu > li.mega-menu-item > a.mega-menu-link::after,
	#header [id^="mega-menu-wrap"] > ul[id^="mega-menu"] > li.mega-menu-item > a.mega-menu-link::before,
	#header [id^="mega-menu-wrap"] > ul[id^="mega-menu"] > li.mega-menu-item > a.mega-menu-link::after,
	#header ul.max-mega-menu > li.mega-menu-item > a.mega-menu-link::before,
	#header ul.max-mega-menu > li.mega-menu-item > a.mega-menu-link::after,
	#header ul.mega-menu > li.mega-menu-item > a.mega-menu-link::before,
	#header ul.mega-menu > li.mega-menu-item > a.mega-menu-link::after {
		content: none !important;
		display: none !important;
	}

	#header .mega-menu-wrap > ul.mega-menu > li.mega-menu-item > a.mega-menu-link .mega-indicator,
	#header [id^="mega-menu-wrap"] > ul[id^="mega-menu"] > li.mega-menu-item > a.mega-menu-link .mega-indicator,
	#header ul.max-mega-menu > li.mega-menu-item > a.mega-menu-link .mega-indicator,
	#header ul.mega-menu > li.mega-menu-item > a.mega-menu-link .mega-indicator {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		position: relative !important;
		top: 0 !important;
		margin-left: 6px !important;
		line-height: 1 !important;
		vertical-align: middle !important;
	}
}

/* Mobile/tablet: accordion generico e non invasivo. */
@media (max-width: 1024px) {
	body.ifo-mm-accordion-ready #header li.ifo-mm-has-submenu,
	body.ifo-mm-accordion-ready .mega-menu-wrap li.ifo-mm-has-submenu,
	body.ifo-mm-accordion-ready [id^="mega-menu-wrap"] li.ifo-mm-has-submenu,
	body.ifo-mm-accordion-ready #main-menu li.ifo-mm-has-submenu {
		position: relative !important;
		display: block !important;
		width: 100% !important;
	}

	body.ifo-mm-accordion-ready #header li.ifo-mm-has-submenu > a,
	body.ifo-mm-accordion-ready .mega-menu-wrap li.ifo-mm-has-submenu > a,
	body.ifo-mm-accordion-ready [id^="mega-menu-wrap"] li.ifo-mm-has-submenu > a,
	body.ifo-mm-accordion-ready #main-menu li.ifo-mm-has-submenu > a {
		padding-right: 58px !important;
		box-sizing: border-box !important;
	}

	body.ifo-mm-accordion-ready #header li.ifo-mm-has-submenu > .mega-indicator,
	body.ifo-mm-accordion-ready #header li.ifo-mm-has-submenu > a .mega-indicator,
	body.ifo-mm-accordion-ready .mega-menu-wrap li.ifo-mm-has-submenu > a .mega-indicator,
	body.ifo-mm-accordion-ready [id^="mega-menu-wrap"] li.ifo-mm-has-submenu > a .mega-indicator {
		display: none !important;
	}

	body.ifo-mm-accordion-ready .ifo-mobile-submenu-toggle {
		position: absolute !important;
		top: 50% !important;
		right: 18px !important;
		z-index: 20 !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		background: transparent !important;
		color: currentColor !important;
		cursor: pointer !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		line-height: 1 !important;
		transform: translateY(-50%) !important;
		-webkit-appearance: none !important;
		appearance: none !important;
	}

	body.ifo-mm-accordion-ready .ifo-mobile-submenu-toggle::before {
		content: "" !important;
		width: 9px !important;
		height: 9px !important;
		border-right: 2px solid currentColor !important;
		border-bottom: 2px solid currentColor !important;
		transform: rotate(45deg) !important;
		transition: transform 160ms ease !important;
	}

	body.ifo-mm-accordion-ready li.ifo-submenu-open > .ifo-mobile-submenu-toggle::before,
	body.ifo-mm-accordion-ready li.ifo-accordion-open > .ifo-mobile-submenu-toggle::before,
	body.ifo-mm-accordion-ready li.ifo-mega-submenu-open > .ifo-mobile-submenu-toggle::before {
		transform: rotate(-135deg) !important;
	}

	body.ifo-mm-accordion-ready .ifo-mobile-submenu-toggle:focus-visible {
		outline: 3px solid #ffbf47 !important;
		outline-offset: 3px !important;
		border-radius: 4px !important;
	}

	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu > ul.mega-sub-menu,
	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu > ul.sub-menu,
	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu > ul {
		position: static !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 4px 0 10px 0 !important;
		box-shadow: none !important;
		background: transparent !important;
		box-sizing: border-box !important;
	}

	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu:not(.ifo-submenu-open):not(.ifo-accordion-open):not(.ifo-mega-submenu-open) > ul.mega-sub-menu,
	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu:not(.ifo-submenu-open):not(.ifo-accordion-open):not(.ifo-mega-submenu-open) > ul.sub-menu,
	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu:not(.ifo-submenu-open):not(.ifo-accordion-open):not(.ifo-mega-submenu-open) > ul {
		display: none !important;
		visibility: hidden !important;
		max-height: 0 !important;
		overflow: hidden !important;
	}

	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu.ifo-submenu-open > ul.mega-sub-menu,
	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu.ifo-submenu-open > ul.sub-menu,
	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu.ifo-submenu-open > ul,
	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu.ifo-accordion-open > ul.mega-sub-menu,
	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu.ifo-accordion-open > ul.sub-menu,
	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu.ifo-accordion-open > ul,
	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu.ifo-mega-submenu-open > ul.mega-sub-menu,
	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu.ifo-mega-submenu-open > ul.sub-menu,
	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu.ifo-mega-submenu-open > ul {
		display: block !important;
		visibility: visible !important;
		max-height: none !important;
		overflow: visible !important;
	}

	body.ifo-mm-accordion-ready li.ifo-mm-has-submenu > ul a {
		font-size: 18px !important;
		line-height: 1.35 !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
}

/* =========================================================
   IFO Header - v1.4.1 targeted final fix
   =========================================================
   - Desktop: riallinea verticalmente le voci top-level del menu.
   - Mobile/tablet: aggiunge solo la freccia visiva ai parent item.
   - Non modifica footer, dropdown desktop, social, loghi, search.
*/

/* DESKTOP: normalizza solo le voci principali, non i dropdown */
@media (min-width: 1025px) {
	#header .mega-menu-wrap ul.mega-menu > li.mega-menu-item,
	#header [id^="mega-menu-wrap"] ul[id^="mega-menu"] > li.mega-menu-item,
	#header ul.max-mega-menu > li.mega-menu-item,
	#header .navbar-nav > li {
		float: none !important;
		display: inline-flex !important;
		align-items: stretch !important;
		vertical-align: top !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	#header .mega-menu-wrap ul.mega-menu > li.mega-menu-item > a.mega-menu-link,
	#header [id^="mega-menu-wrap"] ul[id^="mega-menu"] > li.mega-menu-item > a.mega-menu-link,
	#header ul.max-mega-menu > li.mega-menu-item > a.mega-menu-link,
	#header .navbar-nav > li > a {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		height: 52px !important;
		min-height: 52px !important;
		line-height: 1.15 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		vertical-align: top !important;
		transform: none !important;
		top: auto !important;
		white-space: nowrap !important;
		box-sizing: border-box !important;
	}

	#header .mega-menu-wrap ul.mega-menu > li.mega-menu-item > a.mega-menu-link .mega-indicator,
	#header [id^="mega-menu-wrap"] ul[id^="mega-menu"] > li.mega-menu-item > a.mega-menu-link .mega-indicator,
	#header ul.max-mega-menu > li.mega-menu-item > a.mega-menu-link .mega-indicator {
		position: static !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: auto !important;
		height: auto !important;
		margin: 0 0 0 7px !important;
		line-height: 1 !important;
		vertical-align: middle !important;
		transform: none !important;
	}
}

/* MOBILE/TABLET: freccetta visiva sui parent item */
@media (max-width: 1024px) {
	#header li.ifo-mm-has-submenu > a,
	#header li.ifo-mobile-has-submenu > a,
	#header li.menu-item-has-children > a,
	#header li.mega-menu-item-has-children > a.mega-menu-link {
		position: relative !important;
		padding-right: 2.4rem !important;
	}

	#header li.ifo-mm-has-submenu > a::after,
	#header li.ifo-mobile-has-submenu > a::after,
	#header li.menu-item-has-children > a::after,
	#header li.mega-menu-item-has-children > a.mega-menu-link::after {
		content: "" !important;
		display: inline-block !important;
		width: 9px !important;
		height: 9px !important;
		margin-left: 10px !important;
		border-right: 2px solid currentColor !important;
		border-bottom: 2px solid currentColor !important;
		transform: rotate(45deg) translateY(-3px) !important;
		transform-origin: center !important;
		vertical-align: middle !important;
		opacity: 0.9 !important;
		background: transparent !important;
		pointer-events: none !important;
		transition: transform 180ms ease, opacity 180ms ease !important;
	}

	#header li.ifo-mega-submenu-open > a::after,
	#header li.ifo-accordion-open > a::after,
	#header li.ifo-submenu-open > a::after,
	#header li.mega-toggle-on > a::after {
		transform: rotate(-135deg) translateY(1px) !important;
		opacity: 1 !important;
	}

	/* Evita doppie frecce se Max Mega Menu stampa indicatori interni */
	#header li.ifo-mm-has-submenu > a .mega-indicator,
	#header li.ifo-mobile-has-submenu > a .mega-indicator,
	#header li.menu-item-has-children > a .mega-indicator,
	#header li.mega-menu-item-has-children > a.mega-menu-link .mega-indicator {
		display: none !important;
	}
}
/* =========================================================
   IFO Header - v1.4.2 targeted real menu fix
   =========================================================
   Scope:
   - Desktop: riallinea le voci principali del menu reale.
   - Desktop: nasconde eventuali toggle mobile rimasti visibili.
   - Mobile/tablet: aggiunge freccia visiva ai parent item del Visual Composer Sandwich Menu.
   - Non tocca footer, search, loghi, social, dropdown desktop già approvato.
*/

/* =========================================================
   DESKTOP >= 1025px
   ========================================================= */

@media (min-width: 1025px) {
	/* I piccoli rettangoli sotto le voci sono quasi certamente toggle mobile visibili fuori contesto. */
	.ifo-mobile-submenu-toggle,
	button.ifo-mobile-submenu-toggle {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		width: 0 !important;
		height: 0 !important;
		min-width: 0 !important;
		min-height: 0 !important;
		max-width: 0 !important;
		max-height: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		position: absolute !important;
		overflow: hidden !important;
		pointer-events: none !important;
	}

	/* Menu WordPress/Visual Composer reale: normalizzazione solo top-level. */
	.vcv-header nav.menu-menu_liv_0-container > ul,
	.vce-header nav.menu-menu_liv_0-container > ul,
	.visualcomposerstarter nav.menu-menu_liv_0-container > ul,
	nav.menu-menu_liv_0-container > ul {
		display: flex !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		flex-wrap: nowrap !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
	}

	.vcv-header nav.menu-menu_liv_0-container > ul > li,
	.vce-header nav.menu-menu_liv_0-container > ul > li,
	.visualcomposerstarter nav.menu-menu_liv_0-container > ul > li,
	nav.menu-menu_liv_0-container > ul > li {
		display: flex !important;
		align-items: stretch !important;
		float: none !important;
		position: relative !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		line-height: normal !important;
		vertical-align: top !important;
		box-sizing: border-box !important;
	}

	.vcv-header nav.menu-menu_liv_0-container > ul > li > a,
	.vce-header nav.menu-menu_liv_0-container > ul > li > a,
	.visualcomposerstarter nav.menu-menu_liv_0-container > ul > li > a,
	nav.menu-menu_liv_0-container > ul > li > a {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		height: 52px !important;
		min-height: 52px !important;
		max-height: 52px !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		line-height: 1.15 !important;
		vertical-align: top !important;
		top: auto !important;
		transform: none !important;
		box-sizing: border-box !important;
		white-space: nowrap !important;
	}

	/* Preserva il sandwich menu se per qualche motivo resta nel DOM in desktop. */
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container > ul {
		display: block !important;
	}

	.vce-sandwich-menu-container nav.menu-menu_liv_0-container > ul > li {
		display: block !important;
	}
}

/* =========================================================
   MOBILE/TABLET <= 1024px
   ========================================================= */

@media (max-width: 1024px) {
	/* Parent item del Visual Composer Sandwich Menu: freccia inline vicino al testo. */
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.menu-item-has-children > a,
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.ifo-mm-has-submenu > a {
		position: relative !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 10px !important;
	}

	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.menu-item-has-children > a::after,
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.ifo-mm-has-submenu > a::after {
		content: "" !important;
		display: inline-block !important;
		width: 9px !important;
		height: 9px !important;
		border-right: 2px solid currentColor !important;
		border-bottom: 2px solid currentColor !important;
		transform: rotate(45deg) translateY(-3px) !important;
		transform-origin: center !important;
		opacity: 0.9 !important;
		background: transparent !important;
		pointer-events: none !important;
		transition: transform 180ms ease, opacity 180ms ease !important;
	}

	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.ifo-mega-submenu-open > a::after,
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.ifo-accordion-open > a::after,
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.ifo-submenu-open > a::after,
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.mega-toggle-on > a::after {
		transform: rotate(-135deg) translateY(2px) !important;
		opacity: 1 !important;
	}

	/* Stato chiuso/aperto coerente con il JS già presente. */
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.ifo-mm-has-submenu:not(.ifo-mega-submenu-open):not(.ifo-accordion-open):not(.ifo-submenu-open) > ul.sub-menu {
		display: none !important;
		visibility: hidden !important;
		max-height: 0 !important;
		overflow: hidden !important;
	}

	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.ifo-mm-has-submenu.ifo-mega-submenu-open > ul.sub-menu,
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.ifo-mm-has-submenu.ifo-accordion-open > ul.sub-menu,
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.ifo-mm-has-submenu.ifo-submenu-open > ul.sub-menu {
		display: block !important;
		visibility: visible !important;
		max-height: none !important;
		overflow: visible !important;
	}
}
/* =========================================================
   IFO Header - v1.4.3 mobile menu left alignment
   =========================================================
   Scope:
   - Solo menu mobile/tablet Visual Composer Sandwich Menu.
   - Allinea a sinistra voci padre e sottomenu.
   - Non modifica desktop, footer, header desktop, loghi, social, search.
*/

@media (max-width: 1024px) {
	.vce-sandwich-menu-container .vce-sandwich-menu-inner,
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container,
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container ul {
		text-align: left !important;
	}

	.vce-sandwich-menu-container nav.menu-menu_liv_0-container > ul {
		width: 100% !important;
		max-width: 360px !important;
		margin: 0 auto !important;
		padding: 0 24px !important;
		box-sizing: border-box !important;
	}

	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li {
		width: 100% !important;
		text-align: left !important;
	}

	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li > a {
		width: 100% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		text-align: left !important;
		box-sizing: border-box !important;
	}

	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.menu-item-has-children > a,
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.ifo-mm-has-submenu > a {
		justify-content: flex-start !important;
	}

	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.menu-item-has-children > a::after,
	.vce-sandwich-menu-container nav.menu-menu_liv_0-container li.ifo-mm-has-submenu > a::after {
		margin-left: 10px !important;
		flex: 0 0 auto !important;
	}

	.vce-sandwich-menu-container nav.menu-menu_liv_0-container ul.sub-menu {
		width: 100% !important;
		margin: 8px 0 14px !important;
		padding-left: 18px !important;
		text-align: left !important;
		box-sizing: border-box !important;
	}

	.vce-sandwich-menu-container nav.menu-menu_liv_0-container ul.sub-menu li > a {
		justify-content: flex-start !important;
		text-align: left !important;
	}
}

/* =========================================================
   IFO Page Menu - v1.4.6 scoped Max Mega Menu page accordion
   =========================================================
   Scope:
   - Solo Max Mega Menu identificati via JS come "Menu di pagina".
   - NON tocca header.
   - NON tocca menu principale.
   - NON tocca sandwich mobile.
   - NON tocca footer.
*/

.ifo-page-mega-menu > ul.mega-menu > li.mega-menu-item-has-children > ul.mega-sub-menu,
.ifo-page-mega-menu > ul.max-mega-menu > li.mega-menu-item-has-children > ul.mega-sub-menu {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	position: static !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	pointer-events: auto !important;
	box-shadow: none !important;
}

/* Il parent del menu pagina deve risultare sempre aperto */
.ifo-page-mega-menu > ul.mega-menu > li.mega-menu-item-has-children,
.ifo-page-mega-menu > ul.max-mega-menu > li.mega-menu-item-has-children {
	overflow: visible !important;
}

/* Nasconde il bottone accordion mobile creato per il menu principale: qui non serve */
.ifo-page-mega-menu .ifo-mobile-submenu-toggle {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Stato visuale aperto: freccia/indicator coerente */
.ifo-page-mega-menu > ul.mega-menu > li.mega-menu-item-has-children > a.mega-menu-link .mega-indicator,
.ifo-page-mega-menu > ul.max-mega-menu > li.mega-menu-item-has-children > a.mega-menu-link .mega-indicator {
	transform: rotate(180deg) !important;
}

/* Mobile/tablet: quando il menu pagina viene aperto, il suo sottomenu è già visibile */
@media (max-width: 1024px) {
	.ifo-page-mega-menu > ul.mega-menu > li.mega-menu-item-has-children > ul.mega-sub-menu,
	.ifo-page-mega-menu > ul.max-mega-menu > li.mega-menu-item-has-children > ul.mega-sub-menu {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		position: static !important;
		padding-left: 18px !important;
	}

	.ifo-page-mega-menu > ul.mega-menu > li.mega-menu-item-has-children > a.mega-menu-link,
	.ifo-page-mega-menu > ul.max-mega-menu > li.mega-menu-item-has-children > a.mega-menu-link {
		aria-expanded: true;
	}
}

/* Protezione: header e menu principale non devono mai ricevere questo comportamento */
header .ifo-page-mega-menu,
.vcv-header .ifo-page-mega-menu,
.site-header .ifo-page-mega-menu,
.vce-sandwich-menu-container .ifo-page-mega-menu,
footer .ifo-page-mega-menu,
.vcv-footer .ifo-page-mega-menu {
	display: inherit;
}