.elementor-5711 .elementor-element.elementor-element-569ee44{--display:flex;}.elementor-5711 .elementor-element.elementor-element-05a2ac9{--display:flex;}.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-5711 .elementor-element.elementor-element-f63e685 > .elementor-widget-container{padding:20px 20px 20px 20px;border-style:none;border-radius:5px 5px 5px 5px;}.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:20px;}.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-20px;}.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-labels-inline .elementor-field-group > label{padding-left:7px;}body:not(.rtl) .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-labels-inline .elementor-field-group > label{padding-right:7px;}body .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-labels-above .elementor-field-group > label{padding-bottom:7px;}.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group > label, .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-subgroup label{color:#000000;}.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group > label{font-family:"Roboto", Sans-serif;font-weight:400;}.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-type-html{padding-bottom:0px;}.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-button{font-family:"Roboto", Sans-serif;font-size:25px;font-weight:500;padding:10px 0px 10px 0px;}.elementor-5711 .elementor-element.elementor-element-f63e685 .e-form__buttons__wrapper__button-next{background-color:#0070BF;color:#ffffff;}.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-button[type="submit"]{background-color:#0070BF;color:#ffffff;}.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-5711 .elementor-element.elementor-element-f63e685 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-5711 .elementor-element.elementor-element-f63e685 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-5711 .elementor-element.elementor-element-f63e685 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-5711 .elementor-element.elementor-element-f63e685{--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;}.elementor-5711 .elementor-element.elementor-element-f2415a1{--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;}@media(max-width:767px){.elementor-5711 .elementor-element.elementor-element-29a300d > .elementor-widget-container{margin:-18px 0px 31px 0px;padding:2px 0px 0px 0px;}.elementor-5711 .elementor-element.elementor-element-f63e685 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:15px 15px 15px 15px;}}/* Start custom CSS for form, class: .elementor-element-f63e685 *//***** MODULO DATI — SUPER MODERNO / HIGH CONTRAST (COMPLETE) *****
 * Incolla nel campo “CSS personalizzato” del WIDGET MODULO (Elementor Pro).
 * Tutto è scoping su `.elementor-5711 .elementor-element.elementor-element-f63e685`.
 ********************************************************/

/* ——— opzionale: se avevi sfondi di sezione “agganciati” al modulo ——— */
.elementor-section:has(.elementor-5711 .elementor-element.elementor-element-f63e685),
.e-con:has(.elementor-5711 .elementor-element.elementor-element-f63e685){ background: none !important; }

/* ================= VARIABILI LOCALI (solo per questo widget) ================= */
.elementor-5711 .elementor-element.elementor-element-f63e685{
  /* base */
  --fg:#0b1625;
  --muted:#39526b;

  /* palette neon fredda per bordi & ring */
  --acc1:#7b61ff;     /* violet neon */
  --acc2:#00e1ff;     /* aqua neon */

  /* CTA calda che stacca dal resto */
  --cta1:#ff7a18;     /* arancio vivo */
  --cta2:#ffd166;     /* ambra */

  /* success / error */
  --ok:#16c784;
  --err:#d7263d;

  /* vetro/box */
  --glassTop: rgba(255,255,255,.86);
  --glassBot: rgba(255,255,255,.78);
  --borderMix: #a8c7e6;

  /* dimensioni */
  --radius:18px;
  --radius-lg:22px;
  --pad: clamp(18px, 3vw, 28px);

  /* ombre */
  --shadow-outer: 0 22px 48px rgba(13,26,46,.26), 0 2px 0 rgba(255,255,255,.6) inset;
  --shadow-inner: 0 0 0 4px rgba(126,190,255,.10) inset;

  /* effetti */
  --ring1: color-mix(in oklab, var(--acc2), #fff 35%);
  --ring2: color-mix(in oklab, var(--acc1), #fff 65%);

  /* spaziature fluide (smart spacing) */
  --s-2xs: clamp(4px, .35vw, 6px);
  --s-xs:  clamp(6px, .6vw, 10px);
  --s-sm:  clamp(8px, .9vw, 14px);
  --s-md:  clamp(12px, 1.4vw, 18px);
  --s-lg:  clamp(16px, 2vw, 24px);
  --s-xl:  clamp(20px, 2.8vw, 32px);
  --s-2xl: clamp(28px, 4vw, 44px);

  /* padding card adattivo */
  --pad-x: clamp(14px, 3.2vw, 28px);
  --pad-y: clamp(14px, 2.8vw, 26px);

  /* label → campo */
  --label-gap: clamp(6px, 0.7vw, 10px);
  --label-gap-textarea: clamp(8px, 0.9vw, 12px);

  /* spazi intorno a indirizzo/submit */
  --gap-before-address: clamp(16px, 2.6vw, 28px);
  --gap-after-submit:   clamp(16px, 2.6vw, 28px);
  --gap-before-submit:  clamp(16px, 2.6vw, 28px);
}

/* ================= CARD DEL MODULO (glass + bordo neon) ================= */
.elementor-5711 .elementor-element.elementor-element-f63e685{
  position: relative;
  isolation: isolate;
  max-width: 1100px;
  margin-inline: auto;
  padding: var(--pad-y) var(--pad-x);
  border-radius: clamp(14px, 1.6vw, 22px);

  background:
    linear-gradient(180deg, var(--glassTop), var(--glassBot)) padding-box,
    linear-gradient(92deg, var(--acc1), var(--acc2)) border-box;
  border: 1px solid color-mix(in oklab, var(--borderMix), #000 10%);
  box-shadow: var(--shadow-outer), var(--shadow-inner);
  backdrop-filter: blur(8px) saturate(130%);
}

/* cornice glow sottile in movimento */
.elementor-5711 .elementor-element.elementor-element-f63e685::before{
  content:"";
  position:absolute; inset:-1px;
  border-radius: inherit;
  background:
    conic-gradient(from 0deg,
      color-mix(in oklab, var(--acc1), #fff 10%),
      color-mix(in oklab, var(--acc2), #fff 10%),
      color-mix(in oklab, var(--acc1), #fff 10%)
    );
  filter: blur(18px) saturate(140%);
  opacity:.16;
  z-index:-1;
  animation: borderFloat 14s linear infinite;
}
@keyframes borderFloat{
  0%{ transform: rotate(0deg); } 100%{ transform: rotate(360deg); }
}

/* sheen leggerissimo sulla superficie */
.elementor-5711 .elementor-element.elementor-element-f63e685::after{
  content:"";
  position:absolute; inset:0;
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(255,255,255,.16), rgba(255,255,255,0) 40%);
  mix-blend-mode: screen;
  pointer-events:none;
  mask-image: linear-gradient(to right, transparent 0, black 12%, black 88%, transparent 100%);
  animation: sheen 7s linear infinite;
}
@keyframes sheen{
  0%{ transform: translateX(-4%);} 100%{ transform: translateX(4%);}
}

/* ================= GRIGLIA & CAMPI ================= */
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-form{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-md) var(--s-lg);
  align-items: start;
}
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group{
  margin: 0 !important;
  width: 100%;
  max-width: min(560px, 100%);
}
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group.full,
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group.elementor-field-type-acceptance,
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group.elementor-field-type-textarea{
  grid-column: 1 / -1;
}

/* LABEL più nette */
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-label{
  display:block !important;
  margin: 0 0 var(--label-gap) 0 !important;
  font-size: .95rem;
  font-weight: 800;
  color: var(--fg);
  letter-spacing: .01em;
  line-height: 1.2;
}

/* INPUT moderni (glass + ring) */
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field,
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-select-wrapper select,
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-textual,
.elementor-5711 .elementor-element.elementor-element-f63e685 textarea.elementor-field-textual{
  width: 100%;
  border-radius: 14px;
  padding: clamp(10px, 1.2vw, 14px) clamp(12px, 1.6vw, 18px) !important;
  min-height: clamp(42px, 5.2vw, 52px) !important;
  border: 1px solid color-mix(in oklab, var(--acc1), #000 35%);
  background:
    linear-gradient(180deg,
      color-mix(in oklab, rgba(255,255,255,.94), #fff 8%),
      color-mix(in oklab, rgba(255,255,255,.88), #fff 2%)
    );
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 0 0 3px color-mix(in oklab, var(--acc2), #fff 85%) inset;
  color: var(--fg);
}
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field::placeholder{
  color: color-mix(in oklab, var(--muted), #fff 6%);
  opacity: .95;
}

/* focus potente ma elegante */
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field:focus,
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-select-wrapper select:focus,
.elementor-5711 .elementor-element.elementor-element-f63e685 textarea.elementor-field-textual:focus{
  outline: none;
  border-color: color-mix(in oklab, var(--acc2), #000 12%);
  box-shadow:
    0 0 0 3px var(--ring1),
    0 0 0 6px var(--ring2);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.94));
}

/* stati errore/successo */
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field[aria-invalid="true"],
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field.elementor-error{
  border-color: var(--err) !important;
  box-shadow: 0 0 0 3px rgba(215,38,61,.10) inset !important;
}
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-message-success{
  background: linear-gradient(180deg,#e6f9ef,#d7f3e7);
  border:1px solid color-mix(in oklab,var(--ok),#000 18%);
  color:#063a24;
  border-radius: 12px;
  padding:.75rem 1rem;
  font-weight:800; text-align:center;
}
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-message-danger{
  background: linear-gradient(180deg,#ffe9e6,#ffe2e0);
  border:1px solid color-mix(in oklab,var(--err),#000 12%);
  color:#7a1610;
  border-radius: 12px;
  padding:.75rem 1rem;
  font-weight:800; text-align:center;
}

/* checkbox/acceptance */
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-type-acceptance{
  display:flex; justify-content:center; align-items:flex-start; gap:.6rem;
}
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-type-acceptance .elementor-field-option{
  accent-color: color-mix(in oklab, var(--acc2), #000 10%);
  border-radius: 8px;
}

/* ================= CTA SUPER MODERNA (calda) ================= */
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group.elementor-field-type-submit{
  grid-column: 1 / -1;
  margin-top: var(--gap-before-submit) !important;
  margin-bottom: var(--gap-after-submit) !important;
}
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-button{
  justify-self: center;
  position: relative;
  border: 1px solid color-mix(in oklab, var(--cta2), #000 16%);
  border-radius: 14px;
  padding: clamp(10px, 1.8vw, 14px) clamp(12px, 2.2vw, 18px) !important;
  background: linear-gradient(180deg, var(--cta2), var(--cta1));
  color: #0f1a2a;
  font-weight: 1000;
  letter-spacing: .02em;
  text-decoration: none;
  box-shadow:
    0 14px 30px rgba(255,122,24,.30),
    0 0 44px rgba(255,209,102,.45),
    0 1px 0 rgba(255,255,255,.9) inset;
  cursor:pointer;
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  overflow: hidden;
  line-height: 1.15 !important;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
}
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-button::after{
  content:"";
  position:absolute; inset:-50% -20% auto -20%;
  height: 220%;
  background: linear-gradient(120deg, rgba(255,255,255,.45), rgba(255,255,255,0) 40%);
  transform: translateX(-60%);
  mix-blend-mode: screen;
  animation: ctaShine 2.6s linear infinite;
}
@keyframes ctaShine{ 0%{transform:translateX(-60%)} 100%{transform:translateX(60%)} }
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-button:hover{ filter: saturate(112%) brightness(1.05); transform: translateY(-1px); }
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-button:active{ transform: translateY(0); }

/* ================= BADGE SOTTO IL BOTTONE (solo CSS) ================= */
/* Nasconde l'elenco precedente eventualmente definito nello ::before */
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group.elementor-field-type-submit::before{
  content: none !important;
}

/* Titolo + elenco check (TUTTO sotto al bottone) con più spazio tra righe */


  /* distanza dal bottone */
  margin-top: clamp(16px, 2.8vw, 24px);

  /* box stile modulo */
  background: linear-gradient(180deg,
    var(--glassTop, rgba(255,255,255,.86)),
    var(--glassBot, rgba(255,255,255,.78))
  );
  border: 1px solid color-mix(in oklab, var(--borderMix, #a8c7e6), #000 10%);
  border-radius: 12px;
  padding: clamp(12px, 2vw, 16px) clamp(14px, 2.4vw, 18px);

  /* testo */
  color: var(--fg, #0b1625);
  font-weight: 800;
  font-size: clamp(12px, 1.8vw, 14px);
  line-height: 1.7;           /* <-- più spazio tra i check */
  white-space: pre-line;       /* rispetta \A come a capo */
}
/* Prima riga (il titolo) più evidenziata */
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group.elementor-field-type-submit::after:first-line{
  font-weight: 900;
  font-size: clamp(13px, 2vw, 15px);
  color: var(--fg, #0b1625);
}

/* ===== TITOLO STILIZZATO SOPRA IL MODULO (solo CSS) ===== */
/* Compare sopra ai campi del form, dentro la card */
.elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-form::before{
  content: "Compila il modulo";
  display: block;
  margin: 0 0 clamp(10px, 2vw, 16px);
  font-weight: 1000;
  font-size: clamp(18px, 3.6vw, 28px);
  line-height: 1.1;
  letter-spacing: .02em;
  text-transform: uppercase;

  /* testo con gradiente in palette */
  background: linear-gradient(90deg, var(--acc1, #7b61ff), var(--acc2, #00e1ff));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Variante mobile: un filo più compatta su schermi stretti */
@media (max-width: 480px){
  .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-form::before{
    font-size: clamp(16px, 5vw, 20px);
    letter-spacing: .01em;
  }
}


/* ================= RESPONSIVE ================= */
@media (min-width: 1200px){
  .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-form{ gap: var(--s-md) var(--s-xl) !important; }
}
@media (max-width: 1024px){
  .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-form{ gap: var(--s-sm) var(--s-md) !important; }
}
@media (max-width: 680px){
  .elementor-5711 .elementor-element.elementor-element-f63e685{
    --pad-x: clamp(12px, 4vw, 18px);
    --pad-y: clamp(12px, 3.6vw, 18px);
    --label-gap: clamp(4px, 1.8vw, 8px);
    --label-gap-textarea: clamp(6px, 2.2vw, 10px);
    --gap-before-address: clamp(14px, 3.8vw, 22px);
    --gap-after-submit:   clamp(14px, 3.8vw, 22px);
    --gap-before-submit:  clamp(14px, 3.8vw, 22px);
  }
  .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-form{ grid-template-columns: 1fr !important; gap: var(--s-sm) !important; }
  .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group + .elementor-field-group{ margin-top: var(--s-xs) !important; }
  .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-button{
    width: 100% !important;
    padding: 10px 12px !important;
    border-radius: clamp(10px, 2.4vw, 12px) !important;
    font-size: clamp(14px, 3.6vw, 16px) !important;
  }
}
@media (max-width: 430px){
  .elementor-5711 .elementor-element.elementor-element-f63e685{
    --pad-x: 14px;
    --pad-y: 14px;
    --label-gap: 6px;
    --label-gap-textarea: 8px;
  }
  .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field,
  .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-select-wrapper select,
  .elementor-5711 .elementor-element.elementor-element-f63e685 textarea.elementor-field-textual{
    padding: 12px 14px !important;
    min-height: 42px !important;
  }
  /* Badge box più compatto su telefoni stretti */
  .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-field-group.elementor-field-type-submit::after{
    font-size: 12px;
    padding: 10px 12px;
    line-height: 1.65;
  }
}

/* ================= ACCESSIBILITÀ / PERFORMANCE ================= */
@media (prefers-reduced-motion: reduce){
  .elementor-5711 .elementor-element.elementor-element-f63e685::before, .elementor-5711 .elementor-element.elementor-element-f63e685::after,
  .elementor-5711 .elementor-element.elementor-element-f63e685 .elementor-button::after{ animation: none !important; }
}/* End custom CSS */