.redesign-modal {
    padding: 60px 40px 40px 40px !important;
    border-radius: 6px !important;
    max-height: 445px;
}

.redesign-modal > .modal-body{
    padding: 0 !important;
}

.redesign-modal > .modal-header > .modal-title {
    font-family: 'Roboto' !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 32px !important;
    color: #636363 !important;
    text-align: center;
    padding-bottom: 32px;
}

.redesign-modal .modal-header {
    padding: 0 !important;
    border-bottom: 0px !important;
}

.redesign-modal .modal-footer {
    border-top: 0px !important;
}

.redesign-modal-row-text{
    font-family: Roboto;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0px;
    color: #636363;
}

.redesign-modal .modal-header button.close_new {
    background: #FFF !important;
    display: block !important;
    border: unset !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    cursor: pointer;
}

.disambiguazione {
    width: 100%;
    display: flex;
    align-content: center;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 232px;
}


.woocommerce-content-box {
    border: 0 !important;
    max-width: 1080px;
    margin: 0 auto !important;
    padding: 0 !important;
    padding-bottom: 120px !important;
}

#esim-title {
    font-family: Roboto !important;
    font-weight: 500 !important;
    font-size: 28px !important;
    line-height: 32px !important;
    letter-spacing: 0px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    color: #636363 !important;
    border: 0 !important;
    padding-top: 30px;
    padding-left: 30px;
}

.esim-btn {
    color: #fff !important;
    width: 100% !important;
    height: 40px;
}

.esim-btn:hover {
    color: #636363 !important;
}

.card-container {
    display: flex;
    flex-direction: column;
    max-width: 450px;
    width: 100%;
    gap: 24px;
    border-radius: 16px;
    border: 1px solid #B1B3B3;
    padding: 30px;
    box-shadow: 0px 2px 4px 0px #00000040;
}

.card-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    height: 60px;
}

.card-title>h2, .new-app-banner-title h2{
    font-family: Roboto !important;
    font-weight: 500 !important;
    font-size: 28px !important;
    line-height: 32px !important;
    letter-spacing: 0px !important;
    border: 0 !important;
    color: #636363 !important;
}

.card-accordion {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    cursor: pointer;
}

.card-accordion>p {
    grid-column: 1 / 7;
    font-family: Roboto;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0px;
    vertical-align: middle;
}

.card-accordion>svg {
    grid-column: 12 / 13;
}

/* MODALE PORTA IL TUO NUMERO IN KENA file dialog_mnp_nn_bound.php */
#dialog_check_number .modal-dialog {
    top: 50%;
    transform: translateY(-50%);
}

#dialog_check_number #numberToCheck {
    font-size: 16px;
}

#dialog_check_number select#operator {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    color: #999 !important;
    /* Grigio chiaro, cambia con il colore che preferisci */
    background-image: url("data:image/svg+xml;utf8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' clip-rule='evenodd' d='M15.9351 9.06013C16.2931 8.70215 16.8735 8.70215 17.2315 9.06013C17.5894 9.41811 17.5894 9.99851 17.2315 10.3565L12.6481 14.9398C12.4691 15.1188 12.2345 15.2083 11.9999 15.2083C11.7653 15.2083 11.5307 15.1188 11.3518 14.9398L6.76842 10.3565C6.41044 9.99851 6.41044 9.41811 6.76842 9.06013C7.1264 8.70215 7.70681 8.70215 8.06479 9.06013L11.9999 12.9953L15.9351 9.06013Z' fill='%23FFAF00'/></svg>");
    background-repeat: no-repeat;
    background-position: right 5px center;
    background-size: 16px;
}

#dialog_mnp_nn_bound .modal-dialog {
    top: 50%;
    transform: translateY(-50%);
}

#dialog_check_number .modal-body a {
    color: #12aceb !important;
}

.redesign-modal .modal-body .row{
    margin: 0 !important;
    margin-top: 15px !important;
}

/* Container per tutto il gruppo di consenso */
#consensoTermini,
label[for="consensoTermini"] {
    display: inline-block;
    vertical-align: middle;
}

