.elementor-109 .elementor-element.elementor-element-1d09773{--display:flex;--min-height:40vh;--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;--overlay-opacity:0.5;--padding-top:10%;--padding-bottom:10%;--padding-left:10%;--padding-right:10%;}.elementor-109 .elementor-element.elementor-element-1d09773:not(.elementor-motion-effects-element-type-background), .elementor-109 .elementor-element.elementor-element-1d09773 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );background-image:url("https://stepasrl.it/wp-content/uploads/2025/10/construction-crane-at-building-site-concept-of-m-2025-01-10-04-29-59-utc-scaled.jpg");background-position:center center;background-size:cover;}.elementor-109 .elementor-element.elementor-element-1d09773::before, .elementor-109 .elementor-element.elementor-element-1d09773 > .elementor-background-video-container::before, .elementor-109 .elementor-element.elementor-element-1d09773 > .e-con-inner > .elementor-background-video-container::before, .elementor-109 .elementor-element.elementor-element-1d09773 > .elementor-background-slideshow::before, .elementor-109 .elementor-element.elementor-element-1d09773 > .e-con-inner > .elementor-background-slideshow::before, .elementor-109 .elementor-element.elementor-element-1d09773 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-109 .elementor-element.elementor-element-4797927 .elementor-heading-title{font-family:"Kanit Semibold", Sans-serif;font-size:55px;font-weight:700;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );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-109 .elementor-element.elementor-element-5feaaa0{color:#FFFFFF;}.elementor-109 .elementor-element.elementor-element-0bd73f4{--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:5%;--margin-bottom:5%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-109 .elementor-element.elementor-element-699a8d9 .elementor-heading-title{font-family:"Lato Black", Sans-serif;font-size:15px;font-weight:600;}.elementor-109 .elementor-element.elementor-element-a539625 .elementor-heading-title{font-family:"Kanit Semibold", Sans-serif;font-size:55px;font-weight:600;}.elementor-109 .elementor-element.elementor-element-831ed45{color:var( --e-global-color-text );}.elementor-109 .elementor-element.elementor-element-9692f86{--spacer-size:50px;}.elementor-109 .elementor-element.elementor-element-617ffb9 .elementor-heading-title{font-family:"Kanit Semibold", Sans-serif;font-size:55px;font-weight:600;}.elementor-109 .elementor-element.elementor-element-02cf3f2{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-109 .elementor-element.elementor-element-c3af41a .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-109 .elementor-element.elementor-element-c3af41a .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-109 .elementor-element.elementor-element-c3af41a .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-109 .elementor-element.elementor-element-c3af41a .elementor-field-group.recaptcha_v3-bottomleft, .elementor-109 .elementor-element.elementor-element-c3af41a .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-109 .elementor-element.elementor-element-c3af41a .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-109 .elementor-element.elementor-element-c3af41a .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-109 .elementor-element.elementor-element-c3af41a .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-109 .elementor-element.elementor-element-c3af41a .elementor-field-type-html{padding-bottom:0px;}.elementor-109 .elementor-element.elementor-element-c3af41a .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-radius:14px 14px 14px 14px;}.elementor-109 .elementor-element.elementor-element-c3af41a .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-radius:14px 14px 14px 14px;}.elementor-109 .elementor-element.elementor-element-c3af41a .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-secondary );color:#ffffff;}.elementor-109 .elementor-element.elementor-element-c3af41a .elementor-button[type="submit"]{background-color:var( --e-global-color-secondary );color:#ffffff;}.elementor-109 .elementor-element.elementor-element-c3af41a .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-109 .elementor-element.elementor-element-c3af41a .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-109 .elementor-element.elementor-element-c3af41a .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-c4f19d3 );color:#ffffff;}.elementor-109 .elementor-element.elementor-element-c3af41a .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-c4f19d3 );color:#ffffff;}.elementor-109 .elementor-element.elementor-element-c3af41a .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-109 .elementor-element.elementor-element-c3af41a .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-109 .elementor-element.elementor-element-c3af41a .elementor-button{border-radius:0px 0px 0px 0px;padding:20px 0px 20px 0px;}.elementor-109 .elementor-element.elementor-element-c3af41a{--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;}@media(max-width:1024px){.elementor-109 .elementor-element.elementor-element-0bd73f4{--padding-top:0%;--padding-bottom:5%;--padding-left:10%;--padding-right:10%;}.elementor-109 .elementor-element.elementor-element-9692f86{--spacer-size:40px;}}@media(max-width:767px){.elementor-109 .elementor-element.elementor-element-4797927{text-align:center;}.elementor-109 .elementor-element.elementor-element-4797927 .elementor-heading-title{font-size:28px;}.elementor-109 .elementor-element.elementor-element-5feaaa0{text-align:center;}.elementor-109 .elementor-element.elementor-element-a539625 .elementor-heading-title{font-size:30px;}.elementor-109 .elementor-element.elementor-element-9692f86{--spacer-size:10px;}.elementor-109 .elementor-element.elementor-element-617ffb9 .elementor-heading-title{font-size:30px;}}/* Start custom CSS *//* —— Layout riga textarea + checkbox + bottone (desktop) —— */
@media (min-width: 992px){
  /* wrapper a griglia flessibile con gap */
  .elementor-element-c3af41a .elementor-form-fields-wrapper{
    display:flex; flex-wrap:wrap; gap:16px 20px;
  }

  /* textarea occupa il 60% */
  .elementor-element-c3af41a .elementor-field-group-message{
    flex: 0 0 calc(60% - 10px);
  }

  /* checkbox 20% */
  .elementor-element-c3af41a .elementor-field-group-field_7945343{
    flex: 0 0 calc(20% - 10px);
    align-self:flex-start;
  }

  /* bottone 20% e allineato a destra */
  .elementor-element-c3af41a .e-form__buttons{
    flex: 0 0 calc(20% - 10px);
    margin-left: 0 !important;
    display:flex; justify-content:flex-end; align-items:flex-start;
    text-align:right;
  }

  /* estetica del bottone, senza cambiare il tuo colore */
  .elementor-element-c3af41a .e-form__buttons .elementor-button{
    width:auto; border-radius:12px; box-shadow:0 8px 18px rgba(0,0,0,.08);
    padding:14px 22px;
  }
}

/* mobile: tutto a colonna (default Elementor) */


/* === File upload stile pill (Elementor) === */
.elementor-field-group-field_69ba4d0 { position: relative; }
.rt-file { position: relative; width: 100%; }

.rt-file input[type="file"]{
  position: absolute; inset: 0; width:100%; height:100%;
  opacity: 0; cursor: pointer; z-index: 2; /* clicca ovunque */
}

/* finta UI visibile */
.rt-file-ui{
  position: relative; z-index: 1;
  width: 100%;
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 44px 12px 16px;  /* spazio per icona a destra */
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow:
    0 10px 24px rgba(0,0,0,.08),
    inset 0 1px 0 rgba(255,255,255,.6);
  font-size: 14px;
  line-height: 1;
  font-style: italic;         /* placeholder style */
  color: #9aa0a6;             /* grigio placeholder */
}

/* quando c'è un file selezionato: testo “normale” e più scuro */
.rt-file-ui.rt-has-file{
  font-style: normal;
  color: #333;
}

/* testo a sinistra, ellissi se lungo */
.rt-file-text{
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* icona upload a destra */
.rt-file-ico{
  width: 20px; height: 20px; flex: 0 0 20px;
  fill: #9aa0a6;
}

/* focus ring (accessibilità) quando il vero input riceve focus */
.rt-file:has(input[type="file"]:focus-visible) .rt-file-ui{
  outline: 2px solid #7aa7ff; outline-offset: 2px;
  transition: outline .15s;
}

/* rimuove spazi vuoti predefiniti del campo Elementor */
.elementor-field-group-field_69ba4d0 .elementor-field.elementor-upload-field{
  display: none !important; /* nascondo il campo visivo di Elementor, usiamo il nostro */
}


/* ==== SCOPING AL WIDGET FORM ==== */
.elementor-element-c3af41a .elementor-form { --rt-radius:16px; --rt-shadow:0 10px 24px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.6); --rt-border:1px solid rgba(0,0,0,.06); --rt-ph:#9aa0a6; --rt-text:#333; }

/* Spaziatura uniforme tra campi */
.elementor-element-c3af41a .elementor-form .elementor-field-group{ margin-bottom:16px; }

/* ==== INPUT / TEXTAREA uguali al mock ==== */
.elementor-element-c3af41a .elementor-field-textual,
.elementor-element-c3af41a textarea.elementor-field {
  background:#fff;
  border:var(--rt-border);
  border-radius:var(--rt-radius);
  box-shadow:var(--rt-shadow);
  color:var(--rt-text);
  padding:12px 16px;
  height:44px;               /* altezza coerente */
  line-height:20px;
}
.elementor-element-c3af41a textarea.elementor-field{
  height:auto; min-height:120px; padding:14px 16px;
}

/* Placeholder in corsivo + grigio */
.elementor-element-c3af41a .elementor-field-textual::placeholder,
.elementor-element-c3af41a textarea.elementor-field::placeholder{ color:var(--rt-ph); font-style:italic; }

/* ==== SELECT wrapper come gli altri ==== */
.elementor-element-c3af41a .elementor-select-wrapper{
  background:#fff;
  border:var(--rt-border);
  border-radius:var(--rt-radius);
  box-shadow:var(--rt-shadow);
  height:44px;
  display:flex; align-items:center;
  padding:0 40px 0 12px;     /* spazio per caret */
}
.elementor-element-c3af41a .elementor-select-wrapper select{
  border:none; background:transparent; width:100%;
  height:42px; line-height:42px; color:var(--rt-text);
}
.elementor-element-c3af41a .select-caret-down-wrapper{
  right:12px; width:20px; height:20px; display:flex; align-items:center; justify-content:center;
}
.elementor-element-c3af41a .select-caret-down-wrapper svg{ width:18px; height:18px; fill:var(--rt-ph); }

/* ==== FILE upload: nascondo il campo nativo (UI custom già fornita) ==== */
.elementor-element-c3af41a .elementor-field-group-field_69ba4d0 .elementor-upload-field{ display:none !important; }
/* (Lo stile della pill del file è nel CSS che ti ho passato prima: .rt-file, .rt-file-ui, ecc.) */

/* ==== CHECKBOX: mantenere look pulito ==== */
.elementor-element-c3af41a .elementor-field-group [type="checkbox"]{ transform: translateY(1px); }

/* ==== BOTTONE: spostalo a destra come nel mock (non cambio colore) ==== */
@media (min-width: 992px){
  .elementor-element-c3af41a .elementor-form-fields-wrapper{
    display:flex; flex-wrap:wrap; gap:16px 20px;       /* ordine già dato dalle col-30/60 */
  }
  .elementor-element-c3af41a .e-form__buttons{
    width:auto !important;
    margin-left:auto;                 /* spinge il bottone a destra della riga */
    align-self:flex-start;            /* allinea con la checkbox */
    text-align:right;
  }
}
/* Bottone pill + shadow (senza cambiare il tuo colore) */
.elementor-element-c3af41a .e-form__buttons .elementor-button{
  border-radius:12px; box-shadow:0 8px 18px rgba(0,0,0,.08);
  padding:14px 22px;
}

/* —— FIX SELECT rotto (stesso look degli altri campi) —— */
.elementor-element-c3af41a .elementor-select-wrapper{
  position: relative;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:16px;
  box-shadow:0 10px 24px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.6);
  height:44px;
  padding:0;                 /* niente doppia padding */
  overflow:hidden;
  display:flex; align-items:center;
}
.elementor-element-c3af41a .elementor-select-wrapper select{
  -webkit-appearance:none; appearance:none;
  background:transparent; border:0; outline:0;
  width:100%; height:44px; line-height:44px;
  padding:0 44px 0 12px;                  /* spazio per caret */
  color:#333;
}
/* placeholder in corsivo/grigio finché non c'è una scelta */
.elementor-element-c3af41a .elementor-select-wrapper:not(.rt-has-value) select{
  color:#9aa0a6; font-style:italic;
}

/* caret allineato a destra */
.elementor-element-c3af41a .select-caret-down-wrapper{
  position:absolute; right:12px; top:50%;
  transform:translateY(-50%);
  width:20px; height:20px; display:flex; align-items:center; justify-content:center;
  pointer-events:none;
}
.elementor-element-c3af41a .select-caret-down-wrapper svg{ width:18px; height:18px; fill:#9aa0a6; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Kanit Semibold';
	font-display: auto;
	src: url('https://stepasrl.it/wp-content/uploads/2025/10/Kanit-SemiBold.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Lato Black';
	font-display: auto;
	src: url('https://stepasrl.it/wp-content/uploads/2025/10/Lato-Black.ttf') format('truetype');
}
/* End Custom Fonts CSS */