.elementor-22950 .elementor-element.elementor-element-f8e70b0{margin-top:3%;margin-bottom:-2%;padding:0% 0% 0% 0%;}.elementor-22950 .elementor-element.elementor-element-18ca53c{text-align:center;font-family:"Outfit", Sans-serif;font-size:48px;font-weight:700;color:var( --e-global-color-61c01e98 );}.elementor-22950 .elementor-element.elementor-element-8e31b65{padding:0% 0% 5% 0%;}.elementor-22950 .elementor-element.elementor-element-98bddb4{text-align:center;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-22950 .elementor-element.elementor-element-2c3fcc4{margin-top:0px;margin-bottom:0px;padding:0% 0% 9% 0%;}.elementor-22950 .elementor-element.elementor-element-dc66c41 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-22950 .elementor-element.elementor-element-dc66c41 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-22950 .elementor-element.elementor-element-e2a8813{margin-top:-6%;margin-bottom:10%;}@media(max-width:1024px){.elementor-22950 .elementor-element.elementor-element-98bddb4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-22950 .elementor-element.elementor-element-18ca53c > .elementor-widget-container{margin:4% 4% 0% 04%;}.elementor-22950 .elementor-element.elementor-element-18ca53c{font-size:40px;}.elementor-22950 .elementor-element.elementor-element-98bddb4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-22950 .elementor-element.elementor-element-16b6ed4 > .elementor-widget-container{margin:0% 4% 0% 4%;}}/* Start custom CSS for shortcode, class: .elementor-element-16b6ed4 *//* palette locale */
.elementor-22950 .elementor-element.elementor-element-16b6ed4{
  --fa-accent:#7b68ee;   /* lilla */
  --fa-text:#172642;
  --fa-border:#e1e7fb;   /* bordo neutro */
}

/* --- pill dei servizi --- */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills .wpcf7-list-item{ display:inline-block; margin:6px 8px 6px 0; }

/* nascondo la checkbox nativa */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills input[type="checkbox"]{
  position:absolute; opacity:0; width:0; height:0; pointer-events:none;
}

/* kill di qualunque alone/ombra del tema */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills label,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills label:focus,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills label:focus-within,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills .wpcf7-list-item-label,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills input[type="checkbox"]:focus + .wpcf7-list-item-label,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills input[type="checkbox"]:focus-visible + .wpcf7-list-item-label{
  outline:0 !important; box-shadow:none !important; filter:none !important;
}

/* aspetto base: solo bordo neutro su fondo bianco */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills .wpcf7-list-item-label{
  display:inline-block;
  padding:8px 14px;
  border:2px solid var(--fa-border) !important;
  border-radius:9999px;
  background:#fff !important;
  color:var(--fa-text) !important;
  transition:border-color .15s ease, color .15s ease;
}

/* hover (opzionale): anticipo il lilla sul bordo */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills label:hover .wpcf7-list-item-label{
  border-color:var(--fa-accent) !important;
}

/* SELEZIONATO: SOLO contorno lilla, nessun riempimento */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills input[type="checkbox"]:checked + .wpcf7-list-item-label{
  border-color:var(--fa-accent) !important;
  background:#fff !important;
  color:var(--fa-text) !important;   /* lascia il testo scuro */
  font-weight:600;
}
/* --- KILL SWITCH per il "rettangolino" nel gruppo servizi --- */

/* 1) Se qualche stile trasforma gli item in list-item, rimuovi marker/bullet */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills *{
  list-style: none !important;
}
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills ::marker{
  content: "" !important;
}

/* 2) Elimina qualunque icona/fake box disegnata dal tema */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills label::before,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills label::after,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills .wpcf7-list-item-label::before,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills .wpcf7-list-item-label::after{
  content: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Alcuni temi usano font-icone sul :before del label */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills label::before{
  font-family: initial !important;
}

/* 3) Nel dubbio, spegni anche pseudo-elementi del contenitore */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills::before,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills::after{
  content: none !important;
}

/* (resto stile pill – solo contorno) */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills .wpcf7-list-item{ display:inline-block; margin:6px 8px 6px 0; }
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills input[type="checkbox"]{ position:absolute; opacity:0; width:0; height:0; pointer-events:none; }
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills .wpcf7-list-item-label{
  display:inline-block; padding:8px 14px; line-height:1;
  border:2px solid #e1e7fb !important; border-radius:9999px;
  background:#fff !important; color:#172642 !important;
}
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .fa-pills input[type="checkbox"]:checked + .wpcf7-list-item-label{
  border-color:#7b68ee !important; background:#fff !important; color:#172642 !important; font-weight:600;
}
/* testo del bottone SEMPRE scuro */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 input.wpcf7-submit.fa-cta,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 input.wpcf7-submit.fa-cta:link,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 input.wpcf7-submit.fa-cta:visited{
  color:#172642 !important;               /* o usa var(--fa-text) */
}

/* impedisci che l'hover lo porti a bianco */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 input.wpcf7-submit.fa-cta:hover,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 input.wpcf7-submit.fa-cta:focus,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 input.wpcf7-submit.fa-cta:active{
  color:#172642 !important;               /* resta scuro */
}

/* se per caso non prende la classe, copri anche la classe nativa */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 input.wpcf7-submit:hover,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 input.wpcf7-submit:focus,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 input.wpcf7-submit:active{
  color:#172642 !important;
}
/* palette di base (se non già dichiarata) */
.elementor-22950 .elementor-element.elementor-element-16b6ed4{ --fa-text:#172642; --fa-border:#e1e7fb; --fa-border-strong:#cfd6ff; }

/* campi uniformi: text, email, tel, select, textarea */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 .fa-input,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 .fa-select,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 .fa-textarea{
  width:100%;
  padding:14px 14px;
  border:1px solid var(--fa-border) !important;
  border-radius:14px !important;
  background:#fff !important;
  color:var(--fa-text) !important;
  line-height:1.4;
  box-shadow:none !important;
  outline:0;
}

/* select senza skin del browser/tema */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 .fa-select{ -webkit-appearance:none; appearance:none; }

/* textarea */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 .fa-textarea{ min-height:120px; resize:vertical; }

/* focus coerente per tutti */
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 .fa-input:focus,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 .fa-select:focus,
.elementor-22950 .elementor-element.elementor-element-16b6ed4 .wpcf7 .fa-textarea:focus{
  border-color:var(--fa-border-strong) !important;
  box-shadow:0 0 0 3px rgba(139,127,255,.20) !important; /* alone soft */
  outline:0;
}/* End custom CSS */
/* Start custom CSS for column, class: .elementor-element-dc66c41 */<section id="contatti" class="fa-contact" style="font-family:'Outfit',sans-serif">
  <style>
    .fa-contact{--w:clamp(760px,86vw,1200px);--radius:24px}
    .fa-contact .wrap{max-width:var(--w);margin:0 auto;padding:56px 20px}
    .fa-contact h1{font-weight:700;font-size:clamp(30px,5vw,48px);color:#0f1a2b;margin:0 0 8px;text-align:center}
    .fa-contact p.sub{text-align:center;color:#3b465b;font-size:clamp(16px,2.2vw,19px);margin:0 0 28px}

    .fa-contact .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:stretch}
    @media(max-width:900px){.fa-contact .grid{grid-template-columns:1fr}}

    .fa-contact .info{
      position:relative;border:1px solid #e8ecf7;border-radius:var(--radius);overflow:hidden;background:#fff;
      box-shadow:0 12px 36px rgba(18,30,80,.08)
    }
    .fa-contact .hero{aspect-ratio:16/9;background:radial-gradient(120% 80% at 80% 20%,#e8efff 0%,#f6f8ff 60%,#ffffff 100%)}
    .fa-contact .info-body{padding:20px}
    .fa-contact .k-row{margin:12px 0;color:#172642}
    .fa-contact .k-row small{color:#627093}

    /* Stili comuni ai campi (li usa anche CF7 con le classi qui sotto) */
    .fa-field{margin:12px 0;position:relative;z-index:0}
    .fa-field label{display:block;font-weight:600;color:#172642;margin:0 0 6px}
    .fa-input,.fa-select,.fa-textarea{
      width:100%;padding:14px 14px;border-radius:14px;border:1px solid #e1e7fb;background:#fff;
      font:inherit;color:#1a2743;transition:border-color .2s ease, box-shadow .2s ease, transform .15s ease; position:relative; z-index:1;
    }
    .fa-textarea{min-height:120px;resize:vertical}
    .fa-input:focus,.fa-select:focus,.fa-textarea:focus{outline:0;border-color:#cfd6ff;box-shadow:0 0 0 3px rgba(139,127,255,.20)}

    /* Glow campo – sotto il testo */
    .fa-field::after{
      content:"";position:absolute;inset:-1px;border-radius:16px;pointer-events:none;
      background:radial-gradient(240px 160px at var(--mx,120%) var(--my,-20%), rgba(185,170,255,.14), transparent 60%);
      opacity:0;transition:opacity .25s ease; z-index:0;
    }
    .fa-field.is-hover::after{opacity:1}

    .fa-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    @media(max-width:700px){.fa-row{grid-template-columns:1fr}}

    /* Chips CF7 */
    .fa-choices{display:flex;flex-wrap:wrap;gap:8px}
    .fa-choices .wpcf7-list-item{margin:0}
    .fa-choices .wpcf7-list-item label{
      display:inline-flex;align-items:center;gap:.5ch;padding:8px 12px;border-radius:999px;border:1px solid #e8ecf7;background:#f7f9ff;
      font-weight:600;color:#1a2743;cursor:pointer;transition:transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
    }
    .fa-choices .wpcf7-list-item label:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(17,36,77,.08)}
    .fa-choices input{position:absolute;opacity:0;pointer-events:none}
    .fa-choices input:checked + .wpcf7-list-item-label{
      background:linear-gradient(#ffffff,#ffffff) padding-box, linear-gradient(90deg,#b39bff,#8f7cff) border-box;
      border:2px solid transparent; box-shadow:0 8px 26px rgba(128,110,255,.18); color:#251f4b; border-radius:999px; padding:7px 11px;
    }

    /* CTA (usata sul submit CF7 con class:fa-cta) */
    .fa-cta{
      display:inline-block;padding:14px 28px;border-radius:999px;border:2px solid transparent;position:relative;overflow:hidden;
      background:linear-gradient(#fff,#fff) padding-box, linear-gradient(90deg,#b39bff,#8f7cff) border-box;
      color:#2b2359;font-weight:700;text-decoration:none;transition:transform .2s ease, box-shadow .2s ease;
      isolation:isolate; z-index:0;
    }
    .fa-cta:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(111,87,255,.22)}
    .fa-cta::after{
      content:"";position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;z-index:0;
      background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), rgba(186,165,255,.28), transparent 55%);
      opacity:var(--op,0);transition:opacity .25s ease
    }
    .fa-cta:is(:hover,:focus-visible){--op:1}

    /* CF7 stati */
    .wpcf7 form.invalid .wpcf7-response-output{border-color:#b00020;color:#b00020}
    .wpcf7 form.sent .wpcf7-response-output{border-color:#1b5e20;color:#1b5e20}
    .wpcf7-response-output{margin:10px 0 0;font-size:14px}

    /* On-scroll reveal */
    #contatti [data-animate]{opacity:0;transform:translateY(28px);will-change:transform,opacity}
    #contatti [data-animate].in{opacity:1;transform:none;transition:transform .75s ease,opacity .75s ease;transition-delay:var(--d,0s)}
    @media(prefers-reduced-motion:reduce){
      #contatti [data-animate]{opacity:1!important;transform:none!important}
      .fa-contact *{transition:none!important}
    }
  </style>/* End custom CSS */