@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');


body.page-template-templateCheckout {
  font-family: "Outfit", sans-serif !important;
  font-optical-sizing: auto !important;
  font-weight: 400 !important;
  font-style: normal !important;
}

@media screen and (max-width: 768px) {
body.page-template-templateCheckout .no-md-gutters > .col,
body.page-template-templateCheckout .no-md-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}
}
body.page-template-templateCheckout youai-chat-root {
    display: none !important;
}
body.page-template-templateCheckout .youai-web-chat .toggle {
    bottom: 0 !important;
}

.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 div.text-content h3.title,
.disambiguazioneRicezioneSIM div.text-content h3.title {
    margin-bottom: 0.75rem;
}
body.page-template-templateCheckout .disambiguazione div.text-content h3.title,
body.page-template-templateCheckout .disambiguazioneRicezioneSIM div.text-content h3.title {
  text-transform: none;
  font-family: "Outfit", sans-serif !important;
  font-optical-sizing: auto !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-size: 16px !important;
}
body.page-template-templateCheckout .disambiguazione2 div.text-content .card-text,
body.page-template-templateCheckout .disambiguazione div.text-content .card-text {
  font-family: "Outfit", sans-serif !important;
  font-optical-sizing: auto !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 20px;
}


.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;
}

.info-icon-top-right {
    position: absolute; /* Rimuove l'elemento dal flusso e lo posiziona rispetto al genitore (disambiguazione) */
    top: 15px; /* Spazio dal bordo superiore */
    right: 15px; /* Spazio dal bordo destro */
    width: 20px; /* Dimensione fissa dell'icona */
    height: 20px;
    
    /* Colore e stile (basato sull'immagine fucsia) */
    color: #ff007f; /* Un colore fucsia acceso */
    z-index: 10; /* Assicura che l'icona sia sopra gli altri contenuti della card */
}
body.page-template-templateCheckout .info-icon-top-right {
    top: 24px; /* Spazio dal bordo superiore */
    right: 24px; /* Spazio dal bordo destro */
}

body.page-template-templateCheckout .info-icon-top-right.cf-info {
    top: 5px; /* Spazio dal bordo superiore */
    right: 15px; /* Spazio dal bordo destro */
}
@media screen and (max-width: 768px) {
    body.page-template-templateCheckout .info-icon-top-right.cf-info {
        right: 0; /* Spazio dal bordo destro */
    }
}

/* Stili per il contenitore principale */
.disambiguazione, .disambiguazione2, .disambiguazioneRicezioneSIM {
    position: relative;
    display: flex;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
    align-items: center; /* Allinea verticalmente gli elementi al centro */
    align-content: center;
    justify-content: space-around;
    padding: 20px;
    background-color: white; /* Sfondo bianco */
    border-radius: 2rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); /* Leggera ombra per l'effetto di sollevamento */
    width: 100%;
    max-width: 800px; /* Limita la larghezza per una migliore visualizzazione */
    margin: 20px auto; /* Centra il blocco per l'esempio */
    border: 1px solid rgb(217 217 214);
}

.disambiguazione:hover,
.disambiguazioneRicezioneSIM:hover,
.disambiguazione2:hover {
    border-color: rgb(255 0 127);
    box-shadow: 0 2px 8px rgba(0 0 0 0.06);
}

.disambiguazione.selected, 
.disambiguazioneRicezioneSIM.selected,
.disambiguazione2.selected {
    border-color: #ff007f;
    box-shadow: 0 0 0 2px rgba(255,175,0,0.3);
    transform: translateY(-1px);
    background-color: #fffaf0; /* opzionale */
}

/* Contenitore dell'icona a sinistra */
.icon-container {
    margin-right: 20px;
    padding: 10px; /* Spazio interno per l'icona */
    border-radius: 8px; /* Angoli arrotondati per il contenitore dell'icona se volessi uno sfondo */
    color: #ffaa00; /* Colore giallo/arancione dell'icona */
    /* Se l'icona deve avere un cerchio attorno, aggiungi: */
    /* background-color: #fff2cc; */ 
}

/* Stile per l'icona SIM (SVG) */
.sim-icon {
    width: 35px; /* Dimensione dell'icona */
    height: 35px;
    stroke: #ffaa00; /* Assicura che la linea sia gialla */
    fill: none; /* Rimuovi il riempimento per l'icona principale */
}

