/* Macrotec Preventivi — modulo contatti [macrotec_contatti]. Carattere ereditato dal tema (Lato). */
.mtp-contatti { --mtp-ct-accento: var(--wp--preset--color--accent, #1f5fa0); --mtp-ct-accento-scuro: var(--wp--preset--color--accent-dark, #164878); position: relative; }
.mtp-contatti__form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; margin: 0; }
.mtp-contatti__campo { min-width: 0; }
.mtp-contatti__campo--pieno { grid-column: 1 / -1; }
.mtp-contatti [hidden] { display: none !important; }
.mtp-contatti label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.mtp-contatti__obbl { color: var(--mtp-ct-accento); }
.mtp-contatti input[type="text"], .mtp-contatti input[type="email"], .mtp-contatti input[type="tel"],
.mtp-contatti select, .mtp-contatti textarea {
	display: block; width: 100%; box-sizing: border-box; margin: 0; padding: 11px 12px;
	border: 1px solid #d7dadd; border-radius: 4px; background: #fff; color: inherit;
	font: inherit; font-size: 16px; line-height: 1.4;
}
.mtp-contatti textarea { min-height: 150px; resize: vertical; }
.mtp-contatti input:focus, .mtp-contatti select:focus, .mtp-contatti textarea:focus {
	outline: 2px solid var(--mtp-ct-accento); outline-offset: -1px; border-color: var(--mtp-ct-accento);
}
.mtp-contatti [aria-invalid="true"] { border-color: #b3261e; }
.mtp-contatti label.mtp-contatti__check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.mtp-contatti__check input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--mtp-ct-accento); }
.mtp-contatti__check a { color: var(--mtp-ct-accento); }
/* Campo trappola: fuori dallo schermo, non «display:none» (alcuni robot lo saltano). */
.mtp-contatti__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mtp-contatti__invia {
	display: inline-block; padding: 14px 30px; border: 1px solid var(--mtp-ct-accento); border-radius: 40px;
	background: var(--mtp-ct-accento); color: #fff; cursor: pointer;
	font: inherit; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.mtp-contatti__invia:hover, .mtp-contatti__invia:focus-visible { background: var(--mtp-ct-accento-scuro); border-color: var(--mtp-ct-accento-scuro); }
.mtp-contatti__invia:focus-visible { outline: 2px solid var(--mtp-ct-accento); outline-offset: 2px; }
.mtp-contatti__invia[disabled] { opacity: .65; cursor: wait; }
.mtp-contatti__legenda { margin: 10px 0 0; font-size: 13px; opacity: .75; }
.mtp-contatti__esito { display: none; margin: 0; padding: 14px 16px; border-radius: 4px; font-size: 15px; background: #e8f0f8; }
.mtp-contatti__esito.is-visibile, .mtp-contatti noscript .mtp-contatti__esito { display: block; }
.mtp-contatti__esito.is-ok { background: #e7f4ea; color: #1d5a2c; }
.mtp-contatti__esito.is-errore { background: #fdecea; color: #8a1f11; }

@media (max-width: 700px) {
	.mtp-contatti__form { grid-template-columns: 1fr; }
}
