.elementor-1746 .elementor-element.elementor-element-6a87fcf{--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;}.elementor-1746 .elementor-element.elementor-element-1e98b6d{--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;}.elementor-1746 .elementor-element.elementor-element-8669a34{--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;}.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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );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 );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );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 );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.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 );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-1746 .elementor-element.elementor-element-9dfcdeb{width:var( --container-widget-width, 75% );max-width:75%;--container-widget-width:75%;--container-widget-flex-grow:0;border-style:solid;border-width:1px 1px 1px 1px;border-color:#C8D5DC;box-shadow:0px 0px 10px 0px #C8D5DC;--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-1746 .elementor-element.elementor-element-9dfcdeb.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-field-group{padding-right:calc( 9px/2 );padding-left:calc( 9px/2 );margin-bottom:10px;}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-form-fields-wrapper{margin-left:calc( -9px/2 );margin-right:calc( -9px/2 );margin-bottom:-10px;}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-field-type-html{padding-bottom:0px;color:var( --e-global-color-14ef391 );}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-color:var( --e-global-color-14ef391 );}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-color:var( --e-global-color-14ef391 );}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-14ef391 );}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-button[type="submit"]{color:#ffffff;}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-1746 .elementor-element.elementor-element-9dfcdeb .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-1746 .elementor-element.elementor-element-964f60f{--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:1024px){.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 );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.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 );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:767px){.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 );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.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 );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}/* Start custom CSS for form, class: .elementor-element-9dfcdeb *//* Stili Generali per il Contenitore del Modulo (da applicare al widget Modulo Elementor) */
/* Questa sezione sostituisce: bg-white p-6 md:p-8 rounded-lg shadow-lg mb-12 border border-gray-200 */
.elementor-widget-form {
    background-color: #ffffff; /* bg-white */
    padding: 24px; /* p-6 */
    border-radius: 8px; /* rounded-lg */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); /* shadow-lg */
    margin-bottom: 48px; /* mb-12 */
    border: 1px solid #e5e7eb; /* border border-gray-200 */
    /* Per schermi più grandi (md:p-8) puoi usare una media query se Elementor non lo gestisce nativamente */
    /* @media (min-width: 768px) { padding: 32px; } */
}

/* Stili per il Titolo Principale del Modulo (Se presente in Elementor) */
/* Se il titolo principale del modulo è un H1 o H2 gestito da Elementor */
.elementor-widget-form h1.elementor-heading-title,
.elementor-widget-form h2.elementor-heading-title {
    font-size: 2.25rem; /* text-4xl */
    line-height: 2.5rem; /* leading-tight */
    font-weight: 700; /* font-bold */
    text-align: center; /* text-center */
    margin-bottom: 32px; /* mb-8 */
    color: #3730a3; /* indigo-800 */
}

/* Stili per la Descrizione/Paragrafo Introduttivo (se presente in Elementor) */
.elementor-widget-form p {
    text-align: center; /* text-center */
    font-size: 1.125rem; /* text-lg */
    line-height: 1.75rem; /* leading-relaxed */
    color: #4b5563; /* text-gray-700 */
    margin-bottom: 40px; /* mb-10 */
}

/* Stili per il Sottotitolo del Form (es. "Seleziona le Lezioni Desiderate") */
.elementor-widget-form h2:not(.elementor-heading-title) { /* per non sovrascrivere h1/h2 generici se usati per titolo principale */
    font-size: 1.875rem; /* text-3xl */
    line-height: 2.25rem; /* leading-9 */
    font-weight: 600; /* font-semibold */
    margin-bottom: 24px; /* mb-6 */
    color: #4338ca; /* indigo-700 */
}


/* Stili per i Gruppi di Lezioni (Fase 1, Fase 2, Fase 3) */
/* Questa sezione sostituisce: bg-gray-50 rounded-lg border border-gray-100 shadow-sm */
.elementor-field-group.lesson-section { /* Assegna questa classe CSS personalizzata ai contenitori delle sezioni in Elementor */
    margin-bottom: 32px; /* mb-8 */
    padding: 16px; /* p-4 */
    background-color: #f9fafb; /* bg-gray-50 */
    border-radius: 8px; /* rounded-lg */
    border: 1px solid #f3f4f6; /* border border-gray-100 */
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); /* shadow-sm */
}

/* Stili per il Titolo della Fase (es. "Fase 1: Fondamenta Digitali") */
/* Questa sezione sostituisce: text-2xl font-semibold mb-4 text-indigo-600 lesson-group-title py-2 */
.elementor-field-group.lesson-section .elementor-field-type-html h3 { /* Potrebbe essere un widget HTML o un titolo campo */
    font-size: 1.5rem; /* text-2xl */
    line-height: 2rem; /* leading-8 */
    font-weight: 600; /* font-semibold */
    margin-bottom: 16px; /* mb-4 */
    color: #4f46e5; /* indigo-600 */
    /* La proprietà sticky e il background gradient sono più complessi da applicare via CSS in Elementor a meno che non si modifichi la struttura HTML */
    /* position: sticky; top: 0; background: linear-gradient(to bottom, #f9fafb 80%, rgba(249, 250, 251, 0) 100%); z-index: 10; */
    padding-top: 8px; /* py-2 */
    padding-bottom: 8px; /* py-2 */
}