.sim-icon circle {
    fill: #ffaa00; /* Riempimento per il piccolo dettaglio della SIM */
    stroke: none;
}


/* Stili per il contenuto testuale */
.text-content {
    flex-grow: 1; /* Permette al testo di occupare lo spazio rimanente */
}

/* Titolo "SIM FISICA" */
.title {
    margin: 0;
    font-size: 1.2em;
    font-weight: 700 !important;/* Grassetto */
    color: #333;
    line-height: 1.2;
}

/* Descrizione */
.description {
    margin: 5px 0 0 0;
    font-size: 1em;
    color: #555;
    line-height: 1.4;
}

/* Parole chiave in grassetto */
.description strong {
    font-weight: 700;
    color: #333; /* Rende il grassetto più evidente */
}


/* Stile del titolo "SIM E NUMERO DI TELEFONO" */
.main-title {
    margin: 0;
    font-size: 1em; /* Dimensione del testo in alto (più piccolo e probabilmente in maiuscolo) */
    font-weight: 500;
    color: #444;
    letter-spacing: 0.1em; /* Leggera spaziatura tra le lettere per le maiuscole */
}

/* Indicatore di tempo (Orologio e testo) */
.time-indicator {
    display: flex;
    align-items: center;
    color: #444; /* Colore scuro per orologio e testo */
    font-size: 0.9em;
    font-weight: 500;
}

.time-indicator .clock-icon {
    width: 18px;
    height: 18px;
    margin-right: 5px;
    stroke: currentColor;
    fill: none;
}

.time-indicator .time-text {
    /* Testo "Bastano 5'" */
    white-space: nowrap; /* Evita che il testo vada a capo */
}
body.page-template-templateCheckout .time-indicator .time-text {
    font-size: 12px;
}

.fusion-fullwidth.fullwidth-box {
    background-color: rgb(247 247 247) !important;
}

.checkout-wrapper .checkout h2, .checkout-wrapper .checkout h3.title {
    border: none;
    margin-bottom: 0;
    padding-bottom: 0;
    font-weight: 500 !important;
    font-size: 1.5rem !important;
}
body.page-template-templateCheckout .checkout-wrapper .checkout-tabs .section-title {
  font-family: "Outfit", sans-serif !important;
  font-optical-sizing: auto !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 14px !important;
}
body.page-template-templateCheckout .checkout-wrapper .checkout-tabs .section-subtitle {
  font-family: "Outfit", sans-serif !important;
  font-optical-sizing: auto !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 22px !important;
}

#checkout-header, #checkout-topbar, .checkout-progress .progress-steps {
    width: 100vw;
    position: relative;
    left: calc(-50vw + 50%);
}
body.page-template-templateCheckout #checkout-header {
    height:80px;
    background-color:#FFF;
    position:relative;
}
@media (max-width: 768px) {
    body.page-template-templateCheckout #checkout-header {
        height: 104px;
    }
}
.disambiguazione,
.disambiguazioneRicezioneSIM,
.checkout-header-section {
    /* Imposta la stessa larghezza massima per tutti i blocchi */
    max-width: 800px; 
    
    /* Centra il blocco orizzontalmente */
    margin-left: auto;
    margin-right: auto;
}

/* Riga principale contenente titolo e tempo */
.header-main-row {
    display: flex;
    justify-content: space-between; /* Sposta il titolo a sinistra e il tempo a destra */
    align-items: center;
    margin-bottom: 15px; /* Spazio tra la riga principale e il sottotitolo */
}

/*BOX VERDE*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@800&display=swap');
.pill-badge {
  /* Colori e Sfondo */
  background-color: #e2f4ee; /* Verde acqua chiarissimo */
  color: #1a4d42;            /* Verde scuro per il testo */
  
  /* Forma e Spaziatura */
  display: inline-block;
  padding: 8px 20px;
  border-radius: 50px;      /* Crea l'effetto "pillola" */
  
  /* Tipografia */
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-align: center;
  
  /* Allineamento */
  line-height: 1;
}

body.page-template-templateCheckout .checkout-wrapper .pill-badge {
  font-family: "Outfit", sans-serif !important;
  font-optical-sizing: auto !important;
  font-weight: 700 !important;
  font-size: 12px !important;

}
/*LINK ACQUISTO*/

