/* netDesk.IT - footer personalizzato (desktop .ndf--d / mobile .ndf--m) */
.ndf-bg {
	position: absolute;
	background: #1c1f24;
	border-top: 3px solid #E19324;
	box-sizing: border-box;
	pointer-events: none;
}
.ndf {
	position: absolute;
	left: 0;
	box-sizing: border-box;
	font-family: 'Open Sans', Arial, sans-serif;
	color: #c3c8cf;
	text-align: left;
	-webkit-font-smoothing: antialiased;
}
.ndf *, .ndf *::before, .ndf *::after { box-sizing: border-box; }
.ndf ul, .ndf li, .ndf p { margin: 0; padding: 0; list-style: none; }
.ndf a { text-decoration: none; color: inherit; }

/* Contatti */
.ndf-card {
	display: flex;
	align-items: center;
	gap: 16px;
	border-radius: 12px;
	transition: background-color .2s ease;
}
.ndf-ic {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	color: #E19324;
	background: rgba(225, 147, 36, .12);
	border: 1px solid rgba(225, 147, 36, .4);
	transition: background-color .2s ease, color .2s ease;
}
.ndf .ndf-ic svg { color: inherit !important; }
.ndf-ic svg { width: 22px; height: 22px; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ndf-tx { display: flex; flex-direction: column; min-width: 0; }
.ndf-lb {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #9aa1ab;
	line-height: 1.4;
}
.ndf-vl {
	font-size: 17px;
	color: #eef0f3;
	line-height: 1.45;
	transition: color .2s ease;
}
.ndf-card:hover .ndf-ic,
.ndf-card:focus-visible .ndf-ic { background: #E19324; color: #1c1f24; }
.ndf-card:hover .ndf-vl,
.ndf-card:focus-visible .ndf-vl { color: #ffffff; }
.ndf-card:focus-visible { outline: 2px solid #E19324; outline-offset: 4px; }

/* Riga copyright */
.ndf-bar { border-top: 1px solid rgba(255, 255, 255, .09); }
.ndf-copy { font-size: 14px; line-height: 1.6; color: #8f96a0; }
.ndf-brand { color: #8f96a0; font-weight: 600; }
.ndf-brand .ndf-o { color: #E19324; }
.ndf-brand .ndf-dot { color: #8f96a0; }
.ndf-sep { color: #5d636c; padding: 0 8px; }
.ndf-copy a { color: #c3c8cf; border-bottom: 1px solid rgba(225, 147, 36, .5); transition: color .2s ease, border-color .2s ease; }
.ndf-copy a:hover { color: #E19324; border-color: #E19324; }

/* Desktop (variante 1280px) */
.ndf--d { width: 1280px; padding: 0 40px; }
.ndf--d .ndf-cards { display: flex; justify-content: space-between; align-items: center; height: 128px; }
.ndf--d .ndf-cards > li { flex: 1 1 auto; display: flex; justify-content: center; }
.ndf--d .ndf-vl { white-space: nowrap; }
.ndf--d .ndf-cards > li:first-child { justify-content: flex-start; }
.ndf--d .ndf-cards > li:last-child { justify-content: flex-end; }
.ndf--d .ndf-cards > li + li { border-left: 1px solid rgba(255, 255, 255, .08); }
.ndf--d .ndf-card { padding: 8px 12px; margin: 0 -12px; }
.ndf--d .ndf-cards > li:not(:first-child):not(:last-child) .ndf-card { margin: 0; }
.ndf--d .ndf-bar { display: flex; align-items: center; justify-content: center; height: 66px; }

/* Mobile (variante 480px, scalata dal browser) */
.ndf--m { width: 480px; padding: 0 28px; }
.ndf--m .ndf-cards { padding: 34px 0 18px; }
.ndf--m .ndf-cards > li + li { border-top: 1px solid rgba(255, 255, 255, .08); }
.ndf--m .ndf-card { padding: 18px 4px; gap: 18px; }
.ndf--m .ndf-ic { width: 54px; height: 54px; }
.ndf--m .ndf-ic svg { width: 24px; height: 24px; }
.ndf--m .ndf-lb { font-size: 14px; }
.ndf--m .ndf-vl { font-size: 20px; }
.ndf--m .ndf-bar { padding: 26px 0 0; text-align: center; }
.ndf--m .ndf-copy { font-size: 16px; line-height: 1.8; }
.ndf--m .ndf-copy .ndf-row { display: block; }
.ndf--m .ndf-sep { display: none; }

/* il font Open Sans incluso e' un sottoinsieme senza simboli tipografici */
.ndf .ndf-sym { font-family: Arial, Helvetica, sans-serif; }
.ndf .ndf-ic svg * { stroke: #E19324 !important; fill: none !important; transition: stroke .2s ease; }
.ndf .ndf-card:hover .ndf-ic svg *,
.ndf .ndf-card:focus-visible .ndf-ic svg * { stroke: #1c1f24 !important; }
.ndf--m .ndf-dash { display: none; }
.ndf--m .ndf-city { display: block; }
.ndf .ndf-vl span { color: inherit; }

/* Pulsante chat (Brevo) negli header: sostituisce il pulsante flottante */
.nd-chat {
	appearance: none;
	border: 0;
	margin: 0;
	padding: 0;
	font: inherit;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	box-sizing: border-box;
	border-radius: 999px;
	background: #E19324;
	color: #1c1f24;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
	transition: background-color .2s ease, transform .2s ease;
}
.nd-chat svg { display: block; width: 58%; height: 58%; fill: currentColor; }
.nd-chat svg circle { fill: #E19324; transition: fill .2s ease; }
.nd-chat:hover, .nd-chat:focus-visible { background: #f2a73c; transform: scale(1.06); }
.nd-chat:hover svg circle, .nd-chat:focus-visible svg circle { fill: #f2a73c; }
.nd-chat:focus-visible { outline: 2px solid #ffffff; outline-offset: 2px; }
/* header desktop Xara: il contenitore viene scalato dallo script insieme al menu */
.nd-chat-xr .nd-chat { width: 40px; height: 40px; }
/* lo script Xara avvolge gli elementi fissi dell'header: il pulsante deve stare sopra lo sfondo */
.xr_scstc:has(.nd-chat), .xr_stickie:has(> .nd-chat) { z-index: 1000 !important; }
.nd-chat--xr { position: relative; z-index: 1000; pointer-events: auto !important; }
