.elementor-3048 .elementor-element.elementor-element-6f167a5{text-align:center;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:12px;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-12px;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-field-group.recaptcha_v3-bottomleft, .elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-field-group > label, .elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-field-subgroup label{color:#000000;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-field-group > label{font-family:"Roboto", Sans-serif;font-weight:700;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-field-type-html{padding-bottom:0px;font-family:"Roboto", Sans-serif;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-button[type="submit"]{color:#ffffff;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-3048 .elementor-element.elementor-element-4ca4e8c{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-3048 .elementor-element.elementor-element-fd82782{--spacer-size:50px;}.elementor-3048 .elementor-element.elementor-element-5bbc180{text-align:center;}.elementor-3048 .elementor-element.elementor-element-5bbc180 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:57px;}.elementor-3048 .elementor-element.elementor-element-c831564{text-align:center;}.elementor-3048 .elementor-element.elementor-element-8f643a3{--spacer-size:50px;}@media(max-width:767px){.elementor-3048 .elementor-element.elementor-element-c831564{text-align:center;}}/* Start custom CSS for form, class: .elementor-element-4ca4e8c *//* ==========================================================
   QUESTIONARIO SPOSI – CSS COMPLETO (pagina ID 3048)
   - FORM max-width 1440px (card moderna)
   - Step SOLO lettere: A B C D E F G FINALE
   - Desktop/Tablet: STEP ORDINATI in GRID (8 celle)
   - Mobile: 4 colonne / 2 righe ✅ (4+4, no overflow)
   - Titoli sezione H4+H3 eleganti
   - Label sempre a sinistra
   - Fix spazi (no contatto label/textarea)
   - Bottoni allineati (no sfalsati)
   - Fix overflow orizzontale pagina
   ========================================================== */

/* (OPZIONALE) Se Roboto non è già caricato, scommenta:
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;800&display=swap');
*/

/* =========================
   FIX OVERFLOW ORIZZONTALE
   ========================= */
body.page-id-3048{
  overflow-x: hidden !important;
}

body.page-id-3048 .elementor-section,
body.page-id-3048 .elementor-container,
body.page-id-3048 .elementor-column,
body.page-id-3048 .elementor-widget,
body.page-id-3048 .elementor-widget-wrap,
body.page-id-3048 .elementor-form,
body.page-id-3048 .elementor-form .elementor-form-fields-wrapper,
body.page-id-3048 .elementor-field-group,
body.page-id-3048 .e-form__indicators,
body.page-id-3048 .e-form__indicators--type-number_text,
body.page-id-3048 .e-form__indicators--type-text{
  max-width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

body.page-id-3048 .elementor-section{
  width: 100% !important; /* evita 100vw */
}

/* =========================
   FORM CARD (max 1440px)
   ========================= */
body.page-id-3048 .elementor-form{
  --q-bg: #ffffff;
  --q-text: #0f172a;
  --q-muted: #64748b;
  --q-line: rgba(15, 23, 42, .12);
  --q-accent: #C19A6B;
  --q-radius: 16px;

  max-width: 1440px !important;
  width: 100% !important;

  margin: 0 auto !important;     /* centrato */
  padding: 22px !important;

  background: var(--q-bg);
  border: 1px solid var(--q-line);
  border-radius: var(--q-radius);
  box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
  box-sizing: border-box !important;
}

/* wrapper campi */
body.page-id-3048 .elementor-form .elementor-form-fields-wrapper{
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* =========================
   TITOLI SEZIONE (HTML field)
   ========================= */
body.page-id-3048 .elementor-field-type-html{
  margin: 16px 0 12px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.page-id-3048 .elementor-field-type-html h4{
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #64748b;
  margin: 0 0 6px 0 !important;
  text-align: left !important;
  margin-top:30px !important;
}

body.page-id-3048 .elementor-field-type-html h3{
  font-family: 'Roboto', sans-serif;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
  color: #C19A6B;
  margin: 0 0 14px 0 !important;
  text-align: left !important;
}

body.page-id-3048 .elementor-field-type-html h3::after{
  content: "";
  display: block;
  width: 70px;
  height: 3px;
  margin-top: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, #111827, transparent);
  margin-bottom: 30px;
}

/* =========================
   SPAZI + LABEL A SINISTRA
   ========================= */
body.page-id-3048 .elementor-form .elementor-field-group{
  clear: both !important;
  margin: 0 0 14px 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.page-id-3048 .elementor-form .elementor-field-label{
  display: inline-block;
  width: 100% !important;
  margin: 0 0 8px 0 !important;
  color: var(--q-text);
  font-weight: 650;
  font-size: 14px;
  letter-spacing: .2px;
  line-height: 1.25 !important;
  font-family: 'Roboto', sans-serif;
  text-align: left !important;
}

/* =========================
   INPUT / TEXTAREA / SELECT
   ========================= */
body.page-id-3048 .elementor-form .elementor-field-textual,
body.page-id-3048 .elementor-form select.elementor-field,
body.page-id-3048 .elementor-form input.elementor-field{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  min-height: 46px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--q-line);
  background: #fff;
  color: var(--q-text);
  outline: none;
  transition: box-shadow .18s ease, border-color .18s ease, transform .08s ease;
  font-family: 'Roboto', sans-serif;
  box-sizing: border-box !important;
}

body.page-id-3048 .elementor-form textarea.elementor-field-textual{
  min-height: 140px;
  resize: vertical;
  line-height: 1.5;
  margin-bottom: 8px !important; /* stacca dalla label successiva */
}

body.page-id-3048 .elementor-form .elementor-field::placeholder,
body.page-id-3048 .elementor-form .elementor-field-textual::placeholder{
  color: rgba(100, 116, 139, .85);
}

body.page-id-3048 .elementor-form .elementor-field-textual:focus,
body.page-id-3048 .elementor-form select.elementor-field:focus,
body.page-id-3048 .elementor-form input.elementor-field:focus{
  border-color: rgba(17, 24, 39, .55);
  box-shadow: 0 0 0 4px rgba(17, 24, 39, .10);
}

/* ==========================================================
   STEP INDICATORS – ORDINATI E PULITI
   Desktop/Tablet: GRID 8 celle (ultima più larga per "Finale")
   Mobile: 4 colonne / 2 righe (4+4)
   ========================================================== */

/* Box contenitore indicatori */
body.page-id-3048 .elementor-form .e-form__indicators{
  margin: 0 0 18px !important;
  padding: 14px !important;
  border-radius: 16px !important;
  border: 1px solid var(--q-line) !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .08) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Elimina numeri e separatori */
body.page-id-3048 .elementor-form .e-form__indicators__indicator__number,
body.page-id-3048 .elementor-form .e-form__indicators__indicator__separator{
  display: none !important;
}

/* Wrapper step (desktop/tablet) */
body.page-id-3048 .elementor-form .e-form__indicators--type-text,
body.page-id-3048 .elementor-form .e-form__indicators--type-number_text{
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) minmax(0, 1.45fr) !important;
  gap: 12px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Cella */
body.page-id-3048 .elementor-form .e-form__indicators__indicator{
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 !important;
}

/* Pill */
body.page-id-3048 .elementor-form .e-form__indicators__indicator__label{
  width: 100% !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 14px !important;
  border: 1px solid rgba(15, 23, 42, .14) !important;
  background: #fff !important;

  font-family: 'Roboto', sans-serif !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  letter-spacing: .9px !important;
  text-transform: uppercase !important;
  color: var(--q-muted) !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;

  box-shadow: 0 6px 16px rgba(15, 23, 42, .06) !important;
  box-sizing: border-box !important;
}

/* Active */
body.page-id-3048 .elementor-form
.e-form__indicators__indicator--state-active .e-form__indicators__indicator__label{
  background: var(--q-accent) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 14px 26px rgba(17, 24, 39, .18) !important;
}

/* "Finale" più compatto per non tagliare mai */
body.page-id-3048 .elementor-form .e-form__indicators__indicator:last-child
.e-form__indicators__indicator__label{
  font-size: 11px !important;
  letter-spacing: .6px !important;
  padding: 0 8px !important;
}

/* =========================
   BOTTONI (no sfalsati)
   ========================= */
body.page-id-3048 .elementor-form .e-form__buttons{
  margin-top: 6px;
}

body.page-id-3048 .elementor-form .e-form__buttons__wrapper{
  display: flex !important;
  align-items: stretch !important;
  gap: 12px !important;
}

body.page-id-3048 .elementor-form .e-form__buttons__wrapper > *{
  flex: 1 1 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
}

body.page-id-3048 .elementor-form .elementor-button{
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 16px !important;

  border-radius: 14px;
  border: 1px solid transparent;
  font-weight: 800;
  letter-spacing: .2px;
  font-family: 'Roboto', sans-serif;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;

  box-sizing: border-box !important;
  transition: transform .08s ease, box-shadow .18s ease, filter .18s ease;
}

/* prev soft */
body.page-id-3048 .elementor-form .e-form__buttons__wrapper__button-previous{
  background: #fff !important;
  color: var(--q-text) !important;
  border-color: var(--q-line) !important;
}

/* next + submit */
body.page-id-3048 .elementor-form .e-form__buttons__wrapper__button-next,
body.page-id-3048 .elementor-form button[type="submit"].elementor-button{
  background: var(--q-accent) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(17, 24, 39, .18);
}

body.page-id-3048 .elementor-form .elementor-button:hover{
  filter: brightness(1.02);
  box-shadow: 0 16px 30px rgba(17, 24, 39, .22);
}

body.page-id-3048 .elementor-form .elementor-button:active{
  transform: translateY(1px);
}

/* =========================
   MESSAGGI (success/error)
   ========================= */
body.page-id-3048 .elementor-form .elementor-message{
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--q-line);
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
  font-weight: 650;
  font-family: 'Roboto', sans-serif;
  text-align: left !important;
}

/* =========================
   MOBILE FIX UI (padding + titoli)
   ========================= */
@media (max-width: 767px){
  body.page-id-3048 .elementor-form{
    padding: 16px !important;
  }

  body.page-id-3048 .elementor-field-type-html h3{
    font-size: 22px !important;
  }
}

/* =========================
   MOBILE: STEP ORDINATI (4 COLONNE / 2 RIGHE)
   - celle tutte uguali
   - pill stessa dimensione
   - "FINALE" non rompe layout
   ========================= */
@media (max-width: 767px){

  body.page-id-3048 .elementor-form .e-form__indicators{
    padding: 12px !important;
  }

  /* grid fissa e pulita */
  body.page-id-3048 .elementor-form .e-form__indicators--type-text,
  body.page-id-3048 .elementor-form .e-form__indicators--type-number_text{
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 10px !important;
    justify-items: stretch !important;
    align-items: stretch !important;
  }

  /* ogni item occupa tutta la cella */
  body.page-id-3048 .elementor-form .e-form__indicators__indicator{
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    justify-content: stretch !important;
    align-items: stretch !important;
  }

  /* pill: dimensione UNICA (quadrata/consistente) */
  body.page-id-3048 .elementor-form .e-form__indicators__indicator__label{
    width: 100% !important;
    height: 46px !important;          /* <- fissa l’altezza */
    padding: 0 6px !important;        /* niente padding verticale */
    border-radius: 14px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-size: 12px !important;
    letter-spacing: .4px !important;
    line-height: 1 !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* "FINALE" più piccolo ma stessa pill */
  body.page-id-3048 .elementor-form .e-form__indicators__indicator:last-child
  .e-form__indicators__indicator__label{
    font-size: 11px !important;
    letter-spacing: .2px !important;
  }
}

@media (max-width: 767px) {
    body.page-id-3048 .elementor-form .e-form__indicators__indicator {
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        justify-content: stretch !important;
        align-items: stretch !important;
        margin: 0px !important;
        padding: 0px !important;
    }
}
/* Nasconde il campo email usato come Main in Elementor Form */
.elementor-form .elementor-field-group-invite_email_main{
  display:none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d0b3007 */body.page-id-3048 .successmessagequest{ display:none; }/* End custom CSS */