.disambiguazione-link-acquisto {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;    
  cursor: pointer;
  position: relative;
  max-width: 600px;
  margin: 1.25rem auto 0;
  width: 100%;
  padding: 16px 20px;
}

/* link viola */
.disambiguazione-link-acquisto .link-acquisto {
  color: #ff007f;              /* viola (scegli tu il colore) */
  text-decoration: none;
  font-weight: 600;
}
body.page-template-templateCheckout .disambiguazione-link-acquisto .link-acquisto {
  color: #F40E6F;
  text-decoration: underline;
}
/* opzionale: gestisci gli stati del link */
.disambiguazione-link-acquisto .link-acquisto:visited {
  color: #ff007f;
}
body.page-template-templateCheckout .disambiguazione-link-acquisto .link-acquisto:visited {
  color: #F40E6F;
}
.disambiguazione-link-acquisto .link-acquisto:hover {
  text-decoration: underline;
}
body.page-template-templateCheckout .disambiguazione-link-acquisto .link-acquisto:hover {
  color: #DC0D64;
}
.disambiguazione-link-acquisto p{
  margin:0;
  width:100%;
  text-align:center;
}

/* Link/Bottone viola */
.link-acquisto, .link-acquisto-consensi{
  color:#ff007f;
  font-weight:600;
  text-decoration:none;
  background:transparent;
  border:0;
  cursor:pointer;
  font: inherit; /* mantiene font del sito se è button */
}
body.page-template-templateCheckout .link-acquisto,
body.page-template-templateCheckout .link-acquisto-consensi {
  font-family: "Outfit", sans-serif !important;
  font-optical-sizing: auto !important;
  font-weight: 600 !important;
  font-style: normal !important;
  font-size: 16px;
}
.link-acquisto, .link-acquisto-consensi:hover{
  text-decoration:underline;
}

/* Modale */

/* Overlay a tutto schermo */
.kena-modal-overlay {
  position: fixed;
  inset: 0; /* equivale a top:0; right:0; bottom:0; left:0; */
  background-color: rgba(0, 0, 0, 0.4); /* sfondo scuro semi-trasparente */
  display: flex;
  align-items: center;   /* centra verticalmente */
  justify-content: center; /* centra orizzontalmente */
  z-index: 9999;

  /* opzionale: nascondi la modale quando aria-hidden è true */
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

/* Quando la modale è visibile (puoi aggiungere una classe .is-open da JS) */
.kena-modal-overlay.is-open {
  visibility: visible;
  opacity: 1;
}

/* Contenitore della modale */
.modalProsegui {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
  background: #ffffff;
  max-width: 30rem;
  margin: 16px;
  border-radius: 1.25rem;
  padding: 2rem;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.custom-checkbox input[type="checkbox"]:checked + .box {
  background: #ffcc00; /* giallo */
  border-color: #ffcc00;
  color: #000;         /* ✓ nero */
}

/* Bottone chiudi */
.modalProsegui .modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  border-radius: 50%;
  background: #FFAF00;
  padding: 0.5rem 0.5rem 0.4rem;
  line-height: 1rem;
}

/* Evita doppio id per la descrizione: usa una sola classe o id diverso */
#checkoutModalTitle {
    font-weight: 700;
    font-size: 1.75rem;
    text-align: center;
    border: none;
    text-transform: unset;
}

.modal-text {
  margin: 12px 0;
  font-weight: 400;
}

.modal-text .bold {
  font-weight: 600;
}

.modal-icon {
    width: 100%;
    display: flex;
    justify-content: center;
}

.modal-supported-devices-grid {
    align-self: center;
    max-width: 20rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    justify-items: center;
}

.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;
}

.progress-steps {
    background: #FFEFCC;
    display: flex;
    justify-content: space-between;
    width: 100%;
    position: relative;
    height: 8px;
    gap: 0;
}

.checkout-step {
    display: flex;
    flex: 1;
    height: 8px;
    background-color: #FFEFCC;
    position: relative;
    transition: background-color 0.3s ease;
    /* margin-left: -4px; */
}

.checkout-step::before {
    display: none;
}

.step-number {
    display: none;
}

/* Step attivo */
.checkout-step.active {
    background-color: #ffaf00;
    border-radius: 0px 4px 4px 0px;
}

.checkout-step.is-active {
    background-color: #ffaf00;
    border-radius: 0px 4px 4px 0px;
}

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

