.elementor-10847 .elementor-element.elementor-element-99a27e3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-10847 .elementor-element.elementor-element-7ed2ed2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;color:var( --e-global-color-primary );}.elementor-widget-fluent-form-widget .fluentform-widget-description{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;}.elementor-widget-fluent-form-widget .ff-el-progress-status{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;}.elementor-widget-fluent-form-widget .ff-el-progress-bar span{color:var( --e-global-color-primary );}.elementor-widget-fluent-form-widget .step-nav button{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;}.elementor-10847 .elementor-element.elementor-element-fee3c46 .fluentform-widget-wrapper .ff-el-group .ff-btn-submit{background-color:#1a7efb !important;color:#ffffff !important;}.elementor-10847 .elementor-element.elementor-element-66efff8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-10847 .elementor-element.elementor-element-42b82ad{--display:flex;}@media(min-width:768px){.elementor-10847 .elementor-element.elementor-element-7ed2ed2{--width:75%;}.elementor-10847 .elementor-element.elementor-element-66efff8{--width:25%;}}/* Start custom CSS for fluent-form-widget, class: .elementor-element-fee3c46 *//* Nasconde il radio button all'avvio */
.doc-consent-wrapper {
  display: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.doc-consent-wrapper.is-visible {
  display: block !important;
  opacity: 1;
}
/* Messaggio di blocco per "Non Accetto" */
.consent-block-msg {
  background: #fff3cd; color: #856404; padding: 10px 14px;
  border: 1px solid #ffeaa7; border-radius: 6px; margin-top: 8px;
  font-size: 14px; display: none;
}/* =========================================
   FLUENT FORMS #22 - STYLING IVASS (COMPLETE)
   ========================================= */

/* Scope: applica solo al form #22 per non rompere altri layout */
.fluent_form_22 {
  --ff-text-color: #3a3a3a;      /* Grigio scuro leggibile */
  --ff-primary: #193a56;         /* Blu scuro (Brand) */
  --ff-secondary: #c4151c;       /* Rosso (Accenti/Titoli) */
  --ff-bg-light: #f8fafc;        /* Sfondo sezioni alternate */
  --ff-border: #cbd5e1;          /* Bordi standard */
  --ff-focus-glow: rgba(25, 58, 86, 0.25);
}
/* =========================================
   FLUENT FORMS #22 - STYLING DEFINITIVO (V2)
   ========================================= */

.fluent_form_22 {
  --ff-text: #3a3a3a;
  --ff-primary: #193a56;
  --ff-secondary: #c4151c;
  --ff-bg-light: #f8fafc;
  --ff-border: #cbd5e1;
  --ff-glow: rgba(25, 58, 86, 0.25);
}

/* --- BASE & TESTO --- */
.fluent_form_22,
.fluent_form_22 label,
.fluent_form_22 p,
.fluent_form_22 li,
.fluent_form_22 div {
  color: var(--ff-text);
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}

.fluent_form_22 .ff-el-input--label {
  color: var(--ff-primary);
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 14px;
  display: block;
}

.fluent_form_22 .ff-el-is-required label::after {
  content: " *";
  color: var(--ff-secondary);
  font-weight: bold;
}

/* --- INPUT CAMPI --- */
.fluent_form_22 .ff-el-form-control,
.fluent_form_22 input[type="text"],
.fluent_form_22 input[type="email"],
.fluent_form_22 input[type="tel"],
.fluent_form_22 input[type="number"],
.fluent_form_22 select {
  border: 2px solid var(--ff-border);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 15px;
  color: #111827;
  background: #fff;
  transition: all 0.2s ease;
  width: 100%;
  box-sizing: border-box;
}

.fluent_form_22 .ff-el-form-control:focus,
.fluent_form_22 input:focus,
.fluent_form_22 select:focus {
  border-color: var(--ff-primary);
  box-shadow: 0 0 0 4px var(--ff-glow);
  outline: none;
}

/* --- PULSANTI UNIFICATI (Richiesta 1) --- */
.fluent_form_22 .ff-btn-next,
.fluent_form_22 .ff-btn-prev,
.fluent_form_22 .ff-btn-submit {
  background: var(--ff-primary);
  color: #fff !important;
  border: 2px solid var(--ff-primary);
  border-radius: 8px;
  padding: 12px 20px;
  font-size: 13px !important;
  font-weight: 600;
  transition: all 0.2s ease;
  cursor: pointer;
  text-align: center;
  min-width: 180px;
}

.fluent_form_22 .ff-btn-next:hover,
.fluent_form_22 .ff-btn-prev:hover,
.fluent_form_22 .ff-btn-submit:hover {
  background: #0f2436;
  border-color: #0f2436;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(25, 58, 86, 0.2);
}

/* --- BARRA PROGRESSO --- */
.fluent_form_22 .ff-el-progress-bar {
  background: var(--ff-secondary) !important;
  height: 8px;
  border-radius: 4px;
  color:#ffffff !important;
}
.fluent_form_22 .ff-el-progress-status {
  color: var(--ff-primary);
  font-weight: 600;
  margin-bottom: 8px;
}

/* --- TABELLE PREMI --- */
.fluent_form_22 .ff-table thead th,
.fluent_form_22 .grid-valori thead th {
  background-color: var(--ff-primary) !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 16px;
  font-weight: 700;
  text-align: center;
}
.fluent_form_22 .ff-table td,
.fluent_form_22 .grid-valori td {
  border: 1px solid var(--ff-border) !important;
  padding: 14px;
  text-align: center;
  vertical-align: middle;
}
.fluent_form_22 .ff-table tbody tr:nth-child(even) { background: var(--ff-bg-light); }
.fluent_form_22 .ff-table input[type="radio"] {
  width: 22px; height: 22px; cursor: pointer; accent-color: var(--ff-primary);
}
.fluent_form_22 .ff_grid_header { text-align: left !important; font-weight: 600; background: #f1f5f9 !important; }

/* =========================================
   BOX EVIDENZIATI ROSSI (STEP 2, 3, FINALE)
   ========================================= */

/* Stile base per i box rossi */
.fluent_form_22 .ff-red-box {
  border: 2px solid var(--ff-secondary);
  border-left: 5px solid var(--ff-secondary);
  background: #fff;
  padding: 18px;
  border-radius: 0 8px 8px 0;
  margin: 20px 0;
  box-shadow: 0 3px 8px rgba(196, 21, 28, 0.08);
}
.fluent_form_22 .ff-red-box .ff-el-input--label {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--ff-secondary) !important;
  margin-bottom: 14px !important;
}

/* 1️⃣ STEP 2: Dropdown "Seleziona il tuo livello" (solo label+select) */
[data-name="ff_cn_id_8"] .ff-el-group {
  border: 2px solid var(--ff-secondary);
  border-left: 5px solid var(--ff-secondary);
  padding: 16px;
  border-radius: 0 8px 8px 0;
  margin-bottom: 24px;
  background: #fff;
}
[data-name="ff_cn_id_8"] .ff-el-input--label {
  font-size: 16px !important; font-weight: 700 !important; color: var(--ff-secondary) !important; margin-bottom: 10px !important;
}

/* 2️⃣ STEP 2: Checkbox "Accettazione Fascicolo..." (ESCLUSA l'area HTML) */
[data-name="ff_cn_id_13"] .ff-el-group:not(.ff-custom_html) {
  border: 2px solid var(--ff-secondary);
  border-left: 5px solid var(--ff-secondary);
  padding: 18px;
  border-radius: 0 8px 8px 0;
  margin: 24px 0;
  background: #fff;
}
[data-name="ff_cn_id_13"] .ff-el-group:not(.ff-custom_html) .ff-el-input--label {
  font-size: 16px !important; font-weight: 700 !important; color: var(--ff-secondary) !important; margin-bottom: 12px !important;
}
[data-name="ff_cn_id_13"] .ff-el-group:not(.ff-custom_html) .ff-el-form-check-label { font-size: 15px !important; }

/* 3️⃣ STEP 3: Radio "Accettazione questionario" (UNICO BOX) */
.fluent_form_22 .ff-el-group:has(input[name="input_radio"]) {
  border: 2px solid var(--ff-secondary);
  border-left: 5px solid var(--ff-secondary);
  padding: 18px;
  border-radius: 0 8px 8px 0;
  margin: 20px 0;
  background: #fff;
}
.fluent_form_22 .ff-el-group:has(input[name="input_radio"]) .ff-el-input--label {
  font-size: 16px !important; font-weight: 700 !important; color: var(--ff-secondary) !important; margin-bottom: 12px !important;
}

/* 4️⃣ STEP 3: Domande SI/NO (BOX UNICO PER COPPIA, LABEL FUORI) */
.fluent_form_22 .ff-el-group:has(input[name^="input_radio_"]) .ff-el-input--content {
  border: 2px solid var(--ff-secondary);
  border-left: 5px solid var(--ff-secondary);
  padding: 10px 16px;
  border-radius: 0 6px 6px 0;
  margin-top: 8px;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}
.fluent_form_22 .ff-el-group:has(input[name^="input_radio_"]) .ff-el-form-check {
  padding: 0 !important; margin: 0 !important;
  display: flex; align-items: center; gap: 8px;
}
.fluent_form_22 .ff-el-group:has(input[name^="input_radio_"]) .ff-el-form-check-input {
  width: 18px; height: 18px; accent-color: var(--ff-secondary);
}

/* 5️⃣ STEP FINALE: Email + Pulsante Invia (INTERA AREA) */
[data-name="ff_cn_id_18"] .ff-t-container {
  border: 2px solid var(--ff-secondary);
  border-left: 5px solid var(--ff-secondary);
  padding: 20px;
  border-radius: 0 8px 8px 0;
  margin: 24px 0 0;
  background: #fff;
}
[data-name="ff_cn_id_18"] .ff-el-input--label {
  font-size: 16px !important; font-weight: 700 !important; color: var(--ff-secondary) !important; margin-bottom: 12px !important;
}

/* --- ALERT STEP 1 --- */
.fluent_form_22 .ff-step1-alert {
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-left: 5px solid #f59e0b;
  color: #78350f;
  padding: 16px;
  border-radius: 0 8px 8px 0;
  margin: 16px 0;
  font-weight: 500;
}

/* --- MOBILE --- */
@media (max-width: 768px) {
  .fluent_form_22 { padding: 10px; }
  .fluent_form_22 .ff-el-form-control,
  .fluent_form_22 input, .fluent_form_22 select { font-size: 16px; padding: 14px; }
  .fluent_form_22 .ff-btn-next,
  .fluent_form_22 .ff-btn-prev,
  .fluent_form_22 .ff-btn-submit { width: 100%; display: block; margin-bottom: 10px; min-width: auto; }
  .fluent_form_22 .ff-el-group:has(input[name^="input_radio_"]) .ff-el-input--content { flex-direction: column; gap: 10px; }
}/* End custom CSS */