html body {
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
}

.subtitle {
    /*    font-family: 'Kaushan Script', cursive;*/
}

a {}

a:hover {}

p:last-of-type {
    margin-bottom: 0 !important;
}


/*
    Breadcrumbs
*/




/*
    Sticky Header Mobile
*/
@media screen and (max-width: 767px) {
    .elementor-sticky--active {
        z-index: 99 !important;
    }

    header.elementor-sticky--active {
        z-index: 100 !important;
    }
}





/*
    -------------------------------------------------------------------------------
     START   ---    CSS DI NEGO PRESI DAL CUSTOMIZER DI HELLO ELEMENTOR
    -------------------------------------------------------------------------------
*/
.gf_progressbar_wrapper,
.gform_required_legend,
.ginput_quantity_label,
.ginput_product_price_wrapper {
    display: none !important;

}

#gform_page_3_1 .gfield_label {
    color: #fff !important;
}

#gform_next_button_3_10,
#gform_submit_button_3 {
    background: #cf980f !important;
    border: 2px solid #cf980f !important;
    color: #fff !important;
}


#gform_next_button_3_10:hover,
#gform_submit_button_3:hover {
    background-color: #e5aa15 !important;
    color: #fff !important;
    border: 2px solid #e5aa15 !important;

}

#gform_page_3_1 #field_submit,
#gform_page_3_1 .gform_footer,
#gform_page_3_1 .gform_page_footer {
    justify-content: flex-end !important;
}

.gform-theme--framework .gform-loader {
    border-block-end-color: #cf9810;
    border-inline-start-color: #cf9810;
}

.gform-theme--foundation .gform_fields {
    --gf-form-gap-y: 20px;
}


.gfield_select {
    line-height: normal !important;
}

.gfield_label_product {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 0px !important;
}

.gform-field-label--type-sub,
.gform-field-label--type-inline {
    color: #fff !important;
}

#gform_previous_button_3 {
    padding: 10px 20px !important;
}

.gfield--input-type-total {
    display: none !important;
}


#field_3_14 legend,
#field_3_22 legend,
#field_3_21 legend,
#field_3_21 label {
    color: #fff;
}

.gfield_validation_message,
.gform_validation_errors h2,
.gform_validation_errors span,
.gform-theme--framework .gform_validation_errors,
.gform-theme--framework .gform_validation_errors .gform-icon {
    color: #cf9810 !important;

}

#input_3_14_6 {
    padding-top: 0px !important;
}

/* Top “There was a problem…” notice */
.gform_wrapper .gform_validation_errors,
.gform_wrapper .gform_validation_errors ul,
.gform_wrapper .gform_validation_errors li,
.gform-theme--framework .gform_validation_errors .gform-icon {
    border-color: #cf9810 !important;
}

/* Individual fields outlined in red by default */
.gform_wrapper .gfield_error,
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
    border-color: #cf9810 !important;
}

/* Optional: change the icon/text color too */
.gform_wrapper .gform_validation_errors,
.gform_wrapper .gfield_error .gfield_description,
.gform_wrapper .gfield_description.validation_message {
    color: #cf9810 !important;
}

#gform_confirmation_message_3 {
    padding: 30px;
    border-radius: 10px;
    background-color: #fff;
    font-size: 20px;
    font-weight: 300;
}

/* 1.  base (unchanged) */
#input_3_22 .gchoice {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px;
    background: none;
    border: 1px solid #ccc;
    border-radius: 5px;
    color: #000 !important;
    cursor: pointer;
    transition: background .25s ease;
}

/* 2.  subtle hover when *not* selected */
#input_3_22 .gchoice:hover {
    background: #1f1f1f;
}

/* 3.  ALWAYS dark when selected (mouse anywhere) */
#input_3_22 .gchoice:has(input:checked) {
    background: #1f1f1f;
    color: #fff;
    border: 1px solid #cf9810;
}

/* 4.  a shade lighter when the selected one is hovered */
#input_3_22 .gchoice:has(input:checked):hover {
    background: #1f1f1f;
}

/* 5.  radio + label styling (unchanged) */
#input_3_22 .gchoice input[type="radio"] {
    margin: 8px;
    transform: scale(1.2);
}

#input_3_22 .gchoice label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px !important;
    color: inherit;
}

#input_3_22 .gchoice label img {
    max-height: 32px;
    height: auto;
    width: auto;
}


.Text--redirect,
.Tab,
.p-TabLabel {
    color: #fff !important;
}

#Field-countryInput {
    min-height: 48px !important;
}

.gform-theme--framework *,
.gform-theme--framework ::after,
.gform-theme--framework ::before {
    color: #fff;
}

.gform-theme--framework .gform-field-label--type-inline {
    color: #fff;
}

.gform-theme--framework a,
.gform-theme--framework button {
    color: #fff;
    text-decoration: underline !important;
}

