.elementor-91744 .elementor-element.elementor-element-677cfbdf{--display:flex;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-91744 .elementor-element.elementor-element-677cfbdf:not(.elementor-motion-effects-element-type-background), .elementor-91744 .elementor-element.elementor-element-677cfbdf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-91744 .elementor-element.elementor-element-5a3d5e76{--display:flex;--min-height:0px;--gap:30px 0px;--row-gap:30px;--column-gap:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-91744 .elementor-element.elementor-element-5a3d5e76.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-91744 .elementor-element.elementor-element-5c444233 .elementor-heading-title{font-family:"Archivo", Sans-serif;font-size:40px;font-weight:400;line-height:35px;color:#BA0731;}.elementor-91744 .elementor-element.elementor-element-72eed6ec .elementor-heading-title{font-family:"Archivo", Sans-serif;font-size:1.22rem;font-weight:400;color:#000000;}.elementor-91744 .elementor-element.elementor-element-3ec5a31a{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--border-radius:5px 5px 5px 5px;--margin-top:70px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-91744 .elementor-element.elementor-element-16d92b09{--display:flex;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#F2D5DB;--border-color:#F2D5DB;--border-radius:5px 5px 5px 5px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-91744 .elementor-element.elementor-element-16d92b09.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-91744 .elementor-element.elementor-element-702fd4fd{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 30px) 0px;}.elementor-91744 .elementor-element.elementor-element-702fd4fd .elementor-heading-title{font-family:"Archivo", Sans-serif;font-size:30px;font-weight:500;}.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-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 );letter-spacing:var( --e-global-typography-text-letter-spacing );}.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-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 );letter-spacing:var( --e-global-typography-text-letter-spacing );}.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-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 );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );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-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 );letter-spacing:var( --e-global-typography-text-letter-spacing );}.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-size:var( --e-global-typography-accent-font-size );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-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-91744 .elementor-element.elementor-element-1beaf340{padding:0px 0px 0px 0px;--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-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:20px;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-20px;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-labels-inline .elementor-field-group > label{padding-left:4px;}body:not(.rtl) .elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-labels-inline .elementor-field-group > label{padding-right:4px;}body .elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-labels-above .elementor-field-group > label{padding-bottom:4px;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-group > label, .elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-subgroup label{color:#000000;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-group > label{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:400;line-height:1.3rem;letter-spacing:0.1px;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-type-html{padding-bottom:0px;color:var( --e-global-color-text );font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;line-height:1.3rem;letter-spacing:0.1px;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-group .elementor-field, .elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-subgroup label{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:400;line-height:2.5rem;letter-spacing:0.1px;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-radius:10px 10px 10px 10px;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-radius:10px 10px 10px 10px;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-button{font-family:"Poppins", Sans-serif;font-size:1.25rem;font-weight:400;line-height:1.5rem;letter-spacing:0.1px;border-radius:10px 10px 10px 10px;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .e-form__buttons__wrapper__button-next{color:#ffffff;transition-duration:400ms;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-button[type="submit"]{color:#ffffff;transition-duration:400ms;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-button[type="submit"] svg *{fill:#ffffff;transition-duration:400ms;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .e-form__buttons__wrapper__button-previous{color:#ffffff;transition-duration:400ms;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-text );color:var( --e-global-color-0558705 );}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-text );color:var( --e-global-color-0558705 );}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-0558705 );}.elementor-91744 .elementor-element.elementor-element-1beaf340 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}@media(max-width:1200px){.elementor-91744 .elementor-element.elementor-element-677cfbdf{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-91744 .elementor-element.elementor-element-5c444233 .elementor-heading-title{font-size:35px;letter-spacing:-1.4px;}.elementor-91744 .elementor-element.elementor-element-3ec5a31a{--margin-top:010px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}@media(max-width:1024px){.elementor-91744 .elementor-element.elementor-element-677cfbdf{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-91744 .elementor-element.elementor-element-5a3d5e76{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-91744 .elementor-element.elementor-element-5c444233.elementor-element{--align-self:center;}.elementor-91744 .elementor-element.elementor-element-5c444233{text-align:center;}.elementor-91744 .elementor-element.elementor-element-5c444233 .elementor-heading-title{font-size:35px;}.elementor-91744 .elementor-element.elementor-element-72eed6ec{text-align:center;}.elementor-91744 .elementor-element.elementor-element-3ec5a31a{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-91744 .elementor-element.elementor-element-785e35a5.elementor-element{--align-self:center;}.elementor-91744 .elementor-element.elementor-element-702fd4fd.elementor-element{--align-self:center;}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-group > label{font-size:16px;}.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-group .elementor-field, .elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-subgroup label{font-size:16px;}}@media(max-width:640px){.elementor-91744 .elementor-element.elementor-element-677cfbdf{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-91744 .elementor-element.elementor-element-5a3d5e76{--width:100%;--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:15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-91744 .elementor-element.elementor-element-5c444233{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 5px;}.elementor-91744 .elementor-element.elementor-element-72eed6ec{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 5px;}.elementor-91744 .elementor-element.elementor-element-3ec5a31a{--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-91744 .elementor-element.elementor-element-16d92b09{--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:050px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );}}@media(min-width:641px){.elementor-91744 .elementor-element.elementor-element-677cfbdf{--content-width:1280px;}.elementor-91744 .elementor-element.elementor-element-5a3d5e76{--width:50%;}.elementor-91744 .elementor-element.elementor-element-3ec5a31a{--content-width:100%;}.elementor-91744 .elementor-element.elementor-element-16d92b09{--width:50%;}}@media(max-width:1200px) and (min-width:641px){.elementor-91744 .elementor-element.elementor-element-5a3d5e76{--width:38%;}.elementor-91744 .elementor-element.elementor-element-3ec5a31a{--content-width:50%;}.elementor-91744 .elementor-element.elementor-element-16d92b09{--width:596.8px;}}@media(max-width:1024px) and (min-width:641px){.elementor-91744 .elementor-element.elementor-element-5a3d5e76{--width:97%;}}/* Start custom CSS for form, class: .elementor-element-1beaf340 */.sdc-contact-form .elementor-field-group { margin-bottom: 24px; }

/* ── LABEL — Poppins Light 25/30 nero, sopra il campo ── */
.sdc-contact-form .elementor-field-group > .elementor-field-label {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 25px;
  color: #101010;
  margin-bottom: 10px;
  padding: 0;
}

/* ── CAMPI testuali (input, textarea, select) — bianco, bordo 1px nero, rounded 10, h55 ── */
.sdc-contact-form .elementor-field-textual,
.sdc-contact-form input[type="text"],
.sdc-contact-form input[type="email"],
.sdc-contact-form input[type="tel"],
.sdc-contact-form input[type="number"],
.sdc-contact-form select,
.sdc-contact-form textarea {
  background-color: #ffffff;
  border: 1px solid #000000;
  border-radius: 10px;
  height: 55px;
  padding: 0 18px;
  width: 100%;
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  font-weight: 300;
  font-size: 18px;
  color: #101010;
  box-shadow: none;
}
.sdc-contact-form textarea {
  height: 189px;
  padding: 16px 18px;
  line-height: 1.5;
  resize: vertical;
}
.sdc-contact-form ::placeholder { color: #9a9a9a; opacity: 1; }
.sdc-contact-form .elementor-field-textual:focus,
.sdc-contact-form select:focus,
.sdc-contact-form textarea:focus {
  border-color: #BA0731;
  outline: none;
  box-shadow: none;
}

/* ── "Sei" — RADIO come PILL (bordo rosso; selezionato = rosso pieno) ── */
.sdc-contact-form .elementor-field-type-radio .elementor-field-subgroup {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
/* ⚠ SCOPE al solo campo RADIO: lo stesso markup (.elementor-field-subgroup >
   .elementor-field-option > label) lo usano anche Acceptance/Checkbox → senza
   `.elementor-field-type-radio` la pill+nowrap leakerebbe sulla privacy e sborderebbe. */
.sdc-contact-form .elementor-field-type-radio .elementor-field-option {
  position: relative;
  display: inline-flex;
}
/* nascondo il pallino radio nativo ma lo tengo cliccabile sopra la pill */
.sdc-contact-form .elementor-field-type-radio input[type="radio"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
}
.sdc-contact-form .elementor-field-type-radio .elementor-field-option label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 0 18px;
  margin: 0;
  border: 2px solid #BA0731;
  border-radius: 100px;
  background: #ffffff;
  color: #BA0731;
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  font-weight: 300;
  font-size: 20px;
  
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}
.sdc-contact-form .elementor-field-type-radio input[type="radio"]:checked + label {
  background: #BA0731;
  color: #ffffff;
}

/* ── DESCRIZIONI sotto i campi ("Attuale o che vorresti frequentare", ecc.) ── */
.sdc-contact-form .elementor-field-description {
  font-size: 16px;
  line-height: 22px;
  color: #7a7a7a;
  margin-top: 6px;
}

/* ── PRIVACY (campo "Acceptance") — checkbox rosso 20px + label che VA A CAPO ──
   Valido su tutti i breakpoint (non solo mobile): è il fix dello sbordamento. */
.sdc-contact-form .elementor-field-type-acceptance .elementor-field-subgroup,
.sdc-contact-form .elementor-field-type-acceptance .elementor-field-option {
    font-size:18px!important;
      display: flex;
  align-items: flex-start;
  gap: 10px;
  flex-wrap: nowrap;
}
.sdc-contact-form .elementor-field-type-acceptance input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  border: 1px solid #a3a3a3;
  border-radius: 4px;
  background-color: #ffffff;
  background-image: none;
  cursor: pointer;
}
/* :checked → casella PIENA rossa + spunta bianca.
   !important: sul sito il tema/Elementor sovrascrive lo `background` su :checked
   (si coloravano solo i bordi e l'interno restava bianco). Forzando background-color
   e background-image qui la casella si riempie correttamente. */
.sdc-contact-form .elementor-field-type-acceptance input[type="checkbox"]:checked {
  background-color: #BA0731 !important;
  border-color: #BA0731 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 5 10-11'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 13px !important;
}
/* la label NON è una pill: testo normale che va a capo, gap reali tra parole/link */
.sdc-contact-form .elementor-field-type-acceptance label {
  flex: 1 1 auto;
  min-width: 0;
  display: inline;
  height: auto;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: none;
  white-space: normal;       /* annulla il nowrap → niente sbordamento */
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 22px;
  letter-spacing: 0;
  color: #404040;
  text-align: left;
}
/* font: inherit → la "Privacy Policy" prende la STESSA dimensione/peso del testo
   attorno. Senza, il kit Elementor (`a { font-size:16px }`, specificità 0,1,1) la
   rende più grande del resto della label. Qui (0,2,1) vince e uniforma. */
.sdc-contact-form .elementor-field-type-acceptance a {
  font: inherit;
  color: #BA0731;
  text-decoration: none;
}

/* ── "ACCETTA TUTTO" — checkbox CUSTOM dentro un campo HTML del form ──
   NON è un campo Acceptance (così non è obbligatoria né viene inviata): è markup HTML
   (vedi accetta-tutto.html) con classe `.sdc-accept-all`. Qui la rendo IDENTICA alle
   spunte Acceptance (stessa casella 20px rossa su :checked) con label un filo più marcata
   per distinguerla come "master". Il comportamento "spunta entrambe" è nel JS. */
.sdc-contact-form .sdc-accept-all__row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  cursor: pointer;
  border-radius: 40px;
}
.sdc-contact-form .sdc-accept-all__cb {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  border: 1px solid #a3a3a3;
  border-radius: 4px;
  background-color: #ffffff;
  background-image: none;
  cursor: pointer;
}
.sdc-contact-form .sdc-accept-all__cb:checked {
  background-color: #BA0731 !important;
  border-color: #BA0731 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 5 10-11'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 13px !important;
}
.sdc-contact-form .sdc-accept-all__text {
  flex: 1 1 auto;
  min-width: 0;
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  font-weight: 500;          /* un filo più marcata della privacy (300) → si legge come "master" */
  font-size: 16px;
  line-height: 22px;
  color: #262626;
  text-align: left;
}

/* ── SUBMIT — brand red ── */
.sdc-contact-form .elementor-button,
.sdc-contact-form button[type="submit"] {
  background-color: #BA0731;
  color: #ffffff;
  border: 0;
  border-radius: 10px;
  min-height: 55px;
  padding: 0 28px;
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  font-weight: 300;
  font-size: 18px;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  transition: background-color .2s ease;
}
.sdc-contact-form .elementor-button:hover,
.sdc-contact-form button[type="submit"]:hover { background-color: #9a0628; }

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE (≤640px) — match Figma 1815:2311 (modulo "Contattaci" mobile)
   Su mobile il modulo cambia scala: campi a colonna singola, più compatti,
   bordo grigio chiaro, label piccole, pill radio piccole, submit full-width.
   Il DESKTOP resta invariato (bordi neri, scala grande della sezione 969:686).
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {

  /* tutti i campi a colonna singola: Nome/Cognome/Telefono/Email da 50% → 100% */
  .sdc-contact-form .elementor-field-group { width: 100% !important; margin-bottom: 18px; }

  /* LABEL — Poppins Light 16/23, grigio scuro #262626, gap 6px (Figma) */
  .sdc-contact-form .elementor-field-group > .elementor-field-label {
    font-size: 16px;
    line-height: 23px;
    color: #262626;
    margin-bottom: 6px;
  }
  /* asterisco campo obbligatorio in rosso (classe Elementor recente) */
  .sdc-contact-form .elementor-mark-required,
  .sdc-contact-form .elementor-field-label .elementor-mark-required { color: #dc2626; }

  /* CAMPI testuali — bordo grigio #a3a3a3, rounded 8, h46, padding 12 (Figma "Field") */
  .sdc-contact-form .elementor-field-textual,
  .sdc-contact-form input[type="text"],
  .sdc-contact-form input[type="email"],
  .sdc-contact-form input[type="tel"],
  .sdc-contact-form input[type="number"],
  .sdc-contact-form select,
  .sdc-contact-form textarea {
    border: 1px solid #a3a3a3;
    border-radius: 8px;
    height: 46px;
    min-height: 46px;
    padding: 0 12px;
    font-size: 15px;
  }
  .sdc-contact-form textarea {
    height: 96px;
    min-height: 96px;
    padding: 12px;
  }
  /* placeholder "Scrivi qui" grigio ~14px (Figma 13/19) */
  .sdc-contact-form ::placeholder { color: #a3a3a3; font-size: 14px; opacity: 1; }

  /* CAPTION/hint sotto i campi ("Attuale o che vorresti frequentare", ecc.) */
  .sdc-contact-form .elementor-field-description {
    font-size: 14px;
    line-height: 19px;
    color: #7a7a7a;
    margin-top: 6px;
  }

  /* "Chi sei?" — RADIO pill compatte (Figma: h35, padding 0 15, font 14, bordo 1px) */
  .sdc-contact-form .elementor-field-type-radio .elementor-field-option label {
    height: 35px;
    padding: 0 15px;
    font-size: 14px;
    letter-spacing: 0;
    border-width: 1px;
  }
  /* meno spazio tra le pill su telefono: metà del gap (10px → 5px), sia orizzontale che verticale */
  .sdc-contact-form .elementor-field-type-radio .elementor-field-subgroup,
  .sdc-contact-form .elementor-field-type-checkbox .elementor-field-subgroup { gap: 5px; }

  /* PRIVACY/NEWSLETTER + ACCETTA TUTTO — label più piccola su mobile */
  .sdc-contact-form .elementor-field-type-acceptance label,
  .sdc-contact-form .sdc-accept-all__text {
    font-size: 13px;
    line-height: 19px;
  }

  /* SUBMIT — full-width, rosso, rounded 5, testo 16/20 (Figma "Invia Richiesta") */
  .sdc-contact-form .elementor-field-type-submit { width: 100% !important; }
  .sdc-contact-form .elementor-button,
  .sdc-contact-form button[type="submit"] {
    width: 100%;
    min-height: 48px;
    border-radius: 5px;
    font-size: 16px;
    line-height: 20px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   DESKTOP + TABLET (≥641px) — campi affiancati SEMPRE 50% esatti e uguali
   ═══════════════════════════════════════════════════════════════════════════
   PROBLEMA risolto: i campi sulla stessa riga (Nome|Cognome, Email|Telefono,
   Indirizzo|Classe) prendevano la larghezza del CONTENUTO/label → quello con la
   label più corta usciva più stretto e la riga non si riempiva.
   FIX: i campi impostati a "50%" nel widget (classe .elementor-col-50, e varianti
   per device) vengono forzati a flex-basis 50% con box-sizing border-box (il gutter
   sta DENTRO il 50%) → due campi = 100% della riga, larghezza identica.
   Sotto i 640px restano a colonna singola 100% (vedi blocco mobile sopra). */
@media (min-width: 641px) {

  .sdc-contact-form .elementor-field-group { box-sizing: border-box; }

  /* gutter 12px tra le colonne (padding interno + margine negativo del wrapper) */
  .sdc-contact-form .elementor-form-fields-wrapper { margin-left: -6px; margin-right: -6px; }
  .sdc-contact-form .elementor-field-group { padding-left: 6px; padding-right: 6px; }

  /* forza 50% reale e uguale (no larghezza-a-contenuto) per i campi a metà riga */
  .sdc-contact-form .elementor-field-group.elementor-col-50,
  .sdc-contact-form .elementor-field-group.elementor-md-50,
  .sdc-contact-form .elementor-field-group.elementor-sm-50,
  .sdc-contact-form .elementor-field-group.elementor-tablet-50,
  .sdc-contact-form .elementor-field-group.elementor-mobile-50 {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
  }

  /* l'input riempie SEMPRE tutta la sua colonna (causa principale dell'irregolarità) */
  .sdc-contact-form .elementor-field-textual,
  .sdc-contact-form input[type="text"],
  .sdc-contact-form input[type="email"],
  .sdc-contact-form input[type="tel"],
  .sdc-contact-form input[type="number"],
  .sdc-contact-form select,
  .sdc-contact-form textarea { width: 100% !important; }
}

/* ── Solo TABLET (641–1024px): submit centrato (non full-width) ── */
@media (min-width: 641px) and (max-width: 1024px) {
  /* Il field-group è flex-column → per centrare in ORIZZONTALE serve align-items:center
     (justify-content centrerebbe in verticale e stretch allargherebbe il bottone). */
  .sdc-contact-form .elementor-field-type-submit {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
  .sdc-contact-form .elementor-field-type-submit .elementor-button,
  .sdc-contact-form .elementor-field-type-submit button[type="submit"] {
    width: auto;
    min-width: 260px;        /* larghezza piacevole, resta centrato */
  }
}

/* LABEL form contatti + testo accept-all — desktop */
.elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-subgroup label,
.sdc-accept-all__text{
  font-size:14px !important;
  line-height:20px !important;
}

/* tablet (≤1024px) */
@media (max-width:1024px){
  .elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-subgroup label,
  .sdc-accept-all__text{
    font-size:13px !important;
    line-height:18px !important;
  }
}

/* mobile (≤767px) */
@media (max-width:767px){
  .elementor-91744 .elementor-element.elementor-element-1beaf340 .elementor-field-subgroup label,
  .sdc-accept-all__text{
    font-size:12px !important;
    line-height:17px !important;
  }
}/* End custom CSS */