@media only screen and (max-device-width: 640px) {
    #content {
        margin-bottom: 0 !important;
    }
}

.active-step-title > h3{
    font-weight: 500 !important;
    font-size: 1rem !important;
    padding: 0 !important;
    margin: 0.25rem 0.75rem 0 0 !important;
    text-align: end;
}
/* 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>label, .cf-row-label, .cf-date > div, .cf-sex > div, .cf-province > div{
    font-family: 'Outfit';

}
.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, #consenso_extra: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>");
}

 #consenso_extra:checked::before {
    content: none;
 }

.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;
}
body.body.page-template-templateCheckout .redesign-download-tabs {
    border: none;
    border-radius: 0;
    box-shadow: none;
}

#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;
}

.checkout-wrapper{
    justify-content: center;
}

#checkoutForm{
    max-width: 50rem;
    display: flex;
    flex-direction: column;
}

.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: #ffffff !important;
    appearance: none !important;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    position: relative !important;
    display: inline-block;
    vertical-align: middle;
    }

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

.cf-sex-radio input[type=radio]:checked::before, .woocommerce input[type=radio]:checked::before{
    content: none;
}

.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;
}

body div#boxed-wrapper div.fusion-wrapper#wrapper:has(.redesign-thank-you),
body div#boxed-wrapper div.fusion-wrapper#wrapper .fusion-row:has(.redesign-thank-you) {
    width: auto;
    max-width: unset;
}

.redesign-thank-you {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    background: linear-gradient(#E2F1FF 50%, #AA0061);
    padding-bottom: 0.85rem !important; /* filling bottom of the screen: the html, body and children are not min-height: 100% */
}

.redesign-thank-you .card-title {
    color: #920843
}

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

.redesign-thankyou-title .title-text {
    font-weight: 700;
    font-size: 1.75rem;
}

.redesign-thankyou-title .subtitle-text {
    font-weight: 300;
    font-size: 1.125rem;
}

.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{
    max-width: 60rem;
    padding: 0 !important;
    border: none !important;
    display: flex;
    flex-direction: column;
}

#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) {

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

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

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

    .checkout-tab .row {
        padding: 20px !important;
    }
    body.page-template-templateCheckout .checkout-tab .row {
        padding: 0 20px !important;
    }
    .form-row{
        padding: 0 !important;
        width: 100%;
    }

    #checkoutForm{
        display: flex !important;
        flex-direction: column !important;
        gap: 32px !important;
    }
    body.page-template-templateCheckout #checkoutForm {
        gap: 0 !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;
}


:root{
  --kena-pink:#e6007e; 
  --kena-text:#111; 
  --kena-muted:#6a6a6a;
  --kena-gray1:#f6f6f6; 
  --kena-gray2:#e5e5e5; 
  --kena-gray3:#c7c7c7;
  --kena-focus:#0073e6;
}

/* ------------------------------------------------------------------------------------
   ANTI-CONFLITTI GLOBALI: assicura che i radio non siano nascosti dal tema
   ------------------------------------------------------------------------------------ */
input[type="radio"]{
  display:inline-block !important;
  opacity:1 !important;
  position:static !important;
  appearance:auto;            /* ripristina aspetto nativo dov'è utile */
  -webkit-appearance:auto;
}

/* Nel nostro componente li mascheriamo di proposito per usare la grafica custom */
.kena-choice input[type="radio"]{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
  appearance:none;
  -webkit-appearance:none;
}

/* ------------------------------------------------------------------------------------
   LAYOUT GENERALE PAGAMENTO
   ------------------------------------------------------------------------------------ */
.kena-payment{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--kena-text);
  max-width:540px;
}
.kena-title{font-size:20px;font-weight:700;margin:0 0 12px;}
.kena-methods{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:8px 0 14px;
}
@media(min-width:520px){
  .kena-methods{grid-template-columns:repeat(3,1fr);}
}