/* Stile per la label */
label[for="consensoTermini"] {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    margin-left: 5px;
    /* Spazio tra checkbox e testo */
}

/* Spazio tra il testo e l'icona */
.kena-tooltip {
    margin-left: 5px;
    display: inline-flex;
    align-items: center;
}

/* Assicurati che l'SVG non si ridimensioni in modo strano */
.kena-tooltip svg {
    flex-shrink: 0;
    vertical-align: middle;
}

/* Fai in modo che il contenitore complessivo sia flex */
.checkbox-container {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

#dialog_check_number .modal-footer .button[disabled] {
    background: #ddd;
}

#dialog_check_number .modal-footer .button {
    width: 200px;
}

.hidden-content {
    font-family: Roboto;
    font-weight: 300;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0px;
    color: #636363;
}

.hidden-content>ul {
    padding-left: 20px !important;
    box-sizing: border-box;
    margin: 0 !important;
}

.hidden-content>p {
    margin: 0 !important;
}

.metodi-pagamento {
    display: flex;
    justify-content: space-between;
    padding: 16px;
    align-items: center;
}

/* PROGRESS BAR */
.checkout-progress {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
    margin: 0 auto;
    max-width: 800px;
    padding-top: 40px;
}

.progress-steps {
    display: flex;
    justify-content: center;
    width: 100%;
    position: relative;
}

.checkout-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    flex: 1;
    max-width: 120px;
}

.checkout-step::before {
    content: '';
    position: absolute;
    top: 50%; /* Centra verticalmente la linea */
    left: -50%;
    width: 100%;
    height: 2px;
    background-color: #e0e0e0;
    z-index: 1;
    transform: translateY(-50%); /* Compensa il padding */
}

.checkout-step:first-child::before {
    display: none; /* Rimuove la linea prima del primo step */
}

.step-number {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: #e0e0e0;
    color: #757575;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    position: relative;
    z-index: 2;
    border: 2px solid #e0e0e0;
    padding: 20px; /* Padding aggiornato */
}

/* Step attivo */
.checkout-step.active .step-number {
    background-color: #ffaf00;
    color: white;
    border-color: #ffaf00;
}

/* Step completato */
.checkout-step.completed .step-number {
    background-color: #ffaf00;
    color: white;
    border-color: #ffaf00;
}

/* Linea tra gli step completati */
.checkout-step.completed::before {
    background-color: #ffaf00; /* Colore della linea tra step completati */
}

.active-step-title > h3{
    font-family: Roboto !important;
    font-weight: 500 !important;
    font-size: 28px !important;
    line-height: 32px !important;
    letter-spacing: 0px !important;
    text-align: center !important;
    padding-top: 40px !important;
    color: #636363 !important;
}
/* END PROGRESS BAR */

.woocommerce-billing-fields {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0 !important;
}

.woocommerce-billing-fields>.row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.form-row>label, .cf-row-label, .cf-date > div, .cf-sex > div, .cf-province > div{
    font-family: Roboto;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0px;
    color: #636363;
    padding-bottom: 8px;
}

.form-row .input-checkbox{
    margin-right: 10px;
    border: 1px solid #B1B3B3;
    border-radius: 2px;
}

.form-row .input-checkbox:checked:before{
    content: '';
}

.form-row .input-checkbox:checked{
    background-image: url("data:image/svg+xml;utf8,<svg width='16' height='13' viewBox='0 0 16 13' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M2.92622 6.00231C2.46262 5.49078 1.67212 5.45192 1.16059 5.91552C0.649054 6.37912 0.610196 7.16962 1.0738 7.68116L5.10177 12.1256C5.61923 12.6966 6.52506 12.6679 7.0054 12.0654L14.9774 2.06538C15.4078 1.52557 15.319 0.739103 14.7792 0.308762C14.2394 -0.121579 13.4529 -0.0328336 13.0226 0.50698L5.96697 9.35746L2.92622 6.00231Z' fill='%2382C85A'/></svg>");
}

