/* =========================================================
   VARIABILI
========================================================= */

.ah-header-dc611f22 {
	--ah-desktop-bg: transparent;
	--ah-desktop-border: rgba(255, 255, 255, 0.15);

	--ah-desktop-text: #ffffff;
	--ah-desktop-hover: #a8a8a8;

	--ah-desktop-height: 94px;
	--ah-desktop-padding: 35px;
	--ah-content-width: 1800px;

	--ah-desktop-logo-width: 145px;

	--ah-menu-gap: 24px;

	--ah-dropdown-width: 290px;
	--ah-dropdown-offset: 17px;
	--ah-dropdown-bg: #0b0b0b;
	--ah-dropdown-text: #ffffff;
	--ah-dropdown-hover-bg: #ffffff;
	--ah-dropdown-hover-text: #000000;

	--ah-mobile-bg: #000000;
	--ah-mobile-panel-bg: #000000;

	--ah-mobile-text: #ffffff;
	--ah-mobile-hover: #a8a8a8;

	--ah-mobile-divider: rgba(255, 255, 255, 0.18);

	--ah-mobile-sub-bg: #111111;
	--ah-mobile-sub-text: #ffffff;

	--ah-mobile-height: 76px;
	--ah-mobile-padding: 20px;
	--ah-mobile-logo-width: 125px;

	--ah-hamburger-color: #ffffff;
	--ah-hamburger-width: 30px;
	--ah-hamburger-thickness: 2px;

	--ah-panel-top: 76px;

	position: relative;

	z-index: 99999;

	width: 100%;

	background:
		var(--ah-desktop-bg);

	border-bottom:
		1px solid
		var(--ah-desktop-border);

	box-sizing: border-box;
}


.ah-header-dc611f22 *,
.ah-header-dc611f22 *::before,
.ah-header-dc611f22 *::after {
	box-sizing: border-box;
}


/* =========================================================
   POSIZIONE DESKTOP
========================================================= */

.ah-header-dc611f22.ah-overlay-desktop-dc611f22 {
	position: absolute;

	top: 0;
	left: 0;
	right: 0;
}


.ah-header-dc611f22.ah-sticky-desktop-dc611f22 {
	position: fixed;

	top: 0;
	left: 0;
	right: 0;
}


/* =========================================================
   HEADER INNER
========================================================= */

.ah-inner-dc611f22 {
	position: relative;

	display: flex;
	align-items: center;

	width: 100%;
	max-width:
		var(--ah-content-width);

	min-height:
		var(--ah-desktop-height);

	margin: 0 auto;

	padding-left:
		var(--ah-desktop-padding);

	padding-right:
		var(--ah-desktop-padding);
}


/* =========================================================
   LOGO
========================================================= */

.ah-logo-container-dc611f22 {
	display: flex;
	align-items: center;

	flex: 0 0 auto;

	margin-right: 40px;
}


.ah-logo-link-dc611f22 {
	display: flex;
	align-items: center;

	text-decoration: none;

	line-height: 0;
}


.ah-logo-desktop-dc611f22 {
	display: block;
}


.ah-logo-mobile-dc611f22 {
	display: none;
}


.ah-logo-image-desktop-dc611f22 {
	display: block;

	width:
		var(--ah-desktop-logo-width);

	max-width: none;

	height: auto;
}


.ah-logo-image-mobile-dc611f22 {
	display: block;

	width:
		var(--ah-mobile-logo-width);

	max-width: none;

	height: auto;
}


.ah-site-title-dc611f22 {
	color:
		var(--ah-desktop-text);

	font-size: 22px;
	font-weight: 700;
	line-height: 1.1;
}


/* =========================================================
   DESKTOP AREA
========================================================= */

.ah-desktop-area-dc611f22 {
	display: flex;
	align-items: center;

	flex: 1 1 auto;

	min-width: 0;
}


/* =========================================================
   DESKTOP NAVIGATION
========================================================= */

.ah-desktop-nav-dc611f22 {
	display: flex;
	align-items: center;

	justify-content: flex-end;

	flex: 1 1 auto;

	min-width: 0;
}


/* =========================================================
   DESKTOP MENU
========================================================= */

.ah-desktop-menu-dc611f22 {
	display: flex;
	align-items: center;

	gap:
		var(--ah-menu-gap);

	margin: 0;
	padding: 0;

	list-style: none;
}


.ah-desktop-menu-dc611f22 > li {
	position: relative;

	margin: 0;
	padding: 0;

	list-style: none;
}


.ah-desktop-menu-dc611f22 > li > a {
	display: flex;
	align-items: center;

	gap: 8px;

	padding: 15px 0;

	color:
		var(--ah-desktop-text);

	text-decoration: none;

	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;

	letter-spacing: 0.02em;

	white-space: nowrap;

	transition:
		color 0.25s ease,
		opacity 0.25s ease;
}


.ah-desktop-menu-dc611f22 > li > a:hover,
.ah-desktop-menu-dc611f22 > li > a:focus-visible {
	color:
		var(--ah-desktop-hover);
}


/* =========================================================
   FRECCIA DESKTOP
========================================================= */

.ah-desktop-arrow-dc611f22 {
	display: block;

	width: 7px;
	height: 7px;

	margin-top: -4px;

	border-right:
		1px solid currentColor;

	border-bottom:
		1px solid currentColor;

	transform:
		rotate(45deg);

	transition:
		transform 0.25s ease;
}


.has-submenu-dc611f22:hover
> a
> .ah-desktop-arrow-dc611f22,