/* Customize form talk to an expert */
#gform_fields_7 input,
#gform_fields_7 .ginput_container textarea {
    border: 1px solid #e8e8e8 !important;
    color: #676767 !important;

}

.confirmation-expert {
    color: #000;
    padding: 20px;
    border-radius: 5px;
    background-color: #f6f6f6;
}

/*
    -------------------------------------------------------------------------------
     END   ---    CSS DI NEGO PRESI DAL CUSTOMIZER DI HELLO ELEMENTOR
    -------------------------------------------------------------------------------
*/


/*
    -------------------------------------------------------------------------------
     START   ---    CSS theme gr8italy per gravity forms 
    -------------------------------------------------------------------------------
*/
/* === Gravity Forms - Pulsanti brand gr8italy === */

/* === Pulsanti Gravity Forms dentro popup .rounded === */

.rounded .gform-theme--foundation .gform_page_footer {
    display: flex !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-top: 20px !important;
}

/* PRIMARY: Submit + Next */
.rounded .gform_wrapper .gform_page_footer .gform_next_button,
.rounded .gform_wrapper .gform_page_footer input[type=submit],
.rounded .gform_wrapper .gform_footer input[type=submit],
.rounded .gform_wrapper .gform_button {
    background-color: #cf980f !important;
    /* giallo brand */
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 15px 50px !important;
    font-family: "Lato", Sans-serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    height: auto !important;
    cursor: pointer !important;
    transition: background-color .2s ease-in-out !important;
}

.rounded .gform_wrapper .gform_page_footer .gform_next_button {
    margin: 0 auto !important;
}

.rounded .gform_wrapper .gform_page_footer .gform_next_button:hover,
.rounded .gform_wrapper .gform_page_footer input[type=submit]:hover,
.rounded .gform_wrapper .gform_footer input[type=submit]:hover,
.rounded .gform_wrapper .gform_button:hover {
    background-color: #e5aa15 !important;
    /* hover più chiaro */
}

/* SECONDARY: Back/Previous */
.rounded .gform_wrapper .gform_page_footer .gform_previous_button {
    background-color: #222222 !important;
    /* bottone indietro */
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 15px 40px !important;
    font-family: "Lato", Sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background-color .2s ease-in-out !important;
}

.rounded .gform_wrapper .gform_page_footer .gform_previous_button:hover {
    background-color: #444444 !important;
    /* hover più chiaro */
}

/* Optional: focus elegante, niente alone blu */
.rounded .gform_wrapper .gform_page_footer .gform_next_button:focus,
.rounded .gform_wrapper .gform_page_footer input[type=submit]:focus,
.rounded .gform_wrapper .gform_footer input[type=submit]:focus,
.rounded .gform_wrapper .gform_page_footer .gform_previous_button:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(229, 170, 21, .35) !important;
    /* glow dorato */
}



/* Mobile: pulsante singolo a larghezza piena */
/* Mobile: submit singolo nel footer a larghezza piena */
@media (max-width: 767px) {

    .rounded .gform_wrapper .gform_footer input[type=submit],
    .rounded .gform_wrapper .gform_footer .gform_button {
        display: block !important;
        width: 100% !important;
    }
}

/* === Gravity Forms fields inside .rounded popup === */
.rounded .gform_wrapper input[type=text],
.rounded .gform_wrapper input[type=email],
.rounded .gform_wrapper input[type=tel],
.rounded .gform_wrapper input[type=number],
.rounded .gform_wrapper input[type=url],
.rounded .gform_wrapper input[type=password],
.rounded .gform_wrapper select,
.rounded .gform_wrapper textarea {
    width: 100%;
    background: #fff;
    color: #111;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    padding: 12px !important;
    /* line-height: 1.4; */
    height: 43px !important;
    font-size: 16px !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
    -webkit-appearance: none;
}

@media (max-width: 767px) {

    .rounded .gform_wrapper select {
        height: 45px !important;
    }

}

.rounded .gform-theme--framework .gform_validation_errors .gform-icon {
    block-size: 34px;
    inline-size: 36px;
    background-color: #cf980f;
}

.rounded .gform-theme--foundation .gform_fields {
    --gf-form-gap-y: 10px;
}

@media (max-width: 767px) {

    .rounded .gform-theme--foundation .gform_fields {
        --gf-form-gap-y: 0px;
    }

}

/* Placeholder leggermente attenuato */
.rounded .gform_wrapper ::placeholder {
    color: #999;
    opacity: 1;
}

/* Focus elegante (gold brand) */
.rounded .gform_wrapper input:focus,
.rounded .gform_wrapper select:focus,
.rounded .gform_wrapper textarea:focus {
    outline: none;
    border-color: #cf980f;
    box-shadow: 0 0 0 3px rgba(207, 152, 15, .18);
}