.legal .form-row a::before, .informativa-privacy .form-row a::before {
    content: "";
    display: inline-block;
    background-image: url("data:image/svg+xml,%3Csvg width='30' height='35' viewBox='0 0 30 35' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.14284 0H20.3496L30 9.61291V32.143C30 33.3268 29.0401 34.2858 27.8572 34.2858H2.14284C0.959949 34.2858 0 33.3268 0 32.143V2.14284C0 0.958952 0.96006 0 2.14284 0Z' fill='%23E2574C'/%3E%3Cpath d='M29.9691 9.64293H22.5001C21.3172 9.64293 20.3573 8.68298 20.3573 7.50009V0.0214844L29.9691 9.64293Z' fill='%23B53629'/%3E%3Cpath d='M21.9622 16.2449C22.3212 16.2449 22.4969 15.9321 22.4969 15.6289C22.4969 15.3149 22.3136 15.0117 21.9622 15.0117H19.9179C19.5183 15.0117 19.2954 15.3428 19.2954 15.7082V20.7321C19.2954 21.1799 19.5504 21.4285 19.8954 21.4285C20.2383 21.4285 20.4944 21.1799 20.4944 20.7321V19.3532H21.7308C22.1144 19.3532 22.3062 19.0392 22.3062 18.7275C22.3062 18.4222 22.1144 18.1188 21.7308 18.1188H20.4944V16.2449H21.9622ZM15.0525 15.0117H13.5568C13.1507 15.0117 12.8625 15.2903 12.8625 15.7038V20.7364C12.8625 21.2496 13.2771 21.4103 13.5739 21.4103H15.1436C17.0014 21.4103 18.2282 20.1878 18.2282 18.301C18.2272 16.306 17.0722 15.0117 15.0525 15.0117ZM15.1244 20.1697H14.2125V16.2525H15.0344C16.2783 16.2525 16.8193 17.0872 16.8193 18.2389C16.8193 19.3168 16.2879 20.1697 15.1244 20.1697ZM9.64505 15.0117H8.16327C7.74433 15.0117 7.51074 15.2881 7.51074 15.7082V20.7321C7.51074 21.1799 7.77858 21.4285 8.13855 21.4285C8.49852 21.4285 8.76636 21.1799 8.76636 20.7321V19.2653H9.69527C10.8417 19.2653 11.7878 18.4531 11.7878 17.147C11.7879 15.8689 10.8751 15.0117 9.64505 15.0117ZM9.62044 18.0868H8.76647V16.1914H9.62044C10.1476 16.1914 10.4829 16.6028 10.4829 17.1396C10.4818 17.6754 10.1476 18.0868 9.62044 18.0868Z' fill='white'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
    margin-right: 8px;
}

/* Assicura che il link stesso sia allineato verticalmente */
.legal .form-row a, .informativa-privacy .form-row a {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    font-family: Roboto;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0px;
    color: #636363;
}

.informativa-privacy{
    background-color: transparent;
    padding: 0;
}

.promo-consensi{
    display: flex;
    flex-direction: column;
    gap: 24px;
    border: 1px solid #F8AF00;
    border-radius: 6px;
    padding: 16px;
}

.promo-consensi h3{
    font-family: Roboto;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0px;
    color: #636363;
}

.promo-consensi p{
    font-family: Roboto;
    font-weight: 300;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0px;
    color: #636363;
}

.checkout-payment-title{
    font-family: Roboto;
    font-weight: 500;
    font-size: 24px;
    line-height: 28px;
    letter-spacing: 0px;
    color: #636363;
    border: none;
    padding-bottom: 20px;
}

.label_email_after, .label_email_qr, .label_phone_after{
    font-family: Roboto !important;
    font-weight: 300 !important;
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: 0px !important;
    color: #636363 !important;
}

.label_email_qr_after{
    font-family: Roboto !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 100% !important;
    letter-spacing: 0px !important;
    padding-bottom: 20px;
}

#infoCfEsteroEMinorenne {
    font-family: Roboto !important;
    font-weight: 300 !important;
    font-size: 18px !important;
    line-height: 24px !important;
    letter-spacing: 0px !important;
    background-color: #fff !important;
    color: #636363 !important;
    margin-left: 0;
}