.kena-card{display:block;cursor:pointer; position:relative;}
/* Per le "card metodo": radio invisibile perché la selezione avviene cliccando la card */
.kena-card input[type="radio"]{position:absolute; opacity:0; pointer-events:none;}
.kena-card-inner{
  border:1px solid var(--kena-gray2); 
  background:#fff; 
  border-radius:20px;
  padding:12px; 
  box-shadow:0 2px 10px rgba(0,0,0,.06);
  transition:border-color .2s, box-shadow .2s, transform .05s;
}
.kena-card:hover .kena-card-inner{
  border-color:var(--kena-pink); 
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.kena-card.is-selected .kena-card-inner{
  outline:2px solid var(--kena-pink); 
  outline-offset:-2px;
}
.kena-card-head{font-size:12px;font-weight:700;color:#555;margin-bottom:8px;}
.kena-card-icons{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;}
.kena-badge{width:56px;height:32px;border-radius:8px;flex:0 0 auto;}

.kena-card-form{
  margin-top:10px;
  padding:14px;
  border:1px solid var(--kena-gray2);
  border-radius:20px;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
}
.kena-field{position:relative;margin-bottom:16px;}
.kena-field label{display:block;font-size:13px;color:var(--kena-muted);margin-bottom:6px;}
.kena-field input{
  width:100%;
  border:none;
  border-bottom:2px solid var(--kena-gray2);
  padding:10px 2px 8px;
  font-size:16px;
  background:transparent;
  outline:none;
  transition:border-color .2s;
}
.kena-field input:focus{
  border-bottom-color:var(--kena-pink); 
  box-shadow:inset 0 -1px 0 var(--kena-pink);
}
.kena-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}




.kena-info{margin:14px 0;}
.kena-small{font-size:14px;line-height:1.5;margin:0 0 8px;}
.kena-muted{color:var(--kena-muted);}
.kena-link{color:var(--kena-pink);text-decoration:underline;font-weight:600;}

/* ------------------------------------------------------------------------------------
   RADIO "Sì/No" — stile come screenshot 2
   ------------------------------------------------------------------------------------ */
.kena-choices{
  display:flex;
  gap:32px;                 /* spazio tra Sì e No, un po' più ampio */
  align-items:center;
  margin:6px 0 12px;
}

.kena-choice{
  display:inline-flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  user-select:none;
  position:relative;        /* per posizionare l'input radio nascosto */
  line-height:1.4;
  color:var(--kena-text);
}

.kena-dot{
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid var(--kena-gray3); /* cerchio grigio di base */
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Stato checked: bordo rosa + puntino rosa */
.kena-choice input[type="radio"]:checked + .kena-dot{
  border-color:var(--kena-pink);
}
.kena-choice input[type="radio"]:checked + .kena-dot::after{
  content:"";
  position:absolute;
  inset:3px;               /* puntino interno */
  border-radius:50%;
  background:var(--kena-pink);
}

/* Focus tastiera accessibile */
.kena-choice input[type="radio"]:focus + .kena-dot{
  outline:2px solid var(--kena-focus);
  outline-offset:2px;
}

/* ------------------------------------------------------------------------------------
   LINK ROSA (come screenshot)
   ------------------------------------------------------------------------------------ */
.link-acquisto{
  color:var(--kena-pink);
  text-decoration:underline;
}
.link-acquisto:hover{
  color:#c5006a;
}


/*Gestione TAB 1 DATI PERSONALI*/


/* ====== CARD DATI PERSONALI ====== */
.personal-data-card {
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid #E6E6E6;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  overflow: hidden; /* arrotonda anche la barra */
}

/* BARRA SUPERIORE (uguale allo screenshot) */
.personal-data-card .pd-header {
  background: #8E0032;    /* borgogna/magenta scuro */
  color: #ffffff;
  padding: 27px 16px;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  display: flex;
  align-items: center;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,0.12);
}

.personal-data-card .pd-title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  margin: 0;
}

.personal-data-card .pd-body {
    padding: 14px;
    background: #ffffff;
    border-radius: 0;
    margin-top: 0;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
}
.personal-data-card > .pd-body:first-child {
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
    border: none;
}

/* Divider sottili come nel mock */
.personal-data-card .kena-field input,
.personal-data-card .kena-field select {
  border-bottom: 1px solid #D9D9D9;
  padding: 10px 2px 8px;
}
.personal-data-card .errorIcon:after {
    content: none !important;
}

.personal-data-card .kena-field input:focus,
.personal-data-card .kena-field select:focus {
  border-bottom-color: #FFBF00;
  box-shadow: inset 0 -1px 0 #FFBF00;
}

