.elementor-29 .elementor-element.elementor-element-fcb7a63{--display:flex;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}body:not(.rtl) .elementor-29 .elementor-element.elementor-element-39f30e1{right:21px;}body.rtl .elementor-29 .elementor-element.elementor-element-39f30e1{left:21px;}.elementor-29 .elementor-element.elementor-element-39f30e1{bottom:21px;z-index:1000;}.elementor-29 .elementor-element.elementor-element-39f30e1 .elementor-button{border-radius:50px 50px 50px 50px;padding:15px 15px 15px 15px;}.elementor-29 .elementor-element.elementor-element-4fd8679{--display:flex;--min-height:573px;--justify-content:space-evenly;}.elementor-widget-image .widget-image-caption{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-29 .elementor-element.elementor-element-b8173d7 img{width:31%;}.elementor-widget-progress-tracker .current-progress-percentage{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-29 .elementor-element.elementor-element-c0158ae .current-progress{background-color:var( --e-global-color-56cc9da );}.elementor-29 .elementor-element.elementor-element-c0158ae{--percentage-color:#FFFFFF;--horizontal-progress-border:none;--progress-border-radius:15px 15px 15px 15px;--horizontal-height:13px;--horizontal-border-style:none;}.elementor-29 .elementor-element.elementor-element-c0158ae .current-progress-percentage{font-family:"Poppins", Sans-serif;font-size:11px;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-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-29 .elementor-element.elementor-element-8d2d8fa > .elementor-widget-container{padding:15px 15px 15px 15px;border-radius:0px 0px 0px 0px;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-button-content-wrapper{flex-direction:row;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-field-group{margin-bottom:39px;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-field-group.recaptcha_v3-bottomleft, .elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-form-fields-wrapper{margin-bottom:-39px;}body.rtl .elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-labels-inline .elementor-field-group > label{padding-left:11px;}body:not(.rtl) .elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-labels-inline .elementor-field-group > label{padding-right:11px;}body .elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-labels-above .elementor-field-group > label{padding-bottom:11px;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-field-group > label{font-family:"Poppins", Sans-serif;font-size:25px;font-weight:600;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-field-type-html{padding-bottom:0px;font-family:"Poppins", Sans-serif;font-size:25px;font-weight:600;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-field-group .elementor-field:not(.elementor-select-wrapper){border-width:0px 0px 3px 0px;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-field-group .elementor-select-wrapper select{border-width:0px 0px 3px 0px;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-button{font-family:"Poppins", Sans-serif;font-size:28px;font-weight:500;letter-spacing:2.6px;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .e-form__buttons__wrapper__button-next{background-color:#147CB9;color:#ffffff;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-button[type="submit"]{background-color:#147CB9;color:#ffffff;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .e-form__buttons__wrapper__button-previous{background-color:#61CE70;color:#ffffff;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-29 .elementor-element.elementor-element-8d2d8fa .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-29 .elementor-element.elementor-element-8d2d8fa{--e-form-steps-indicators-spacing:29px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-2c8dca7 );--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-primary-color:var( --e-global-color-56cc9da );--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-primary-color:var( --e-global-color-primary );--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;}/* Start custom CSS for form, class: .elementor-element-8d2d8fa *//* Container principale del form */
.elementor-form {
    font-family: 'Open Sans', sans-serif;
    max-width: 800px;
    margin: 0 auto;
    padding: 30px;
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

/* Titolo del form */
.elementor-form .elementor-heading-title {
    color: #2c3e50;
    text-align: center;
    margin-bottom: 25px;
    font-weight: 600;
    font-size: 28px;
}

/* Campi del form */
.elementor-form .elementor-field-group {
    margin-bottom: 20px;
}

.elementor-form .elementor-field-label {
    display: block;
    margin-bottom: 8px;
    color: #4a5568;
    font-size: 14px;
    font-weight: 500;
}

.elementor-form .elementor-field-textual {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 15px;
    color: #4a5568;
    background-color: #f8fafc;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.elementor-form .elementor-field-textual:focus {
    outline: none;
    border-color: #4299e1;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1);
}

/* Textarea */
.elementor-form textarea.elementor-field-textual {
    min-height: 120px;
    resize: vertical;
}

/* Pulsante di invio */
.elementor-form .elementor-button {
    width: 100%;
    padding: 14px;
    background-color: #4299e1;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.elementor-form .elementor-button:hover {
    background-color: #3182ce;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.elementor-form .elementor-button:active {
    transform: translateY(0);
}

/* Messaggi di successo/errore */
.elementor-form .elementor-message {
    padding: 12px;
    border-radius: 6px;
    margin-bottom: 20px;
    text-align: center;
    font-size: 14px;
}

.elementor-form .elementor-message-success {
    background-color: #f0fff4;
    color: #2f855a;
    border: 1px solid #c6f6d5;
}

.elementor-form .elementor-message-danger {
    background-color: #fff5f5;
    color: #c53030;
    border: 1px solid #fed7d7;
}

/* Checkbox e radio */
.elementor-form .elementor-field-subgroup {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.elementor-form .elementor-field-option {
    display: flex;
    align-items: center;
}

.elementor-form .elementor-field-option input {
    margin-right: 8px;
}

/* Responsive */
@media (max-width: 767px) {
    .elementor-form {
        padding: 20px;
    }
    
    .elementor-form .elementor-heading-title {
        font-size: 24px;
    }
}


/* SWITCH */
/* CSS per trasformare i radio button di Elementor in switch */

/* Container principale del campo radio */
.elementor-field-type-radio .elementor-field-option {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #eee;
}

.elementor-field-type-radio .elementor-field-option:last-child {
    border-bottom: none;
}

/* Nasconde il radio button originale */
.elementor-field-type-radio input[type="radio"] {
    display: none !important;
}

/* Stile della label */
.elementor-field-type-radio .elementor-field-option label {
    flex: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    font-weight: normal !important;
    order: 1;
}

/* Container dello switch */
.elementor-field-type-radio input[type="radio"] + label::after {
    content: '';
    position: relative;
    display: inline-block;
    width: 50px;
    height: 26px;
    background-color: #ccc;
    border-radius: 26px;
    transition: all 0.3s ease;
    cursor: pointer;
    order: 2;
    margin-left: auto;
    flex-shrink: 0;
}

/* Pallino dello switch */
.elementor-field-type-radio input[type="radio"] + label::before {
    content: '';
    position: absolute;
    right: 26px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    background-color: white;
    border-radius: 50%;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    z-index: 2;
}

/* Stato attivo dello switch */
.elementor-field-type-radio input[type="radio"]:checked + label::after {
    background-color: #007cba; /* Colore primario di Elementor, puoi cambiarlo */
}

/* Posizione del pallino quando attivo */
.elementor-field-type-radio input[type="radio"]:checked + label::before {
    right: 2px;
}

/* Layout flex per allineare label e switch */
.elementor-field-type-radio .elementor-field-option label {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    position: relative !important;
}

/* Hover effect */
.elementor-field-type-radio input[type="radio"] + label:hover::after {
    box-shadow: 0 0 8px rgba(0,124,186,0.3);
}

/* Focus per accessibilità */
.elementor-field-type-radio input[type="radio"]:focus + label::after {
    outline: 2px solid #007cba;
    outline-offset: 2px;
}

/* Versione alternativa con colori personalizzabili */
:root {
    --switch-bg-inactive: #ccc;
    --switch-bg-active: #007cba;
    --switch-handle: white;
    --switch-shadow: rgba(0,0,0,0.2);
    --switch-hover-shadow: rgba(0,124,186,0.3);
}

/* Applica le variabili CSS */
.elementor-field-type-radio input[type="radio"] + label::after {
    background-color: var(--switch-bg-inactive);
}

.elementor-field-type-radio input[type="radio"] + label::before {
    background-color: var(--switch-handle);
    box-shadow: 0 2px 4px var(--switch-shadow);
}

.elementor-field-type-radio input[type="radio"]:checked + label::after {
    background-color: var(--switch-bg-active);
}

.elementor-field-type-radio input[type="radio"] + label:hover::after {
    box-shadow: 0 0 8px var(--switch-hover-shadow);
}

/* Responsive design */
@media (max-width: 768px) {
    .elementor-field-type-radio .elementor-field-option {
        padding: 15px 0 !important;
    }
    
    .elementor-field-type-radio input[type="radio"] + label::after {
        width: 45px;
        height: 24px;
    }
    
    .elementor-field-type-radio input[type="radio"] + label::before {
        width: 20px;
        height: 20px;
    }
    
    .elementor-field-type-radio input[type="radio"]:checked + label::before {
        right: 2px;
    }
}/* End custom CSS */