/* Solo moduli con stile esplicito; lo stile del tema non riceve regole aggiuntive. */
.infomail-signup-design {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 1rem 0;
  padding: clamp(1rem, 3vw, 1.75rem);
  border: 1px solid #c5d9d2;
  border-radius: var(--infomail-signup-radius, 8px);
  background: #f4f9f6;
  color: #183e36;
  font-family: inherit;
  font-size: inherit;
  line-height: 1.5;
  text-align: start;
  overflow-wrap: anywhere;
}
.infomail-signup-design *, .infomail-signup-design *::before, .infomail-signup-design *::after { box-sizing: border-box; }
.infomail-signup-design [hidden] { display: none !important; }
.infomail-signup-design .infomail-signup-fields { margin: 0; padding: 0; }
.infomail-signup-design .infomail-signup-fields > h3 { margin: 0 0 .5rem; color: inherit; font-family: inherit; font-size: 1.35em; font-weight: 700; line-height: 1.3; }
.infomail-signup-design .infomail-signup-fields > p { margin: 0 0 1rem; }
.infomail-signup-design fieldset { min-width: 0; width: 100%; margin: 0; padding: 0; border: 0; color: inherit; }
.infomail-signup-design legend.screen-reader-text, .infomail-signup-blocks .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.infomail-signup-design fieldset > p { min-width: 0; margin: 0 0 1rem; }
.infomail-signup-design label { color: inherit; font: inherit; }
.infomail-signup-design .infomail-signup-input > label { display: inline-block; margin-bottom: .3rem; font-weight: 600; }
.infomail-signup-design .infomail-signup-input > br { display: none; }
.infomail-signup-design input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .infomail-signup-design select {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 2.75rem;
  margin: 0;
  padding: .6rem .75rem;
  border: 1px solid #728b83;
  border-radius: var(--infomail-signup-radius, 8px);
  background: #ffffff;
  color: #183e36;
  box-shadow: none;
  font: inherit;
  line-height: 1.4;
}
.infomail-signup-design input::placeholder { color: #526b62; opacity: 1; }
.infomail-signup-design select option { background: #ffffff; color: #183e36; }
.infomail-signup-design input[type=checkbox] { display: inline-block; width: 1.1em; height: 1.1em; min-width: 1.1em; margin: 0 .35em 0 0; padding: 0; vertical-align: -.12em; accent-color: #137881; }
.infomail-signup-design .infomail-signup-consent, .infomail-signup-design .infomail-signup-privacy { flex: 0 0 100%; }
.infomail-signup-design small { display: block; margin-top: .35rem; color: #37594e; font-size: .875em; }
.infomail-signup-design a { color: #135c57; text-decoration: underline; text-underline-offset: .15em; }
.infomail-signup-design button.button {
  display: inline-block;
  width: 100%;
  min-height: 2.75rem;
  margin: 0;
  padding: .65rem 1rem;
  border: 1px solid #183e36;
  border-radius: var(--infomail-signup-radius, 8px);
  background: var(--infomail-signup-accent, #137881);
  color: var(--infomail-signup-on-accent, #ffffff);
  box-shadow: none;
  text-shadow: none;
  white-space: normal;
  font: inherit;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}
.infomail-signup-design input:focus-visible, .infomail-signup-design select:focus-visible, .infomail-signup-design button:focus-visible, .infomail-signup-design a:focus-visible { outline: 3px solid #183e36; outline-offset: 3px; }
.infomail-signup-design fieldset:disabled input, .infomail-signup-design fieldset:disabled select, .infomail-signup-design fieldset:disabled button { opacity: 1; cursor: default; }
/* L'anteprima resta disabilitata: ripristiniamo soltanto i colori che WordPress rende grigi. */
.infomail-signup-design fieldset:disabled input:not([type=checkbox]):not([type=radio]), .infomail-signup-design fieldset:disabled select { background-color: #ffffff; border-color: #728b83; color: #183e36; -webkit-text-fill-color: #183e36; text-shadow: none; }
.infomail-signup-design fieldset:disabled button.button { background: var(--infomail-signup-accent, #137881) !important; border-color: #183e36 !important; color: var(--infomail-signup-on-accent, #ffffff) !important; -webkit-text-fill-color: var(--infomail-signup-on-accent, #ffffff); }
.infomail-signup-design [role=status] { margin: 1rem 0 0; }
.infomail-signup-design [role=status]:empty { margin: 0; }
.infomail-signup-design.infomail-signup--compact fieldset { display: flex; flex-wrap: wrap; column-gap: 1rem; }
.infomail-signup-design.infomail-signup--compact .infomail-signup-input { flex: 1 1 14rem; }
@media (max-width: 480px) {
  .infomail-signup-design.infomail-signup--compact .infomail-signup-input { flex-basis: 100%; }
}

/* Documento Gutenberg locale: sole classi del modulo, nessun reset del tema. */
.infomail-signup-blocks .infomail-form-group{display:flex;flex-direction:column;gap:var(--infomail-form-gap,16px);padding:16px}
.infomail-signup-blocks .infomail-form-columns{display:flex;gap:var(--infomail-form-gap,16px);align-items:flex-start}
.infomail-signup-blocks .infomail-form-column{flex:1;min-width:0}
.infomail-signup-blocks .infomail-form-gap-small{--infomail-form-gap:8px}.infomail-signup-blocks .infomail-form-gap-medium{--infomail-form-gap:16px}.infomail-signup-blocks .infomail-form-gap-large{--infomail-form-gap:24px}
.infomail-signup-blocks .infomail-form-tone-soft{background:#edf6f4}.infomail-signup-blocks .infomail-form-tone-plain{background:transparent}
.infomail-signup-blocks .infomail-form-border-solid{border:1px solid #b5cdc9}.infomail-signup-blocks .infomail-form-border-none{border:0}
.infomail-signup-blocks .infomail-form-align-left{text-align:left}.infomail-signup-blocks .infomail-form-align-center{text-align:center}.infomail-signup-blocks .infomail-form-align-right{text-align:right}
.infomail-signup-blocks .infomail-form-image img{max-width:100%;height:auto}.infomail-signup-blocks .infomail-form-image{margin:12px 0}
.infomail-signup-blocks .infomail-form-spacer.infomail-form-size-small{height:12px}.infomail-signup-blocks .infomail-form-spacer.infomail-form-size-medium{height:24px}.infomail-signup-blocks .infomail-form-spacer.infomail-form-size-large{height:48px}
@media(max-width:600px){.infomail-signup-blocks .infomail-form-columns{flex-direction:column}.infomail-signup-blocks .infomail-form-column{width:100%}}

/* Stili tipizzati condivisi da editor/preview e pubblico, circoscritti al modulo. */
@font-face{font-family:InfomailFormNunito;src:url('../brand/nunito-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:InfomailFormFraunces;src:url('../brand/fraunces.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
.infomail-form-styled{box-sizing:border-box;max-width:100%;padding:var(--infomail-form-padding);border:var(--infomail-form-border-width) solid var(--infomail-form-border-color);border-radius:var(--infomail-form-border-radius);background-color:var(--infomail-form-background-color);background-image:var(--infomail-form-gradient),var(--infomail-form-background-image);background-size:cover;background-position:center;color:var(--infomail-form-font-color);font-family:var(--infomail-form-font-family);font-size:var(--infomail-form-font-size);line-height:1.5;text-align:var(--infomail-form-alignment);overflow-wrap:anywhere}
.infomail-form-styled *{box-sizing:border-box}
.infomail-form-styled fieldset{min-width:0;margin:0;padding:0;border:0}
.infomail-form-styled .infomail-signup-input>label{display:inline-block;margin-bottom:.3em}
.infomail-form-styled .infomail-signup-input>br{display:none}
.infomail-form-styled input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.infomail-form-styled select,.infomail-form-styled textarea{display:block;width:100%;min-width:0;min-height:2.75rem;padding:var(--infomail-form-input-padding);border:var(--infomail-form-input-border-width) solid var(--infomail-form-input-border-color);border-radius:var(--infomail-form-input-border-radius);background:var(--infomail-form-input-background-color);color:var(--infomail-form-input-font-color);font:inherit}
.infomail-form-styled input[type=checkbox]{accent-color:var(--infomail-form-button-background-color)}
.infomail-form-styled button[type=submit],.infomail-form-styled button[type=button]{min-height:44px;padding:var(--infomail-form-button-padding);border:1px solid transparent;border-radius:var(--infomail-form-input-border-radius);background:var(--infomail-form-button-background-color);color:var(--infomail-form-button-font-color);font:inherit;cursor:pointer}
.infomail-form-styled button:disabled{cursor:default}
.infomail-form-styled :focus-visible{outline:2px solid currentColor;outline-offset:3px}
.infomail-form-styled [role=status][data-state=success]{color:var(--infomail-form-success-color)}
.infomail-form-styled [role=status][data-state=error]{color:var(--infomail-form-error-color)}
.infomail-signup [role=status]{white-space:pre-line;overflow-wrap:anywhere}
.infomail-signup-blocks .infomail-form-illustration{margin:12px 0}
.infomail-signup-blocks .infomail-form-illustration img{max-width:100%;height:auto;object-fit:contain}
.infomail-signup-blocks .infomail-form-illustration.infomail-form-size-small img{width:96px}
.infomail-signup-blocks .infomail-form-illustration.infomail-form-size-medium img{width:160px}
.infomail-signup-blocks .infomail-form-illustration.infomail-form-size-large img{width:240px}

.infomail-signup .infomail-form-list-selector{min-width:0;margin:1em 0;padding:0;border:0}
.infomail-signup .infomail-form-list-selector legend{float:none;width:auto;max-width:100%;font:inherit;font-weight:600;padding:0}
.infomail-signup .infomail-form-list-selector p{margin:.4em 0}
.infomail-signup .infomail-signup-options{border:0;padding:0;margin:16px 0;min-width:0}.infomail-signup .infomail-signup-options label{display:block;margin:8px 0}.infomail-signup .infomail-signup-options input[type=radio],.infomail-signup .infomail-signup-options input[type=checkbox]{width:auto;min-height:0;display:inline-block;margin-right:8px;vertical-align:middle}
.infomail-signup .infomail-date-parts{display:flex;gap:12px;flex-wrap:wrap}.infomail-signup .infomail-date-parts label{display:flex;flex-direction:column;gap:4px}.infomail-signup textarea{max-width:100%;box-sizing:border-box}.infomail-signup [data-date-status]{display:block;margin-top:4px}