/* Rimuove tutti i bordi e aggiunge solo il bottom border */
.woocommerce-input-wrapper > input[type="text"],
.input-text, 
.redesign-modal > .modal-body > .row > div > input[type="tel"], 
.cf-row-input-text,
.cf-date > input[type="text"]{
    font-size: 18px !important;
    font-weight: 300;
    line-height: 24px !important;
    border: none !important;
    border-bottom: 1px solid #D9D9D6 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    background-color: transparent !important;
    color: #636363;
}

/* Opzionale: stile per quando il campo è in focus */
.woocommerce-input-wrapper input[type="text"]:focus {
    border-bottom: 2px solid #D9D9D6;
    outline: none;
    padding-bottom: 8px !important
}

.redesign-tabs, .autoricarica-panel {
    height: fit-content;
    border: 1px solid #B1B3B3 !important;
    border-radius: 6px;
    border-width: 1px;
    padding: 20px 30px 20px 30px !important;
    box-shadow: 0px 2px 4px 0px #00000040;
    margin: 0 !important;
}

#order_review_heading {
    font-family: Roboto;
    font-weight: 500;
    font-size: 24px;
    line-height: 28px;
    letter-spacing: 0px;
    text-align: center;
    padding-bottom: 16px;
    text-transform: initial;
}

.cf-compute-link{
    padding-top: 0 !important;
    padding-left: 15px;
    padding-bottom: 32px;
    font-family: Roboto;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0px;
}

.cf-compute-link>a{
    color: #12ACEB !important;
}

.cf-compute-link>a:hover{
    color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

/* Nasconde l'asterisco dai campi required */
.woocommerce form .form-row .required {
    visibility: hidden;  /* Nasconde l'asterisco ma mantiene lo spazio */
    display: none;       /* Rimuove completamente l'asterisco e il suo spazio */
}

.cart_item > .product-total{
    font-family: Roboto !important;
    font-weight: 500 !important;
    font-size: 18px !important;
    line-height: 24px !important;
    letter-spacing: 0px !important;
    text-align: right !important;
    color: #636363 !important;
    text-transform: initial !important;
}

.shop_table > tfoot {
    border-bottom: 0 !important;
}

#checkoutForm{
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    gap: 24px !important;
}

.checkout-tabs{
    grid-column: 1/8;
}

.woocommerce-checkout-review-order{
    grid-column: 8/13;
}

.woocommerce-checkout-review-order .shop_table tfoot th{
    text-align: left !important;
    font-family: Roboto;
    font-weight: 500;
    color: #636363;
}

.wc-centered-button{
    left: 0px;
    text-align: center;
    width: 100%;
    bottom: 40px;
    position: absolute;
}

.wc-centered-button > button:disabled, .wc-centered-button > button[disabled] {
    background-color: grey !important;
    color: #fff !important;
}


/* Applica lo stile solo alla select dentro .redesign-select > span > select */
.redesign-select > span > select, .redesign-modal > .modal-body > .row > div > select, .cf-province > select {
    padding-left: 0px;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    border: none !important;
    border-bottom: 1px solid #D9D9D6 !important;
    color: #B1B3B3 !important;
    width: 100%;
    box-sizing: border-box !important;
    position: relative !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: border-color 0.3s ease !important;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.93503 1.06032C10.293 0.702334 10.8734 0.702334 11.2314 1.06032C11.5894 1.4183 11.5894 1.9987 11.2314 2.35668L6.64806 6.94001C6.46907 7.119 6.23447 7.2085 5.99988 7.2085C5.76528 7.2085 5.53069 7.119 5.3517 6.94001L0.768363 2.35668C0.410382 1.9987 0.410382 1.4183 0.768363 1.06032C1.12634 0.702334 1.70675 0.702334 2.06473 1.06032L5.99988 4.99547L9.93503 1.06032Z' fill='%23FFAF00'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 18px !important;
    font-family: "Roboto", sans-serif !important;
    font-weight: 300;
    font-size: 18px;
    line-height: 20px;
    letter-spacing: 0px;
}

.redesign-select > span > select:focus {
    border-color: #f7a600;
    outline: none;
}

.checkout-tabs{
    padding: 0 !important;
    /* margin-right: 24px; */
}