.has-submenu-dc611f22:focus-within
> a
> .ah-desktop-arrow-dc611f22 {
	transform:
		translateY(3px)
		rotate(225deg);
}


/* =========================================================
   DESKTOP DROPDOWN
========================================================= */

.ah-desktop-dropdown-dc611f22 {
	position: absolute;

	/* Area continua tra voce principale e sottomenu: evita che l hover si interrompa. */
	top: 100%;
	left: -20px;

	z-index: 999;

	width:
		var(--ah-dropdown-width);

	/* Lo spazio visuale rimane, ma fa parte dell area hover del dropdown. */
	padding-top: var(--ah-dropdown-offset);

	opacity: 0;
	visibility: hidden;

	transform:
		translateY(12px);

	pointer-events: none;

	transition:
		opacity 0.25s ease,
		transform 0.25s ease,
		visibility 0.25s ease;
}


.has-submenu-dc611f22:hover
> .ah-desktop-dropdown-dc611f22,

.has-submenu-dc611f22:focus-within
> .ah-desktop-dropdown-dc611f22 {
	opacity: 1;
	visibility: visible;

	transform:
		translateY(0);

	pointer-events: auto;
}


/* Se il dropdown è vicino al bordo destro */

.ah-desktop-menu-dc611f22
> li:last-child
.ah-desktop-dropdown-dc611f22 {
	left: auto;
	right: 0;
}


.ah-desktop-submenu-dc611f22 {
	width: 100%;

	margin: 0;
	padding: 10px;

	background:
		var(--ah-dropdown-bg);

	list-style: none;
}


.ah-desktop-submenu-dc611f22 li {
	margin: 0;
	padding: 0;

	list-style: none;
}


.ah-desktop-submenu-dc611f22 a {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 20px;

	width: 100%;

	padding: 13px 15px;

	color:
		var(--ah-dropdown-text);

	text-decoration: none;

	font-size: 14px;
	line-height: 1.35;

	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		padding-left 0.2s ease;
}


.ah-desktop-submenu-dc611f22 a:hover,
.ah-desktop-submenu-dc611f22 a:focus-visible {
	color:
		var(--ah-dropdown-hover-text);

	background:
		var(--ah-dropdown-hover-bg);

	padding-left: 19px;
}


.ah-submenu-arrow-dc611f22 {
	display: inline-block;

	flex: 0 0 auto;

	transition:
		transform 0.25s ease;
}


.ah-desktop-submenu-dc611f22 a:hover
.ah-submenu-arrow-dc611f22 {
	transform:
		translateX(4px);
}


/* =========================================================
   HAMBURGER
========================================================= */

.ah-hamburger-dc611f22 {
	display: none;

	position: relative;

	width: 48px;
	height: 48px;

	margin: 0 0 0 auto;
	padding: 0;

	border: 0;
	outline: 0;

	background: transparent;

	cursor: pointer;

	flex: 0 0 48px;
}


.ah-hamburger-dc611f22 span {
	position: absolute;

	left: 50%;

	display: block;

	width:
		var(--ah-hamburger-width);

	height:
		var(--ah-hamburger-thickness);

	background:
		var(--ah-hamburger-color);

	transform:
		translateX(-50%);

	transform-origin: center;

	transition:
		top 0.3s ease,
		transform 0.3s ease,
		opacity 0.2s ease;
}


.ah-hamburger-dc611f22 span:nth-child(1) {
	top: 14px;
}


.ah-hamburger-dc611f22 span:nth-child(2) {
	top: 23px;
}


.ah-hamburger-dc611f22 span:nth-child(3) {
	top: 32px;
}


/* =========================================================
   HAMBURGER APERTO
========================================================= */

.ah-header-dc611f22.is-mobile-open-dc611f22
.ah-hamburger-dc611f22
span:nth-child(1) {
	top: 23px;

	transform:
		translateX(-50%)
		rotate(45deg);
}


.ah-header-dc611f22.is-mobile-open-dc611f22
.ah-hamburger-dc611f22
span:nth-child(2) {
	opacity: 0;
}


.ah-header-dc611f22.is-mobile-open-dc611f22
.ah-hamburger-dc611f22
span:nth-child(3) {
	top: 23px;

	transform:
		translateX(-50%)
		rotate(-45deg);
}


/* =========================================================
   MOBILE PANEL
========================================================= */

