/* ==========================================================================
   HOME — VARIANTI GRAFICHE A CONFRONTO (TEMPORANEO) — 2ª tornata
   Attive con ?v=1|2|3 SOLO sulla home (render-page-builder.php aggiunge la
   classe .home-vN al wrapper). Contenuti IDENTICI: nessuna modifica ai dati
   ACF né ai template dei moduli (condivisi con le pagine prodotto).

   TRE LINGUAGGI VISIVI DISTINTI (non 3 sfumature dello stesso):
     v1 EDITORIALE — tipografia protagonista, nessun riquadro, filetti sottili,
                     molta aria, allineamenti netti.
     v2 TECNICO    — riferimento al disegno tecnico: riquadri squadrati, bordi
                     1px, etichette maiuscole, schede dati, carta millimetrata.
     v3 CONTRASTO  — fasce piene (nero/giallo), tipografia grande, immagini su
                     "lastre" bianche, forte impatto.

   CORREZIONI RICHIESTE, valide in TUTTE le varianti:
     M21  → via lo sfondo grigio; immagini acquerello PIÙ GRANDI e sempre in
            object-fit:contain (MAI tagliate); liste icone ripensate.
     M7   → citazione molto più grande, resto della sezione riarmonizzato.
     M2   → niente pulsante blu appeso in basso a destra; certificazioni
            progettate (non più in flusso column-count).
     M20  → resa più curata.
     Real.→ CTA sempre allineata a destra.

   Da rimuovere (file + enqueue in inc/enqueue-scripts.php + blocco in
   render-page-builder.php) quando le varianti saranno scelte.
   ========================================================================== */

/* --- badge indicatore variante ------------------------------------------- */
.home-variant-badge {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 9999;
	background: #1d1d1d;
	color: #fff;
	font-size: 12px;
	line-height: 1;
	padding: 8px 12px;
	border-radius: 4px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
	pointer-events: none;
}
.home-variant-badge code {
	background: rgba(255, 255, 255, 0.14);
	padding: 2px 5px;
	border-radius: 3px;
	font-size: 11px;
}

/* =========================================================================
   M21 — PANNELLI PRODOTTO
   BASE COMUNE: niente sfondo grigio, immagini grandi e MAI tagliate.
   ========================================================================= */
.home-redesign .module-m21-pannelli {
	display: grid;
	gap: 0;
	grid-template-columns: 1fr;
}
.home-redesign .module-m21-pannelli .module-m21-panel {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	background: transparent !important;
}
.home-redesign .module-m21-pannelli .module-m21-panel:hover { transform: none; }
.home-redesign .module-m21-pannelli .clear { display: none; }
/* L'ancora (#cosa-facciamo) è figlia diretta: in grid occuperebbe una cella. */
.home-redesign .module-m21-pannelli > .module-anchor {
	grid-column: 1 / -1;
	height: 0;
	line-height: 0;
}
/* REGOLA FERREA: gli acquerelli tecnici non si tagliano mai. */
.home-redesign .module-m21-pannelli .module-m21-figure img {
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
}
.home-redesign .module-m21-pannelli .module-m21-content { max-width: none; }

