/* Echo Papa / Modulo contatti — aggiuntivo, senza alterare style.css */
#contatti .contact-card { display: block; min-width: 0; }
.ep-contact-title { margin: 0 0 1.3rem; font-size: clamp(1.15rem, 1.6vw, 1.5rem); line-height: 1.3; }
.ep-contact-form { display: grid; gap: 1rem; width: 100%; min-width: 0; }
.ep-contact-field { display: grid; gap: .42rem; min-width: 0; }
.ep-contact-field label { font-size: .96rem; font-weight: 700; line-height: 1.35; }
.ep-contact-field input, .ep-contact-field textarea {
  box-sizing: border-box; display: block; width: 100%; min-width: 0;
  padding: .8rem .9rem; font: inherit; line-height: 1.4; color: #1b2433;
  background: #fff; border: 1px solid #c9d0da; border-radius: 10px;
  transition: border-color .15s, box-shadow .15s;
}
.ep-contact-field textarea { resize: vertical; min-height: 6.5rem; }
.ep-contact-field input:focus-visible, .ep-contact-field textarea:focus-visible {
  outline: 2px solid #b8202c; outline-offset: 1px; border-color: #b8202c;
}
.ep-contact-field input[aria-invalid="true"] { border-color: #b8202c; }
.ep-optional { font-weight: 400; opacity: .7; }
.ep-contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#ep-contact-turnstile { min-height: 65px; max-width: 100%; }
.ep-contact-privacy { margin: 0; font-size: .87rem; line-height: 1.5; color: #647089; }
.ep-contact-privacy a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ep-contact-submit { width: 100%; justify-content: center; cursor: pointer; font: inherit; }
.ep-contact-submit:disabled { opacity: .6; cursor: wait; }
.ep-contact-status { margin: 0; font-size: .93rem; line-height: 1.45; }
.ep-contact-status:empty { display: none; }
.ep-contact-status[data-state="error"] { color: #a31525; }
.ep-contact-status[data-state="success"] { color: #0f7059; }
.ep-contact-alternative { border-top: 1px solid #e4e8ed; padding-top: 1.2rem; margin-top: 1.5rem; }
.ep-contact-alternative .contact-label { display: block; font-size: .85rem; margin-bottom: .5rem; }
.ep-contact-alternative .contact-email-row { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.ep-contact-alternative .contact-email { font-size: 1rem; overflow-wrap: anywhere; }
.ep-contact-alternative .copy-email { flex-shrink: 0; }
@media (max-width: 500px) { #contatti .contact-card { padding: 1.3rem; } }

/* Revisione dopo verifica di style.css: il modulo richiede piu spazio della card email. */
#contatti .contact-layout {
  grid-template-columns: minmax(0, .95fr) minmax(380px, 1.05fr);
  align-items: start;
  gap: clamp(32px, 6vw, 80px);
}
#contatti .contact-copy { padding-top: clamp(0px, 1.5vw, 18px); }
.ep-contact-alternative .contact-email-row { margin-bottom: 8px; }
.ep-contact-alternative .copy-feedback { margin: 0; min-height: 1.4em; font-size: .9rem; }
@media (max-width: 900px) {
  #contatti .contact-layout { grid-template-columns: minmax(0, 1fr); }
  #contatti .contact-copy { padding-top: 0; }
}
