/* ==========================================================================
   NUOVA SALTINI — base                                          v1.0.0
   Si carica: ovunque. Token del progetto, testi dei moduli, chiusura, piede,
   colonna del modulo, segnaposto.

   Sopra Keyweb Flatsome Kit: colori, caratteri, misure e pulsanti sono le
   variabili del kit (--kw-…). Qui nessun colore scritto a mano fuori dai
   token, che si ricavano da quelli del kit.

   Nei blocchi la classe sta sul modulo Testo e dentro c'è testo pulito (un
   titolo, un paragrafo): queste regole vestono quello che c'è dentro, così
   chi scrive dall'editor visuale non può perdere lo stile cancellando un tag.
   ========================================================================== */

/* Token ---------------------------------------------------------------------- */

.ns-site {
	--ns-notte: color-mix(in srgb, var(--kw-scuro) 70%, #000);
	--ns-tinta: color-mix(in srgb, var(--kw-primario) 9%, #fff);
	--ns-muto: color-mix(in srgb, var(--kw-testo) 78%, #fff);
	--ns-chiaro: color-mix(in srgb, var(--kw-carta) 72%, var(--kw-scuro));
	--ns-filetto-scuro: rgba(255, 255, 255, .16);
	--ns-i-scudo: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%202.5%204.5%205.5v6c0%205%203.4%208.6%207.5%2010%204.1-1.4%207.5-5%207.5-10v-6z'/%3E%3Cpath%20d='m8.5%2012%202.5%202.5%204.5-5'/%3E%3C/svg%3E");
	--ns-i-pianta: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='4.5'%20width='18'%20height='16'%20rx='1'/%3E%3Cpath%20d='M3%209h18M8%202.5v4M16%202.5v4M7%2013h3v3H7zM13%2013h4M13%2016h4'/%3E%3C/svg%3E");
	--ns-i-cnc: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='3.5'/%3E%3Cpath%20d='M12%202.5v3M12%2018.5v3M2.5%2012h3M18.5%2012h3M5.3%205.3l2.1%202.1M16.6%2016.6l2.1%202.1M5.3%2018.7l2.1-2.1M16.6%207.4l2.1-2.1'/%3E%3C/svg%3E");
	--ns-i-cronometro: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='13.5'%20r='8'/%3E%3Cpath%20d='M12%2013.5l3.5-4M10%202.5h4M12%202.5v3'/%3E%3C/svg%3E");
	--ns-i-ingranaggio: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%202.5l2%202.6%203.2-.7.7%203.2%202.6%202-1.4%203%201.4%202.9-2.6%202-.7%203.2-3.2-.7-2%202.6-2-2.6-3.2.7-.7-3.2-2.6-2%201.4-3-1.4-3%202.6-2%20.7-3.2%203.2.7z'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='3.5'/%3E%3C/svg%3E");
	--ns-i-verifica: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M6%202.5h9l4%204v15H6z'/%3E%3Cpath%20d='M15%202.5v4h4M9%2012l2%202%204-4M9%2017.5h7'/%3E%3C/svg%3E");
	--ns-i-tecnico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%202.5l2.4%202.4h3.6v3.6L20.5%2011%2018%2013.4V17h-3.6L12%2019.5%209.6%2017H6v-3.6L3.5%2011%206%208.5V4.9h3.6z'/%3E%3Cpath%20d='m9%2011%202%202%204-4'/%3E%3C/svg%3E");
	--ns-i-scheda: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M6%202.5h9l4%204v15H6z'/%3E%3Cpath%20d='M15%202.5v4h4M9%2017l6-6M9.5%2012.5a1%201%200%201%200%200-.1M14.5%2017.5a1%201%200%201%200%200-.1'/%3E%3C/svg%3E");
	--ns-i-campione: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.5%208%2012%203.5%2020.5%208%2012%2012.5z'/%3E%3Cpath%20d='M3.5%208v8L12%2020.5%2020.5%2016V8M12%2012.5v8'/%3E%3C/svg%3E");
	--ns-i-cuffie: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.5%2014v-2a7.5%207.5%200%200%201%2015%200v2'/%3E%3Crect%20x='3'%20y='13'%20width='4'%20height='6'%20rx='1.2'/%3E%3Crect%20x='17'%20y='13'%20width='4'%20height='6'%20rx='1.2'/%3E%3Cpath%20d='M19%2019c0%201.7-1.8%202.5-5%202.5h-2'/%3E%3C/svg%3E");
	--ns-i-sede: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021.5s-7-6.2-7-11.5a7%207%200%200%201%2014%200c0%205.3-7%2011.5-7%2011.5z'/%3E%3Ccircle%20cx='12'%20cy='10'%20r='2.5'/%3E%3C/svg%3E");
	--ns-i-telefono: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%203.5h3.5l1.8%204.5-2.3%201.4a11%2011%200%200%200%206.6%206.6l1.4-2.3%204.5%201.8V19a1.5%201.5%200%200%201-1.6%201.5A16.5%2016.5%200%200%201%203.5%205.1%201.5%201.5%200%200%201%205%203.5z'/%3E%3C/svg%3E");
	--ns-i-posta: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='5'%20width='18'%20height='14'%20rx='1'/%3E%3Cpath%20d='m3%206.5%209%207%209-7'/%3E%3C/svg%3E");
	--ns-i-orario: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='8.5'/%3E%3Cpath%20d='M12%207.5V12l3%202'/%3E%3C/svg%3E");
	--ns-i-spunta: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m4.5%2012.5%204.5%204.5%2010-10'/%3E%3C/svg%3E");
	--ns-i-freccia: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%2012h17M14%206l6%206-6%206'/%3E%3C/svg%3E");
}

/* Icona come maschera: prende il colore del testo. Ogni foglio aggiunge qui
   i suoi selettori con la variabile --ns-i. */
.ns-site .ns-maschera,
.ns-site .ns-fatto > .col-inner::before,
.ns-site .ns-plus__voce > .col-inner::before,
.ns-site .ns-risorsa > .col-inner::before,
.ns-site .ns-recapito p::before,
.ns-site .ns-garanzie li::before {
	display: block;
	flex: none;
	background: currentColor;
	content: '';
	-webkit-mask: var(--ns-i, var(--ns-i-spunta)) center / contain no-repeat;
	mask: var(--ns-i, var(--ns-i-spunta)) center / contain no-repeat;
}

/* Testi dei moduli -------------------------------------------------------------- */

.ns-site .ns-titolo :is(h1, h2, h3, h4) {
	margin: 0 0 .5em;
	color: var(--kw-titolo-scuro);
	font-family: var(--kw-serif);
	font-weight: 600;
	letter-spacing: -.015em;
	line-height: 1.12;
	text-transform: none;
}

.ns-site .ns-titolo h1 { font-size: var(--kw-h1); }
.ns-site .ns-titolo h2 { font-size: var(--kw-h2); }
.ns-site .ns-titolo h3 { font-size: var(--kw-h3); }
.ns-site .ns-titolo--piccolo h3 { font-size: 1.3rem; }
.ns-site .dark .ns-titolo :is(h1, h2, h3, h4) { color: var(--kw-titolo-chiaro); }

.ns-site .ns-occhiello p {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	color: var(--kw-primario-sc);
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.ns-site .ns-occhiello p::before {
	width: 28px;
	height: 1px;
	background: currentColor;
	content: '';
}

.ns-site .ns-testo p,
.ns-site .ns-campo--testo p,
.ns-site .ns-campo--testo li {
	max-width: 62ch;
	color: var(--kw-testo);
	font-size: var(--kw-testo-misura);
	line-height: 1.7;
}

.ns-site .ns-lead p {
	max-width: 46ch;
	margin-bottom: 30px;
	color: var(--kw-testo);
	font-size: calc(var(--kw-testo-misura) * 1.12);
	line-height: 1.55;
}

.ns-site .ns-piccolo p {
	margin: 0 0 .8em;
	color: var(--ns-muto);
	font-size: .84rem;
	line-height: 1.5;
}

.ns-site .ns-nota p {
	margin-top: .8rem;
	color: var(--ns-muto);
	font-size: .8rem;
}

.ns-site .dark :is(.ns-occhiello, .ns-testo, .ns-lead, .ns-piccolo) p { color: var(--ns-chiaro); }
.ns-site .dark .kw-link,
.ns-site .ns-link-chiaro.kw-link { color: #fff; }

/* Segnaposto dei campi e dei moduli: solo nel builder e per chi modifica. */
.ns-site .ns-segnaposto {
	padding: 18px 20px;
	border: 1px dashed currentColor;
	color: var(--ns-muto);
	font-size: .82rem;
	opacity: .85;
}

/* Foto che riempiono la colonna, qualunque proporzione abbiano. */
.ns-site .ns-foto-cover,
.ns-site .ns-foto-cover .img-inner { height: 100%; }

.ns-site .ns-foto-cover img {
	width: 100%;
	height: 100%;
	min-height: 340px;
	border-radius: var(--kw-raggio);
	object-fit: cover;
}

/* Colonna con il modulo: la classe kw-form accende lo stile del kit; lo
   sfondo va sull'interno, o la colonna perde i margini della griglia. */
.ns-site .col.kw-form {
	padding: 0 15px 30px;
	background: none;
}

.ns-site .col.kw-form > .col-inner {
	padding: clamp(28px, 4vw, 52px);
	border-radius: var(--kw-raggio);
	background: var(--kw-carta);
}

/* Chiusura (blocco kw-chiusura del kit) ---------------------------------------- */

.ns-site .ns-chiusura .section-bg::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, var(--kw-scuro) 0%, color-mix(in srgb, var(--kw-scuro) 70%, transparent) 45%, transparent 85%);
	content: '';
}

.ns-site .ns-chiusura .ns-titolo h2 { max-width: 16ch; }

.ns-site .ns-chiusura__azioni .col-inner {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.ns-site .ns-chiusura__azioni .button { margin: 0; }

/* Piede ------------------------------------------------------------------------- */

.ns-site .ns-piede .logo img,
.ns-site .ns-piede .header_logo {
	max-height: 64px;
	padding: 10px 14px;
	border-radius: 2px;
	background: #fff;
}

.ns-site .ns-piede__titolo p {
	margin: 0 0 1rem;
	color: #fff;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ns-site .ns-piede__menu .ux-menu-link__link {
	min-height: 0;
	padding: .3em 0;
	border: 0;
	color: var(--ns-chiaro);
	font-size: .88rem;
}

.ns-site .ns-piede__menu .ux-menu-link__link:hover { color: #fff; }

.ns-site .ns-piede__recapiti p {
	color: var(--ns-chiaro);
	font-size: .9rem;
	line-height: 1.75;
}

.ns-site .ns-piede__recapiti a { color: #fff; }

.ns-site .row.ns-piede__fondo {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid var(--ns-filetto-scuro);
}

.ns-site .ns-piede__legale p {
	margin: 0;
	color: var(--ns-chiaro);
	font-size: .78rem;
}

.ns-site .ns-piede__menu--riga {
	display: flex;
	justify-content: flex-end;
	gap: 1.6rem;
}

.ns-site .ns-piede__menu--riga .ux-menu-link__link { font-size: .78rem; }

/* Piccoli schermi e movimento ridotto --------------------------------------------- */

@media (max-width: 849px) {
	.ns-site .ns-foto-cover img { min-height: 0; aspect-ratio: 16 / 10; }
	.ns-site .ns-piede__menu--riga { justify-content: flex-start; }
}