/* Stili per le Singole Lezioni (etichetta checkbox e contenuto) */
/* Questa sezione sostituisce: flex items-start p-4 bg-white rounded-lg shadow-sm cursor-pointer hover:bg-gray-100 transition-colors duration-200 ease-in-out border border-gray-200 */
.elementor-field-type-checkbox .elementor-field-option label { /* Questo selettore potrebbe variare molto in base a come Elementor genera le checkbox */
    display: flex;
    align-items: flex-start;
    padding: 16px; /* p-4 */
    background-color: #ffffff; /* bg-white */
    border-radius: 8px; /* rounded-lg */
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); /* shadow-sm */
    cursor: pointer;
    border: 1px solid #e5e7eb; /* border border-gray-200 */
    transition: background-color 0.2s ease-in-out;
}
.elementor-field-type-checkbox .elementor-field-option label:hover {
    background-color: #f3f4f6; /* hover:bg-gray-100 */
}

/* Stili per il Contenuto Interno della Lezione (span del titolo e ul dei sotto-argomenti) */
.elementor-field-type-checkbox .elementor-field-option label > div { /* Selettore per il div che contiene titolo e sotto-argomenti */
    flex-grow: 1; /* Permette al contenuto di occupare lo spazio rimanente */
}

.elementor-field-type-checkbox .elementor-field-option label span { /* Il titolo della lezione */
    font-weight: 500; /* font-medium */
    font-size: 1.125rem; /* text-lg */
    line-height: 1.75rem; /* leading-7 */
    color: #1f2937; /* text-gray-800 */
    display: block; /* per assicurare che sia un blocco separato */
}

.elementor-field-type-checkbox .elementor-field-option label ul { /* I sotto-argomenti */
    list-style: disc;
    list-style-position: inside;
    color: #4b5563; /* text-gray-600 */
    font-size: 0.875rem; /* text-sm */
    line-height: 1.25rem; /* leading-5 */
    margin-top: 4px; /* mt-1 */
    margin-left: 16px; /* ml-4 */
    padding-left: 0; /* Assicura che non ci sia padding in eccesso */
    margin-bottom: 0; /* Assicura che non ci sia margine in eccesso */
}
.elementor-field-type-checkbox .elementor-field-option label ul li {
    margin-bottom: 2px; /* space-y-0.5 */
}

/* Stili per le Checkbox (il quadrato del segno di spunta) */
/* Questa sezione sostituisce: form-checkbox h-5 w-5 text-indigo-600 rounded mt-1 mr-3 focus:ring-indigo-500 */
.elementor-field-type-checkbox input[type="checkbox"] {
    -webkit-appearance: none; /* Rimuove lo stile predefinito del browser */
    -moz-appearance: none;
    appearance: none;
    height: 20px; /* h-5 */
    width: 20px; /* w-5 */
    min-width: 20px; /* Per mantenere la dimensione fissa */
    border: 1px solid #d1d5db; /* border-gray-300 */
    border-radius: 4px; /* rounded */
    background-color: #fff;
    cursor: pointer;
    margin-top: 4px; /* mt-1 */
    margin-right: 12px; /* mr-3 */
    position: relative; /* Per posizionare il segno di spunta */
    display: inline-block; /* Per assicurare la dimensione fissa */
}

.elementor-field-type-checkbox input[type="checkbox"]:checked {
    background-color: #4f46e5; /* indigo-600 */
    border-color: #4f46e5; /* indigo-600 */
}

/* Aggiungi il segno di spunta per le checkbox selezionate */
.elementor-field-type-checkbox input[type="checkbox"]:checked::before {
    content: '\2713'; /* Simbolo di spunta Unicode */
    display: block;
    color: white;
    font-size: 14px;
    line-height: 18px; /* Centra verticalmente */
    text-align: center;
}

/* Stili per l'area del Totale Prezzo */
/* Questa sezione sostituisce: flex justify-end items-center mb-10 py-4 px-6 bg-indigo-50 rounded-lg shadow-md border border-indigo-100 */
.elementor-widget-form .total-price-container { /* Assegna questa classe a un contenitore HTML personalizzato per il prezzo */
    display: flex;
    justify-content: flex-end; /* justify-end */
    align-items: center; /* items-center */
    margin-bottom: 40px; /* mb-10 */
    padding: 16px 24px; /* py-4 px-6 */
    background-color: #e0e7ff; /* indigo-50 */
    border-radius: 8px; /* rounded-lg */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); /* shadow-md */
    border: 1px solid #c7d2fe; /* border border-indigo-100 */
}

/* Stili per il testo "Costo Totale Stimato:" */
.elementor-widget-form .total-price-container .label { /* Assegna questa classe a un tag span o p all'interno del contenitore */
    font-size: 1.25rem; /* text-xl */
    line-height: 1.75rem; /* leading-7 */
    font-weight: 600; /* font-semibold */
    color: #1f2937; /* text-gray-800 */
    margin-right: 16px; /* mr-4 */
    /* Per schermi più grandi (md:text-2xl) */
    /* @media (min-width: 768px) { font-size: 1.5rem; line-height: 2rem; } */
}

/* Stili per il Valore del Prezzo (es. € 0.00) */
.elementor-widget-form .total-price-container .value { /* Assegna questa classe a un tag span o p all'interno del contenitore */
    font-size: 1.875rem; /* text-3xl */
    line-height: 2.25rem; /* leading-9 */
    font-weight: 700; /* font-bold */
    color: #4338ca; /* indigo-700 */
    /* Per schermi più grandi (md:text-4xl) */
    /* @media (min-width: 768px) { font-size: 2.25rem; line-height: 2.5rem; } */
}

/* Stili per il font generale del corpo del modulo */
/* Questo influenzerà tutti i testi all'interno del modulo Elementor */
.elementor-widget-form {
    font-family: 'Inter', sans-serif;
}/* End custom CSS */
/* Start custom CSS */body {
    font-family: 'Inter', sans-serif;
}
.lesson-group-title {
    position: sticky;
    top: 0;
    background: linear-gradient(to bottom, #f9fafb 80%, rgba(249, 250, 251, 0) 100%);
    z-index: 10;
}/* End custom CSS */