.ah-mobile-panel-dc611f22 {
	display: none;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 1024px) {

	/* =====================================================
	   HEADER
	===================================================== */

	.ah-header-dc611f22,
	.ah-header-dc611f22.ah-overlay-desktop-dc611f22,
	.ah-header-dc611f22.ah-sticky-desktop-dc611f22 {
		position: relative;

		top: auto;
		left: auto;
		right: auto;

		background:
			var(--ah-mobile-bg);

		border-bottom:
			1px solid
			var(--ah-mobile-divider);
	}


	.ah-inner-dc611f22 {
		min-height:
			var(--ah-mobile-height);

		padding-left:
			var(--ah-mobile-padding);

		padding-right:
			var(--ah-mobile-padding);
	}


	/* =====================================================
	   LOGO MOBILE
	===================================================== */

	.ah-logo-container-dc611f22 {
		margin-right: 20px;
	}


	.ah-logo-desktop-dc611f22 {
		display: none;
	}


	.ah-logo-mobile-dc611f22 {
		display: block;
	}


	.ah-site-title-dc611f22 {
		color:
			var(--ah-mobile-text);
	}


	/* =====================================================
	   NASCONDI DESKTOP
	===================================================== */

	.ah-desktop-area-dc611f22 {
		display: none;
	}


	/* =====================================================
	   HAMBURGER
	===================================================== */

	.ah-hamburger-dc611f22 {
		display: block;
	}


	/* =====================================================
	   FULLSCREEN MOBILE PANEL
	===================================================== */

	.ah-mobile-panel-dc611f22 {
		display: block;

		position: fixed;

		top:
			var(--ah-panel-top);

		left: 0;
		right: 0;
		bottom: 0;

		z-index: 99998;

		width: 100%;

		background:
			var(--ah-mobile-panel-bg);

		opacity: 0;
		visibility: hidden;

		transform:
			translateY(-8px);

		pointer-events: none;

		overflow-y: auto;
		overscroll-behavior: contain;

		-webkit-overflow-scrolling: touch;

		transition:
			opacity 0.3s ease,
			visibility 0.3s ease,
			transform 0.3s ease;
	}


	.ah-header-dc611f22.is-mobile-open-dc611f22
	.ah-mobile-panel-dc611f22 {
		opacity: 1;
		visibility: visible;

		transform:
			translateY(0);

		pointer-events: auto;
	}


	.ah-mobile-panel-inner-dc611f22 {
		width: 100%;

		padding:
			15px
			var(--ah-mobile-padding)
			50px;
	}


	/* =====================================================
	   MENU MOBILE
	===================================================== */

	.ah-mobile-menu-dc611f22 {
		width: 100%;

		margin: 0;
		padding: 0;

		list-style: none;
	}


	.ah-mobile-item-dc611f22 {
		width: 100%;

		margin: 0;
		padding: 0;

		border-bottom:
			1px solid
			var(--ah-mobile-divider);

		list-style: none;
	}


	.ah-mobile-row-dc611f22 {
		display: flex;
		align-items: stretch;

		width: 100%;
	}


	.ah-mobile-main-link-dc611f22 {
		display: flex;
		align-items: center;
		justify-content: flex-start;

		flex: 1;

		min-height: 68px;

		padding: 12px 4px;

		color:
			var(--ah-mobile-text);

		text-decoration: none;

		font-size: 20px;
		font-weight: 500;
		line-height: 1.15;

		letter-spacing: 0.01em;

		transition:
			color 0.2s ease;
	}


	.ah-mobile-main-link-dc611f22:hover,
	.ah-mobile-main-link-dc611f22:focus-visible {
		color:
			var(--ah-mobile-hover);
	}


	/* =====================================================
	   PLUS / MINUS
	===================================================== */

	.ah-mobile-submenu-toggle-dc611f22 {
		position: relative;

		width: 60px;
		min-width: 60px;

		margin: 0;
		padding: 0;

		border: 0;

		background: transparent;

		color:
			var(--ah-mobile-text);

		cursor: pointer;
	}


	.ah-mobile-plus-dc611f22 {
		position: absolute;

		top: 50%;
		left: 50%;

		width: 18px;
		height: 18px;

		transform:
			translate(-50%, -50%);
	}


	.ah-mobile-plus-dc611f22::before,
	.ah-mobile-plus-dc611f22::after {
		content: "";

		position: absolute;

		top: 50%;
		left: 50%;

		background:
			currentColor;

		transform:
			translate(-50%, -50%);

		transition:
			transform 0.25s ease,
			opacity 0.25s ease;
	}


	.ah-mobile-plus-dc611f22::before {
		width: 18px;
		height: 1.5px;
	}


	.ah-mobile-plus-dc611f22::after {
		width: 1.5px;
		height: 18px;
	}


	.ah-mobile-item-dc611f22.is-submenu-open-dc611f22
	.ah-mobile-plus-dc611f22::after {
		opacity: 0;

		transform:
			translate(-50%, -50%)
			rotate(90deg);
	}


	/* =====================================================
	   MOBILE SUBMENU
	===================================================== */

	.ah-mobile-submenu-wrap-dc611f22 {
		max-height: 0;

		overflow: hidden;

		opacity: 0;

		background:
			var(--ah-mobile-sub-bg);

		transition:
			max-height 0.4s ease,
			opacity 0.3s ease;
	}


	.ah-mobile-item-dc611f22.is-submenu-open-dc611f22
	.ah-mobile-submenu-wrap-dc611f22 {
		opacity: 1;
	}


	.ah-mobile-submenu-dc611f22 {
		width: 100%;

		margin: 0;

		padding:
			10px
			0
			14px
			18px;

		list-style: none;
	}


	.ah-mobile-submenu-dc611f22 li {
		margin: 0;
		padding: 0;

		list-style: none;
	}


	.ah-mobile-submenu-dc611f22 a {
		display: flex;
		align-items: center;
		justify-content: flex-start;

		width: 100%;

		padding: 12px;

		color:
			var(--ah-mobile-sub-text);

		text-decoration: none;

		font-size: 16px;
		font-weight: 400;
		line-height: 1.3;

		transition:
			color 0.2s ease,
			transform 0.2s ease;
	}


	.ah-mobile-submenu-dc611f22 a:hover,
	.ah-mobile-submenu-dc611f22 a:focus-visible {
		color:
			var(--ah-mobile-hover);

		transform:
			translateX(4px);
	}

}


/* =========================================================
   BODY LOCK
========================================================= */

body.ah-menu-lock-dc611f22 {
	overflow: hidden;
}


/* =========================================================
   ACCESSIBILITÀ
========================================================= */