/* Hover leggero (desktop) */
@media (hover:hover) {

    .rounded .gform_wrapper input:hover,
    .rounded .gform_wrapper select:hover,
    .rounded .gform_wrapper textarea:hover {
        border-color: #cfcfcf;
    }
}

/* Altezza e comportamento specifici */
.rounded .gform_wrapper select {
    padding-right: 38px;
    /* spazio per freccia */
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 18px 18px;
}

.rounded .gform_wrapper textarea {
    min-height: 140px;
    resize: vertical;
}

/* Gruppi (nome, campi affiancati) spacing */
.rounded .gform_wrapper .ginput_complex .gform-grid-row {
    gap: 10px;
}

.rounded .gform_wrapper .ginput_complex .gform-grid-col input {
    width: 100%;
}

/* Checkbox / radio: allineamento e spazio */
.rounded .gform_wrapper .gfield_checkbox li,
.rounded .gform_wrapper .gfield_radio li {
    margin-bottom: 6px;
}

.rounded .gform_wrapper .gfield_consent label {
    display: inline;
}

/* Stato errore */
/* Stato errore in giallo brand */
.rounded .gform_wrapper .gfield.gfield_error input,
.rounded .gform_wrapper .gfield.gfield_error select,
.rounded .gform_wrapper .gfield.gfield_error textarea {
    border-color: #cf980f !important;
    /* giallo brand */
    box-shadow: 0 0 0 3px rgba(207, 152, 15, .25) !important;
}

/* Messaggio di errore */
.rounded .gform_wrapper .gfield_description.validation_message,
.rounded .gform_wrapper .validation_message {
    color: #cf980f !important;
    /* testo oro */
    font-weight: 500;
    margin-top: 6px;
    font-size: 14px;
}

/* Autofill Chrome: elimina giallone */
.rounded .gform_wrapper input:-webkit-autofill,
.rounded .gform_wrapper textarea:-webkit-autofill,
.rounded .gform_wrapper select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
    -webkit-text-fill-color: #111;
    transition: background-color 5000s ease-in-out 0s;
}

/* Label compatte se le usi visibili (non hidden_label) */
.rounded .gform_wrapper .gfield_label {
    font-weight: 600;
    margin-bottom: 6px;
}

/* Spaziatura verticale tra campi */
.rounded .gform_wrapper .gfield {
    margin-bottom: 14px;
}

/* ===============================
   GRAVITY FORMS CUSTOM BUTTON LOCK + SPINNER
   =============================== */


/* Bottoni disabilitati */
.gf-btn-disabled {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

/* Footer in stato "loading" */
.gf-lock .gform_page_footer,
.gf-lock .gform_footer {
    position: relative;
    min-height: 44px;
    /* per non far collassare quando lo spinner sparisce */
}

.gf-lock .gform_page_footer::after,
.gf-lock .gform_footer::after {
    content: "Processing…";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.9rem;
    opacity: 0.65;
}


/* Spinner Gravity Forms personalizzato */
.gform_ajax_spinner {
    box-sizing: border-box !important;
    border: 3px solid rgba(0, 0, 0, 1) !important;
    /* nero pieno */
    border-left: 3px solid rgba(0, 0, 0, 0) !important;
    /* trasparente */
    border-top: 3px solid rgba(0, 0, 0, .15) !important;
    border-right: 3px solid rgba(0, 0, 0, .5) !important;
    animation: gf-spinner 1.1s infinite linear !important;
    border-radius: 50% !important;
    width: 18px !important;
    height: 18px !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 1 !important;
}

/* Animazione */
@keyframes gf-spinner {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

/* Assicurati che il footer sia position: relative per ospitare lo spinner centrato */
.gform_footer,
.gform_page_footer {
    position: relative;
    min-height: 44px;
    /* evita che collassi */
}


/* Evita overscroll elastico su alcuni browser */
/* Elementor aggiunge una classe al body quando il popup è aperto:
   a seconda della versione può essere 'dialog-prevent-scroll' o 'elementor-dialog-prevent-scroll' */
body.dialog-prevent-scroll,
body.elementor-dialog-prevent-scroll {
    overflow: hidden !important;
    /* blocca lo scroll della pagina sotto */
    overscroll-behavior: contain;
    /* evita rimbalzo iOS */
    touch-action: none;
    /* evita swipe sotto il popup su mobile */
}

/* Aiuta su iOS a evitare scroll "fantasma" del viewport quando overflow è hidden */
html {
    height: 100%;
}

body.dialog-prevent-scroll,
body.elementor-dialog-prevent-scroll {
    height: 100%;
    position: static !important;
    /* importantissimo: NO position: fixed */
    width: auto !important;
    /* evita glitch di larghezza su mobile */
}

/* Il contenuto del popup non deve propagare lo scroll fuori */
.elementor-popup-modal,
.dialog-widget-content {
    overscroll-behavior: contain;
}