/* Associazioni OS — il modulo di contatto nelle pagine del sito. Tutto sta sotto
   .aso-c; il verde arriva dalla veste (scritto dal PHP). */
.aso-c{--p-brand:#15803D;--p-scuro:#14532D;--p-chiaro:rgba(21,128,61,.10);--p-notte:#0D1912;--p-menta:#4ADE80;--p-testo:#101A14;--p-tenue:#56665C;--p-bordo:#DCE7E0;--p-riempi:#ECF3EE;--p-err:#B0243E;
  max-width:620px;margin:24px auto;background:#fff;border:1px solid rgba(14,28,36,.08);border-radius:22px;overflow:hidden;box-shadow:0 18px 40px -22px rgba(14,28,36,.35);
  font-family:var(--p-font,inherit);color:var(--p-testo);font-size:15px;line-height:1.5;text-align:left}
.aso-c *,.aso-c *::before,.aso-c *::after{box-sizing:border-box}
:where(.aso-c) button,:where(.aso-c) input,:where(.aso-c) select,:where(.aso-c) textarea{font:inherit;color:inherit;margin:0}
.aso-c-testa{display:flex;flex-direction:column;gap:3px;padding:22px 24px;background:var(--p-notte);color:#fff}
.aso-c-colore .aso-c-testa{background:var(--p-brand)}
.aso-c-chiara .aso-c-testa{background:var(--p-riempi);color:var(--p-testo)}
.aso-c-testa strong{font-size:23px;font-weight:700;letter-spacing:-.015em;line-height:1.2}
.aso-c-sopra{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.aso-c-sotto{font-size:13.5px;opacity:.85}
.aso-c-corpo{display:flex;flex-direction:column;gap:16px;padding:22px 24px}
.aso-c-griglia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.aso-c-campo{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--p-tenue)}
.aso-c-campo.largo{grid-column:1/-1}
.aso-c-input{min-height:46px;padding:10px 12px;border:1px solid var(--p-bordo);border-radius:11px;background:#fff;font-size:16px;color:var(--p-testo);width:100%}
textarea.aso-c-input{min-height:120px;resize:vertical}
.aso-c-input:focus{outline:none;border-color:var(--p-brand);box-shadow:0 0 0 3px var(--p-chiaro)}
.aso-c-input.errato{border-color:var(--p-err);box-shadow:0 0 0 3px #FBE6EA}
.aso-c-trappola{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.aso-c-consensi{display:flex;flex-direction:column;gap:10px}
.aso-c-consenso label{display:flex;align-items:flex-start;gap:10px;font-size:14px;cursor:pointer}
.aso-c-consenso input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--p-brand);flex:none}
.aso-c-leggi{display:inline-block;margin:4px 0 0 30px;padding:0;border:0;background:none;color:var(--p-scuro);font-size:13px;font-weight:600;text-decoration:underline;cursor:pointer}
.aso-c-testo{margin:8px 0 0 30px;padding:12px 14px;border-radius:12px;background:var(--p-riempi);font-size:13px;max-height:240px;overflow:auto}
.aso-c-piede{display:flex;justify-content:flex-end}
.aso-c-invia{min-height:48px;padding:0 22px;border:0;border-radius:13px;background:var(--p-menta);color:var(--p-notte);font-weight:700;font-size:15px;cursor:pointer}
.aso-c-invia[disabled]{opacity:.6;cursor:default}
.aso-c-piccolo{margin:0;color:var(--p-tenue);font-size:12.5px}
.aso-c-errore{margin:0;padding:10px 12px;border-radius:11px;background:#FBE6EA;color:var(--p-err);font-weight:600;font-size:14px}
.aso-c-fatto{margin:0;padding:12px 14px;border-radius:12px;background:#E2F3EB;color:#0E7051;font-weight:600}
.aso-c :focus-visible{outline:2px solid var(--p-brand);outline-offset:2px}
@media (max-width:560px){
  .aso-c{margin:16px 0;border-radius:18px}
  .aso-c-testa,.aso-c-corpo{padding-left:16px;padding-right:16px}
  .aso-c-griglia{grid-template-columns:minmax(0,1fr)}
  .aso-c-piede{justify-content:stretch}.aso-c-invia{width:100%}
}