.woocommerce{
    padding: 0 !important;
    width: 100% !important;
}


main{
    padding: 0 !important;
}

.redesign-picker{
    font-size: 18px !important;
    font-weight: 300;
    line-height: 24px !important;
    border: none !important;
    border-bottom: 1px solid #D9D9D6 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    background-color: transparent !important;
    color: #636363 !important;
}

.ui-datepicker-trigger{
    position: absolute;
    top: 40px;
    left: 250px;
}

/* Stile del container principale di Select2 */
.select2-container {
    width: 100% !important;
}

/* Stile della selezione (area principale visibile) */
.select2-container--default .select2-selection--single {
    padding-left: 0px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    border: none !important;
    border-bottom: 1px solid #D9D9D6 !important;
    border-radius: 0 !important;
    color: #B1B3B3 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: border-color 0.3s ease !important;
    background: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.93503 1.06032C10.293 0.702334 10.8734 0.702334 11.2314 1.06032C11.5894 1.4183 11.5894 1.9987 11.2314 2.35668L6.64806 6.94001C6.46907 7.119 6.23447 7.2085 5.99988 7.2085C5.76528 7.2085 5.53069 7.119 5.3517 6.94001L0.768363 2.35668C0.410382 1.9987 0.410382 1.4183 0.768363 1.06032C1.12634 0.702334 1.70675 0.702334 2.06473 1.06032L5.99988 4.99547L9.93503 1.06032Z' fill='%23FFAF00'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 18px !important;
    font-family: "Roboto", sans-serif !important;
    font-weight: 300 !important;
    font-size: 18px !important;
    line-height: 20px !important;
    letter-spacing: 0px !important;
    height: auto !important;
    min-height: 38px !important;
}

/* Nascondere la freccia predefinita di Select2 */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    display: none !important;
}

/* Stile del testo selezionato */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #B1B3B3 !important;
    font-family: "Roboto", sans-serif !important;
    font-weight: 300 !important;
    font-size: 18px !important;
    line-height: 20px !important;
    letter-spacing: 0px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 10px;
}

/* Stile quando ha il focus */
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: #f7a600 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Stile del dropdown */
.select2-container--default .select2-dropdown {
    border: 1px solid #D9D9D6 !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

/* Stile delle opzioni nel dropdown */
.select2-container--default .select2-results__option {
    font-family: "Roboto", sans-serif !important;
    font-weight: 300 !important;
    font-size: 16px !important;
    line-height: 20px !important;
    color: #636363 !important;
    padding: 8px 12px !important;
}

/* Stile dell'opzione al hover */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #f7a600 !important;
    color: white !important;
}

/* Stile dell'opzione selezionata */
.select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: #f0f0f0 !important;
    color: #333 !important;
}

/* Rimuovere il placeholder di default se presente */
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #B1B3B3 !important;
}


.disambiguazione-mobile{
    display: none;
}

#cf-edit-modal .modal-dialog{
    border: none;
    border-radius: 6px;
    padding: 0;
    min-width: 600px;
}

.cf-modal-title{
    font-family: Roboto;
    font-weight: 500;
    font-size: 28px;
    line-height: 32px;
    letter-spacing: 0px;
    text-align: center;
    color: #636363;
    margin: 0;
}

#cf-edit-modal .modal-form-container{
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 60px;
    padding-right: 40px;
    padding-bottom: 40px;
    padding-left: 40px;
}

