/* Contatti: recapiti e modulo di richiesta. */
.contatto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:64px;align-items:start}
.contatto-testo{display:flex;flex-direction:column;gap:20px}
.contatto-testo p{margin:0;color:var(--grafite);font-size:19px;max-width:40ch}
.recapito{display:flex;flex-direction:column;gap:4px;padding-top:20px;border-top:1px solid var(--traccia)}
.recapito strong{font-family:var(--f-dati);font-weight:500;font-size:20px;color:var(--carta);user-select:all}
form.modulo{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:32px;background:var(--lavagna);border:1px solid var(--traccia);border-radius:4px}
.campo{display:flex;flex-direction:column;gap:8px;min-width:0}
.campo.pieno{grid-column:1 / -1}
.campo label{font-size:14px;font-weight:600}
.campo label span{font-weight:400;color:var(--grafite)}
.campo input,.campo textarea,.campo select{width:100%;min-height:48px;padding:12px 14px;background:var(--campo);color:var(--carta);border:1px solid var(--campo-bordo);border-radius:4px;font-family:var(--f-testo);font-size:16px}
.campo textarea{min-height:130px;resize:vertical}
.campo input:focus,.campo textarea:focus,.campo select:focus{border-color:var(--china);outline:none}
.esito{grid-column:1 / -1;margin:0;font-family:var(--f-dati);font-size:14px;color:var(--grafite)}
@media (max-width:900px){
  .contatto{grid-template-columns:minmax(0,1fr);gap:40px}
  form.modulo{grid-template-columns:minmax(0,1fr);padding:20px}
}
.esca{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.informativa{grid-column:1 / -1;margin:0;font-size:14px;color:var(--grafite)}
.informativa a{color:var(--carta)}
.esito.errore{color:var(--segnale-vivo)}
.campo[hidden]{display:none}
.conferma label strong{font-weight:600;color:var(--carta)}
.conferma input{max-width:140px}
