/* ==========================================================================
   Forminator Pro — personalizzazione grafica isolata.
   Ambito: solo i moduli dentro .ad-form--forminator o nelle pagine .ad-has-forminator.
   Non nasconde messaggi di validazione, non tocca logica o struttura.
   Per massima coerenza, in Forminator → Modulo → Aspetto scegli lo stile "Nessuno" o "Base".
   ========================================================================== */
.ad-has-forminator .forminator-ui.forminator-custom-form{
  --f-radius:14px;--f-border:rgba(32,33,42,.18);
  font-family:var(--ad-font-body)!important;color:var(--ad-ink)
}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-row{margin-bottom:1.2rem}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-label,
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-legend{
  font-family:var(--ad-font-display)!important;font-weight:600!important;font-size:.95rem!important;color:var(--ad-ink)!important;margin-bottom:.45rem!important;letter-spacing:-.01em}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-required{color:var(--ad-red-deep)!important}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-input,
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-textarea,
.ad-has-forminator .forminator-ui.forminator-custom-form select,
.ad-has-forminator .forminator-ui.forminator-custom-form .select2-selection,
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-select2 + .forminator-select .selection span[role="combobox"]{
  font-family:var(--ad-font-body)!important;font-size:1rem!important;color:var(--ad-ink)!important;
  background:var(--ad-surface)!important;border:1.5px solid var(--f-border)!important;border-radius:var(--f-radius)!important;
  min-height:52px;padding:.8rem 1rem!important;box-shadow:none!important;transition:border-color .2s,box-shadow .2s,background .2s}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-textarea{min-height:130px}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-input:hover,
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-textarea:hover{border-color:var(--ad-ink)!important}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-input:focus,
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-textarea:focus,
.ad-has-forminator .forminator-ui.forminator-custom-form select:focus,
.ad-has-forminator .forminator-ui.forminator-custom-form .select2-container--open .select2-selection{
  outline:none!important;background:#fff!important;border-color:var(--ad-ink)!important;box-shadow:0 0 0 4px rgba(85,201,242,.55)!important}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-description{color:var(--ad-muted)!important;font-size:.86rem!important}

/* Errori: ben visibili, mai nascosti */
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-has_error .forminator-input,
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-has_error .forminator-textarea{border-color:var(--ad-red-deep)!important;background:#FFF5F5!important}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-error-message{
  display:block;margin-top:.45rem!important;padding:.45rem .8rem!important;border-radius:10px!important;background:#FFE9E9!important;color:#9E1C1C!important;font-size:.88rem!important;font-weight:600}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-response-message{border-radius:var(--f-radius)!important;padding:1rem 1.2rem!important;font-weight:600}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-response-message.forminator-success{background:var(--ad-sky-light)!important;color:var(--ad-ink)!important;border-left:5px solid var(--ad-sky-deep)!important}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-response-message.forminator-error{background:#FFE9E9!important;color:#9E1C1C!important;border-left:5px solid var(--ad-red-deep)!important}

/* Checkbox e radio */
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-checkbox,
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-radio{font-size:1rem!important;color:var(--ad-ink)!important;margin-bottom:.5rem}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-checkbox-box,
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-radio-bullet{border:1.5px solid var(--f-border)!important;background:#fff!important;width:22px!important;height:22px!important}
.ad-has-forminator .forminator-ui.forminator-custom-form input:checked + .forminator-checkbox-box{background:var(--ad-red-deep)!important;border-color:var(--ad-red-deep)!important;color:#fff!important}
.ad-has-forminator .forminator-ui.forminator-custom-form input:checked + .forminator-radio-bullet{border-color:var(--ad-red-deep)!important;box-shadow:inset 0 0 0 5px var(--ad-red-deep)!important}
.ad-has-forminator .forminator-ui.forminator-custom-form input:focus-visible + .forminator-checkbox-box,
.ad-has-forminator .forminator-ui.forminator-custom-form input:focus-visible + .forminator-radio-bullet{box-shadow:0 0 0 3px var(--ad-sky)!important}

/* Pulsanti */
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-button,
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-button-submit{
  font-family:var(--ad-font-display)!important;font-weight:600!important;font-size:1.05rem!important;
  background:var(--ad-red-deep)!important;color:#fff!important;border:0!important;border-radius:999px!important;
  min-height:56px;padding:.9rem 2rem!important;box-shadow:none!important;transition:background .3s,transform .4s var(--ad-ease)!important}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-button:hover{background:var(--ad-ink)!important;transform:translateY(-2px)}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-button:focus-visible{outline:3px solid var(--ad-ink)!important;outline-offset:3px}
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-button-back{background:transparent!important;color:var(--ad-ink)!important;box-shadow:inset 0 0 0 2px var(--ad-ink)!important}

/* Moduli multi-pagina */
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-pagination-steps .forminator-step.forminator-current .forminator-step-dot,
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-pagination-progress .forminator-progress-bar span{background:var(--ad-red-deep)!important;border-color:var(--ad-red-deep)!important}

/* Upload */
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-file-upload,
.ad-has-forminator .forminator-ui.forminator-custom-form .forminator-multi-upload{border-radius:var(--f-radius)!important;border-color:var(--f-border)!important}