/* ---- M21 v1 — EDITORIALE: due colonne separate da un filetto ----------- */
@media screen and (min-width: 900px) {
	.home-v1 .module-m21-pannelli { grid-template-columns: 1fr 1fr; }
	.home-v1 .module-m21-pannelli .module-m21-panel + .module-m21-panel {
		border-left: 1px solid var(--imt-line, #e5e5e5);
	}
}
.home-v1 .module-m21-pannelli .module-m21-panel { padding: 0 3rem 1rem !important; }
.home-v1 .module-m21-pannelli .module-m21-figure {
	height: 400px;
	margin: 0 0 2.5rem !important;
}
.home-v1 .module-m21-pannelli .mainTitle2 {
	font-size: clamp(1.8rem, 1.2rem + 1.8vw, 2.6rem) !important;
	font-weight: 300 !important;
	margin-bottom: 1.25rem;
}
.home-v1 .module-m21-pannelli .module-text { max-width: 46ch; }
.home-v1 .module-m21-pannelli .module-m21-list { margin-top: 2rem; }
.home-v1 .module-m21-pannelli .module-m21-list li {
	border-top: 1px solid var(--imt-line, #e5e5e5);
	padding: 1rem 0 !important;
	align-items: center !important;
	font-size: 1.02rem;
	line-height: 1.45;
}
.home-v1 .module-m21-pannelli .module-m21-list i {
	font-size: 22px !important;
	color: var(--imt-yellow-dark, #8a7100) !important;
}
/* CTA editoriale: link tipografico, non bottone pieno */
.home-v1 .module-m21-pannelli .buttoncontainer .button {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid var(--imt-yellow, #fed100) !important;
	color: var(--imt-black, #1d1d1d) !important;
	padding: 0 0 6px !important;
	display: inline-block;
}
.home-v1 .module-m21-pannelli .buttoncontainer .button:hover {
	border-bottom-color: var(--imt-black, #1d1d1d) !important;
}

/* ---- M21 v2 — TECNICO: schede squadrate su carta millimetrata --------- */
@media screen and (min-width: 900px) {
	.home-v2 .module-m21-pannelli { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
.home-v2 .module-m21-pannelli { gap: 1.5rem; }
.home-v2 .module-m21-pannelli .module-m21-panel {
	border: 1px solid var(--imt-black, #1d1d1d);
	background: #fff !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
}
.home-v2 .module-m21-pannelli .module-m21-figure {
	height: 380px;
	margin: 0 !important;
	padding: 1.5rem;
	border-bottom: 1px solid var(--imt-black, #1d1d1d);
	background-color: #fff;
	background-image:
		linear-gradient(rgba(29, 29, 29, 0.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(29, 29, 29, 0.055) 1px, transparent 1px);
	background-size: 22px 22px;
}
.home-v2 .module-m21-pannelli .module-m21-content { padding: 2rem 2rem 2.25rem; }
.home-v2 .module-m21-pannelli .imt-kicker {
	padding-left: 0;
	color: var(--imt-black, #1d1d1d);
	font-size: 0.7rem;
	letter-spacing: 0.22em;
}
.home-v2 .module-m21-pannelli .imt-kicker::before {
	position: static;
	display: inline-block;
	width: 9px;
	height: 9px;
	margin: 0 8px 0 0;
	background: var(--imt-yellow, #fed100);
}
/* Lista come tabella di specifiche tecniche */
.home-v2 .module-m21-pannelli .module-m21-list {
	border-top: 1px solid var(--imt-black, #1d1d1d);
	margin-top: 1.75rem;
}
.home-v2 .module-m21-pannelli .module-m21-list li {
	align-items: center !important;
	gap: 1rem !important;
	padding: 0.85rem 0 !important;
	border-bottom: 1px dotted rgba(29, 29, 29, 0.25);
	font-size: 0.95rem;
	line-height: 1.4;
}
.home-v2 .module-m21-pannelli .module-m21-list i {
	font-size: 20px !important;
	color: var(--imt-black, #1d1d1d) !important;
	width: 40px;
	height: 40px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--imt-black, #1d1d1d);
}
.home-v2 .module-m21-pannelli .buttoncontainer { margin-top: 1.75rem; }
.home-v2 .module-m21-pannelli .buttoncontainer .button {
	display: block;
	text-align: center;
	border: 1px solid var(--imt-black, #1d1d1d) !important;
	background: transparent !important;
	color: var(--imt-black, #1d1d1d) !important;
	padding: 14px 20px !important;
}
.home-v2 .module-m21-pannelli .buttoncontainer .button:hover {
	background: var(--imt-yellow, #fed100) !important;
}

/* ---- M21 v3 — CONTRASTO: fascia scura, immagini su lastra bianca ------ */
.home-v3 .module-m21-pannelli {
	background-color: #1d1d1d;
	box-shadow: 0 0 0 100vmax #1d1d1d;
	clip-path: inset(0 -100vmax);
	gap: 3rem;
	padding-left: 4%;
	padding-right: 4%;
}
@media screen and (min-width: 900px) {
	.home-v3 .module-m21-pannelli { grid-template-columns: 1fr 1fr; }
}
.home-v3 .module-m21-pannelli .module-m21-panel { padding: 0 !important; }
/* La "lastra" bianca tiene leggibile l'acquerello su fondo scuro */
.home-v3 .module-m21-pannelli .module-m21-figure {
	height: 400px;
	margin: 0 0 2rem !important;
	background: #fff;
	padding: 2rem;
}
.home-v3 .module-m21-pannelli .imt-kicker { color: var(--imt-yellow, #fed100); }
.home-v3 .module-m21-pannelli .imt-kicker::before { background: var(--imt-yellow, #fed100); }
.home-v3 .module-m21-pannelli .mainTitle2 {
	color: #fff !important;
	font-size: clamp(1.9rem, 1.3rem + 1.9vw, 2.75rem) !important;
}
.home-v3 .module-m21-pannelli .module-text { color: #cfcfcf; }
.home-v3 .module-m21-pannelli .module-m21-list li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
	padding: 0.9rem 0 !important;
	align-items: center !important;
	color: #fff;
}
.home-v3 .module-m21-pannelli .module-m21-list i {
	color: var(--imt-yellow, #fed100) !important;
	font-size: 26px !important;
}
.home-v3 .module-m21-pannelli .buttoncontainer .button {
	background: var(--imt-yellow, #fed100) !important;
	border-color: var(--imt-yellow, #fed100) !important;
	color: #1d1d1d !important;
}

/* =========================================================================
   M7 — PROCESSO: la citazione diventa protagonista in tutte le varianti
   ========================================================================= */
/* Il blocco citazione è un .container annidato dentro un altro .container:
   togliamo i gutter doppi così la frase può respirare davvero. */
.home-redesign .module-m7-processo > .module-m2-quote {
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100%;
}

/* ---- M7 v1 — EDITORIALE: frase enorme, fasi ridotte a filetti ---------- */
.home-v1 .module-m7-processo .module-m2-quote-text {
	font-size: clamp(1.9rem, 1.25rem + 2.5vw, 3.4rem) !important;
	font-weight: 300 !important;
	line-height: 1.18 !important;
	max-width: 20ch;
	margin-inline: auto;
}
.home-v1 .module-m7-processo .module-m2-quote-text mark::after {
	height: 0.3em !important;
	bottom: 0.04em !important;
}
.home-v1 .module-m7-processo .module-m2-quote-body {
	font-size: 1.05rem !important;
	max-width: 62ch !important;
	margin-top: 2rem;
}
.home-v1 .module-m7-processo { gap: 2.5rem !important; }
.home-v1 .module-m7-processo article {
	text-align: left !important;
	border-top: 2px solid var(--imt-black, #1d1d1d);
	padding-top: 1.25rem !important;
}
.home-v1 .module-m7-processo article::before { display: none !important; }
.home-v1 .module-m7-processo article .module-col-icon { margin: 0 0 0.75rem !important; }
.home-v1 .module-m7-processo article .module-col-icon i {
	width: auto !important;
	height: auto !important;
	background: transparent !important;
	border: 0 !important;
	font-size: 1.9rem !important;
	color: var(--imt-yellow-dark, #8a7100) !important;
}
.home-v1 .module-m7-processo article .imt-h3,
.home-v1 .module-m7-processo article .module-text { text-align: left !important; }
.home-v1 .module-m7-processo .module-m8-cta .button {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid var(--imt-yellow, #fed100) !important;
	padding: 0 0 6px !important;
	margin: 0 1.5rem;
	color: var(--imt-black, #1d1d1d) !important;
}

/* ---- M7 v2 — TECNICO: frase incorniciata, fasi come nodi numerati ------ */
.home-v2 .module-m7-processo .module-m2-quote {
	border-top: 1px solid var(--imt-black, #1d1d1d);
	border-bottom: 1px solid var(--imt-black, #1d1d1d);
	padding-top: 2.5rem !important;
	padding-bottom: 2.5rem !important;
	margin-bottom: 3.5rem !important;
}
.home-v2 .module-m7-processo .module-m2-quote-text {
	font-size: clamp(1.7rem, 1.15rem + 2.2vw, 3rem) !important;
	line-height: 1.22 !important;
	max-width: 22ch;
	margin-inline: auto;
}
.home-v2 .module-m7-processo .module-m2-quote-text mark::after {
	height: 0.28em !important;
	bottom: 0.04em !important;
}
.home-v2 .module-m7-processo .module-m2-quote-body { font-size: 1rem !important; max-width: 64ch !important; }
.home-v2 .module-m7-processo { counter-reset: fase; gap: 0 !important; }
.home-v2 .module-m7-processo article { padding: 0 1.25rem !important; }
.home-v2 .module-m7-processo article .module-col-icon { counter-increment: fase; position: relative; }
.home-v2 .module-m7-processo article .module-col-icon i {
	border-radius: 0 !important;
	width: 72px !important;
	height: 72px !important;
	background: #fff !important;
	border: 1px solid var(--imt-black, #1d1d1d) !important;
}
.home-v2 .module-m7-processo article .module-col-icon::after {
	content: "0" counter(fase);
	display: block;
	margin-top: 0.75rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: var(--imt-yellow-dark, #8a7100);
}
@media screen and (min-width: 1024px) {
	.home-v2 .module-m7-processo article::before {
		border-top: 1px dashed rgba(29, 29, 29, 0.35) !important;
		background: none !important;
		height: 0 !important;
		top: 36px !important;
	}
}
.home-v2 .module-m7-processo article .imt-h3 { font-size: 0.95rem !important; }
.home-v2 .module-m7-processo .module-m8-cta .button {
	border: 1px solid var(--imt-black, #1d1d1d) !important;
	background: transparent !important;
	color: var(--imt-black, #1d1d1d) !important;
	padding: 14px 26px !important;
}
.home-v2 .module-m7-processo .module-m8-cta .button:hover { background: var(--imt-yellow, #fed100) !important; }

/* ---- M7 v3 — CONTRASTO: fascia scura, frase gigante ------------------- */
.home-v3 .module-m7-processo {
	background-color: #1d1d1d;
	box-shadow: 0 0 0 100vmax #1d1d1d;
	clip-path: inset(0 -100vmax);
}
.home-v3 .module-m7-processo .module-m2-quote-text {
	color: #fff !important;
	font-size: clamp(2rem, 1.3rem + 2.7vw, 3.6rem) !important;
	font-weight: 300 !important;
	line-height: 1.15 !important;
	max-width: 19ch;
	margin-inline: auto;
}
.home-v3 .module-m7-processo .module-m2-quote-text mark {
	color: #1d1d1d !important;
	padding: 0 0.18em !important;
}
.home-v3 .module-m7-processo .module-m2-quote-text mark::after {
	height: 100% !important;
	bottom: 0 !important;
	opacity: 1 !important;
	z-index: -1;
}
.home-v3 .module-m7-processo .module-m2-quote-body { color: #c4c4c4 !important; max-width: 62ch !important; margin-top: 2rem; }
.home-v3 .module-m7-processo article .module-col-icon i {
	background: var(--imt-yellow, #fed100) !important;
	border-color: var(--imt-yellow, #fed100) !important;
	color: #1d1d1d !important;
	width: 88px !important;
	height: 88px !important;
	font-size: 2rem !important;
}
.home-v3 .module-m7-processo article .imt-h3 { color: #fff !important; }
.home-v3 .module-m7-processo article .module-text { color: #b8b8b8 !important; }
@media screen and (min-width: 1024px) {
	.home-v3 .module-m7-processo article::before {
		background: rgba(255, 255, 255, 0.18) !important;
		top: 44px !important;
	}
}
.home-v3 .module-m7-processo .module-m8-cta .button {
	background: var(--imt-yellow, #fed100) !important;
	border-color: var(--imt-yellow, #fed100) !important;
	color: #1d1d1d !important;
}

/* =========================================================================
   M2 — SOSTENIBILITÀ E CERTIFICAZIONI
   BASE COMUNE: il pulsante non resta più appeso in basso a destra e le due
   certificazioni escono dal flusso column-count per diventare un blocco vero.
   ========================================================================= */
.home-redesign .module-m2-testo:has(#sostenibilita) .module-m2-header {
	display: block !important;
}
.home-redesign .module-m2-testo:has(#sostenibilita) .module-m16-cards {
	column-count: auto !important;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media screen and (min-width: 768px) {
	.home-redesign .module-m2-testo:has(#sostenibilita) .module-m16-cards {
		grid-template-columns: 1fr 1fr;
	}
}
.home-redesign .module-m2-testo:has(#sostenibilita) .module-benefit {
	margin-bottom: 0 !important;
}

/* ---- M2-sost v1 — EDITORIALE: due voci a filetto, CTA a sinistra ------- */
.home-v1 .module-m2-testo:has(#sostenibilita) .module-title { max-width: 24ch; }
.home-v1 .module-m2-testo:has(#sostenibilita) .module-text > p { max-width: 68ch; }
.home-v1 .module-m2-testo:has(#sostenibilita) .module-m16 { margin-top: 3rem !important; }
.home-v1 .module-m2-testo:has(#sostenibilita) .module-m16-cards { gap: 0 3.5rem; }
.home-v1 .module-m2-testo:has(#sostenibilita) .module-benefit {
	border-top: 2px solid var(--imt-black, #1d1d1d);
	padding-top: 1.25rem;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 1rem;
}
.home-v1 .module-m2-testo:has(#sostenibilita) .module-benefit-icon { margin: 0 !important; }
.home-v1 .module-m2-testo:has(#sostenibilita) .module-benefit-icon i {
	font-size: 2rem !important;
	color: var(--imt-yellow-dark, #8a7100);
}
.home-v1 .module-m2-testo:has(#sostenibilita) .module-m2-cta { margin-top: 2.5rem; }
.home-v1 .module-m2-testo:has(#sostenibilita) .module-m2-cta .button {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid var(--imt-blue, #155b99) !important;
	color: var(--imt-blue, #155b99) !important;
	padding: 0 0 6px !important;
}

/* ---- M2-sost v2 — TECNICO: due certificati incorniciati --------------- */
.home-v2 .module-m2-testo:has(#sostenibilita) .module-text > p { max-width: 70ch; }
.home-v2 .module-m2-testo:has(#sostenibilita) .module-m16 { margin-top: 2.5rem !important; }
.home-v2 .module-m2-testo:has(#sostenibilita) .module-m16-cards { gap: 1.5rem; }
.home-v2 .module-m2-testo:has(#sostenibilita) .module-benefit {
	border: 1px solid var(--imt-black, #1d1d1d);
	padding: 1.75rem;
	position: relative;
	background: #fff;
}
/* angolo tecnico giallo */
.home-v2 .module-m2-testo:has(#sostenibilita) .module-benefit::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 22px;
	height: 22px;
	background: var(--imt-yellow, #fed100);
}
.home-v2 .module-m2-testo:has(#sostenibilita) .module-benefit-icon i {
	font-size: 22px !important;
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--imt-black, #1d1d1d);
	color: var(--imt-black, #1d1d1d);
}
.home-v2 .module-m2-testo:has(#sostenibilita) .module-benefit .imt-h3 {
	font-size: 1rem !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.home-v2 .module-m2-testo:has(#sostenibilita) .module-m2-cta { margin-top: 2rem; }
.home-v2 .module-m2-testo:has(#sostenibilita) .module-m2-cta .button {
	background: transparent !important;
	border: 1px solid var(--imt-black, #1d1d1d) !important;
	color: var(--imt-black, #1d1d1d) !important;
	padding: 14px 28px !important;
}
.home-v2 .module-m2-testo:has(#sostenibilita) .module-m2-cta .button:hover {
	background: var(--imt-yellow, #fed100) !important;
}

/* ---- M2-sost v3 — CONTRASTO: fascia gialla, tessere bianche ----------- */
.home-v3 .module-m2-testo:has(#sostenibilita) {
	background-color: var(--imt-yellow, #fed100);
	box-shadow: 0 0 0 100vmax var(--imt-yellow, #fed100);
	clip-path: inset(0 -100vmax);
}
.home-v3 .module-m2-testo:has(#sostenibilita) .imt-kicker { color: #1d1d1d; }
.home-v3 .module-m2-testo:has(#sostenibilita) .imt-kicker::before { background: #1d1d1d; }
.home-v3 .module-m2-testo:has(#sostenibilita) .module-title {
	color: #1d1d1d;
	font-size: clamp(1.9rem, 1.25rem + 2.2vw, 3rem);
	max-width: 20ch;
}
.home-v3 .module-m2-testo:has(#sostenibilita) .module-text { color: #3a3300; }
.home-v3 .module-m2-testo:has(#sostenibilita) .module-text > p { max-width: 66ch; }
.home-v3 .module-m2-testo:has(#sostenibilita) .module-m16 { margin-top: 2.5rem !important; }
.home-v3 .module-m2-testo:has(#sostenibilita) .module-benefit {
	background: #fff;
	padding: 1.75rem;
}
.home-v3 .module-m2-testo:has(#sostenibilita) .module-benefit-icon i {
	font-size: 2.5rem !important;
	color: #1d1d1d;
}
.home-v3 .module-m2-testo:has(#sostenibilita) .module-benefit .module-text { color: var(--imt-ink-70, #4a4a4a); }
.home-v3 .module-m2-testo:has(#sostenibilita) .module-m2-cta { margin-top: 2.5rem; }
.home-v3 .module-m2-testo:has(#sostenibilita) .module-m2-cta .button {
	background: #1d1d1d !important;
	border-color: #1d1d1d !important;
	color: #fff !important;
	padding: 14px 30px !important;
}

/* =========================================================================
   M20 — BLOG (il carosello resta gestito da Swiper: si cura la card)
   ========================================================================= */

/* ---- M20 v1 — EDITORIALE: nessuna cornice, molta aria ----------------- */
.home-v1 .module-m20-blog .imt-card-blog-inner { gap: 1.25rem !important; }
.home-v1 .module-m20-blog .imt-card-img-wrap { aspect-ratio: 4 / 3; }
.home-v1 .module-m20-blog .imt-card-img-wrap img { height: 100% !important; object-fit: cover !important; }
.home-v1 .module-m20-blog .imt-card-content .imt-kicker {
	padding-left: 0;
	color: var(--imt-ink-50, #6b6b6b);
	border-top: 2px solid var(--imt-yellow, #fed100);
	padding-top: 0.85rem;
	display: block;
}
.home-v1 .module-m20-blog .imt-card-content .imt-kicker::before { display: none; }
.home-v1 .module-m20-blog .imt-card-content .imt-h3 {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.3;
}
.home-v1 .module-m20-blog .imt-card-content .date-caption { margin: 0 0 1.25rem; }
.home-v1 .module-m20-blog .imt-card-content .simpleButton {
	border-bottom: 2px solid var(--imt-yellow, #fed100);
	padding-bottom: 4px;
}
.home-v1 .module-m20-blog .imt-card-content .simpleButton::after { content: " →"; }

/* ---- M20 v2 — TECNICO: scheda incorniciata con meta ------------------- */
.home-v2 .module-m20-blog .imt-card-blog-inner {
	border: 1px solid var(--imt-black, #1d1d1d);
	background: #fff;
	gap: 0 !important;
}
.home-v2 .module-m20-blog .imt-card-img-wrap {
	aspect-ratio: 16 / 10;
	border-bottom: 1px solid var(--imt-black, #1d1d1d);
}
.home-v2 .module-m20-blog .imt-card-img-wrap img { height: 100% !important; object-fit: cover !important; }
.home-v2 .module-m20-blog .imt-card-content { padding: 1.5rem; }
.home-v2 .module-m20-blog .imt-card-content .imt-kicker {
	padding-left: 0;
	border: 1px solid var(--imt-black, #1d1d1d);
	padding: 4px 9px;
	display: inline-block;
	font-size: 0.65rem;
	color: var(--imt-black, #1d1d1d);
}
.home-v2 .module-m20-blog .imt-card-content .imt-kicker::before { display: none; }
.home-v2 .module-m20-blog .imt-card-content .imt-h3 { font-size: 1.15rem; }
.home-v2 .module-m20-blog .imt-card-content .date-caption {
	border-top: 1px dotted rgba(29, 29, 29, 0.3);
	padding-top: 0.75rem;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.home-v2 .module-m20-blog .imt-card-content .simpleButton::after { content: " ↗"; }

/* ---- M20 v3 — CONTRASTO: card immagine con testo sovrapposto ---------- */
.home-v3 .module-m20-blog .imt-card-blog-inner {
	position: relative;
	min-height: 460px;
	gap: 0 !important;
	overflow: hidden;
	background: #1d1d1d;
}
.home-v3 .module-m20-blog .imt-card-img-wrap { position: absolute; inset: 0; height: 100%; }
.home-v3 .module-m20-blog .imt-card-img-wrap img {
	height: 100% !important;
	width: 100% !important;
	object-fit: cover !important;
	opacity: 0.82;
}
.home-v3 .module-m20-blog .imt-card-content {
	position: relative;
	z-index: 1;
	margin-top: auto;
	padding: 1.75rem;
	color: #fff;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.65) 45%, rgba(0, 0, 0, 0) 100%);
}
.home-v3 .module-m20-blog .imt-card-content .imt-kicker {
	padding-left: 0;
	background: var(--imt-yellow, #fed100);
	color: #1d1d1d;
	padding: 4px 10px;
	display: inline-block;
	font-size: 0.65rem;
}
.home-v3 .module-m20-blog .imt-card-content .imt-kicker::before { display: none; }
.home-v3 .module-m20-blog .imt-card-content .imt-h3 { font-size: 1.35rem; font-weight: 600; }
.home-v3 .module-m20-blog .imt-card-content .imt-h3 a { color: #fff !important; }
.home-v3 .module-m20-blog .imt-card-content .date-caption { color: #d0d0d0; }
.home-v3 .module-m20-blog .imt-card-content .simpleButton { color: var(--imt-yellow, #fed100); }
.home-v3 .module-m20-blog .imt-card-blog:hover .imt-card-img-wrap img { opacity: 1; }

/* =========================================================================
   REALIZZAZIONI — intro (mappa M23 esclusa)
   BASE COMUNE: la CTA è sempre allineata a destra, in modo deliberato.
   ========================================================================= */
.home-redesign .module-m2-testo:has(#realizzazioni) .module-m2-cta {
	text-align: right;
	margin-bottom: 0 !important;
}

/* ---- Realizz. v1 — EDITORIALE: CTA in alto a destra, sul titolo -------- */
@media screen and (min-width: 900px) {
	.home-v1 .module-m2-testo:has(#realizzazioni) .module-m2-header {
		align-items: flex-start !important;
	}
	.home-v1 .module-m2-testo:has(#realizzazioni) .module-m2-cta {
		align-self: flex-start !important;
		padding-top: 0.5rem;
	}
}
.home-v1 .module-m2-testo:has(#realizzazioni) .module-title {
	font-size: clamp(2rem, 1.3rem + 2.4vw, 3.2rem);
	font-weight: 300;
}
.home-v1 .module-m2-testo:has(#realizzazioni) .module-text > p { max-width: 60ch; }
.home-v1 .module-m2-testo:has(#realizzazioni) .module-m2-cta .simpleButton {
	border-bottom: 2px solid var(--imt-yellow, #fed100);
	padding-bottom: 5px;
	white-space: nowrap;
}
.home-v1 .module-m2-testo:has(#realizzazioni) .module-m2-cta .simpleButton::after { content: " →"; }

/* ---- Realizz. v2 — TECNICO: filetto superiore, CTA squadrata a destra -- */
.home-v2 .module-m2-testo:has(#realizzazioni) .module-m2-header {
	border-top: 1px solid var(--imt-black, #1d1d1d);
	padding-top: 2rem;
	align-items: flex-start !important;
}
@media screen and (min-width: 900px) {
	.home-v2 .module-m2-testo:has(#realizzazioni) .module-m2-cta { align-self: flex-start !important; }
}
.home-v2 .module-m2-testo:has(#realizzazioni) .module-text > p { max-width: 62ch; }
.home-v2 .module-m2-testo:has(#realizzazioni) .module-m2-cta .simpleButton {
	border: 1px solid var(--imt-black, #1d1d1d);
	padding: 13px 26px;
	display: inline-block;
	white-space: nowrap;
	transition: background 0.25s ease;
}
.home-v2 .module-m2-testo:has(#realizzazioni) .module-m2-cta .simpleButton:hover {
	background: var(--imt-yellow, #fed100);
}

/* ---- Realizz. v3 — CONTRASTO: fascia scura, CTA gialla a destra -------- */
.home-v3 .module-m2-testo:has(#realizzazioni) {
	background-color: #1d1d1d;
	box-shadow: 0 0 0 100vmax #1d1d1d;
	clip-path: inset(0 -100vmax);
}
.home-v3 .module-m2-testo:has(#realizzazioni) .imt-kicker { color: var(--imt-yellow, #fed100); }
.home-v3 .module-m2-testo:has(#realizzazioni) .imt-kicker::before { background: var(--imt-yellow, #fed100); }
.home-v3 .module-m2-testo:has(#realizzazioni) .module-title {
	color: #fff;
	font-size: clamp(2rem, 1.3rem + 2.5vw, 3.4rem);
	font-weight: 300;
}
.home-v3 .module-m2-testo:has(#realizzazioni) .module-text { color: #c4c4c4; }
.home-v3 .module-m2-testo:has(#realizzazioni) .module-text > p { max-width: 60ch; }
@media screen and (min-width: 900px) {
	.home-v3 .module-m2-testo:has(#realizzazioni) .module-m2-header { align-items: flex-end !important; }
}
.home-v3 .module-m2-testo:has(#realizzazioni) .module-m2-cta .simpleButton {
	background: var(--imt-yellow, #fed100);
	color: #1d1d1d;
	padding: 14px 28px;
	display: inline-block;
	white-space: nowrap;
}