.cf-form{
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.cf-sex-radio input[type=radio], .woocommerce input[type=radio]{
    border: none !important;
    border: 1px solid #B1B3B3 !important;
}

.cf-sex-radio input[type=radio]:checked, .woocommerce input[type=radio]:checked{
    background-color: #ffaf00 !important;
    border-color: #ffaf00 !important;
    box-shadow: 0 0 0 4px #ffaf0033 !important;
    appearance: none !important;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    }

.cf-sex-radio input[type=radio]:checked::after, .woocommerce input[type=radio]:checked::after{
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.cf-sex-radio{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px; /* Spaziatura orizzontale tra radio e label */
    justify-content: flex-start;
    font-family: Roboto !important;
    font-weight: 300 !important;
    font-size: 18px !important;
    line-height: 24px !important;
    letter-spacing: 0px !important;
    vertical-align: middle !important;
    color: #636363 !important;
}

.pagamento-title{
    font-family: Roboto !important;
    font-weight: 500 !important;
    font-size: 24px !important;
    line-height: 28px !important;
    letter-spacing: 0px !important;
    color: #636363 !important;
    border: none !important;
}

.switch{
    position : relative ;
    display : inline-block;
    width : 40px;
    height : 20px;
    background-color: #eee;
    border-radius: 20px;
}

.switch::after {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: white;
  top: 1px;
  left: 1px;
  transition: all 0.3s;
}

.switch-checkbox:checked + .switch::after {
  left : 20px; 
}

.switch-checkbox:checked + .switch {
  background-color: #7983ff;
}

.redesign-thank-you{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    padding: 40px 0 !important;
}

.redesign-thank-you .avada-thank-you{
    max-width: 1080px;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.redesign-thankyou-title{
    align-items: flex-end !important;
}

.redesign-thankyou-title .title-content {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.redesign-thankyou-title  .title-icon {
    flex-shrink: 0;
}

.redesign-thankyou-title  .title-text {
    font-family: Roboto;
    font-weight: 300;
    font-size: 28px;
    line-height: 32px;
    letter-spacing: 0px;
    color: #636363;
}

.redesign-thankyou-title  .title-text .subtitle-text {
    font-family: Roboto;
    font-weight: 500;
    font-size: 40px;
    line-height: 32px;
    letter-spacing: 0px;
    color: #636363;
}

.redesign-download-pdf{
    border-radius: 6px;
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
    gap: 10px;
    color: #fff !important;
    display: flex;
    align-items: center;
}

/* eSIM Thank You Page Activation Section Styles */
.esim-thank-you-activation-section {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* Card Attivazione eSIM */
.esim-thank-you-activation-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #B1B3B3;
    border-radius: 12px;
    padding: 40px 30px;
    text-align: center;
    box-shadow: 0px 2px 4px 0px #00000040;
}

.esim-thank-you-icon {
    display: flex;
    justify-content: center;
}

.esim-thank-you-title, .esim-thank-you-documents-title {
    margin: 0 0 15px 0;
    color: #636363 !important;
    font-family: Roboto !important;
    font-weight: 500 !important;
    font-size: 24px !important;
    line-height: 28px !important;
    letter-spacing: 0px !important;
    text-align: center;
}

.esim-thank-you-documents-title {
    margin: 0 0 32px 0;
}

.esim-thank-you-document-title{
    font-family: Roboto !important;
    font-weight: 500 !important;
    font-size: 18px !important;
    line-height: 24px !important;
    letter-spacing: 0px !important;
    color: #636363 !important;
    margin: 0 !important;
    margin-bottom: 8px !important;
}

.esim-thank-you-subtitle {
    width: 100%;
    margin: 0 0 30px 0;
    margin-left: auto;
    margin-right: auto;
    white-space: nowrap;
    font-family: Roboto;
    font-weight: 300;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0px;
    text-align: center;
    color: #636363;
}

.esim-thank-you-document-description, .esim-thank-you-document-list li, .esim-thank-you-note-item{
    font-family: Roboto !important;
    font-weight: 300 !important;
    font-size: 18px !important;
    line-height: 24px !important;
    letter-spacing: 0px !important;
    color: #636363 !important;
}

.esim-thank-you-activate-btn {
    background: #FFA500;
    color: white;
    border: none;
    padding: 15px 40px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    letter-spacing: 0.5px;
}

.esim-thank-you-activate-btn:hover {
    background: #e6940a;
}

.esim-thank-you-documents-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

.esim-thank-you-document-card {
    background: #fff;
    border: 1px solid #B1B3B3;
    border-radius: 12px;
    padding: 32px;
    position: relative;
    box-shadow: 0px 2px 4px 0px #00000040;
}

.esim-thank-you-document-icon {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 20px;
}

.esim-thank-you-document-description {
    font-size: 14px;
    color: #666;
    margin: 0 0 15px 0;
}

.esim-thank-you-document-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.esim-thank-you-document-list li {
    font-size: 14px;
    margin: 8px 0;
    padding-left: 20px;
    position: relative;
    color: #555;
}

.esim-thank-you-document-list li:before, .esim-thank-you-note-item ul li:before {
    content: "•";
    color: #636363;
    font-weight: bold;
    position: absolute;
    left: 0;
}

.esim-thank-you-note-item {
    margin-bottom: 20px;
}

.esim-thank-you-note-item:last-child {
    margin-bottom: 0;
}

.esim-thank-you-note-item ul {
    list-style: none;
    padding: 0;
    margin: 10px 0 0 0;
}

.esim-thank-you-note-item ul li {
    margin: 5px 0;
    padding-left: 20px;
    position: relative;
}

#new-panel, .new-app-banner, #new-autoricarica-panel{
    padding: 44px 32px !important;
    border-radius: 6px !important;
    border: 1px solid #B1B3B3 !important;
    box-shadow: 0px 2px 4px 0px #00000040 !important;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

#new-pan-header, #new-autoricarica-panel .pan-header{
    padding: 0;
    margin: 0;
    transform: none;
}

.autoricarica-info-panel{
    display: flex;
    padding: 0 !important;
    justify-content: space-between;
    padding-top: 20px !important;
}

.autoricarica-image{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.autoricarica-image p{
    margin: 0;
}

.autoricarica-termini{
    font-family: Roboto;
    font-weight: 300;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0px;
    text-align: center;
    color: #12ACEB;
}

#new-pan-body{
    padding: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .esim-thank-you-activation-section {
        padding: 15px;
    }
    
    .esim-thank-you-activation-card {
        padding: 30px 20px;
    }
    
    .esim-thank-you-title {
        font-size: 24px;
    }
    
    .esim-thank-you-documents-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .esim-thank-you-document-card {
        padding: 25px 20px;
    }
    
    .esim-thank-you-documents-title {
        font-size: 20px;
    }
    
    .esim-thank-you-additional-notes {
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .esim-thank-you-activate-btn {
        padding: 12px 30px;
        font-size: 14px;
    }
    
    .esim-thank-you-title {
        font-size: 22px;
    }
    
    .esim-thank-you-subtitle {
        font-size: 14px;
    }
    
    .esim-thank-you-document-title {
        font-size: 16px;
    }
}

@media screen and (max-width: 768px) {
    .disambiguazione {
        display: none;
    }

    .disambiguazione-mobile{
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .disambiguazione-mobile > .card-container{
        max-height: 80px;
        max-width: 100%;
        padding: 20px;
    }

    .disambiguazione-mobile > .card-container .card-title-wrapper{
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
        position: relative;
        top: -10px;
    }
    

    .disambiguazione-mobile > .card-container.expanded {
        max-height: fit-content; /* valore alto per contenere tutto */
        flex-direction: column;
        box-shadow: 0 4px 16px 0 #00000030;
        z-index: 2;
        gap: 18px;   
    }

    .disambiguazione-mobile > .card-container.expanded .card-title-wrapper {
        padding-bottom: 10px;
        border-bottom: 1px solid #D9D9D6;
    }

    .disambiguazione-mobile > .card-container.expanded .hidden-content {
        display: flex;
        opacity: 1;
        max-height: 1000px;
        padding-top: 16px;
        transition: opacity 0.3s, max-height 0.4s cubic-bezier(0.4,0,0.2,1);
        flex-direction: column;
        gap: 12px;
    }

    .disambiguazione-mobile .metodi-pagamento {
        flex-direction: column;
        gap: 15px;
        padding: 0;
        align-items: center;
    }
    .disambiguazione-mobile .metodi-pagamento img {
        height: auto;
    }

    .disambiguazione-mobile > .card-container > .card-title-wrapper > .card-title{
        display: flex;
        align-items: center;
        justify-content: space-around;
        gap: 20px;
    }

    .disambiguazione-mobile > .card-container > .card-title-wrapper > .card-title  h2{
        margin: 0;
        padding: 0;
    }

    .disambiguazione-mobile > .card-container > .card-title-wrapper > .card-accordion{
        display: flex;
    }

    #esim-title{
        padding: 0 !important;
        padding-top: 30px !important;
    }

    .checkout-tabs{
        padding: 8px !important;
    }

    .checkout-tab{
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    .checkout-tab .row {
        padding: 20px !important;
    }

    .form-row{
        padding: 0 !important;
        width: 100%;
    }

    #checkoutForm{
        display: flex !important;
        flex-direction: column !important;
        gap: 32px !important;
    }

    .cf-wrapper, .cf-compute-link{
        padding: 0 !important;
        width: 100% !important;
    }

    .cf-compute-link{
        padding: 0 !important;
        padding-bottom: 32px !important;
        width: 100% !important;
    }

    #infoCfEsteroEMinorenne{
        padding: 0 !important;
        width: 100% !important;
        font-size: 14px !important;
    }

    .wc-centered-button{
        position: static !important;
        margin-top: 32px !important;
    }
}

/* GESTIONE LAYOUT CHECKOUT */
.div-p {
    width: 90%;
    float: left;
}

.span-tooltip {
    width: 10%;
    float: left;
    text-align: right;
}

.form-row {
    clear:both;
}

#_kena_codice_promo_field.kena_codice_promo_link.ricarica {
    background-color: #FFF !important; /* SOVRASCRIVE STYLE.CSS */
    border-color: #FFF !important;
}

#_kena_codice_promo_field {
    padding: 0 !important;

}

#_kena_codice_promo_field.kena_codice_promo_link.ricarica #porta-amico-link {
    text-decoration: none !important;
    font-size:16px !important;
    color: #4dc0f0 !important;
}