/* CTA stile mock */
.personal-data-card .cf-button,
.personal-data-card .cf-confirm,
.personal-data-card .cf-verify,
.personal-data-card .cf-incorrect {
  border-radius: 22px;
  border: 2px solid #FFBF00;
  background: #ffffff;
  color: #8E0032;
  font-weight: 700;
  padding: 10px 16px;
}
body.page-template-templateCheckout .personal-data-card #cf-correct-edit.cf-button {
  background-color:#fff !important;
  color:#000 !important;
  border:2px solid #FFAF00 !important;
  border-radius:50px !important;
  padding:12px 18px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  box-shadow:none !important;
  outline:none !important;
  opacity:1 !important;
  float:right;
}
@media screen and (max-width: 768px) {
    body.page-template-templateCheckout .personal-data-card #cf-correct-edit.cf-button {
       width: 100%;
    }
}
/* Link "Generalo ora" */
.personal-data-card .cf-compute-link a {
  color: #C4004B;
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
}
.personal-data-card .cf-compute-link a:hover { text-decoration: underline; }

/* Griglia due colonne (Numero/Scadenza, Nome/Cognome) */
.personal-data-card .kena-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 480px) {
  .personal-data-card .kena-row { grid-template-columns: 1fr; }
}





/*Gestione ty*/

/* 0) Anti-restringimento: neutralizza colonne Avada SOLO dentro il pannello */
#new-panel .fusion-builder-row,
#new-panel .fusion-row { display:block !important; }
#new-panel .fusion-layout-column,
#new-panel [class*="fusion-one-"],
#new-panel .fusion_builder_column,
#new-panel .fusion_builder_column_inner,
#new-panel .fusion-column-wrapper {
  flex:0 0 100% !important;
  max-width:100% !important;
  width:100% !important;
  float:none !important;
  margin:0 !important;
  clear:both !important;
}

#new-pan-body .kena-two-col {
    width: 100%;
    max-width: 53rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

#new-panel .kena-card {
  width: 26rem;
  background:#fff;
  border-radius:18px;
  padding:22px 24px 18px;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
}

#new-panel .kena-card#download-panel {
    background: none;
    border: none;
    box-shadow: none;
}
#new-panel .kena-card#download-panel .kena-card__title {
    border: none;
}
#new-panel .kena-card#download-panel .kena-card__title::after {
    content: none;
}

#new-panel .kena-card__title{
  margin:0 0 14px;
  font-size:1.15rem;
  font-weight:800;
  color:#a1007e !important;                    /* brand color */
  position:relative;
  padding-bottom:10px;
}
#new-panel .kena-card__title::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0;
  height:1px; background:#e9e6ee;
}

/* 3) Box sinistro: lista numerata a badge */
#kena-important-things .kena-steps{
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
#kena-important-things .kena-single-step{
  display: flex;
  gap: 0.5rem;
}
#kena-important-things .kena-remember-list{
    list-style: disc;
    margin-left: 1rem;
}
#kena-important-things .kena-step__badge{
  flex:0 0 28px; height:28px; width:28px;
  border-radius:999px;
  background:#ffb300;               /* giallo badge */
  color:#111;
  font-weight:800; font-size:.95rem;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 6px rgba(0,0,0,.15) inset;
}
#kena-important-things .kena-step__text{
  font-size:.98rem; line-height:1.4;
}
#kena-important-things .kena-remember p{ margin:.6rem 0 .3rem; font-weight:700; }
#kena-important-things .kena-remember ul{
  margin:.2rem 0 0 1.1rem;
}
#kena-important-things .kena-remember li{ margin:.12rem 0; }

/* 4) Box destro: riepilogo ordine */
#kena-order-summary .kena-offer{ margin-bottom:14px; }
#kena-order-summary .kena-offer__label{ font-weight:700; margin-bottom:6px; }
#kena-order-summary .kena-offer__body{ line-height:1.35; }
#kena-order-summary .kena-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px 28px;
  margin-bottom:8px;
}
#kena-order-summary .kena-kv__row{ display:flex; flex-direction:column; gap:4px; }
#kena-order-summary .kena-kv__label{ font-weight:700; color:#555; }
#kena-order-summary .kena-kv__value{ font-weight:700; font-size:1.025rem; }
#kena-order-summary .kena-kv__row--total .kena-kv__label,
#kena-order-summary .kena-kv__row--total .kena-kv__value{ font-weight:900; }
#kena-order-summary .kena-meta-row{ display:flex; flex-direction:column; gap:6px; margin-top:6px; }
#kena-order-summary .kena-meta__label{ font-weight:700; color:#555; }
#kena-order-summary .kena-meta__value{ font-weight:700; }