.ah-header-dc611f22 a:focus-visible,
.ah-header-dc611f22 button:focus-visible {
	outline:
		2px solid currentColor;

	outline-offset:
		3px;
}


/* =========================================================
   TELEFONI PICCOLI
========================================================= */

@media (max-width: 480px) {

	.ah-mobile-main-link-dc611f22 {
		min-height: 62px;
	}


	.ah-mobile-submenu-toggle-dc611f22 {
		width: 52px;
		min-width: 52px;
	}

}
/* Il tema/Elementor puo' applicare i propri colori ai link.
   La specificita' di queste regole mantiene il colore impostato
   nel widget anche sugli stati visited/hover/focus. */
@media (max-width: 1024px) {
  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 a.ah-mobile-main-link-dc611f22,
  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 a.ah-mobile-main-link-dc611f22:link,
  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 a.ah-mobile-main-link-dc611f22:visited {
    color: var(--ah-mobile-text, #ffffff) !important;
  }

  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 a.ah-mobile-main-link-dc611f22:hover,
  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 a.ah-mobile-main-link-dc611f22:focus-visible {
    color: var(--ah-mobile-hover, #a8a8a8) !important;
  }

  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 .ah-mobile-submenu-dc611f22 a,
  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 .ah-mobile-submenu-dc611f22 a:link,
  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 .ah-mobile-submenu-dc611f22 a:visited {
    color: var(--ah-mobile-sub-text, #ffffff) !important;
  }

  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 .ah-mobile-submenu-dc611f22 a:hover,
  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 .ah-mobile-submenu-dc611f22 a:focus-visible {
    color: var(--ah-mobile-hover, #a8a8a8) !important;
  }
}


/* Separato dal pannello, per filtrare la pagina reale. */
.ah-site-glass-overlay-dc611f22 {
  display: block; position: fixed; inset: 0; z-index: 99990;
  pointer-events: none; opacity: 0; visibility: hidden;
  background: var(--ah-glass-tint, rgba(0,0,0,.42));
  -webkit-backdrop-filter: blur(var(--ah-glass-blur, 14px));
  backdrop-filter: blur(var(--ah-glass-blur, 14px));
  transition: opacity .25s ease, visibility .25s ease;
}
.ah-site-glass-overlay-dc611f22.is-active-dc611f22 { opacity: 1; visibility: visible; }
@media (max-width: 1024px) {
  .ah-site-glass-overlay-dc611f22 {
    display: block; position: fixed; inset: 0; z-index: 99990;
    pointer-events: none; opacity: 0; visibility: hidden;
    background: var(--ah-glass-tint, rgba(0,0,0,.42));
    -webkit-backdrop-filter: blur(var(--ah-glass-blur, 14px));
    backdrop-filter: blur(var(--ah-glass-blur, 14px));
    transition: opacity .25s ease, visibility .25s ease;
  }
  .ah-site-glass-overlay-dc611f22.is-active-dc611f22 { opacity: 1; visibility: visible; }
  .ah-header-dc611f22.ah-submenu-glass-active-dc611f22 > .ah-mobile-panel-dc611f22 {
    background: transparent !important;
  }
  .ah-header-dc611f22.ah-submenu-glass-active-dc611f22 .ah-mobile-submenu-wrap-dc611f22 {
    background: var(--ah-mobile-sub-glass-bg, rgba(16,16,16,.38)) !important;
  }
}

/* Desktop: menu sopra al vetro; dropdown leggermente traslucido. */
@media (min-width: 1025px) {
  .ah-header-dc611f22.ah-desktop-glass-active-dc611f22 .ah-desktop-submenu-dc611f22 {
    background: var(--ah-desktop-sub-glass-bg, rgba(11,11,11,.78));
  }
}

/* =========================================================
   MEGA MENU DESKTOP - modifica confinata ai soli sottomenu
========================================================= */
@media (min-width: 1025px) {
  .ah-header-dc611f22 .ah-desktop-menu-dc611f22 > li { position: static; }
  .ah-header-dc611f22 .ah-mega-dropdown-dc611f22,
  .ah-header-dc611f22 .ah-desktop-menu-dc611f22 > li:last-child .ah-mega-dropdown-dc611f22 {
    position: absolute; top: 100%; left: 50%; right: auto;
    width: min(1120px, calc(100vw - 40px)); max-width: 1120px;
    padding-top: var(--ah-dropdown-offset, 17px); transform: translate(-50%, 12px);
  }
  .ah-header-dc611f22 .has-submenu-dc611f22:hover > .ah-mega-dropdown-dc611f22,
  .ah-header-dc611f22 .has-submenu-dc611f22:focus-within > .ah-mega-dropdown-dc611f22,
  .ah-header-dc611f22 .has-submenu-dc611f22.is-mega-open-dc611f22 > .ah-mega-dropdown-dc611f22 {
    opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0);
  }
  .ah-header-dc611f22 .ah-mega-panel-dc611f22 {
    display: grid; grid-template-columns: 278px minmax(0,1fr);
    min-height: 398px; max-height: min(75vh, 700px);
    overflow: hidden; background: #fff; color: #222;
    border: 1px solid #eaeaea; border-radius: 6px;
    box-shadow: 0 16px 42px rgba(0,0,0,.12);
  }
  .ah-header-dc611f22 .ah-mega-sidebar-dc611f22 {
    display: flex; flex-direction: column; gap: 4px; padding: 25px 22px;
    border-right: 1px solid #ededed; overflow-y: auto;
  }
  .ah-header-dc611f22 .ah-mega-category-dc611f22 {
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    width:100%; padding:12px 0; border:0; border-radius:0;
    background:transparent; color:#303030; text-align:left;
    font-family:inherit; font-weight:500; font-size:14px; line-height:1.4;
    cursor:pointer;
  }
  .ah-header-dc611f22 .ah-mega-category-dc611f22:hover,
  .ah-header-dc611f22 .ah-mega-category-dc611f22.is-active-dc611f22 { color:#fa4b00; }
  .ah-header-dc611f22 .ah-mega-chevron-dc611f22 {font-size:20px; opacity:0;}
  .ah-header-dc611f22 .ah-mega-category-dc611f22.is-active-dc611f22 .ah-mega-chevron-dc611f22 {opacity:1;}
  .ah-header-dc611f22 .ah-mega-content-dc611f22 { padding:33px 36px 40px; overflow-y:auto; min-width:0; }
  .ah-header-dc611f22 .ah-mega-section-dc611f22[hidden] {display:none !important;}
  .ah-header-dc611f22 .ah-mega-intro-dc611f22 h2 {margin:0 0 7px; font-size:24px; font-weight:700; line-height:1.2; color:#242424;}
  .ah-header-dc611f22 .ah-mega-intro-dc611f22 p {margin:0 0 10px; color:#777; font-size:13px; line-height:1.6;}
  .ah-header-dc611f22 .ah-mega-explore-dc611f22 {display:inline-flex; align-items:center; gap:9px; margin-top:9px; color:#242424; font-size:13px; text-decoration:none;}
  .ah-header-dc611f22 .ah-mega-explore-dc611f22:hover {color:#fa4b00;}
  .ah-header-dc611f22 .ah-mega-grid-dc611f22,
  .ah-header-dc611f22.ah-desktop-glass-active-dc611f22 .ah-mega-grid-dc611f22 {
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 26px;
    margin:32px 0 0; padding:0; background:transparent !important;
  }
  .ah-header-dc611f22 .ah-mega-grid-dc611f22 a,
  .ah-header-dc611f22 .ah-mega-grid-dc611f22 a:visited {
    display:flex; flex-direction:column; align-items:flex-start; gap:6px;
    padding:3px 0; color:#292929 !important; background:transparent !important;
    text-decoration:none; line-height:1.4; font-size:13px; overflow-wrap:anywhere;
  }
  .ah-header-dc611f22 .ah-mega-grid-dc611f22 a:hover,
  .ah-header-dc611f22 .ah-mega-grid-dc611f22 a:focus-visible {color:#fa4b00 !important; padding-left:0;}
  .ah-header-dc611f22 .ah-mega-card-title-dc611f22 {font-weight:600;}
  .ah-header-dc611f22 .ah-mega-card-desc-dc611f22 {display:block; color:#7e7e7e; font-size:13px; font-weight:400; line-height:1.48;}
}
@media (min-width:1025px) and (max-width:1180px) {
 .ah-header-dc611f22 .ah-mega-panel-dc611f22 {grid-template-columns:220px minmax(0,1fr);}
 .ah-header-dc611f22 .ah-mega-content-dc611f22 {padding:28px;}
 .ah-header-dc611f22 .ah-mega-grid-dc611f22 {gap:22px 16px;}
}

/* =========================================================
   CONTROLLI ELEMENTOR MEGA MENU (solo desktop)
========================================================= */
@media (min-width: 1025px) {
 .ah-header-dc611f22 .ah-mega-dropdown-dc611f22,
 .ah-header-dc611f22 .ah-desktop-menu-dc611f22 > li:last-child .ah-mega-dropdown-dc611f22 {
   width: min(var(--ah-mega-width, 1120px), calc(100vw - 40px));
   max-width: var(--ah-mega-width, 1120px);
 }
 .ah-header-dc611f22 .ah-mega-panel-dc611f22 {
   grid-template-columns: var(--ah-mega-sidebar-width, 278px) minmax(0, 1fr);
   background:var(--ah-mega-panel-bg, #fff); border-color:var(--ah-mega-panel-border, #eaeaea);
 }
 .ah-header-dc611f22 .ah-mega-sidebar-dc611f22 {
   background:var(--ah-mega-sidebar-bg, #fff); border-right-color:var(--ah-mega-divider, #ededed);
 }
 .ah-header-dc611f22 .ah-mega-content-dc611f22 {background:var(--ah-mega-content-bg, #fff);}
 .ah-header-dc611f22 .ah-mega-category-dc611f22 {
   color:var(--ah-mega-category-color, #303030);
   background:var(--ah-mega-category-bg, transparent);
 }
 .ah-header-dc611f22 .ah-mega-category-dc611f22:hover,
 .ah-header-dc611f22 .ah-mega-category-dc611f22.is-active-dc611f22 {
   color:var(--ah-mega-category-active, #fa4b00);
   background:var(--ah-mega-category-active-bg, transparent);
 }
 .ah-header-dc611f22 .ah-mega-intro-dc611f22 h2 {color:var(--ah-mega-heading-color, #242424);}
 .ah-header-dc611f22 .ah-mega-intro-dc611f22 p {color:var(--ah-mega-intro-color, #777);}
 .ah-header-dc611f22 .ah-mega-explore-dc611f22,
 .ah-header-dc611f22 .ah-mega-explore-dc611f22:visited {color:var(--ah-mega-explore-color, #242424);}
 .ah-header-dc611f22 .ah-mega-explore-dc611f22:hover,
 .ah-header-dc611f22 .ah-mega-explore-dc611f22:focus-visible {color:var(--ah-mega-explore-hover, #fa4b00);}
 .ah-header-dc611f22 .ah-mega-grid-dc611f22 a,
 .ah-header-dc611f22 .ah-mega-grid-dc611f22 a:visited {
   color:var(--ah-mega-card-title-color, #292929) !important;
   background:var(--ah-mega-card-bg, transparent) !important;
 }
 .ah-header-dc611f22 .ah-mega-grid-dc611f22 a:hover,
 .ah-header-dc611f22 .ah-mega-grid-dc611f22 a:focus-visible {
   color:var(--ah-mega-card-hover, #fa4b00) !important;
   background:var(--ah-mega-card-hover-bg, transparent) !important;
 }
 .ah-header-dc611f22 .ah-mega-card-title-dc611f22 {color:inherit;}
 .ah-header-dc611f22 .ah-mega-card-desc-dc611f22 {color:var(--ah-mega-card-desc-color, #7e7e7e);}
}

/* =========================================================
   DESKTOP: SCALE 1.2 SULLE VOCI DEI MEGA MENU
   Il transform e' applicato ai singoli elementi, non al pannello.
========================================================= */
@media (min-width: 1025px) {
  .ah-header-dc611f22 .ah-mega-grid-dc611f22 a,
  .ah-header-dc611f22 .ah-mega-category-dc611f22 {
    transform: scale(1);
    transform-origin: left center;
    transition: transform 0.25s ease, color 0.25s ease, background-color 0.25s ease;
  }

  .ah-header-dc611f22 .ah-mega-grid-dc611f22 a:hover,
  .ah-header-dc611f22 .ah-mega-grid-dc611f22 a:focus-visible,
  .ah-header-dc611f22 .ah-mega-category-dc611f22:hover,
  .ah-header-dc611f22 .ah-mega-category-dc611f22:focus-visible {
    transform: scale(1.02);
    position: relative;
    z-index: 1;
  }
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
  .ah-header-dc611f22 .ah-mega-grid-dc611f22 a,
  .ah-header-dc611f22 .ah-mega-category-dc611f22 {
    transition-duration: 0.01ms;
  }
}

/* MEGA MENU DESKTOP: identica distanza verticale per tutti i pannelli.
   Rimuove lo spostamento di 12px della transizione, che faceva apparire
   due pannelli a quote differenti durante il cambio (es. About Us/Support). */
@media (min-width: 1025px) {
  .ah-header-dc611f22 .ah-desktop-menu-dc611f22 > li > .ah-mega-dropdown-dc611f22,
  .ah-header-dc611f22 .ah-desktop-menu-dc611f22 > li:last-child > .ah-mega-dropdown-dc611f22 {
    top: 100%;
    margin-top: 0;
    padding-top: var(--ah-dropdown-offset, 17px);
    transform: translate(-50%, 0);
    transition: opacity .18s ease, visibility .18s ease;
  }
  .ah-header-dc611f22 .ah-desktop-menu-dc611f22 > li.has-submenu-dc611f22:hover > .ah-mega-dropdown-dc611f22,
  .ah-header-dc611f22 .ah-desktop-menu-dc611f22 > li.has-submenu-dc611f22:focus-within > .ah-mega-dropdown-dc611f22,
  .ah-header-dc611f22 .ah-desktop-menu-dc611f22 > li.has-submenu-dc611f22.is-mega-open-dc611f22 > .ah-mega-dropdown-dc611f22 {
    transform: translate(-50%, 0);
  }
}

/* Immagini nelle voci: layout fluido, nessuna cella o altezza fissa. */
.ah-header-dc611f22 {
  --ah-menu-image-width: 36px;
  --ah-menu-image-gap: 10px;
}
.ah-header-dc611f22 .ah-menu-image-wrap-dc611f22 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  width: var(--ah-menu-image-item-width, var(--ah-menu-image-width));
  max-width: 100%;
  min-width: 0;
  line-height: 0;
}
.ah-header-dc611f22 .ah-menu-image-dc611f22 {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
}
.ah-header-dc611f22 .ah-desktop-menu-dc611f22 > li > a,
.ah-header-dc611f22 .ah-mobile-main-link-dc611f22,
.ah-header-dc611f22 .ah-mobile-submenu-dc611f22 a {
  gap: var(--ah-menu-image-gap);
}
.ah-header-dc611f22 .ah-menu-label-dc611f22,
.ah-header-dc611f22 .ah-menu-copy-dc611f22 {
  min-width: 0;
}
.ah-header-dc611f22 .ah-mega-grid-dc611f22 a,
.ah-header-dc611f22.ah-desktop-glass-active-dc611f22 .ah-mega-grid-dc611f22 a {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: var(--ah-menu-image-gap);
}
.ah-header-dc611f22 .ah-menu-copy-dc611f22 {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.3em;
}
@media (max-width: 1024px) {
  .ah-header-dc611f22 .ah-mobile-main-link-dc611f22,
  .ah-header-dc611f22 .ah-mobile-submenu-dc611f22 a {
    min-width: 0;
    align-items: center;
  }
}

/* Logo SOPRA il titolo delle voci di sottomenu (desktop e mobile).
   La larghezza continua a dipendere dal controllo Elementor, senza altezze fisse. */
.ah-header-dc611f22 .ah-mega-grid-dc611f22 a,
.ah-header-dc611f22.ah-desktop-glass-active-dc611f22 .ah-mega-grid-dc611f22 a {
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
}
.ah-header-dc611f22 .ah-mega-grid-dc611f22 .ah-menu-copy-dc611f22 {
  flex: 0 1 auto;
  width: 100%;
  align-items: center;
  text-align: center;
}
.ah-header-dc611f22 .ah-mega-grid-dc611f22 .ah-menu-image-wrap-dc611f22,
.ah-header-dc611f22 .ah-mobile-submenu-dc611f22 .ah-menu-image-wrap-dc611f22 {
  flex: 0 0 auto;
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .ah-header-dc611f22 .ah-mobile-submenu-dc611f22 a {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}

/* Sottomenu: immagini sopra al testo e tutto allineato a sinistra.
   Dimensioni e spazi restano gestiti dai controlli Elementor. */
.ah-header-dc611f22 .ah-mega-grid-dc611f22 a,
.ah-header-dc611f22.ah-desktop-glass-active-dc611f22 .ah-mega-grid-dc611f22 a {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
}
.ah-header-dc611f22 .ah-mega-grid-dc611f22 .ah-menu-copy-dc611f22 {
  align-items: flex-start;
  text-align: left;
}
.ah-header-dc611f22 .ah-mega-grid-dc611f22 .ah-menu-image-wrap-dc611f22,
.ah-header-dc611f22 .ah-mobile-submenu-dc611f22 .ah-menu-image-wrap-dc611f22 {
  margin-inline: 0;
  justify-content: flex-start;
}
@media (max-width: 1024px) {
  .ah-header-dc611f22 .ah-mobile-submenu-dc611f22 a {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }
}

/* Allineamento dinamico: stessa quota di partenza del testo anche senza logo.
   Altezza calcolata dal contenuto reale per ogni riga del mega menu. */
.ah-header-dc611f22 .ah-mega-grid-dc611f22 .ah-menu-image-slot-dc611f22,
.ah-header-dc611f22 .ah-mobile-submenu-dc611f22 .ah-menu-image-slot-dc611f22 {
  display: flex;
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  min-height: var(--ah-image-row-height, 0px);
  align-items: flex-start;
  justify-content: flex-start;
}
.ah-header-dc611f22 .ah-mega-grid-dc611f22 a,
.ah-header-dc611f22 .ah-mobile-submenu-dc611f22 a {
  gap: var(--ah-menu-image-gap);
}
.ah-header-dc611f22 .ah-menu-image-slot-dc611f22:empty {
  /* Segnaposto invisibile, preserva l'allineamento tra voci. */
  visibility: hidden;
}


/* TERZO LIVELLO: esclusivamente mobile/tablet (desktop invariato) */
@media (max-width: 1024px) {
  .ah-header-dc611f22 .ah-mobile-level2-item-dc611f22 { border-bottom: 1px solid var(--ah-mobile-divider); }
  .ah-header-dc611f22 .ah-mobile-level2-row-dc611f22 { display:flex; align-items:stretch; width:100%; }
  .ah-header-dc611f22 .ah-mobile-level2-row-dc611f22 > a.ah-mobile-level2-link-dc611f22 {
    display:flex; flex:1 1 auto; min-width:0; align-items:center; justify-content:flex-start;
    text-align:left; flex-direction:row; padding:13px 12px; gap:var(--ah-menu-image-gap);
    font-size:16px; text-decoration:none;
  }
  .ah-header-dc611f22 .ah-mobile-level2-toggle-dc611f22 {
    position:relative; flex:0 0 52px; width:52px; background:transparent;
    border:0; color:var(--ah-mobile-sub-text); cursor:pointer;
  }
  .ah-header-dc611f22 .ah-mobile-level2-item-dc611f22.is-submenu-open-dc611f22 > .ah-mobile-level2-row-dc611f22 .ah-mobile-plus-dc611f22::after { opacity:0; }
  .ah-header-dc611f22 .ah-mobile-level3-wrap-dc611f22 {
    max-height:0; overflow:hidden; opacity:0; background:rgba(255,255,255,.035);
    transition:max-height .35s ease, opacity .25s ease;
  }
  .ah-header-dc611f22 .ah-mobile-level2-item-dc611f22.is-submenu-open-dc611f22 > .ah-mobile-level3-wrap-dc611f22 { opacity:1; }
  .ah-header-dc611f22 .ah-mobile-level3-menu-dc611f22 { list-style:none; margin:0; padding:8px 0 12px 26px; }
  .ah-header-dc611f22 .ah-mobile-level3-menu-dc611f22 li { list-style:none; margin:0; padding:0; }
  .ah-header-dc611f22 .ah-mobile-level3-menu-dc611f22 a {
    display:flex; align-items:center; flex-direction:row; text-align:left;
    gap:var(--ah-menu-image-gap); padding:12px 10px; font-size:14px;
    text-decoration:none; color:var(--ah-mobile-sub-text) !important;
  }
  .ah-header-dc611f22 .ah-mobile-level3-menu-dc611f22 a:hover,
  .ah-header-dc611f22 .ah-mobile-level3-menu-dc611f22 a:focus-visible { color:var(--ah-mobile-hover) !important; }
  .ah-header-dc611f22 .ah-mobile-level3-menu-dc611f22 .ah-menu-image-slot-dc611f22 { min-height:0; width:auto; }
  .ah-header-dc611f22 .ah-mobile-level2-row-dc611f22 .ah-menu-image-slot-dc611f22 { min-height:0; width:auto; }
}

/* MOBILE FIX: i livelli aperti usano l'altezza naturale del contenuto.
   Evita clipping quando si apre un sottomenu dentro un altro sottomenu. */
@media (max-width: 1024px) {
  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 {
    height: calc(100dvh - var(--ah-panel-top, 76px));
    max-height: calc(100dvh - var(--ah-panel-top, 76px));
    bottom: auto;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
  }
  .ah-header-dc611f22 .ah-mobile-item-dc611f22 > .ah-mobile-submenu-wrap-dc611f22,
  .ah-header-dc611f22 .ah-mobile-level2-item-dc611f22 > .ah-mobile-level3-wrap-dc611f22 {
    max-height: 0 !important;
    opacity: 0;
    overflow: hidden;
    transition: opacity .2s ease;
  }
  .ah-header-dc611f22 .ah-mobile-item-dc611f22.is-submenu-open-dc611f22 > .ah-mobile-submenu-wrap-dc611f22,
  .ah-header-dc611f22 .ah-mobile-level2-item-dc611f22.is-submenu-open-dc611f22 > .ah-mobile-level3-wrap-dc611f22 {
    max-height: none !important;
    opacity: 1;
    overflow: visible;
  }
}
@supports not (height: 100dvh) {
  @media (max-width: 1024px) {
    .ah-header-dc611f22 .ah-mobile-panel-dc611f22 {
      height: calc(100vh - var(--ah-panel-top, 76px));
      max-height: calc(100vh - var(--ah-panel-top, 76px));
    }
  }
}

/* ==========================================================
   MOBILE: three-level menu with natural content height.
   No nested scroll containers and no calculated max-height.
   Applied ONLY up to 1024px; desktop styling is unchanged.
========================================================== */
@media (max-width: 1024px) {
  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 {
    position: fixed;
    top: var(--ah-panel-top, 76px);
    left: 0; right: 0; bottom: 0;
    height: auto;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    scrollbar-gutter: auto;
  }
  .ah-header-dc611f22 .ah-mobile-panel-inner-dc611f22,
  .ah-header-dc611f22 .ah-mobile-menu-dc611f22,
  .ah-header-dc611f22 .ah-mobile-submenu-dc611f22,
  .ah-header-dc611f22 .ah-mobile-level3-menu-dc611f22 {
    height: auto;
    max-height: none;
    overflow: visible;
  }
  .ah-header-dc611f22 .ah-mobile-item-dc611f22 > .ah-mobile-submenu-wrap-dc611f22,
  .ah-header-dc611f22 .ah-mobile-level2-item-dc611f22 > .ah-mobile-level3-wrap-dc611f22 {
    display: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1;
    transition: none;
  }
  .ah-header-dc611f22 .ah-mobile-item-dc611f22.is-submenu-open-dc611f22 > .ah-mobile-submenu-wrap-dc611f22,
  .ah-header-dc611f22 .ah-mobile-level2-item-dc611f22.is-submenu-open-dc611f22 > .ah-mobile-level3-wrap-dc611f22 {
    display: block !important;
  }
}

/* ==========================================================
   MOBILE ONLY - smooth nested accordion without fixed heights.
   Grid row interpolation follows content at any nesting level.
   Overrides previous display:none/block fallback rules.
========================================================== */
@media (max-width: 1024px) {
  .ah-header-dc611f22 .ah-mobile-item-dc611f22 > .ah-mobile-submenu-wrap-dc611f22,
  .ah-header-dc611f22 .ah-mobile-level2-item-dc611f22 > .ah-mobile-level3-wrap-dc611f22 {
    display: grid !important;
    grid-template-rows: 0fr;
    height: auto !important;
    max-height: none !important;
    min-height: 0;
    overflow: hidden !important;
    opacity: 0;
    visibility: hidden;
    transition: grid-template-rows 440ms cubic-bezier(.22, 1, .36, 1),
                opacity 300ms ease,
                visibility 440ms;
  }
  .ah-header-dc611f22 .ah-mobile-item-dc611f22.is-submenu-open-dc611f22 > .ah-mobile-submenu-wrap-dc611f22,
  .ah-header-dc611f22 .ah-mobile-level2-item-dc611f22.is-submenu-open-dc611f22 > .ah-mobile-level3-wrap-dc611f22 {
    display: grid !important;
    grid-template-rows: 1fr;
    opacity: 1;
    visibility: visible;
  }
  .ah-header-dc611f22 .ah-mobile-item-dc611f22 > .ah-mobile-submenu-wrap-dc611f22 > .ah-mobile-submenu-dc611f22,
  .ah-header-dc611f22 .ah-mobile-level2-item-dc611f22 > .ah-mobile-level3-wrap-dc611f22 > .ah-mobile-level3-menu-dc611f22 {
    min-height: 0;
    overflow: hidden;
  }
  .ah-header-dc611f22 .ah-mobile-plus-dc611f22::after {
    transition: opacity 280ms ease, transform 380ms cubic-bezier(.22, 1, .36, 1);
  }
  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 {
    transition: opacity 360ms ease, visibility 360ms ease,
                transform 420ms cubic-bezier(.22, 1, .36, 1);
  }
}
@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
  .ah-header-dc611f22 .ah-mobile-item-dc611f22 > .ah-mobile-submenu-wrap-dc611f22,
  .ah-header-dc611f22 .ah-mobile-level2-item-dc611f22 > .ah-mobile-level3-wrap-dc611f22,
  .ah-header-dc611f22 .ah-mobile-panel-dc611f22 {
    transition-duration: 0.01ms;
  }
}
