.elementor-10948 .elementor-element.elementor-element-ff5ddab{--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;--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-10948 .elementor-element.elementor-element-2e28e36{text-align:center;}.elementor-10948 .elementor-element.elementor-element-2e28e36 .elementor-heading-title{font-weight:700;}.elementor-10948 .elementor-element.elementor-element-1637d2f{text-align:center;}.elementor-10948 .elementor-element.elementor-element-1637d2f .elementor-heading-title{font-weight:700;}.elementor-10948 .elementor-element.elementor-element-8890d21 > .elementor-widget-container{margin:15px 0px 0px 0px;}.elementor-10948 .elementor-element.elementor-element-8890d21{text-align:center;font-size:22px;}.elementor-10948 .elementor-element.elementor-element-ae5c111 > .elementor-widget-container{padding:0px 90px 0px 90px;}.elementor-10948 .elementor-element.elementor-element-ae5c111 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-10948 .elementor-element.elementor-element-4b3d7c5 > .elementor-widget-container{margin:15px 0px 0px 0px;}.elementor-10948 .elementor-element.elementor-element-4b3d7c5{text-align:center;font-size:22px;}.elementor-10948 .elementor-element.elementor-element-210f455 > .elementor-widget-container{margin:15px 0px 0px 0px;}.elementor-10948 .elementor-element.elementor-element-210f455{text-align:center;font-size:22px;}.elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-field-group.recaptcha_v3-bottomleft, .elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-field-type-html{padding-bottom:0px;}.elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-10948 .elementor-element.elementor-element-39c20ba .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-button[type="submit"]{color:#ffffff;}.elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-10948 .elementor-element.elementor-element-39c20ba .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-10948 .elementor-element.elementor-element-39c20ba .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-10948 .elementor-element.elementor-element-39c20ba .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-10948 .elementor-element.elementor-element-39c20ba .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-10948 .elementor-element.elementor-element-39c20ba{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--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;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-10948 .elementor-element.elementor-element-ae5c111 > .elementor-widget-container{padding:0px 45px 0px 45px;}}@media(max-width:767px){.elementor-10948 .elementor-element.elementor-element-ae5c111 > .elementor-widget-container{padding:0px 0px 0px 0px;}}/* Start custom CSS for form, class: .elementor-element-39c20ba *//* ================================================================
   FORM ELEMENTOR
   ================================================================ */

/* Wrapper generale del form */
.elementor-form .elementor-form-fields-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0 25px;
  gap: 8px;
  border-radius: 16px;
}

/* Campi input */
.elementor-form .elementor-field-group {
  flex: 1 1 auto;
  min-width: 120px;
  margin: 0 !important;
}
.elementor-form .elementor-field {
  border: 1px solid #1a1a2e !important;
  outline: none !important;
  box-shadow: none !important;
  background: #ffffff !important;
  padding: 12px 16px !important;
  font-size: 15px;
  color: #1a1a2e;
}
.elementor-form .elementor-field:focus {
  border-color: #3b5bdb !important;
  box-shadow: none !important;
}
.elementor-form .elementor-field::placeholder {
  color: #000;
}

/* Checkbox / Acceptance - testo grigio chiaro */
.elementor-form .elementor-field-type-checkbox label,
.elementor-form .elementor-field-type-acceptance label {
  color: #1D1D1F !important;
}

/* "Privacy Policy" bianco e bold */
.elementor-form .elementor-field-type-checkbox label a,
.elementor-form .elementor-field-type-acceptance label a {
  color: #000 !important;
  font-weight: 700 !important;
}

/* ================================================================
   BOTTONE SUBMIT — stile Gemini con gradiente animato
   ================================================================ */

/* Posizionamento nel layout del form */
.elementor-form .elementor-field-type-submit {
  flex: 0 0 auto;
  margin: 15px auto 0 !important;
}

/* Struttura base del bottone */
.elementor-form .elementor-button {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;

  height: 48px;
  padding: 0 32px !important;
  border-radius: 60px !important;
  border: none !important;

  /* Sfondo trasparente: ci pensa il ::before con il gradiente */
  background: transparent !important;
  box-shadow: none !important;

  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  cursor: pointer;
  white-space: nowrap;
}

/* Pseudo-elemento: gradiente largo il doppio,
   inizialmente shiftato a sinistra di metà (nascosto) */
.elementor-form .elementor-button::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 200%;
  border-radius: 60px;
  background: linear-gradient(
    89.58deg,
    #3186ff 50.14%,
    #346bf0 72.225%,
    #4ea0ff 99.775%
  );
  transition: transform 0.5s;
  pointer-events: none;
  z-index: 1;
  transform: translate(-50%); /* posizione di default: nascosto a sx */
}

/* Al hover: il gradiente scorre nella posizione visibile */
.elementor-form .elementor-button:hover::before {
  transform: translate(0);
}

/* Il wrapper del testo deve stare sopra al gradiente */
.elementor-form .elementor-button .elementor-button-content-wrapper {
  position: relative;
  z-index: 2;
}

@media (max-width: 480px) {
  .elementor-form .elementor-form-fields-wrapper {
    padding: 0 8px;
  }
}

/* ================================================================
   MESSAGGIO DI SUCCESSO
   ================================================================ */
.elementor-form .elementor-message.elementor-message-success {
  margin-top: 20px !important;
  padding: 10px 18px;
  background-color: #eef4ff;
  border-left: 3px solid #3b5bdb;
  border-radius: 8px;
  color: #1a1a2e;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
}/* End custom CSS */