/* 5) Responsive */
@media (max-width: 980px){
  #new-pan-body .kena-two-col{ grid-template-columns:1fr; gap:18px; }
}




/*Gestione APP*/


/* --- Box APP --- */
#new-panel .kena-app__content{
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
}
#new-panel .kena-app__mock{
  width:96px; height:auto; flex:0 0 auto;
  border-radius:10px; box-shadow:0 6px 16px rgba(0,0,0,.12);
  display:block; /* metti display:block se inserisci l'immagine mock */
}
#new-panel .kena-app__badges{
    width: 100%;
    display: grid;
    grid-template: 3.5rem / 9rem;
    justify-content: end;
}

/* --- Responsive: sotto 980px le colonne diventano una --- */
@media (max-width:980px){
  #new-pan-body .kena-two-col{ grid-template-columns:1fr; gap:18px; }
  #new-panel .kena-app__badge img{ height:40px; }
}



/* ======================= */
/* AGGIUNTE / CORREZIONI   */
/* ======================= */

/* Stile del contenitore "card" e del titolo */
#new-panel.kena-app{
  padding:20px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
#new-panel .kena-card__title{
  color:#d1168b !important;         /* tono brand-like */
  margin:0 0 12px;
  font-weight:800;
}

/* Migliorie accessorie ai badge (non altera le tue misure) */
#new-panel .kena-app__badge{
  flex:0 0 auto;         /* evita shrink dei badge in wrap */
  line-height:0;         /* elimina eventuali spazi verticali */
}
#new-panel .kena-app__badges img{
  /* leggero anti-aliasing visivo, opzionale */
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.06));
}

/* Se il mock non è presente, puoi aggiungere .is-hidden nel markup */
#new-panel .kena-app__mock.is-hidden{ display:none; }

/* -------- Responsive -------- */
/* Correggo il selettore: oltre a #new-pan-body, aggiungo fallback generici */
@media (max-width:980px){
  /* Se hai una griglia "due colonne", falla diventare una */
  #new-pan-body .kena-two-col,
  #new-panel-body .kena-two-col,
  .kena-two-col{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
  }

  /* Compatta lievemente gli spazi del box app */
  #new-panel .kena-app__content{ gap:12px; }
  #new-panel .kena-app__badge img{ height:40px; } /* coerente col tuo valore mobile */
}

/* -------- Dark mode (opzionale) -------- */
@media (prefers-color-scheme: dark){
  #new-panel.kena-app{
    background:#1c1c1e;
    box-shadow:0 8px 24px rgba(0,0,0,.45);
  }
  #new-panel .kena-card__title{ color:#ff7abf !important; }
}



/*Gestione app*/

/* ===== HERO layout come nello screen ===== */
#new-panel.kena-app{
  /* card look di base: se ce l'hai già altrove, puoi rimuovere queste */
  padding: 20px;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%); /* simile allo screen */
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

#new-panel .kena-card__title{
  color:#000;            /* nello screen è scuro sul gradiente chiaro */
  font-weight: 800;
  margin: 0 0 12px;
}

#new-panel .kena-app__content--hero{
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 1rem;
}

/* Telefoni a sinistra: larghezza controllata e non si deformano */
#new-panel .kena-app__phones{
  flex: 0 0 auto;
}
#new-panel .kena-phones-svg{
  width: 260px;          /* regola qui la dimensione "come da screen" */
  height: auto;
  display:block;
}

/* --- Responsive --- */
@media (max-width: 900px){
  #new-panel .kena-phones-svg{ width: 220px; }
  #new-panel .kena-app__badge img{ height: 52px; }
}
@media (max-width: 720px){
  #new-panel .kena-app__content--hero{
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  #new-panel .kena-app__badges{
    margin-left: 0;
    align-items: center;
  }
}



.kena-app__badges {
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
}

.kena-app__badge {
    display: block;
    height: 56px;
    width: auto;
}

.kena-app__badge-link {
    line-height: 0;
}


.post-content p {
font-weight: normal;
}

body.page-template-templateCheckout form.checkout label {
    font-weight: normal;
}