/* CD Form: only the structure; colours, type and spacing come from the theme (classes .cd-form-*). */
.cd-form-trappola {
  position: absolute !important;
  left: -10000px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.cd-form [hidden] { display: none !important; }
.cd-form-campo { margin: 0 0 1.25em; }
.cd-form-campo > label,
.cd-form-campo legend { display: block; margin-bottom: .35em; }
.cd-form-campo fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.cd-form-campo input[type="text"],
.cd-form-campo input[type="email"],
.cd-form-campo select,
.cd-form-campo textarea { box-sizing: border-box; width: 100%; max-width: 100%; font: inherit; }
.cd-form-scelta { display: flex; gap: .5em; align-items: flex-start; margin: .35em 0; }
.cd-form-scelta input { flex: none; margin-top: .25em; width: 1.1em; height: 1.1em; }
.cd-form-errore { color: #b00020; margin: .35em 0 0; }
.cd-form-errore::before { content: "⚠ "; }
.cd-form-riepilogo { border: 2px solid #b00020; padding: .75em 1em; margin: 0 0 1.5em; }
.cd-form-riepilogo a { color: inherit; text-decoration: underline; }
.cd-form-riepilogo:focus,
.cd-form-passo-titolo:focus,
.cd-form-grazie:focus { outline: 2px solid currentColor; outline-offset: 4px; }
.cd-form-pulsanti { display: flex; flex-wrap: wrap; gap: .75em; margin-top: 1.5em; }
.cd-form-pulsanti button { min-height: 44px; min-width: 44px; }