.payment_methods li img {
    float: none !important;
}

.form-row.autoricarica_field {
    clear: none !important;
    float: left !important;
    width:15% !important;
    padding: 0 20px;
}

/* .form-row.autoricarica_field .optional {
    display:none !important;
} */

/* slider al posto del checkbox in autoricarica */
.form-row.autoricarica_field .switch2 {
  position: relative;
  display: inline-block;
  width: 50px !important;
  height: 28px;
}

.form-row.autoricarica_field .switch2 input {
  opacity: 0;
  width: 0;
  height: 0;
}

.form-row.autoricarica_field .slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: #ccc;
  transition: .4s;
  border-radius: 34px;
}

.form-row.autoricarica_field .slider::before {
  position: absolute;
  content: "";
  height: 22px;
  width: 22px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: .4s;
  border-radius: 50%;
}

/* Quando il checkbox è checked */
.form-row.autoricarica_field .switch2 input:checked + .slider {
  background-color: #4CAF50; /* Verde */
}

.form-row.autoricarica_field .switch2 input:checked + .slider::before {
  transform: translateX(22px);
}

.autoricarica_conditions {
    clear:both;
    text-align:left;    
    width: 70%;
    padding: 0 20px !important;
    margin-left: 15% !important;
}

.autoricarica_conditions a {
    color: #FFA000;
    font-size: 14px;
}

.attivazione_title {
    margin-top: 30px !important;
    border: none !important;
    text-transform: none !important;
}

#cf-not-match .close {
    position:absolute;
    top:5px;
    right:5px;
    border:none;
    background:0 0;
    font-size:50px;
    padding:0;
    line-height:30px;
    height:30px;
    color:#999;
}

#cf-not-match .modal-dialog {
    border: none;
    border-radius: 6px;
    padding: 0;
    min-width: 600px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);  
}

#cf-not-match .modal-form-container{
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 60px;
    padding-right: 40px;
    padding-bottom: 40px;
    padding-left: 40px;
}

#cf-errato .close {
    position:absolute;
    top:5px;
    right:5px;
    border:none;
    background:0 0;
    font-size:50px;
    padding:0;
    line-height:30px;
    height:30px;
    color:#999;
}

#cf-errato .modal-dialog {
    border: none;
    border-radius: 6px;
    padding: 0;
    min-width: 600px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);  
}

#cf-errato .modal-form-container{
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 60px;
    padding-right: 40px;
    padding-bottom: 40px;
    padding-left: 40px;
}