/* ===== quizvds-main bundle: addons.css ===== */

.tooltip {
  font-size: 16px;
}

header .hero-unit {
    padding-bottom: 30px;
    padding-top: 30px;
    border: 1px solid #E3E3E3;
    background: rgb(9,135,198); /* Old browsers */
	background: -moz-radial-gradient(center, ellipse cover,  rgba(9,135,198,1) 0%, rgba(0,82,150,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(9,135,198,1)), color-stop(100%,rgba(0,82,150,1))); /* Chrome,Safari4+ */
	background: -webkit-radial-gradient(center, ellipse cover,  rgba(9,135,198,1) 0%,rgba(0,82,150,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-radial-gradient(center, ellipse cover,  rgba(9,135,198,1) 0%,rgba(0,82,150,1) 100%); /* Opera 12+ */
	background: -ms-radial-gradient(center, ellipse cover,  rgba(9,135,198,1) 0%,rgba(0,82,150,1) 100%); /* IE10+ */
	background: radial-gradient(ellipse at center,  rgba(9,135,198,1) 0%,rgba(0,82,150,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0987c6', endColorstr='#005296',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
	display:block;
	margin: 0 auto;
    
}

table {
	background: #FFF;
}
/*
.btn-success {
	background: #1476a7;

}

.btn-success:hover {
	background: #0987c6;

}
*/


div#content_exit_popup {
    height: 100%;
	position: relative;
}


.img_exit_popup {
    background-image: url(https://quizvds.it/exit_popup.jpg);
    height: 100%;
    opacity: 0.2;
}

.titolo_exit_popup {
	position: absolute;
    top: 50px;
    font-weight: bold;
    font-size: 23px;
    color: #246888;
    width: 100%;
    line-height: 30px;
    text-align: justify;
    width: 90%;
    margin: 0 auto;
    display: block;;
    font-weight: bold;
    color: #e8b057;
    font-size: 33px;
    width: 100%;
    text-align: center;
}

.test_exit_popup {
    position: absolute;
    top: 111px;
    font-weight: bold;
    font-size: 23px;
    color: #246888;
    line-height: 30px;
    text-align: justify;
    width: 90%;
    left: 5%;
    margin: 0 auto;
    display: block;
}

.tasto_paypal {
    position: absolute;
    top: 252px;
    font-weight: bold;
    font-size: 23px;
    line-height: 43px;
    text-align: center;
    background: #246888;
    display: block;
    width: 30%;
    margin: 0 auto;
    left: 35%;
    border-radius: 12px;
}
html[lang="es"] .tasto_paypal {
    position: absolute;
    top: 252px;
    font-weight: bold;
    font-size: 23px;
    line-height: 43px;
    text-align: center;
    background: #246888;
    display: block;
    width: 40%;
    margin: 0 auto;
    left: 29%;
    border-radius: 12px;
}
.tasto_paypal a {
    color: #fff;
}

#bio_ep_close {
    position: absolute;
    left: 100%;
    margin: -12px 0 0 -11px;
    width: 25px !important;
    height: 23px !important;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    border-radius: 50%;
    background-color: #5c5c5c;
    cursor: pointer;
}


#ad-header{
	min-height: 266px;
}

@media screen and (min-width: 40em){
		#ad-header{
			min-height: 200px;
	}
}
.span8 {

    margin-top: 0 !important;
}
.span412.font16 h3 {
    font-size: 16px !important;
}

p#timer {
    font-size: 30px;
    text-align: center;
    margin-top: 15px;
}
/* =====================================================
   POPUP LIMITE GRATUITO — design moderno responsive
   Compatibile con Bootstrap 2 (no classi BS4/5)
   ===================================================== */
.popu-blocco {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.85);
    color: #fff;
    z-index: 2147483647;
    overflow-y: auto;
    padding: 20px;
    box-sizing: border-box;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    -webkit-animation: popuFadeIn 0.3s ease-out;
    animation: popuFadeIn 0.3s ease-out;
}
.popu-blocco *,
.popu-blocco *:before,
.popu-blocco *:after {
    box-sizing: border-box;
}

@-webkit-keyframes popuFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes popuFadeIn { from { opacity: 0; } to { opacity: 1; } }
@-webkit-keyframes popuSlideUp {
    from { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); }
    to { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes popuSlideUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.popu-blocco__content {
    background: #1e293b;
    background: -webkit-linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
    padding: 36px 28px 28px;
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.6);
    max-width: 520px;
    width: 100%;
    margin: 24px auto;
    text-align: center;
    -webkit-animation: popuSlideUp 0.35s ease-out;
    animation: popuSlideUp 0.35s ease-out;
}

.popu-blocco__icon {
    width: 64px;
    height: 64px;
    line-height: 64px;
    margin: 0 auto 18px;
    background: #f59e0b;
    background: -webkit-linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
    background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
    border-radius: 50%;
    text-align: center;
    font-size: 32px;
    box-shadow: 0 8px 20px rgba(239, 68, 68, 0.35);
}

.popu-blocco__title {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 10px 0;
    color: #fff;
    line-height: 1.25;
}

.popu-blocco__subtitle {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0 0 24px 0;
    line-height: 1.55;
}

.popu-blocco__benefits-title {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #94a3b8;
    margin: 0 0 14px 0;
}

.popu-blocco__list {
    list-style: none;
    padding: 0;
    margin: 0 0 18px 0;
    text-align: left;
}

.popu-blocco__list-item {
    padding: 11px 14px;
    margin-bottom: 6px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.45;
    color: #e2e8f0;
}
.popu-blocco__list-item strong {
    color: #fff;
    font-weight: 600;
}

.popu-blocco__more {
    font-size: 13px;
    font-style: italic;
    color: #94a3b8;
    margin: 0 0 20px 0;
}

.popu-blocco__cta-row {
    margin: 22px 0 14px 0;
}

.popu-blocco__download-link {
    display: inline-block;
    background: #f59e0b;
    background: -webkit-linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    color: #fff !important;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(245, 158, 11, 0.4);
    -webkit-transition: -webkit-transform 0.15s, box-shadow 0.15s;
    transition: transform 0.15s, box-shadow 0.15s;
    width: auto;
    text-align: center;
    border: 0;
    line-height: 1.2;
}
.popu-blocco__download-link:hover,
.popu-blocco__download-link:focus {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(245, 158, 11, 0.5);
    color: #fff !important;
    text-decoration: none !important;
}

.popu-blocco__secondary-link {
    display: inline-block;
    color: #94a3b8 !important;
    font-size: 13px;
    text-decoration: none !important;
    margin: 4px 0 16px 0;
    padding: 6px 10px;
}
.popu-blocco__secondary-link:hover,
.popu-blocco__secondary-link:focus {
    color: #cbd5e1 !important;
    text-decoration: none !important;
}

.popu-blocco__timer {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 14px 16px 16px;
    margin: 18px 0 14px 0;
}
.popu-blocco__timer-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
    margin: 0 0 6px 0;
    font-weight: 600;
}
.popu-blocco__timer-value {
    font-size: 32px;
    font-weight: 700;
    color: #fbbf24;
    font-family: "SFMono-Regular", "Consolas", "Liberation Mono", "Menlo", monospace;
    letter-spacing: 0.05em;
    margin: 0;
    line-height: 1;
}

.popu-blocco__home-link {
    color: #94a3b8 !important;
    font-size: 13px;
    text-decoration: none !important;
    display: inline-block;
    padding: 6px 14px;
}
.popu-blocco__home-link:hover,
.popu-blocco__home-link:focus {
    color: #cbd5e1 !important;
    text-decoration: none !important;
}

/* Mobile */
@media (max-width: 600px) {
    .popu-blocco {
        padding: 12px;
    }
    .popu-blocco__content {
        padding: 28px 18px 22px;
        margin: 10px auto;
        border-radius: 14px;
    }
    .popu-blocco__title {
        font-size: 20px;
    }
    .popu-blocco__subtitle {
        font-size: 14px;
        margin-bottom: 20px;
    }
    .popu-blocco__icon {
        width: 56px;
        height: 56px;
        line-height: 56px;
        font-size: 28px;
        margin-bottom: 14px;
    }
    .popu-blocco__list-item {
        font-size: 13px;
        padding: 10px 12px;
    }
    .popu-blocco__timer-value {
        font-size: 26px;
    }
    .popu-blocco__download-link {
        display: block;
        width: 100%;
        padding: 14px 16px;
    }
}
  
  p.testo-ia-promo {
    margin-bottom: 20px;
    text-align: center;
    font-size: 20px;
}




/*
html[lang="it"] .navbar.navbar-fixed-top {
    top: 43px;
    padding-top: 5px;
}
*/

  

.fs-16 {
    font-size: 16px;
}

ul.unstyled.lista-funzioni li {
    line-height: 30px;
}

ul.unstyled.lista-funzioni {
    text-align: left; 
    margin-top: 15px;
}


span.badge.badge-warning.piu-comprato {
    position: absolute;
    top: -24px;
    font-size: 20px;
    right: -9px;
    padding: 10px;
    width: 100%;
}

.mt-30 {
    margin-top: 30px;
}

.mt-25 {
    margin-top: 25px;
}

.mb-10 {
    margin-bottom: 10px;
}


.prezzo-originale {
  margin-left: 8px;      /* Aggiunge un po' di spazio tra i due prezzi */
  font-size: 0.6em;        /* Rende il prezzo vecchio più piccolo */
  font-weight: normal;   /* Rimuove il grassetto ereditato dall'h2 */
  vertical-align: middle;/* Allinea verticalmente i due prezzi */
}

.row-fluid.prezzzi-row-flex {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
    margin-bottom: 30px;
}

.prezzzi-custom-box {
    padding: 19px;
    background-color: #f5f5f5;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    /*width: 100%;*/
    height: 100%;
    text-align: center;
}

/* ## 1. NUOVO STILE per centrare il contenuto del box Trustpilot ## */
.prezzzi-box-vertical-center {
    display: flex;
    flex-direction: column; /* Impila gli elementi verticalmente */
    justify-content: center; /* Allinea sull'asse verticale (al centro) */
}

.prezzzi-custom-box img {
    max-width: 100%;
    height: auto;
}

.titolo-box-prezzo {
    margin: 5px 0;
    font-size: 1.5em;
    font-family: inherit;
    font-weight: bold;
    margin-top: 0px;
    margin-bottom: 25px;
    line-height: 30px;
    color: inherit;
    text-rendering: optimizelegibility;
}
.titolo-box-recensione {
    margin: 5px 0;
    font-size: 5em;
    font-family: inherit;
    font-weight: bold;
    margin-top: 0px;
    margin-bottom: 25px;
    line-height: 30px;
    color: #01B67A;
    text-rendering: optimizelegibility;
}
.prezzzi-custom-box a:hover {
    text-decoration: none !important;
}

.titolo-box-recensione-img {
    width: 10%;
    vertical-align: inherit;
}

@media (max-width: 767px) {
    .row-fluid.prezzzi-row-flex {
    display: block;
    }
}

.feedback-container {
    text-align: center;
    font-family: Arial, sans-serif;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 24px;
    background-color: #f9f9f9;
}

.feedback-title {
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 20px;
    color: #333;
}

.feedback-actions {
    display: flex;
    justify-content: center;
    gap: 15px; /* Spazio tra i pulsanti */
}

.feedback-button {
    display: inline-block;
    padding: 12px 24px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: none;
    cursor: pointer;
}

.feedback-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Stile per il pulsante "Felice" */
.feedback-happy {
    background-color: #00b67a; /* Verde Trustpilot */
    color: white;
}

/* Stile per il pulsante "Non Felice" */
.feedback-unhappy {
    background-color: #f5f5f5;
    color: #555;
    border: 1px solid #ccc;
}
.preamble {
    font-style: italic;
    color: #6c757d;
    margin-bottom: 20px;
}
.all-caps {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 0.9em;
}


/* ---- Chips (pill) ---- */
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0;                  /* spazio tra le chip */
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Fallback se qualche browser ignora gap su flex */
.chips__item { margin: 6px 8px; }
.chips { margin: -6px -8px; }

.chips__link {
  display: inline-block;
  padding: 10px 18px;              /* simile allo screenshot */
  border: 2px solid #097FBF;          /* bordo ben visibile */
  border-radius: 9999px;           /* pill full-rounded */
  background: #fff;
  color: #097FBF;
  text-decoration: none;
  font-weight: 600;                 /* semi-bold */
  line-height: 1;
  transition: background .15s, color .15s, transform .05s;
  /*white-space: nowrap;*/
}

.chips__link:hover {
  background: #097FBF;
  color: #fff;
}

.chips__link:active {
  transform: translateY(1px);
}

.chips__link:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(17,17,17,.35);
}

section.altre-materie {
    padding-bottom: 25px;
}

h2.altre-materie-titolo {
    margin-bottom: 10px;
    margin-top: 25px;
}

/* Layout box pager */
.pager-quiz{
  margin:16px 0 24px;
  padding:10px;
  border:1px solid #e6e6e6;
  border-radius:12px;
  background:#fff;
}
.pager-quiz__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.pager-quiz__prev{ text-align:left; }
.pager-quiz__next{ text-align:right; }
.pager-quiz__pos{
  font-size:.95rem;
  color:#666;
}

/* Se hai già .btn, puoi togliere questo blocco */
.pager-quiz .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  font-weight:600;
  font-size:.95rem;
  line-height:1.1;
  border-radius:999px;
  text-decoration:none;
  border:0;
  cursor:pointer;
}
.pager-quiz .btn-link{
  background:#f3f4f6;
  color:#111;
  border:1px solid #e5e7eb;
}
.pager-quiz .btn-link:hover{
  background:#e9eaee;
}

/* Frecce (se nel testo non le metti già) */
.pager-quiz .prev::before{
  content:'‹';
  margin-right:6px;
  font-size:1.1em;
  line-height:0;
}
.pager-quiz .next::after{
  content:'›';
  margin-left:6px;
  font-size:1.1em;
  line-height:0;
}

.img-domanda {
    margin-bottom: 20px;
}




/* Responsive */
@media (max-width:560px){
  .pager-quiz__inner{ flex-wrap:wrap; }
  .pager-quiz__pos{
    order:-1;
    flex:1 0 100%;
    text-align:center;
    margin-bottom:6px;
  }
  .pager-quiz .btn{ width:100%; }
}

  .newsletter-form {max-width:520px;padding:12px 0;}
  .newsletter-form .nf-row {margin-bottom:12px;}
  .newsletter-form label {display:block;font-weight:600;margin-bottom:6px;}
  .newsletter-form input[type="email"], .newsletter-form select {
    width:100%;padding:10px;border:1px solid #dcdcdc;border-radius:6px;
  }
  .newsletter-form .nf-submit {margin-top:6px;padding:10px 16px;border:0;border-radius:6px;cursor:pointer;}
  .newsletter-form .nf-error {color:#b00020;margin-top:4px;}



  /* ...tuo CSS... */

  .nf-submit[disabled]{opacity:.7;cursor:not-allowed}
  .btn-spinner{
    width:16px;height:16px;display:inline-block;margin-right:8px;
    border:2px solid currentColor;border-right-color:transparent;border-radius:50%;
    vertical-align:-2px;animation:nfspin .6s linear infinite
  }
  @keyframes nfspin{to{transform:rotate(360deg)}}

  .nf-loading{font-size:.95em;color:#666;margin-top:6px}

/* (opzionale, ma esplicito) */
.btn-spinner[hidden],
#nf-loading[hidden] { display: none !important; }

/* Variante compatta, se ti serve
.chips--sm .chips__link { padding: 8px 14px; font-weight: 600; }
*/
a.btn.btn-success.btn-large.bottone-nl-sidebar {
    display: block;
    margin-top: 10px;
}


/* ===== quizvds-main bundle: nuovo-stile.css ===== */
.row-flex {
    display: flex;
}
.testo-sidebar-app {
    font-size: 1.5em;
    line-height: 25px;
    margin: 5px 0;
    font-family: inherit;
    font-weight: bold;
    color: inherit;
    text-rendering: optimizelegibility;
}
.row-flex-lista-app {
    display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 30px 20px;
        padding-left: 0%;
        padding-right: 0;
}
.lead-app {
    margin-bottom: 0;
    font-size: 21px;
    font-weight: 200;
    line-height: 30px;
}
.box-dati-app {
    width: 50%;
    align-content: stretch;
}
.box-slide-app {
    width: 50%;
    align-content: stretch;
    align-self: anchor-center;
}
.carousel {
    line-height: 1;
    width: 50%;
    margin: 0 auto;
    vertical-align: middle;
    border: 4px solid #222;
    border-radius: 4px;
    box-shadow: 5px 5px 5px #666;
}
.well a.btn.btn-success {
    opacity: 1;
    border-radius: 30px;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #fff;
    height: 38px;
    margin: 0 auto;
    display: flex;
    font-weight: 700;
    font-size: 18px;
    background-color: #0F5A85;
    vertical-align: middle;
}
.well .testoSchedaApp {
    text-align: center;
}
.pubblicita {
    position: relative;
    z-index: 10;
    background: #fff;
    padding-left: 8%;
    padding-right: 8%;
    padding-bottom: 30px;
    text-align: center;
}

a.materia-sezione-quiz.btn.btn-link.btn-block {
    text-align: left;
}
h3.materia-h3-sezione-quiz {
    margin-bottom: 0;
}

td.totale-quiz-sezione-quiz {
    text-align: center;
    vertical-align: middle;
}
.new .banner-home {
    /* Imposta un’altezza fissa o in viewport */
    height: 750px; 
    display: flex;
    align-items: center;   /* Centra verticalmente */
    justify-content: center; /* Centra orizzontalmente */
    position: relative;
    /*background: radial-gradient(ellipse at center,  rgba(9,135,198,1) 0%,rgba(0,82,150,1) 100%);*/
    width: 100%;
}
.new .menu {
    align-items: center;
    display: flex;
    height: 100px;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 0 151.5px;
    /*position: absolute;
    top: 40px;*/
}
.new .voce-menu {
    align-items: center;
    display: flex;
    gap: 9px;
    height: 20px;
    justify-content: center;
    margin-top: 2.0px;
    min-width: 82px;
    color: #fff;
    width: 8%;
}
.homelogo {
    height: 76px;
    padding-left: 40px;
    padding-right: 40px;
}
/* Aerei (posizionati in alto ai lati) */
.airplane-left {
  position: absolute;
  top: 10%;
  left: 0;

}

.airplane-right {
  position: absolute;
  top: 50%;
  right: 0;

}

.hero-content {
    margin-top: 50px;
    z-index: 1;
    text-align: center;
    color: #fff;

}

.hero-content h1 {
  font-size: 110px;
  margin-bottom: 0.5rem;
  line-height: 1;
}

.hero-content p {
  font-size: 20px;
  line-height: 30px;
}
.hero-content h2 {
    font-size: 25px;
}
.bottone-scopri-quiz {
    background-color: #246FA4;
    border: 1px solid #fff;
    border-radius: 30px;
    height: 55px;
    width: 35%;
    margin: 0 auto;
    /* Allineamento con Flexbox */
    display: flex;             /* Attiva il flex container */
    align-items: center;       /* Centra verticalmente */
    justify-content: center;   /* Centra orizzontalmente */
}
.scopri-i-nostri-quiz {
    font-weight: 700;
    font-size: 18px;
}
.new {
    background: radial-gradient(ellipse at center, rgba(25, 110, 165, 1) 0%, rgba(0, 82, 150, 1) 100%)
}

p.testo-quiz-evidenza {
    text-align: center;
    font-size: 50px;
    font-weight: 500;
    margin-top: 30px;
    line-height: 1.6;
}
p.testo-scopri-tutti {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
	margin-bottom: 2%;
}

.box-image img {
    border-radius: 20px;
    width: 100%;
}


.group-container {
    display: flex;
}


.new .banner-app {
    /* Imposta un’altezza fissa o in viewport */
    height: 600px; 
    display: flex;
    align-items: center;   /* Centra verticalmente */
    justify-content: center; /* Centra orizzontalmente */
    position: relative;
    border-radius: 30px;
    background-image: radial-gradient(rgba(35, 161, 233, 1) 0%, rgba(4, 115, 179, 1) 100%);
    width: 100%;
}


img.google-play-app {
    border-radius: 10px;
}
img.app-store-app {
    border-radius: 10px;
}


.box-form {
    width: 100%;
}


input#mc-embedded-subscribe {
    border-radius: 6px;
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #fff;
    height: 55px;
    border: 0px;
    font-weight: 700;
    font-size: 18px;
    left: -3px;
    background-color: #0F5A85;
}


.seo-text {
    display: block;
    /*flex-wrap: wrap;*/
    padding-left: 8%;
    padding-right: 8%;
}
.footer-app-blocco {
    width: 100%;
    background-color: #fff;
    display: grid;
    align-items: center;
    position: relative;
    padding-bottom: 5%;
}
.footer-app {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    padding-left: 8%;
    padding-right: 8%;
    margin-bottom: 35px;
}
.lista-app-footer {
    flex: 0 0 calc(50% - 20px);
    box-sizing: border-box;
    border-radius: 20px;
    border: 1px solid rgba(222, 222, 222, 1);
}
.lista-app-footer p {
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    margin-top: 15px;

}
a.logo-iv {
    filter: contrast(0.7);
    width: 230px;
    display: flex;
    padding: 20px 0 20px 0px;
    margin: 0 auto;
}
.img-gplay img {
    margin: 0 auto;
    display: block;
    margin-top: 15px;
    margin-bottom: 15px;
}
.img-appleplay img {
    margin: 0 auto;
    display: block;
    margin-top: 15px;
    margin-bottom: 15px;
}
ul.lista-link-app {
    display: inline-block;
    vertical-align: top;
    padding-left: 5%;
    width: 35%;
}

/*menu*/
.navbar-fixed-top .navbar-inner {
  background: unset;
    border:unset;
    box-shadow: unset !important;
}
.navbar .nav.pull-right {
    margin-right: 0;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    text-align: center;
    margin-top: 0;
}

.navbar .nav > li > div > a {
    float: none;
    padding: 10px 10px 10px;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    text-shadow: unset;
    font-weight: 500;
  
}

.navbar-fixed-bottom .navbar-inner .container {
  margin-top:10px;
  text-align: center;
}
.navbar .btn-navbar {
    float: left;
}
.selettore-lingua-desktop {
    overflow: hidden;
    background: #fff;
    border-radius: 0 0 10px 10px;
    border: 1px solid rgba(9, 135, 198, 1);
    width: 9%;
    float: right;
    right: 4%;
    margin-top: 10px;
    padding-top: 10px;
    z-index: 111111111111111;
    position: absolute;
}
img.lingua-arrow {
    filter: invert(1);
}
.hide-desktop {
    display: none;
}
.navbar.navbar-fixed-top.scrolled {
    background: radial-gradient(ellipse at center, rgba(25, 110, 165, 1) 0%, rgba(0, 82, 150, 1) 100%);
    padding-top: 10px;
    padding-bottom: 10px;
}
.icon-button {
    background: url('https://quizvds.it/icone/arrow-right.svg') no-repeat right center;
    padding-left: 40px; /* Regola in base alla larghezza dell'icona */
    border: none;
    /* Altri stili personalizzati */
  }
p.testo-ia-promo {
    margin-top: 25px;
}
a.link-new-bottone:hover {
    text-decoration: unset;
}
a.link-new-bottone {
    color: #fff;
}

.bottone-scopri-quiz:hover {
    color: #fff;
    text-decoration: unset;
    border: 2px solid;
}


img.icona-freccia-quiz {
    margin-left: 5px;
}


.navbar .nav > li > a:focus, .navbar .nav > li > div > a:hover {
    color: #b6b6b6;
}
img.nl-icon {
    width: 24px;
    height: 20px;
}


.navbar-static-top .container, .navbar-fixed-top .container, .navbar-fixed-bottom .container {
    width: 100%;
}

.caption {
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
    padding: 0;
}
.box-image-interni img {
    border-radius: 20px;
    width: 100%;
}
img.icona-freccia-quiz {
    width: unset;
}


ul.nav.pull-right > li > div {
    text-align: left;
    /*padding: 10px;*/
}
li#language-select-desktop {
    color: #fff;
}

.selettore-lingua-desktop p {
    text-align: left;
    padding-left: 15px;
    border-bottom: 1px solid #a3a3a3;
}

.selettore-lingua-desktop p:last-child {
    text-align: left;
    padding-left: 15px;
    border-bottom: unset;
}

/* [V2 cleanup] rimosse regole .selettore-lingua-mobile p obsolete (border-bottom etc.)
   — il selettore lingua mobile ora usa griglia 4x2, niente bordi tra i chip */

.voce-menu {
    padding: 20px;
}
/*
html[lang="fr"]  .voce-menu {
    padding: 15px;
}
*/
.voce-menu a {
    vertical-align: middle;
    color: #fff;
}

/* [V2] blocco1/2/3 — il loro layout e larghezze sono gestiti dalla grid V2
   (vedi sezione "HEADER V2" piu' in basso). Qui solo reset per non interferire. */
.blocco1, .blocco2, .blocco3 {
    width: auto;
    margin: 0;
}
div#language-select-desktop > div {
    color: #fff;
}
div#language-select-desktop {
    cursor: pointer;
}
.scrolled ul.nav.pull-right {
    margin-top: 0;
}


.navbar.not-home.navbar-fixed-top {
    background: radial-gradient(ellipse at center, rgba(25, 110, 165, 1) 0%, rgba(0, 82, 150, 1) 100%);
    padding-bottom: 10px;
    padding-top: 10px;
}


.container.contenitore-generale {
    margin-top: 7%;
    margin-bottom: 5%;
}
.navbar.is-home.navbar-fixed-top {
    padding-top: 10px;
}

.lista-qui-interni {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    padding-left: 0;
    padding-right: 0;
    margin-top: 5%;
    padding-bottom: 5%;
}


.box-quiz-interni {
    flex: 0 0 calc(33.33% - 20px);
    box-sizing: border-box;
    margin-bottom: 20px;
}

.box-image-interni {
    border-radius: 20px;
    width: 100%;
    flex: 0 0 calc(33.33% - 20px);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    height: 100%;
}


.box-interni-h3 {
    font-size: 20px;
    margin-top: 20px;
    line-height: 1.333;
    margin-bottom: 10px;
    font-weight: 700;
}

.tasto-inizia-interni {
    border: 2px solid rgba(255, 255, 255, 1);
    opacity: 1;
    border-radius: 30px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #fff;
    height: 55px;
    font-weight: 700;
    font-size: 18px;
    background-color: #0F5A85;
}
.tasto-inizia-interni:hover {
    background-color: #0f5a85a1!important;
    color: #fff;
    text-decoration: unset;
}
.footer-app-2 {
    margin-top: 5%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    padding-left: 0;
    padding-right: 0;
}
.test-seo-interne {
    margin-bottom: 5%;
}
.tasto-inizia-interni-multipli {
    display: flex;
}
a#tasto-inizia-interni-1 {
    width: 35%;
    font-size: 16px;
    font-weight: 500;
    align-items: center;
    display: flex;
    /* align-items: center; */
    justify-content: left;
    margin-right: 25px;
    color: #333;
    position: relative;
}
a#tasto-inizia-interni-2 {
    border: 2px solid rgba(255, 255, 255, 1);
    opacity: 1;
    border-radius: 30px;
    width: 65%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #fff;
    height: 55px;
    font-weight: 700;
    font-size: 18px;
    background-color: #0F5A85;
}

img.icona-materie-nera-interne {
    width: 20px;
    border-radius: unset;
    margin-right: 5px;
}
a#tasto-inizia-interni-2:hover {
    background-color: #0f5a85a1!important;
    color: #fff;
    text-decoration: unset;
}

.voce-menu a:hover {
    text-decoration: unset;
    color: #dfdfdf;
}


.swiper-container {
    width: 100%;
    max-width: 1200px; /* Imposta una larghezza massima per il contenitore */
    height: 150px; /* Altezza dello slider (aumentata per più spazio) */
    margin: 20px auto; /* Centratura orizzontale */
    position: relative; /* Necessario per posizionare le frecce */
    overflow: hidden; /* Evita che il contenuto esca dai margini */
  }
  
  .swiper-slide img {
    width: auto;
    height: 100%;
    display: block;
    margin: 0 auto;
  }
  
  /* Stile per le frecce */
  .swiper-button-next,
  .swiper-button-prev {
    color: #000; /* Colore delle frecce */
    position: absolute;
    top: 50%; /* Centra verticalmente le frecce */
    transform: translateY(-50%); /* Corregge il posizionamento verticale */
    z-index: 10;
    font-size: 24px; /* Regola la dimensione delle frecce */
    padding: 10px; /* Aggiunge spazio attorno alle frecce */
    cursor: pointer; /* Cambia il cursore quando si passa sopra */
  }
  
  /* Freccia destra */
  .swiper-button-next {
    right: 20px; /* Posizionamento a destra, con maggiore spazio */
  }
  
  /* Freccia sinistra */
  .swiper-button-prev {
    left: 20px; /* Posizionamento a sinistra, con maggiore spazio */
  }
  
.text-danger {
    color: #ff0000;
}
a.link-nl {
    color: unset;
    text-decoration: underline;
}

/*
.navbar-fixed-top {
    top: unset;
    padding-top: unset;
}

.navbar.navbar-fixed-top.scrolled {
    top: 0;
}
*/

/* Stile base per il contenitore del messaggio */
.top-message {
    width: 100%;
    background-color: #1D8703;
    color: #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    border-bottom: 1px solid #1a8600;
    z-index: 11;
    position: sticky;
    /* ========== NUOVA TECNICA PER LA CENTRATURA VERTICALE ========== */
    display: table;
    border-spacing: 0; /* Obbligatorio quando si usa display: table */
}

/* Annulliamo il float di Bootstrap 2.3 per far funzionare Flexbox */
.top-message .span7,
.top-message .span5 {
    float: none;
}
/* ============================================================================== */

/* Annulliamo il float di Bootstrap e usiamo display: table-cell */
.top-message .top-msg-left,
.top-message .top-msg-right {
    display: table-cell;
    vertical-align: middle; /* Il comando chiave per centrare */
    float: none; /* Disattiva il float di Bootstrap che crea conflitto */
}
/* ================================================================= */

.top-msg-left {
    padding-left: 20px;
}
.top-msg-right {
    text-align: right;
    padding: 10px 20px; /* Aggiungiamo padding verticale qui per dare altezza */
}

/* Stile per il link principale a sinistra */
.top-message .top-msg-left a {
    color: #ffffff;
    font-weight: bold;
    font-size: 16px; /* Leggermente più grande per bilanciare i bottoni */
}
.top-message .top-msg-left a:hover {
    color: #ffffff;
    text-decoration: none;
    opacity: 0.8;
}

/* ========== MODIFICA 2: NUOVI COLORI PER I BOTTONI ========== */

/* Stile base comune per i bottoni (ereditato da .btn di BS2) */
.top-message .btn {
    padding: 8px 18px;
    border-radius: 20px; /* Angoli meno arrotondati, per un look più deciso */
    font-weight: bold;
    border: none; /* Rimuoviamo il bordo, lavoriamo solo con lo sfondo */
    text-shadow: none;
    box-shadow: none;
    transition: all 0.3s ease;
}

.navbar-fixed-top {
    top: unset;
    padding-top: unset;
}

.navbar.navbar-fixed-top.scrolled {
    top: 0;
}


.flag-img-rounded {
    border-radius: 0.3rem;
    width: 20px;
}
a.primo-item:hover {
    text-decoration: unset;
}

a.ultimo-item {
    padding-left: 4px;
}
a.ultimo-item:hover {
    text-decoration: unset;
}


.seo-text a {
    color: unset;
}
.fs-15 {
    font-size: 15px;
}

.mb-30 {
    margin-bottom: 30px;
}

.testo-sei-scuola h3 {
    margin-bottom: 5px;
}

.testo-sei-scuola p {
    margin-bottom: 25px;
}


/*RESPONSIVE------------------------------------------------------------------------------*/
@media screen and (min-width: 1500px) 
{
    .banner-home {
        position: fixed !important;
        top: 0;
        left: 0;
        z-index: 1;
    }
    .quiz-evidenza {
        position: relative;
        z-index: 10;
        margin-top: 33%;
    }
    .content-app {
        position: relative;
        z-index: 10;
    }
    .content-donazione-nl {
        position: relative;
        z-index: 10;
    }
    .quiz-tutti {
        position: relative;
        z-index: 10;
    }
    .seo-text-blocco {
        position: relative;
        z-index: 10;
    }
    .footer-app-blocco {
        position: relative;
        z-index: 10;
    }

}


@media screen and (max-width: 1800px) 
{
    
    
    
    
    
    
    
    
    
    

    

    

    
    
    
    
    
    
    
    
    
    
    
    

    

    
    
    


    .selettore-lingua-desktop {
        right: 2.5%;
    }

    .container.contenitore-generale {
        margin-top: 8%;
    }
   

 
}

@media (max-width: 1500px) {
    
    
    
    
    
    
    
    

    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    

    

    

    

    .container.contenitore-generale {
        margin-top: 9%;
    }

    
    
    html[lang="fr"]  .voce-menu {
        padding: 7px;
    }
    html[lang="es"]  .voce-menu {
        padding: 7px;
    }
    
    .voce-menu {
        padding: 10px;
    }

    .selettore-lingua-desktop {
        right: 3%;
    }
   
    
    

    .homelogo {
        padding-left: 0;
        padding-right: 0;
    }

    
    
    .airplane-right {
        position: absolute;
        top: 57%;
        right: 0;
        width: 35%;
    }
    .airplane-left {
        position: absolute;
        top: 10%;
        left: 0;
        width: 45%;
    }
    
    
    
    
    .navbar .nav > li > div > a {
        padding: 10px 5px 10px;

    }
    

    .new .banner-app {
        height: 500px;
    }

}

@media screen and (max-width: 1400px) {
    
    
    
    
    
    
    
    

    
    
    

     
    
    
    
    
    
    
    
    
    
    
    
    

    

    

    

    

    .selettore-lingua-desktop {
        right: 2%;
    }
    .voce-menu {
        padding: 7px;
    }
    
    html[lang="fr"] .voce-menu a {
        text-align: center;
        display: grid;
    }
    html[lang="fr"] .voce-menu img {
        margin: 0 auto;
    }
    html[lang="es"] .voce-menu a {
        text-align: center;
        display: grid;
    }
    html[lang="es"] .voce-menu img {
        margin: 0 auto;
    }
    html[lang="sr-Latn-RS"] .voce-menu img {
        margin: 0 auto;
    }
    html[lang="pl"] .voce-menu img {
        margin: 0 auto;
    }

    html[lang="cs"] .voce-menu img {
        margin: 0 auto;
    }
}

@media screen and (max-width: 1300px) {
    
    
    
    
    
    
    
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    

    

    

    

    .container.contenitore-generale {
        margin-top: 10%;
    }

    .selettore-lingua-desktop {
        right: 2%;
    }
    .voce-menu {
        padding: 5px;
    }
    
    
    
    
    
    
    
    
    
    
    
    
    

    

    input#mc-embedded-subscribe {
        width: 21%;
        left: 0;
    }
}


@media screen and (max-width: 1200px) {
    
    
    
    
    
    
    
    

    
    
    

    

    
    
    
    
    
    
    
    
    
    
    

    

    

    

    .container.contenitore-generale {
        margin-top: 11%;
    }

    .voce-menu {
        padding: 10px;
    }

    .voce-menu a {
        text-align: center;
        display: grid;
        vertical-align: middle;
    }

    .voce-menu img {
        margin: 0 auto;
    }

    .selettore-lingua-desktop {
        right: 1%;
    }
    li.sei-una-scuola {
        display: none;
    }

    
    
    
    
 
    
    
    

    
    html[lang="de"] .hero-content h1 {
        font-size: 90px;
    }
    html[lang="sr-Latn-RS"] .hero-content h1 {
        font-size: 90px;
    }
    html[lang="pl"] .hero-content h1 {
        font-size: 90px;
    }

    html[lang="cs"] .hero-content h1 {
        font-size: 90px;
    }

}

@media screen and (max-width: 1100px) {

    

    

   


    .container.contenitore-generale {
        margin-top: 12%;
    }

    .voce-menu {
        padding: 7px;
    }
}

@media screen and (max-width: 1024px) {


    
    
    

    .voce-menu {
        padding: 6px;
    }

}

@media (max-width: 992px) {

    .list-app {
        flex: 0 0 calc(50% - 20px);
    }

    .carousel {
        width: 70%;
    }


    .row-flex {
        display: block;
    }
    .box-dati-app {
        width: 100%;
        align-content: stretch;
    }
    .box-slide-app {
        width: 100%;
        align-content: stretch;
        margin-top: 25px;
    }

    .span6.box-download-app {
        width: 100%;
    }

    
    
    
    
    
    
    
    
    

    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    

    

    

    


    .container.contenitore-generale {
        margin-top: 17%;
    }

    
    .bottone-scopri-quiz {
        width: 55%;

    }
    .new .banner-app {
        height: 600px;
    }
    .hero-content {
        margin-top: 0;
        width: 90%;
    }

    .voce-menu {
        padding: 10px;
    }

    .voce-menu img {
        margin: 0 auto;
        filter: invert(1);
        padding-right: 6px;
    }

    html[lang="es"] .voce-menu a, html[lang="fr"] .voce-menu a, .voce-menu a  {
        text-align: left;
        display: unset;
        color: #333;
        font-size: 16px;
    }

    html[lang="de"] .hero-content h1 {
        font-size: 50px;
    }
    html[lang="sr-Latn-RS"] .hero-content h1 {
        font-size: 50px;
    }
    html[lang="pl"] .hero-content h1 {
        font-size: 50px;
    }

    html[lang="cs"] .hero-content h1 {
        font-size: 50px;
    }

    /* [V2 cleanup] Rimosso: vecchie regole .blocco1/2/3 obsolete.
       Il nuovo layout grid V2 gestisce tutto. */

    /*.navbar .btn-navbar {
        display: block;
    }*/
    .navbar.navbar-fixed-top.scrolled.navbar-fixed-top .navbar-inner {
        padding: 0;
        width: 100%;
        margin: 0 auto;
    }
    
    .hide-desktop {
        display: unset;
    }

    

    li.hide-mobile {
        display: none;
    }

    body {
        padding-right: 0;
        padding-left: 0;
    }
    .hero-content h1 {
        font-size: 80px;
        margin-bottom: 0.5rem;
        line-height: 1.25;
    }

    .airplane-left {
      top: 10%;
      width: 65%;
    }
    .new .banner-home {
        height: 850px;
    }
    .airplane-right {
        top: 69%;
        width: 50%;
    }
    .navbar-fixed-top {
        margin-bottom: 0;
    }
    .navbar-fixed-top{
        position: fixed;
    }
    /*.top-message {
        margin-left: 0;
        margin-right: 0;
    }*/
    .navbar-fixed-top,
.navbar-fixed-bottom {
        margin-right: 0;
        margin-left: 0;
    }
    .navbar .btn-navbar {
        background:unset;
        font-size: 25px;
        width: 33%;
        border-color: transparent;
        box-shadow:unset;
    }

    

    

    .nav-collapse, .nav-collapse.collapse {
        height: 0;
        overflow: hidden;
        background: #fff;
        border-radius: 0 0 10px 10px;
    }
    .navbar .nav > li > div > a {
        text-align: left !important;
        color:#000;
    }
    .navbar .nav.pull-right {
        display: block;
    }
    
    .navbar .nav > li > div > a > img {
       
        filter: invert(1);
    }

    .navbar-fixed-top .navbar-inner {
        padding: 0;
    }
    .homelogo-mobile {
        width: 33%;
    }
    .container-mobile-menu-flex {
        display: flex;
        align-items: center;
        margin-top: 0;
        justify-content: center;
    }
    .navbar .btn-navbar:hover, .navbar .btn-navbar:focus, .navbar .btn-navbar:active, .navbar .btn-navbar.active, .navbar .btn-navbar.disabled, .navbar .btn-navbar[disabled] {
        color: #ffffff;
        background-color: unset;
    }
    img.lingua-arrow {
        margin-top: -5px;
        margin-left: 5px;
        filter: invert(1);
        width: 20px;
    }
    a.primo-item {
        /*border-bottom: 1px solid;*/
        width: unset;
        display: inline-block;
        align-items: end;
        margin-right: 0;
        padding-bottom: 10px;
        margin-left: 0;
    }

    .selettore-lingua-mobile {
        overflow: hidden;
        background: #fff;
        border: 1px solid rgba(9, 135, 198, 1);
        border-radius: 0 0 10px 10px;
        width: 25%;
        float: right;
        right: 6%;
        position: absolute;
        text-align: center;
        padding-top: 10px;
    }
    
    
 
    
    
    
    
 

    
    
    div#language-select-mobile {
        width: 33%;
        margin: 0 auto;
        text-align: center;
        color:#fff;
        font-size: 20px;
    }
    img.lingua-mondo {
        margin-right: 2px;
        width: 25px;
    }
    
    
    

    

    input#mc-embedded-subscribe {
        width: 50%;
        left: 0;
    }
 
    
    
    img.icona-freccia-quiz {
        margin-left: 5px;
    }
    .lista-app-footer {
        flex: auto;
        width: 100%;
    }
    ul.lista-link-app {
        margin-bottom: 0;
        padding-left: 10%;
        padding-bottom: 20px;
    }
  
    
    .navbar.navbar-fixed-bottom {
        width: 100%;
        background-color: #fff;
        display: grid;
        align-items: center;
        position: relative;
        padding-bottom: 0;
        margin-top: 0;
    }

    
    .box-quiz-interni {
        flex: 0 0 calc(50% - 20px);
        box-sizing: border-box;
    }

}

/*
  VISUALIZZAZIONE MOBILE:
  - Riga 1: Testo
  - Riga 2: Bottoni affiancati
*/
@media (max-width: 767px) {
    .top-message {
        display: grid;
        padding: 15px 0;
    }
    .top-message .span7, 
    .top-message .span5 {
        text-align: center !important;
        padding: 0;
        margin-left: 0;
    }
    .top-msg-left {
        margin-bottom: 15px;
    }
    .top-msg-right .btn {
        display: inline-block;
        margin: 0 5px;
        width: auto;
    }
}


@media (max-width: 768px) {

    .carousel {
        width: 90%;
    }

    .list-app {
        flex: auto;
    }
    
    
    
    
    
    
    
    
    

    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    

    

    .container.contenitore-generale {
        margin-top: 18.5%;
        padding-left: 2%;
        padding-right: 2%;
    }

    .hide-desktop {
        display: unset;
    }

    

    li.hide-mobile {
        display: none;
    }

    body {
        padding-right: 0;
        padding-left: 0;
    }
    .hero-content h1 {
        font-size: 60px;
        margin-bottom: 0.5rem;
        line-height: 1.25;
    }


    .airplane-left {
        top: 10%;
        width: 65%;
    }
    .hero-content {
        margin-top: 0;
        width: 90%;
    }
    .new .banner-home {
        height: 850px;
    }
    .airplane-right {
        top: 73%;
        width: 60%;
    }
    .navbar-fixed-top {
        margin-bottom: 0;
    }
    .navbar-fixed-top{
        position: fixed;
    }
    /*.top-message {
        margin-left: 0;
        margin-right: 0;
    }*/
    .navbar-fixed-top,
.navbar-fixed-bottom {
        margin-right: 0;
        margin-left: 0;
    }
    .navbar .btn-navbar {
        background:unset;
        font-size:16px;
        width: 33%;
        border-color: transparent;
        box-shadow:unset;
    }

    

    

    .nav-collapse, .nav-collapse.collapse {
        height: 0;
        overflow: hidden;
        background: #fff;
        border-radius: 0 0 10px 10px;
    }
    .navbar .nav > li > div > a {
        text-align: left !important;
        color:#000;
    }
    .navbar .nav.pull-right {
        display: block;
    }
    
    .navbar .nav > li > div > a > img {
       
        filter: invert(1);
    }

    .navbar-fixed-top .navbar-inner {
        padding: 0;
    }
    .homelogo-mobile {
        width: 33%;
    }
    .container-mobile-menu-flex {
        display: flex;
        align-items: center;
        margin-top: 0;
        justify-content: center;
    }
    .navbar .btn-navbar:hover, .navbar .btn-navbar:focus, .navbar .btn-navbar:active, .navbar .btn-navbar.active, .navbar .btn-navbar.disabled, .navbar .btn-navbar[disabled] {
        color: #ffffff;
        background-color: unset;
    }
    img.lingua-arrow {
        margin-top: -5px;
        margin-left: 5px;
        filter: invert(1);
    }
    a.primo-item {
        /*border-bottom: 1px solid;*/
        width: unset;
        display: inline-block;
        align-items: end;
        margin-right: 0;
        padding-bottom: 10px;
        margin-left: 0;
    }

    .selettore-lingua-mobile {
        overflow: hidden;
        background: #fff;
        border-radius: 0 0 10px 10px;
        width: 25%;
        float: right;
        right: 6%;
        position: absolute;
        text-align: center;
        padding-top: 10px;
    }
    
    
 
    ul.lista-link-app {
        width: 30%;
    }
    
    
    
    
 
    
    
    
    div#language-select-mobile {
        width: 33%;
        margin: 0 auto;
        text-align: center;
        color:#fff;
    }
    .new .banner-app {
        height: 650px;
    }
  
    
    


    

    input#mc-embedded-subscribe {
        width: 50%;
        left: 0;
    }
 
    
    
    img.icona-freccia-quiz {
        margin-left: 5px;
    }
    .lista-app-footer {
        flex: auto;
    }
    ul.lista-link-app {
        margin-bottom: 0;
    }
    
    
    .navbar.navbar-fixed-bottom {
        width: 100%;
        background-color: #fff;
        display: grid;
        align-items: center;
        position: relative;
        padding-bottom: 0;
        margin-top: 0;
    }
    .box-quiz-interni {
        flex: 0 0 calc(90% - 20px);
        box-sizing: border-box;
    }
 

}


@media (max-width: 480px) {
    
    
    
    
    
    
    
    

    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    

    

    

    

    .container.contenitore-generale {
        margin-top: 22.5%;

    }

    html[lang="de"] .hero-content h1 {
        font-size: 30px;
    }

    html[lang="sr-Latn-RS"] .hero-content h1 {
        font-size: 30px;
    }

    html[lang="pl"] .hero-content h1 {
        font-size: 30px;
    }

    html[lang="cs"] .hero-content h1 {
        font-size: 30px;
    }

    .new .banner-app {
        height: 620px;
    }
    

 

    img.lingua-mondo {
        margin-right: 2px;
        width: 20px;
    }

    ul.lista-link-app {
        width: 39%;
    }
    ul.lista-link-app {
        padding-left: 0;
    }
    .bottone-scopri-quiz {
        width: 70%;
    }

    .hide-desktop {
        display: unset;
    }

    

    li.hide-mobile {
        display: none;
    }

    body {
        padding-right: 0;
        padding-left: 0;
    }
    .hero-content h1 {
        font-size: 40px;
        margin-bottom: 0.5rem;
        line-height: 1.25;
    }

    .airplane-left {
        top: 8%;
        width: 85%;
    }

    .airplane-right {
        top:  80%;

    }
    .navbar-fixed-top {
        margin-bottom: 0;
    }
    .navbar-fixed-top{
        position: fixed;
    }
    /*.top-message {
        margin-left: 0;
        margin-right: 0;
    }*/
    .navbar-fixed-top,
.navbar-fixed-bottom {
        margin-right: 0;
        margin-left: 0;
    }
    .navbar .btn-navbar {
        background:unset;
        font-size:16px;
        width: 25%;
        border-color: transparent;
        box-shadow:unset;
    }

    

    

    .nav-collapse, .nav-collapse.collapse {
        height: 0;
        overflow: hidden;
        background: #fff;
        border-radius: 0 0 10px 10px;
    }
    .navbar .nav > li > div > a {
        text-align: left !important;
        color:#000;
    }
    .navbar .nav.pull-right {
        display: block;
    }
    
    .navbar .nav > li > div > a > img {
       
        filter: invert(1);
    }

    .navbar-fixed-top .navbar-inner {
        padding: 0;
    }
    .homelogo-mobile {
        width: 33%;
    }
    .container-mobile-menu-flex {
        display: flex;
        align-items: center;
        margin-top: 0;
        justify-content: center;
        
    }
    .navbar .btn-navbar:hover, .navbar .btn-navbar:focus, .navbar .btn-navbar:active, .navbar .btn-navbar.active, .navbar .btn-navbar.disabled, .navbar .btn-navbar[disabled] {
        color: #ffffff;
        background-color: unset;
    }
    img.lingua-arrow {
        margin-top: -5px;
        margin-left: 5px;
        filter: invert(1);
        width: 15px;
    }
    a.primo-item {
        /*border-bottom: 1px solid;*/
        width: unset;
        display: inline-block;
        align-items: end;
        margin-right: 0;
        padding-bottom: 10px;
        margin-left: 0;
    }

    .selettore-lingua-mobile {
        overflow: hidden;
        background: #fff;
        border-radius: 0 0 10px 10px;
        width: 25%;
        float: right;
        right: 10%;
        position: absolute;
        text-align: center;
        padding-top: 10px;
    }
    
    


    

    
    
    

    
    

    
    
    
    
    div#language-select-mobile {
        width: 33%;
        margin: 0 auto;
        text-align: center;
        color:#fff;
    }

    
    


    

    input#mc-embedded-subscribe {
        width: 75%;
        left: 0;
    }

    
    
    img.icona-freccia-quiz {
        margin-left: 5px;
    }
    .lista-app-footer {
        flex: auto;
    }
    ul.lista-link-app {
        margin-bottom: 0;
    }
    
    
    .navbar.navbar-fixed-bottom {
        width: 100%;
        background-color: #fff;
        display: grid;
        align-items: center;
        position: relative;
        padding-bottom: 0;
        margin-top: 0;
    }
    
    .footer-app-blocco {
        padding-bottom: 10%;
    }

    /* [V2 cleanup] rimosse regole .selettore-lingua-mobile p (text-align/padding-left/border-bottom)
       — incompatibili con il nuovo layout a griglia 4x2 dei chip lingua */


}


/* Allinea verticalmente il bottone newsletter con il blocco donazione */
@media (min-width: 1300px) {
  .group-container-donazione {
    top: 26%;   /* già così nel tuo CSS, lo ribadiamo per sicurezza */
  }

  .group-container-nl {
    top: 26%;   /* stesso offset verticale della donazione */
  }

  .container-form-nl {
    top: 0;     /* togliamo il +50% in più */
  }
}

/* ========================================================
   NUOVI TASTI HOME: AFFIANCATI SU PC E INCOLONNATI SU MOBILE
   ======================================================== */

.tasti-home {
    display: flex;
    flex-direction: row;     /* Di base sono affiancati */
    justify-content: center; /* Centrati nella pagina */
    gap: 20px;               /* Spazio orizzontale tra i due tasti */
    width: 100%;
    margin-top: 20px;
}

/* Larghezza dei bottoni su PC */
.tasti-home .link-new-bottone {
    display: block;
    width: 35%; /* Su PC ogni tasto occupa il 35% dello spazio */
}

/* Sovrascriviamo le regole vecchie per il div interno */
.tasti-home .bottone-scopri-quiz {
    width: 100%; 
    margin: 0; 
    height: 55px;
}

.tasti-home .scopri-i-nostri-quiz {
    font-size: 18px; 
    white-space: nowrap; /* Evita che il testo vada a capo dentro il bottone */
}

/* Stile per il nuovo bottone secondario */
.bottone-secondario {
    background-color: #ffffff !important;
    color: #0F5A85 !important;
    border: 2px solid #0F5A85 !important;
}
.bottone-secondario:hover {
    background-color: #e6f0f5 !important;
}


/* --- RESPONSIVE: Tablet orizzontali e piccoli PC (sotto 992px) --- */
@media screen and (max-width: 992px) {
    .tasti-home .link-new-bottone {
        width: 45%; /* Li facciamo un po' più larghi visto che c'è meno spazio */
    }
}

/* --- RESPONSIVE: Smartphone (sotto 768px) - I BOTTONI VANNO UNO SOTTO L'ALTRO --- */
@media screen and (max-width: 768px) {
    .tasti-home {
        flex-direction: column; /* Questa è la magia: li mette in colonna! */
        align-items: center;    /* Li centra orizzontalmente */
        gap: 15px;              /* Questo diventa lo spazio VERTICALE tra i due tasti */
    }
    
    .tasti-home .link-new-bottone {
        width: 80%; /* Su cellulare occupano l'80% della larghezza dello schermo */
    }
    
    .tasti-home .bottone-scopri-quiz {
        height: 50px; 
    }
    
    .tasti-home .scopri-i-nostri-quiz {
        font-size: 16px; 
    }
}

/* --- RESPONSIVE: Smartphone piccoli (sotto 480px) --- */
@media screen and (max-width: 480px) {
    .tasti-home .link-new-bottone {
        width: 95%; /* Sugli schermi molto stretti li facciamo allargare quasi fino ai bordi */
    }
}

a.btn.btn-secondary-custom {
    background: unset;
    color: #fff;
    border: 1px solid;
    margin-left: 15px;
}

a.btn.btn-secondary-custom:hover {
    background: #efefef29;
}

/* ========================================================
   FOOTER LEGALE — mobile: impila in colonna (dati a sinistra, link a destra).
   Gli stili desktop (riga unica) restano inline in globals.ctp; qui
   sovrascriviamo SOLO sotto i 768px con !important per battere l'inline
   ed eventuali regole del contenitore footbar.
   ======================================================== */
@media screen and (max-width: 1180px) {
    .footer-legal-row {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        text-align: center !important;
    }
    .footer-legal-brand {
        width: 100% !important;
        margin-left: 0 !important;
        text-align: center !important;
    }
    .footer-legal-links {
        width: 100% !important;
        margin-left: 0 !important;
        text-align: center !important;
    }
}

/* ========================================================
   PAGINA DETTAGLIO APP (mobile/display.ctp) — scoped sotto .ad-wrap
   (tutto qui dentro vale SOLO sulla scheda app perche' usa il prefisso .ad-wrap)
   ======================================================== */

/* HERO */
.ad-wrap .ad-hero{position:relative;background:linear-gradient(135deg,#0b3a66 0%,#0b5394 50%,#1e88e5 100%);border-radius:12px;padding:30px 26px;margin:8px 0 22px 0;overflow:hidden;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.ad-wrap .ad-hero::before{content:'';position:absolute;top:-60px;right:-40px;width:240px;height:240px;background:rgba(255,255,255,.06);border-radius:50%;pointer-events:none}
.ad-wrap .ad-hero-icon{flex:0 0 auto;position:relative;z-index:1}
.ad-wrap .ad-hero-icon img{width:104px;height:104px;border-radius:24px;box-shadow:0 6px 18px rgba(0,0,0,.28);display:block}
.ad-wrap .ad-hero-body{flex:1 1 320px;min-width:240px;position:relative;z-index:1}
.ad-wrap .ad-hero-body h1{color:#fff !important;font-size:27px !important;font-weight:700;margin:0 0 6px 0;line-height:1.2;text-shadow:none !important;border:none}
.ad-wrap .ad-hero-body h2{color:#dbe9f7 !important;font-size:15.5px !important;font-weight:400;border:none !important;padding:0;margin:0 0 16px 0;line-height:1.45;text-shadow:none !important}
.ad-wrap .ad-hero-badges{display:flex;gap:12px;flex-wrap:wrap}
.ad-wrap .ad-hero-badges img{height:46px;width:auto;display:block;transition:transform .15s ease}
.ad-wrap .ad-hero-badges a:hover img{transform:scale(1.05)}

/* STRISCIA STATISTICHE */
.ad-wrap .ad-stats{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 22px 0}
.ad-wrap .ad-stat{flex:1 1 150px;display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:1px solid #d6e3f1;border-radius:12px;padding:13px 14px;box-shadow:0 2px 8px rgba(11,58,102,.05);color:#445262;font-size:14px;text-align:center}
.ad-wrap .ad-stat .ad-stat-ico{font-size:20px;line-height:1}
.ad-wrap .ad-stat b{color:#0b3a66}

/* INTRO */
.ad-wrap .ad-intro{color:#445262;font-size:15px;line-height:1.6;margin:0 0 20px 0}

/* DUE COLONNE (override .row-flex / .box-dati-app) */
.ad-wrap .row-flex{display:flex !important;gap:28px;flex-wrap:wrap;align-items:flex-start}
.ad-wrap .box-dati-app{width:auto !important;flex:1 1 380px;min-width:280px}

/* CARD funzionalità */
.ad-wrap .ad-card{background:#fff;border:1px solid #e3ebf3;border-radius:12px;padding:16px 18px;margin:0 0 16px 0;box-shadow:0 1px 4px rgba(11,58,102,.04)}
.ad-wrap .ad-card h3.testoSchedaApp{color:#0b3a66 !important;font-size:17px !important;font-weight:700;margin:0 0 9px 0;text-align:left !important;line-height:1.3}
.ad-wrap .ad-card p{color:#445262;font-size:14px;line-height:1.6;margin:0}
.ad-wrap .ad-card ul{margin:6px 0 0 0;padding-left:20px}
.ad-wrap .ad-card li{color:#445262;font-size:14px;line-height:1.6;margin-bottom:5px}

/* MATERIE come chip linkabili */
.ad-wrap ul.ad-materie{list-style:none !important;margin:6px 0 0 0 !important;padding:0 !important;display:flex;flex-wrap:wrap;gap:8px}
.ad-wrap ul.ad-materie li{margin:0;padding:0;list-style:none}
.ad-wrap ul.ad-materie li a{display:inline-block;background:#eaf2fb;color:#0b5394 !important;border:1px solid #d6e3f1;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:500;line-height:1.2;text-decoration:none !important;transition:background .15s ease,color .15s ease,border-color .15s ease}
.ad-wrap ul.ad-materie li a:hover{background:#0D80C0;color:#fff !important;border-color:#0D80C0}

/* SLIDE screenshot — come la versione originale (bordo/ombra del .carousel globale) */
.ad-wrap .box-slide-app{width:auto !important;flex:0 1 340px;min-width:260px;align-self:flex-start;margin:0 auto}
.ad-wrap .box-slide-app img{max-width:100%;height:auto;display:block}
/* il .carousel globale ha width:50% -> nella colonna risulta piccolo: qui lo portiamo al 100% */
.ad-wrap .box-slide-app .carousel{width:100%;margin:0 auto}

/* TITOLO + BOX DOWNLOAD (CTA) → blu brand */
.ad-wrap .ad-dl-title{color:#0b3a66;font-size:18px;font-weight:700;text-align:center;margin:6px 0 14px 0}
.ad-wrap .box-download-app .well{background:#fff;border:1px solid #d6e3f1;border-radius:12px;box-shadow:0 2px 8px rgba(11,58,102,.05);padding:18px}
.ad-wrap .box-download-app .testoSchedaApp{color:#0b3a66;font-weight:700;font-size:15px;margin-bottom:12px}
.ad-wrap .box-download-app .btn{background:#0D80C0 !important;background-image:none !important;border:0 !important;color:#fff !important;border-radius:8px;padding:11px 16px;font-weight:600;text-shadow:none}
.ad-wrap .box-download-app .btn:hover{background:#0a6396 !important}
.ad-wrap .box-download-app .icona-freccia-quiz{filter:brightness(0) invert(1);vertical-align:middle;margin-left:5px;height:14px;width:auto}

/* HR sottile */
.ad-wrap hr{border:0;border-top:1px solid #e3ebf3;margin:26px 0}

/* RESPONSIVE */
@media (max-width:680px){
	.ad-wrap .ad-hero{padding:24px 18px;text-align:center;justify-content:center}
	.ad-wrap .ad-hero-body{flex-basis:100%}
	.ad-wrap .ad-hero-badges{justify-content:center}
	.ad-wrap .ad-hero-body h1{font-size:23px !important}
}

/* ========================================================
   PAGINA LISTA APP (mobile/index.ctp)
   Usa le classi .mb-hero / .row-flex-lista-app / .list-app, presenti SOLO su
   quella pagina, quindi pur stando nel file globale non tocca le altre.
   ======================================================== */
.row-flex-lista-app [class*="span"]{height:auto !important;min-height:0 !important}

/* HERO gradient (coerente con le altre pagine) */
.mb-hero{position:relative;background:linear-gradient(135deg,#0b3a66 0%,#0b5394 50%,#1e88e5 100%);border-radius:10px;padding:40px 28px;margin:8px 0 24px 0;overflow:hidden;text-align:center}
.mb-hero::before{content:'';position:absolute;top:-50px;right:-50px;width:260px;height:260px;background:rgba(255,255,255,.06);border-radius:50%;pointer-events:none}
.mb-hero::after{content:'';position:absolute;bottom:-60px;left:-60px;width:200px;height:200px;background:rgba(255,255,255,.04);border-radius:50%;pointer-events:none}
.mb-hero-icon{font-size:48px;display:block;margin-bottom:10px;position:relative;z-index:1;line-height:1}
.mb-hero h1{color:#fff !important;font-size:26px !important;font-weight:700;margin:0 0 10px 0;line-height:1.25;position:relative;z-index:1;text-shadow:none !important}
.mb-hero h2{color:#dbe9f7 !important;font-size:16px !important;font-weight:400;margin:0 0 10px 0;line-height:1.4;position:relative;z-index:1;border:none;padding:0;text-shadow:none !important}
.mb-hero .lead{color:#dbe9f7 !important;font-size:15px;position:relative;z-index:1;max-width:720px;margin:0 auto 8px auto;text-shadow:none !important}
.mb-hero p{text-shadow:none !important}
.mb-hero .lead strong{color:#fff}

/* GRID app cards (auto-adattiva, MAX 3 colonne).
   Ogni card vale almeno 1/3 della riga (meno il gap): cosi 4 non entrano mai.
   Il floor 260px fa scendere a 2 e poi 1 colonna sugli schermi piccoli. */
.row-flex-lista-app{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(max(260px,calc(33.333% - 14px)),1fr));gap:20px;margin:0 0 16px 0;padding:0 !important}
/* IMPORTANTE: mobile.css (vecchio layout) imponeva .list-app{width:49%} a <=1200px e
   width:99% a <=768px. In griglia rende le card strette. Forziamo lo stretch sulla cella. */
.row-flex-lista-app .list-app{width:auto !important}
.list-app{background:#fff;border:1px solid #d6e3f1;border-radius:12px;padding:22px 18px;box-shadow:0 2px 8px rgba(11,58,102,.05);transition:transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column}
.list-app:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(11,58,102,.12)}
.list-app .caption{display:flex;flex-direction:column;align-items:center;text-align:center;height:100%}
.list-app .caption .span2,.list-app .caption .span8{width:auto !important;float:none !important;margin:0 !important}
.list-app .caption .span8{flex:1 1 auto;display:flex;flex-direction:column;width:100% !important}
/* ICONA app (NON i badge store, esclusi con :not(.app-store)) */
.list-app .caption .span2:not(.app-store) img{width:84px !important;height:84px !important;border-radius:18px;box-shadow:0 2px 8px rgba(0,0,0,.12);margin-bottom:12px}
.list-app h3{color:#0b3a66;font-size:18px;font-weight:700;margin:0 0 2px 0}
.list-app h4{color:#6b7280;font-size:13px;font-weight:500;margin:0 0 10px 0}
.list-app .caption .span8 p{color:#445262;font-size:13px;line-height:1.5;margin:0 0 14px 0;text-align:center !important}
.list-app .btn,.list-app .btn-medium{background:#0D80C0;color:#fff !important;border:none;border-radius:8px;padding:9px 18px;font-weight:600;font-size:14px;display:inline-block;text-shadow:none}
.list-app .btn:hover{background:#0a6396;color:#fff !important}
/* Freccia (icona sprite Bootstrap2 nera) → bianca sul bottone blu */
.list-app .btn [class*="icon-"]{filter:brightness(0) invert(1)}
.list-app .app-store{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;gap:10px;justify-content:center;align-items:center;width:100% !important;margin-top:14px;padding-top:14px;border-top:1px solid #eef2f7}
.list-app .app-store p{float:none !important;margin:0 !important;padding:0 !important;width:50% !important;flex:1 1 50% !important;max-width:50%;text-align:center;background:none !important;box-shadow:none !important;border:none !important}
.list-app .app-store img{width:100% !important;max-width:160px;height:auto !important;border-radius:0 !important;background:none !important;box-shadow:none !important;opacity:.95;transition:opacity .15s ease,transform .15s ease}
.list-app .app-store img:hover{opacity:1;transform:scale(1.04)}

@media (max-width:600px){
	.mb-hero{padding:30px 18px}
	.mb-hero h1{font-size:22px !important}
}

/* ========================================================
   PAGINA PREZZI (Pages/prezzi.ctp) — scoped sotto .pz-wrap
   ======================================================== */

/* HERO */
.pz-wrap .pz-hero{position:relative;background:linear-gradient(135deg,#0b3a66 0%,#0b5394 50%,#1e88e5 100%);border-radius:14px;padding:40px 28px;margin:8px 0 26px 0;overflow:hidden;text-align:center}
.pz-wrap .pz-hero::before{content:'';position:absolute;top:-60px;right:-50px;width:260px;height:260px;background:rgba(255,255,255,.06);border-radius:50%;pointer-events:none}
.pz-wrap .pz-hero-icon{display:block;font-size:48px;line-height:1;margin:0 auto 12px auto;position:relative;z-index:1;text-shadow:0 4px 12px rgba(0,0,0,.2)}
.pz-wrap .pz-h1{color:#fff !important;font-size:30px !important;font-weight:800;line-height:1.2;margin:0 0 12px 0;position:relative;z-index:1;text-shadow:none !important;border:none}
.pz-wrap .pz-sub{color:#dbe9f7 !important;font-size:16px;line-height:1.5;max-width:760px;margin:0 auto 18px auto;position:relative;z-index:1;text-shadow:none !important}
.pz-wrap .pz-trust{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:8px 16px;border-radius:999px;text-decoration:none;position:relative;z-index:1;margin-bottom:16px}
.pz-wrap .pz-trust:hover{background:rgba(255,255,255,.2)}
.pz-wrap .pz-trust-stars{color:#ffd24d;letter-spacing:1px;font-size:14px}
.pz-wrap .pz-trust-score{color:#fff;font-weight:700}
.pz-wrap .pz-trust-count{color:#dbe9f7;font-size:13px}
.pz-wrap .pz-trust img{height:15px;width:auto;filter:brightness(0) invert(1);opacity:.9}
.pz-wrap .pz-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;position:relative;z-index:1}
.pz-wrap .pz-chip{color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:5px 13px;font-size:13px}

/* PROVA GRATUITA (banner secondario) */
.pz-wrap .pz-free{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#eaf2fb;border:1px dashed #9cc2e8;border-radius:12px;padding:16px 20px;margin:0 0 24px 0}
.pz-wrap .pz-free-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pz-wrap .pz-free-tag{background:#0D80C0;color:#fff;font-size:12px;font-weight:700;border-radius:6px;padding:4px 10px}
.pz-wrap .pz-free-info strong{color:#0b3a66;font-size:17px}
.pz-wrap .pz-free-sub{color:#445262;font-size:13px}

/* PIANI */
.pz-wrap .pz-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 0 14px 0;align-items:start}
.pz-wrap .pz-plan{position:relative;background:#fff;border:1px solid #d6e3f1;border-radius:14px;padding:26px 22px;text-align:center;box-shadow:0 2px 10px rgba(11,58,102,.06);transition:transform .15s ease,box-shadow .15s ease}
.pz-wrap .pz-plan:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(11,58,102,.12)}
.pz-wrap .pz-plan-pop{border:2px solid #0D80C0;box-shadow:0 12px 30px rgba(13,128,192,.18);transform:scale(1.03)}
.pz-wrap .pz-plan-pop:hover{transform:scale(1.03) translateY(-3px)}
.pz-wrap .pz-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:#0D80C0;color:#fff;font-size:12px;font-weight:700;padding:5px 14px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 6px rgba(13,128,192,.3)}
.pz-wrap .pz-plan-name{color:#0b3a66;font-size:20px;font-weight:700;margin:6px 0 10px 0}
.pz-wrap .pz-price{color:#0b3a66;font-size:40px;font-weight:800;line-height:1}
.pz-wrap .pz-price small{font-size:20px;font-weight:600;vertical-align:top}
.pz-wrap .pz-old{color:#8a98a6;font-size:13px;margin-top:5px;min-height:18px}
.pz-wrap .pz-old strike{margin-right:5px}
.pz-wrap .pz-pay{color:#1f9d57;font-weight:700;font-size:13px;margin:12px 0 0 0}
.pz-wrap .pz-noabb{color:#6b7280;font-size:12.5px;margin:2px 0 16px 0}
.pz-wrap .pz-cta{display:block;width:100%;background:#0D80C0 !important;background-image:none !important;color:#fff !important;border:0 !important;border-radius:10px;padding:13px 16px;font-weight:700;font-size:15px;text-shadow:none;box-sizing:border-box}
.pz-wrap .pz-cta:hover{background:#0a6396 !important;color:#fff !important}
.pz-wrap .pz-cta-ghost{background:#fff !important;color:#0D80C0 !important;border:2px solid #0D80C0 !important;width:auto;display:inline-block}
.pz-wrap .pz-cta-ghost:hover{background:#0D80C0 !important;color:#fff !important}

/* NOTA ATPL */
.pz-wrap .pz-atpl{text-align:center;color:#6b7280;font-size:13px;margin:0 0 30px 0}

/* TABELLA COMPARATIVA */
.pz-wrap .pz-table-title{color:#0b3a66;font-size:22px;font-weight:700;text-align:center;margin:10px 0 18px 0;border:none}
.pz-wrap .pz-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 30px 0;border:1px solid #e3ebf3;border-radius:12px}
.pz-wrap .pz-table{width:100%;min-width:640px;border-collapse:collapse;background:#fff;font-size:13.5px;margin:0}
.pz-wrap .pz-table th,.pz-wrap .pz-table td{padding:12px 14px;border-bottom:1px solid #eef2f7;text-align:center;vertical-align:middle}
.pz-wrap .pz-table thead th{background:#0b3a66;color:#fff;font-weight:700;font-size:14px}
.pz-wrap .pz-table thead th.pz-pop{background:#0D80C0}
.pz-wrap .pz-table td.pz-feat,.pz-wrap .pz-table th.pz-feat{text-align:left;color:#374b5e;min-width:240px;font-weight:500}
.pz-wrap .pz-table tbody tr:nth-child(even){background:#f7fafd}
.pz-wrap .pz-table td.pz-pop{background:rgba(13,128,192,.06)}
.pz-wrap .pz-yes{color:#1f9d57;font-weight:700;font-size:17px}
.pz-wrap .pz-no{color:#cfd8e0;font-weight:700;font-size:15px}
.pz-wrap .pz-num{color:#0b3a66;font-weight:700}
.pz-wrap .pz-table .pz-tip{margin-left:6px;opacity:.6;text-decoration:none;white-space:nowrap}
.pz-wrap .pz-table .pz-tip:hover{opacity:1}

/* RECENSIONI: il rating 5em aveva line-height:30px e sbordava sotto -> fix */
.pz-wrap .titolo-box-recensione{line-height:1.1 !important}

/* TESTO SEO (staccato dai box recensioni sopra, niente sovrapposizione) */
.pz-wrap .pz-seo{margin-top:60px;clear:both}
.pz-wrap .pz-seo h2{color:#0b3a66;font-size:22px;margin:0 0 12px 0}
.pz-wrap .pz-seo h3{color:#0b3a66;font-size:18px;margin:22px 0 8px 0}
.pz-wrap .pz-seo p{color:#445262;line-height:1.6}

/* RESPONSIVE */
@media (max-width:760px){
	.pz-wrap .pz-plans{grid-template-columns:1fr;gap:26px}
	.pz-wrap .pz-plan-pop{transform:none}
	.pz-wrap .pz-plan-pop:hover{transform:translateY(-3px)}
	.pz-wrap .pz-h1{font-size:24px !important}
	.pz-wrap .pz-free{flex-direction:column;text-align:center}
	.pz-wrap .pz-free-info{justify-content:center}
	.pz-wrap .pz-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:420px;margin-left:auto;margin-right:auto}
	.pz-wrap .pz-chip{display:flex;align-items:center;justify-content:center;gap:5px}
}

/* ========================================================
   SIDEBAR redesign (in tutte le pagine con sidebar destra)
   Card brand-blu coerenti con le altre pagine. La classe .sidebar-inner
   gia' esiste sul wrapper della sidebar (impostata da BB::write).
   ======================================================== */

/* Su mobile (sotto il breakpoint Bootstrap 2 che fa collassare le colonne)
   la sidebar scende sotto al main content e finisce appiccicata al pulsante
   "Invia il test". Aggiungo respiro tra fine contenuto e inizio sidebar. */
@media (max-width:979px){
	.sidebar-inner{margin-top:32px !important}
}

.sidebar-inner .sb-card{display:block;background:#fff;border:1px solid #d6e3f1;border-radius:12px;padding:16px;margin:0 0 16px 0;box-shadow:0 1px 4px rgba(11,58,102,.05);text-align:center;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}
.sidebar-inner .sb-card:hover{text-decoration:none}
.sidebar-inner a.sb-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(11,58,102,.10)}
.sidebar-inner .sb-title{color:#0b3a66;font-size:14.5px;font-weight:700;margin:0 0 10px 0;line-height:1.3}

/* Card APP mobile (immagine cliccabile) */
.sidebar-inner .sb-card-app .sb-app-img{max-width:100%;height:auto;display:block;margin:0 auto;border-radius:8px}

/* CTA bottone (newsletter + dentro card PRO) */
.sidebar-inner .sb-cta{display:inline-block;background:#0D80C0 !important;background-image:none !important;color:#fff !important;border:0 !important;border-radius:8px;padding:11px 16px;font-weight:700;font-size:14px;text-shadow:none;text-decoration:none !important;line-height:1.2;box-sizing:border-box}
.sidebar-inner .sb-cta:hover{background:#0a6396 !important;color:#fff !important;text-decoration:none !important}
.sidebar-inner .sb-cta-block{display:block;width:100%}
.sidebar-inner .sb-cta-light{background:#fff !important;color:#0b3a66 !important}
.sidebar-inner .sb-cta-light:hover{background:#eaf2fb !important;color:#0b3a66 !important}

/* Card PRO (sfumatura blu, testo bianco, alta visibilita') */
.sidebar-inner .sb-card-pro{background:linear-gradient(135deg,#0b3a66 0%,#0b5394 50%,#1e88e5 100%);border:0;color:#fff;position:relative;overflow:hidden;padding:18px 16px}
.sidebar-inner .sb-card-pro::before{content:'';position:absolute;top:-40px;right:-40px;width:150px;height:150px;background:rgba(255,255,255,.07);border-radius:50%;pointer-events:none}
.sidebar-inner .sb-card-pro:hover{box-shadow:0 10px 24px rgba(11,58,102,.22)}
.sidebar-inner .sb-card-pro .sb-pro-badge{display:inline-block;background:rgba(255,255,255,.18);color:#fff;font-size:11px;font-weight:800;letter-spacing:1.2px;padding:3px 10px;border-radius:999px;margin-bottom:8px;position:relative;z-index:1}
.sidebar-inner .sb-card-pro .sb-pro-rating{margin:0 0 6px 0;position:relative;z-index:1;font-size:13px}
.sidebar-inner .sb-card-pro .sb-pro-stars{color:#ffd24d;letter-spacing:1px}
.sidebar-inner .sb-card-pro .sb-pro-score{color:#fff;margin-left:5px;font-weight:700}
.sidebar-inner .sb-card-pro .sb-pro-title{color:#fff;font-size:17px;font-weight:800;margin:0 0 6px 0;position:relative;z-index:1}
.sidebar-inner .sb-card-pro .sb-pro-sub{color:#dbe9f7;font-size:13px;margin:0 0 14px 0;line-height:1.3;position:relative;z-index:1}

/* Card Adsense (cornice discreta, l'ad e' a centro) */
.sidebar-inner .sb-card-ad{padding:8px;background:#fafbfc;text-align:center}

/* ========================================================
   PAGINA PARTNER (Pages/partner.ctp) — scoped sotto .pt-wrap
   ======================================================== */

.pt-wrap .pt-hero{position:relative;background:linear-gradient(135deg,#0b3a66 0%,#0b5394 50%,#1e88e5 100%);border-radius:12px;padding:30px 26px;margin:8px 0 22px 0;overflow:hidden;text-align:center}
.pt-wrap .pt-hero::before{content:'';position:absolute;top:-60px;right:-40px;width:240px;height:240px;background:rgba(255,255,255,.06);border-radius:50%;pointer-events:none}
.pt-wrap .pt-hero-icon{font-size:42px;display:block;line-height:1;margin-bottom:8px;position:relative;z-index:1}
.pt-wrap .pt-h1{color:#fff !important;font-size:26px !important;font-weight:700;margin:0 0 6px 0;line-height:1.2;text-shadow:none !important;border:none;position:relative;z-index:1}
.pt-wrap .pt-h2{color:#dbe9f7 !important;font-size:16px !important;font-weight:400;border:none !important;padding:0;margin:0;line-height:1.45;text-shadow:none !important;position:relative;z-index:1}

/* Griglia card partner */
.pt-wrap .pt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin:0 0 20px 0}
.pt-wrap .pt-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:1px solid #d6e3f1;border-radius:12px;padding:22px 18px;text-align:center;text-decoration:none !important;color:inherit;box-shadow:0 1px 4px rgba(11,58,102,.05);transition:transform .15s ease,box-shadow .15s ease}
.pt-wrap .pt-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(11,58,102,.12)}
/* Area logo (sfondo bianco uniforme; i loghi bianchi ottengono una drop-shadow nera
   solo per loro tramite la classe .pt-img-shadow, come faceva l'HTML originale). */
.pt-wrap .pt-logo{width:100%;height:90px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.pt-wrap .pt-logo img{max-width:80%;max-height:90px;height:auto;width:auto;display:block;object-fit:contain}
.pt-wrap .pt-logo img.pt-img-shadow{filter:drop-shadow(2px 4px 6px black)}
.pt-wrap .pt-name{color:#0b3a66;font-size:15px;font-weight:700;line-height:1.3}

/* ========================================================
   PAGINA NEWSLETTER (Pages/newsletter.ctp) — scoped sotto .nl-wrap
   ======================================================== */

/* Garantisce che [hidden] vinca anche con specificita' classe successiva */
.nl-wrap [hidden]{display:none !important}

/* HERO */
.nl-wrap .nl-hero{position:relative;background:linear-gradient(135deg,#0b3a66 0%,#0b5394 50%,#1e88e5 100%);border-radius:12px;padding:32px 26px;margin:8px 0 20px 0;overflow:hidden;text-align:center}
.nl-wrap .nl-hero::before{content:'';position:absolute;top:-50px;right:-40px;width:230px;height:230px;background:rgba(255,255,255,.06);border-radius:50%;pointer-events:none}
.nl-wrap .nl-hero-icon{font-size:44px;display:block;line-height:1;margin-bottom:8px;position:relative;z-index:1}
.nl-wrap .nl-h1{color:#fff !important;font-size:26px !important;font-weight:700;margin:0 0 6px 0;line-height:1.2;text-shadow:none !important;border:none;position:relative;z-index:1}
.nl-wrap .nl-h2{color:#dbe9f7 !important;font-size:15.5px !important;font-weight:400;border:none !important;padding:0;margin:0 0 12px 0;line-height:1.45;text-shadow:none !important;position:relative;z-index:1}
.nl-wrap .nl-sub{color:#dbe9f7;font-size:14.5px;margin:0;position:relative;z-index:1;text-shadow:none !important}

/* Lista benefici (card bianca) */
.nl-wrap .nl-benefits{display:flex;flex-direction:column;gap:10px;margin:0 0 22px 0;padding:18px 20px;background:#fff;border:1px solid #e3ebf3;border-radius:12px;box-shadow:0 1px 4px rgba(11,58,102,.04)}
.nl-wrap .nl-benefit{display:flex;align-items:flex-start;gap:10px;color:#445262;font-size:14.5px;line-height:1.5}
.nl-wrap .nl-bullet{color:#1f9d57;font-weight:700;font-size:15px;flex:0 0 auto;margin-top:1px}

/* Card del form */
.nl-wrap .nl-form-card{background:#fff;border:1px solid #d6e3f1;border-radius:12px;padding:22px;box-shadow:0 2px 10px rgba(11,58,102,.05)}
.nl-wrap .nf-row{margin:0 0 14px 0}
.nl-wrap label[for="nf-email"]{display:block;color:#0b3a66;font-weight:600;font-size:14px;margin:0 0 6px 0}
.nl-wrap input[type="email"]{display:block;width:100%;box-sizing:border-box;padding:21px 14px;border:1px solid #cfd8e2;border-radius:8px;font-size:15px;background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease;color:#0b3a66;line-height:1.3}
.nl-wrap input[type="email"]:focus{border-color:#0D80C0;box-shadow:0 0 0 3px rgba(13,128,192,.15)}
.nl-wrap .nf-privacy{display:flex;align-items:flex-start;gap:8px;color:#445262;font-size:13.5px;line-height:1.5;cursor:pointer;margin:0}
.nl-wrap .nf-privacy input[type="checkbox"]{margin:3px 0 0 0;flex:0 0 auto}
.nl-wrap .nf-privacy a{color:#0D80C0;text-decoration:underline}
.nl-wrap .nf-error{color:#b1392f;font-size:13px;margin-top:5px}

/* Submit (CTA blu brand) */
.nl-wrap .nf-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#0D80C0;background-image:none;color:#fff;border:0;border-radius:10px;padding:12px 22px;font-weight:700;font-size:15px;text-shadow:none;cursor:pointer;transition:background .15s ease;line-height:1.2}
.nl-wrap .nf-submit:hover{background:#0a6396}
.nl-wrap .nf-submit:disabled{opacity:.65;cursor:not-allowed}
.nl-wrap .nf-loading{color:#6b7280;font-size:13px;margin-top:8px}
.nl-wrap .btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;display:inline-block;animation:nl-spin .8s linear infinite;vertical-align:middle}
@keyframes nl-spin{to{transform:rotate(360deg)}}

/* Responsive */
@media (max-width:600px){
	.nl-wrap .nl-h1{font-size:22px !important}
	.nl-wrap .nl-form-card{padding:18px 16px}
	.nl-wrap .nl-hero{padding:26px 18px}
}

/* ========================================================
   PAGINA NEWSLETTER DONE (Pages/newsletter/done.ctp) — scoped .nd-wrap
   ======================================================== */

/* HERO celebrativo */
.nd-wrap .nd-hero{position:relative;background:linear-gradient(135deg,#0b3a66 0%,#0b5394 50%,#1e88e5 100%);border-radius:14px;padding:38px 26px;margin:8px 0 22px 0;overflow:hidden;text-align:center}
.nd-wrap .nd-hero::before{content:'';position:absolute;top:-60px;right:-40px;width:240px;height:240px;background:rgba(255,255,255,.06);border-radius:50%;pointer-events:none}
.nd-wrap .nd-hero::after{content:'';position:absolute;bottom:-60px;left:-50px;width:200px;height:200px;background:rgba(255,255,255,.04);border-radius:50%;pointer-events:none}
.nd-wrap .nd-hero-check{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#fff;color:#1f9d57;font-size:36px;font-weight:800;line-height:1;margin:0 0 14px 0;position:relative;z-index:1;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.nd-wrap .nd-h1{color:#fff !important;font-size:26px !important;font-weight:700;line-height:1.25;margin:0 0 10px 0;text-shadow:none !important;border:none;position:relative;z-index:1}
.nd-wrap .nd-sub{color:#dbe9f7;font-size:15px;line-height:1.5;max-width:640px;margin:0 auto;position:relative;z-index:1;text-shadow:none !important}

/* Card generica */
.nd-wrap .nd-card{background:#fff;border:1px solid #d6e3f1;border-radius:12px;padding:22px;margin:0 0 18px 0;box-shadow:0 2px 8px rgba(11,58,102,.05)}
.nd-wrap .nd-card p{color:#445262;font-size:14.5px;line-height:1.6;margin:0 0 14px 0}
.nd-wrap .nd-card p:last-child{margin-bottom:0}

/* Card PRO portale (gradient blu, alta visibilita') */
.nd-wrap .nd-card-pro{background:linear-gradient(135deg,#0b3a66 0%,#0b5394 50%,#1e88e5 100%);border:0;color:#fff;text-align:center;position:relative;overflow:hidden}
.nd-wrap .nd-card-pro::before{content:'';position:absolute;top:-50px;right:-40px;width:200px;height:200px;background:rgba(255,255,255,.07);border-radius:50%;pointer-events:none}
.nd-wrap .nd-card-pro .nd-pro-title{color:#fff;font-size:18px;font-weight:700;line-height:1.35;margin:0 0 16px 0;position:relative;z-index:1;border:none}

/* CTA bottoni */
.nd-wrap .nd-cta-row{text-align:center;margin:6px 0 0 0;position:relative;z-index:1}
.nd-wrap .nd-cta{display:inline-block;background:#0D80C0;background-image:none;color:#fff !important;border:0;border-radius:10px;padding:13px 22px;font-weight:700;font-size:14.5px;text-shadow:none;text-decoration:none !important;line-height:1.2;transition:background .15s ease,transform .15s ease}
.nd-wrap .nd-cta:hover{background:#0a6396;transform:translateY(-1px);text-decoration:none !important}
.nd-wrap .nd-cta-light{background:#fff;color:#0b3a66 !important}
.nd-wrap .nd-cta-light:hover{background:#eaf2fb;color:#0b3a66 !important}

/* Outro */
.nd-wrap .nd-outro{text-align:center;color:#6b7280;font-size:14px;font-style:italic;margin:20px 0 0 0}

/* Responsive */
@media (max-width:600px){
	.nd-wrap .nd-h1{font-size:22px !important}
	.nd-wrap .nd-hero{padding:30px 18px}
	.nd-wrap .nd-card{padding:18px 16px}
}

/* ========================================================
   PAGINA PDF (Pdf/index.ctp) — scoped sotto .pdf-wrap
   ======================================================== */

/* HERO */
.pdf-wrap .pdf-hero{position:relative;background:linear-gradient(135deg,#0b3a66 0%,#0b5394 50%,#1e88e5 100%);border-radius:12px;padding:34px 26px;margin:8px 0 22px 0;overflow:hidden;text-align:center}
.pdf-wrap .pdf-hero::before{content:'';position:absolute;top:-60px;right:-40px;width:240px;height:240px;background:rgba(255,255,255,.06);border-radius:50%;pointer-events:none}
.pdf-wrap .pdf-hero-icon{font-size:44px;display:block;line-height:1;margin-bottom:8px;position:relative;z-index:1}
.pdf-wrap .pdf-h1{color:#fff !important;font-size:24px !important;font-weight:700;margin:0 0 10px 0;line-height:1.3;text-shadow:none !important;border:none;position:relative;z-index:1}
.pdf-wrap .pdf-h2{color:#dbe9f7 !important;font-size:14.5px !important;font-weight:400;border:none !important;padding:0;margin:0;line-height:1.5;text-shadow:none !important;position:relative;z-index:1}

/* Intro paragraph (Html->tag row-fluid > col > p) */
.pdf-wrap .row-fluid p{color:#445262;font-size:14.5px;line-height:1.6}

/* Alert info (la nota sul tempo del PDF) */
.pdf-wrap .alert-info{background:#eaf2fb !important;border:1px solid #9cc2e8 !important;color:#0b3a66 !important;border-radius:10px;padding:14px 16px;text-shadow:none}
.pdf-wrap .alert-info b{color:#0b3a66}

/* Griglia delle sezioni (sostituisce il layout flex bootstrap legacy) */
/* Griglia con MAX 3 colonne: ogni card occupa almeno 1/3 della riga, cosi' 4 non entrano mai.
   align-items:stretch (gia' default) reso esplicito: le card della stessa riga hanno SEMPRE
   la stessa altezza -> il bottone con margin-top:auto si allinea in basso. */
.pdf-wrap .lista-qui-interni{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(max(240px,calc(33.333% - 14px)),1fr));gap:20px;margin:0 0 30px 0;padding:0 !important;align-items:stretch}
.pdf-wrap .box-quiz-interni{flex:none !important;width:auto !important;background:#fff;border:1px solid #d6e3f1;border-radius:12px;padding:18px;box-shadow:0 1px 4px rgba(11,58,102,.05);transition:transform .15s ease,box-shadow .15s ease;display:flex !important;flex-direction:column;text-align:center}
.pdf-wrap .box-quiz-interni:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(11,58,102,.12)}
/* Neutralizza la vecchia regola .box-image-interni (height:100% + flex:0 0 calc(33.33%-20px))
   che nel nuovo flex-column della card mangiava tutto lo spazio facendo sbordare il bottone. */
.pdf-wrap .box-image-interni{display:block !important;height:auto !important;flex:0 1 auto !important;justify-content:flex-start !important;align-items:stretch !important;margin:0 auto 10px auto;max-width:100%}
.pdf-wrap .box-image-interni img{display:block;margin:0 auto;max-width:100%;height:auto;border-radius:8px}
/* Titolo card: piu' presente + trattino blu accento sotto (dignita' di "titolo di sezione") */
.pdf-wrap .box-interni-h3{color:#0b3a66 !important;font-size:16.5px;font-weight:600;margin:4px 0 18px 0;padding-bottom:12px;line-height:1.3;text-align:center;border:none;position:relative}
.pdf-wrap .box-interni-h3::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:36px;height:3px;background:#0D80C0;border-radius:2px}
/* Lista materie: mini-row con sfondo hover + chevron animato (effetto menu item) */
.pdf-wrap .box-quiz-interni .unstyled{list-style:none;margin:0 0 14px 0;padding:0;text-align:left}
.pdf-wrap .box-quiz-interni .unstyled li{padding:0 !important;margin:3px 0 !important;border:0 !important;list-style:none;line-height:1.3}
.pdf-wrap .box-quiz-interni .unstyled a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:6px;color:#0b3a66;text-decoration:none !important;font-size:13px;font-weight:500;line-height:1.3;background:transparent;transition:background .15s ease,color .15s ease}
.pdf-wrap .box-quiz-interni .unstyled a::after{content:'›';color:#0D80C0;font-weight:700;font-size:18px;line-height:1;flex:0 0 auto;transition:transform .15s ease}
.pdf-wrap .box-quiz-interni .unstyled a:hover{background:#eaf2fb;color:#0b3a66;text-decoration:none !important}
.pdf-wrap .box-quiz-interni .unstyled a:hover::after{transform:translateX(3px)}

/* Bottone "Genera PDF Simulazione" — flex centrato + sempre in fondo alla card.
   min-width:0 + max-width:100% impediscono lo sbordo (flex item di default non si
   restringe sotto la sua larghezza di contenuto); white-space:normal permette al
   testo di andare a capo se la card e' davvero stretta. */
.pdf-wrap .tasto-inizia-interni{display:flex !important;align-items:center;justify-content:center;width:100%;max-width:100%;min-width:0;box-sizing:border-box;background:#0D80C0 !important;background-image:none !important;color:#fff !important;border:0 !important;border-radius:8px;padding:10px 12px !important;font-weight:700;font-size:14px;text-decoration:none !important;text-shadow:none;margin-top:auto !important;line-height:1.25 !important;min-height:0;white-space:normal;word-break:normal;transition:background .15s ease}
.pdf-wrap .tasto-inizia-interni:hover{background:#0a6396 !important;color:#fff !important}
/* Freccia nascosta: il bottone blu full-width comunica gia' la cliccabilita' */
.pdf-wrap .tasto-inizia-interni .icona-freccia-quiz{display:none}

/* Testi SEO in fondo (per ogni lingua) */
.pdf-wrap .test-seo-interne{margin-top:30px;padding-top:20px;border-top:1px solid #e3ebf3}
.pdf-wrap .test-seo-interne h4{color:#0b3a66;font-size:18px;font-weight:700;margin:22px 0 10px 0}
.pdf-wrap .test-seo-interne h5{color:#0b3a66;font-size:16px;font-weight:600;margin:18px 0 8px 0}
.pdf-wrap .test-seo-interne p{color:#445262;line-height:1.6;font-size:14.5px}
.pdf-wrap .test-seo-interne ul{margin:0 0 14px 0;padding-left:22px}
.pdf-wrap .test-seo-interne li{color:#445262;line-height:1.6;font-size:14px;margin-bottom:4px}

/* Responsive */
@media (max-width:600px){
	.pdf-wrap .pdf-h1{font-size:20px !important}
	.pdf-wrap .pdf-hero{padding:26px 18px}
	.pdf-wrap .lista-qui-interni{grid-template-columns:1fr;gap:18px}
}

/* ========================================================
   PAGINA ESAME (Esame/index.ctp) — scoped sotto .es-wrap.
   Layout identico a .pdf-wrap ma con 2 bottoni per card (Materie + Inizia Esame!).
   ======================================================== */

/* HERO */
.es-wrap .es-hero{position:relative;background:linear-gradient(135deg,#0b3a66 0%,#0b5394 50%,#1e88e5 100%);border-radius:12px;padding:34px 26px;margin:8px 0 22px 0;overflow:hidden;text-align:center}
.es-wrap .es-hero::before{content:'';position:absolute;top:-60px;right:-40px;width:240px;height:240px;background:rgba(255,255,255,.06);border-radius:50%;pointer-events:none}
.es-wrap .es-hero-icon{font-size:44px;display:block;line-height:1;margin-bottom:8px;position:relative;z-index:1}
.es-wrap .es-h1{color:#fff !important;font-size:24px !important;font-weight:700;margin:0 0 10px 0;line-height:1.3;text-shadow:none !important;border:none;position:relative;z-index:1}
.es-wrap .es-h2{color:#dbe9f7 !important;font-size:14.5px !important;font-weight:400;border:none !important;padding:0;margin:0;line-height:1.5;text-shadow:none !important;position:relative;z-index:1}

/* Griglia sezioni: MAX 3 colonne, card stessa altezza */
.es-wrap .lista-qui-interni{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(max(240px,calc(33.333% - 14px)),1fr));gap:20px;margin:0 0 30px 0;padding:0 !important;align-items:stretch}
.es-wrap .box-quiz-interni{flex:none !important;width:auto !important;background:#fff;border:1px solid #d6e3f1;border-radius:12px;padding:18px;box-shadow:0 1px 4px rgba(11,58,102,.05);transition:transform .15s ease,box-shadow .15s ease;display:flex !important;flex-direction:column;text-align:center}
.es-wrap .box-quiz-interni:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(11,58,102,.12)}

/* Wrapper immagine (neutralizza vecchia regola height:100% del thumb2) */
.es-wrap .box-image-interni{display:block !important;height:auto !important;flex:0 1 auto !important;justify-content:flex-start !important;align-items:stretch !important;margin:0 auto 10px auto;max-width:100%}
.es-wrap .box-image-interni img{display:block;margin:0 auto;max-width:100%;height:auto;border-radius:8px}

/* Titolo card con trattino blu accento */
/* box-interni-h3 puo' essere usato come <h3> (Esame/Test/Pdf) o come <h2>
   (Quiz, scelta originale dell'autore per gerarchia SEO). Forzo font-size
   e line-height con !important per neutralizzare gli stili default di h2/h3
   di Bootstrap 2 e mantenere l'aspetto uniforme. */
.es-wrap .box-interni-h3{color:#0b3a66 !important;font-size:16.5px !important;font-weight:600 !important;margin:4px 0 18px 0 !important;padding-bottom:12px !important;line-height:1.3 !important;text-align:center !important;border:none !important;position:relative;text-shadow:none !important}
.es-wrap .box-interni-h3::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:36px;height:3px;background:#0D80C0;border-radius:2px}

/* Lista materie: mini-row con hover + chevron */
.es-wrap .box-quiz-interni .unstyled{list-style:none;margin:0 0 14px 0;padding:0;text-align:left}
.es-wrap .box-quiz-interni .unstyled li{padding:0 !important;margin:3px 0 !important;border:0 !important;list-style:none;line-height:1.3}
.es-wrap .box-quiz-interni .unstyled a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:6px;color:#0b3a66;text-decoration:none !important;font-size:13px;font-weight:500;line-height:1.3;background:transparent;transition:background .15s ease,color .15s ease}
.es-wrap .box-quiz-interni .unstyled a::after{content:'›';color:#0D80C0;font-weight:700;font-size:18px;line-height:1;flex:0 0 auto;transition:transform .15s ease}
.es-wrap .box-quiz-interni .unstyled a:hover{background:#eaf2fb;color:#0b3a66;text-decoration:none !important}
.es-wrap .box-quiz-interni .unstyled a:hover::after{transform:translateX(3px)}

/* Gruppo 2 bottoni in fondo alla card */
.es-wrap .tasto-inizia-interni-multipli{display:flex !important;gap:8px;margin-top:auto !important;width:100%}
.es-wrap .tasto-inizia-interni-multipli .tasto-inizia-interni{flex:1 1 0;min-width:0;display:flex !important;align-items:center;justify-content:center;width:auto !important;max-width:100%;box-sizing:border-box;border-radius:8px;padding:10px 8px !important;font-weight:700;font-size:13px;text-decoration:none !important;text-shadow:none;line-height:1.25 !important;min-height:0;white-space:normal;transition:background .15s ease,color .15s ease,border-color .15s ease}
/* Materie: secondario (bianco con bordo blu scuro) */
.es-wrap .tasto-inizia-interni-multipli .tasto-secondary{background:#fff !important;background-image:none !important;color:#0D80C0 !important;border:2px solid #0D80C0 !important}
.es-wrap .tasto-inizia-interni-multipli .tasto-secondary:hover{background:#0D80C0 !important;border-color:#0D80C0 !important;color:#fff !important}
/* Inizia Esame!: primario blu brand */
/* Border 2px stesso colore del bg = invisibile ma occupa la stessa altezza del
   .tasto-secondary (che ha border:2px), cosi' i 2 pulsanti sono perfettamente
   allineati in altezza. Senza questo il primary sarebbe 4px piu' basso. */
.es-wrap .tasto-inizia-interni-multipli .tasto-primary{background:#0D80C0 !important;background-image:none !important;color:#fff !important;border:2px solid #0D80C0 !important}
.es-wrap .tasto-inizia-interni-multipli .tasto-primary:hover{background:#0a6396 !important;border-color:#0a6396 !important;color:#fff !important}

/* Icone SVG (file <img>) sui 2 bottoni — il filter inverte la SVG nera a bianca
   sul primario e sull'hover del secondario, cosi' restano sempre visibili. */
.es-wrap .tasto-inizia-interni-multipli .es-btn-icon{height:14px;width:auto;flex:0 0 auto;display:inline-block;transition:filter .15s ease}
.es-wrap .tasto-inizia-interni-multipli .tasto-secondary .es-btn-icon{margin-right:6px;filter:none}
.es-wrap .tasto-inizia-interni-multipli .tasto-secondary:hover .es-btn-icon{filter:brightness(0) invert(1)}
.es-wrap .tasto-inizia-interni-multipli .tasto-primary .es-btn-icon{margin-left:6px;filter:brightness(0) invert(1)}

/* Testi SEO in fondo (per ogni lingua) */
.es-wrap .seo-text,.es-wrap .test-seo-interne{margin-top:30px;padding-top:20px;border-top:1px solid #e3ebf3}
.es-wrap .seo-text h3,.es-wrap .test-seo-interne h3,.es-wrap .seo-text h4,.es-wrap .test-seo-interne h4{color:#0b3a66;font-size:18px;font-weight:700;margin:22px 0 10px 0;border:none}
.es-wrap .seo-text h5,.es-wrap .test-seo-interne h5{color:#0b3a66;font-size:16px;font-weight:600;margin:18px 0 8px 0}
.es-wrap .seo-text p,.es-wrap .test-seo-interne p{color:#445262;line-height:1.6;font-size:14.5px}
.es-wrap .seo-text ul,.es-wrap .test-seo-interne ul{margin:0 0 14px 0;padding-left:22px}
.es-wrap .seo-text li,.es-wrap .test-seo-interne li{color:#445262;line-height:1.6;font-size:14px;margin-bottom:4px}

/* Responsive */
@media (max-width:600px){
	.es-wrap .es-h1{font-size:20px !important}
	.es-wrap .es-hero{padding:26px 18px}
	.es-wrap .lista-qui-interni{grid-template-columns:1fr;gap:18px}
}

/* ============================================================ */
/* SOTTO-PAGINE  /esame/:section  e  /esame/:section/:argument   */
/* (section.ctp + argument.ctp). Wrappate in .es-wrap.es-detail. */
/* Stile: hero blu, navigazione brand, fieldset come card.       */
/* ============================================================ */

/* ---- Hero blu ---- */
.es-wrap.es-detail .es-detail-hero{background:linear-gradient(135deg,#0b3a66 0%,#1e88e5 100%);border-radius:14px;padding:32px 26px;margin:0 0 22px 0;box-shadow:0 4px 18px rgba(11,58,102,.15)}
.es-wrap.es-detail .es-detail-hero-inner{max-width:780px;margin:0 auto;text-align:center}
.es-wrap.es-detail .es-detail-hero h1{color:#fff;font-size:26px;font-weight:700;line-height:1.25;margin:0 0 8px 0;border:0;text-shadow:0 1px 2px rgba(0,0,0,.12)}
/* .es-detail-sub e' un <h2> (per SEO H1>H2>H3) ma estetica come sottotitolo:
   azzero font-size/border/text-shadow tipici degli h2 di Bootstrap. */
.es-wrap.es-detail .es-detail-hero .es-detail-sub{color:rgba(255,255,255,.92) !important;font-size:15px !important;line-height:1.5 !important;margin:0 !important;font-weight:500 !important;border:0 !important;padding:0 !important;text-shadow:none !important;letter-spacing:0;display:block}

/* ---- AdSense responsive ---- */
.es-wrap.es-detail .es-detail-ad{width:100%;max-width:100%;min-height:90px}

/* ---- Navigation con 2 bottoni ---- */
.es-wrap.es-detail .es-detail-nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:0 0 22px 0}
.es-wrap.es-detail .es-detail-nav-bottom{margin:24px 0 0 0}
.es-wrap.es-detail .es-nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:7px 16px;border-radius:6px;font-size:13.5px;font-weight:600;text-decoration:none !important;transition:all .15s ease;min-height:34px;border:0;line-height:1}
.es-wrap.es-detail .es-nav-btn svg{width:14px;height:14px;flex:0 0 auto}
.es-wrap.es-detail .es-nav-secondary{background:#fff !important;color:#0D80C0 !important;border:2px solid #0D80C0 !important}
.es-wrap.es-detail .es-nav-secondary:hover{background:#0D80C0 !important;color:#fff !important}
.es-wrap.es-detail .es-nav-primary{background:#0D80C0 !important;color:#fff !important}
.es-wrap.es-detail .es-nav-primary:hover{background:#0a6396 !important;color:#fff !important}
/* CTA "Inizia Esame!" — verde brand per dare priorità rispetto agli altri 2 */
.es-wrap.es-detail .es-nav-cta{background:#19b061 !important;color:#fff !important;border:0 !important;box-shadow:0 2px 8px rgba(25,176,97,.25)}
.es-wrap.es-detail .es-nav-cta:hover{background:#0f8a44 !important;color:#fff !important}

/* ---- Toolbar STICKY in alto: timer + 2 pulsanti di navigazione ----
   Resta incollata in cima al viewport quando l'utente scorre il form.
   IMPORTANTE: il navbar del sito (.navbar-fixed-top di Bootstrap 2) e' in
   position:fixed con z-index:1030. Altezza misurata dal CSS del sito:
   - desktop: .homelogo height 76px + .navbar.not-home padding 10+10 = ~96px
   - mobile: ~56px
   La toolbar ha top = altezza-navbar + 4px di gap, e z-index inferiore al
   navbar cosi' si "incolla" appena sotto il menu invece di finire nascosta. */
.es-wrap.es-detail .es-detail-toolbar{position:sticky;top:100px;z-index:40;margin:0 0 22px 0;padding:10px 14px;background:#fff;border:1px solid #e3ebf3;border-radius:10px;box-shadow:0 2px 8px rgba(11,58,102,.08)}
.es-wrap.es-detail .es-detail-toolbar-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.es-wrap.es-detail .es-detail-toolbar-timer{flex:0 0 auto;display:flex;align-items:center}
.es-wrap.es-detail .es-detail-toolbar-nav{flex:0 0 auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
/* Quando la toolbar e' "incollata" aggiungo una leggera ombra in piu' per
   farla risaltare visivamente sul contenuto che le passa sotto. */
.es-wrap.es-detail .es-detail-toolbar.is-stuck,
.es-wrap.es-detail .es-detail-toolbar{transition:box-shadow .15s ease}

/* ---- Timer dentro la toolbar: compatto, allineato a sinistra ---- */
.es-wrap.es-detail .es-detail-toolbar-timer #timer{display:inline-block;width:auto;max-width:none;background:#0b3a66;color:#fff;font-family:'Courier New',Courier,monospace;font-size:18px;font-weight:700;padding:7px 16px;border-radius:6px;margin:0 !important;letter-spacing:1px;text-align:center;box-shadow:0 2px 6px rgba(11,58,102,.18);box-sizing:border-box;line-height:1.2}
/* Fallback per il timer fuori dalla toolbar (compatibilita') */
.es-wrap.es-detail #timer{display:block;width:-moz-fit-content;width:fit-content;max-width:100%;background:#0b3a66;color:#fff;font-family:'Courier New',Courier,monospace;font-size:22px;font-weight:700;padding:8px 22px;border-radius:8px;margin:0 auto 14px auto;letter-spacing:1px;text-align:center;box-shadow:0 2px 8px rgba(11,58,102,.2);box-sizing:border-box}
.es-wrap.es-detail hr{border:0;border-top:1px solid #e3ebf3;margin:6px 0 20px 0}

/* ---- Fieldset come card domanda ---- */
.es-wrap.es-detail form.quiz{margin:0}
/* IMPORTANTE: il <legend> HTML5 di default e' posizionato dal browser SUL
   border-top del fieldset, intersecandolo. display:block + position:static spesso
   non basta (ogni browser lo gestisce diverso). Soluzione robusta: azzero il padding
   del fieldset, e il legend diventa l'header del box con il suo border-bottom. Cosi'
   il legend e' un elemento di flusso normale e non puo' uscire dal box. */
.es-wrap.es-detail form.quiz fieldset{display:block;background:#fff;border:1px solid #e3ebf3 !important;border-radius:12px;padding:0 !important;margin:0 0 18px 0 !important;box-shadow:0 2px 10px rgba(0,0,0,.04);min-width:0;overflow:hidden}
.es-wrap.es-detail form.quiz legend{position:static !important;float:none !important;display:block !important;width:100% !important;max-width:100% !important;box-sizing:border-box !important;color:#0b3a66 !important;font-size:16px !important;font-weight:600 !important;line-height:1.45 !important;background:#fafcfe !important;border:0 !important;border-bottom:1px solid #e3ebf3 !important;border-radius:0 !important;padding:16px 22px !important;margin:0 !important;text-shadow:none !important;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}
/* Padding orizzontale ai figli del fieldset (label radio, eventuale thumb) cosi'
   restano staccati dai bordi della card senza usare il padding del fieldset. */
.es-wrap.es-detail form.quiz fieldset > *:not(legend){margin-left:22px !important;margin-right:22px !important}
.es-wrap.es-detail form.quiz fieldset > .radio:first-of-type{margin-top:16px !important}
.es-wrap.es-detail form.quiz fieldset > .radio:last-child{margin-bottom:16px !important}
/* La quiz-image (thumb) sta tra legend e prima radio: aggiungo margine sopra */
.es-wrap.es-detail form.quiz fieldset > .quiz-image,
.es-wrap.es-detail form.quiz fieldset > a > .quiz-image{margin-top:16px !important;margin-bottom:8px !important}
.es-wrap.es-detail form.quiz .quiz-image{max-width:100%;height:auto;border-radius:8px;border:1px solid #e3ebf3}

/* ---- Radio per le opzioni risposta ---- */
.es-wrap.es-detail form.quiz .radio{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:6px;color:#445262;font-size:14.5px;line-height:1.5;cursor:pointer;transition:background .12s ease;margin:0 0 6px 0 !important}
.es-wrap.es-detail form.quiz .radio:hover{background:#f1f6fb}
.es-wrap.es-detail form.quiz .radio input[type=radio]{margin:3px 0 0 0;flex:0 0 auto;cursor:pointer}

/* ---- Submit allineato a DESTRA ---- */
.es-wrap.es-detail form.quiz .form-actions{background:transparent !important;border:0 !important;padding:18px 0 0 0 !important;margin:18px 0 0 0 !important;text-align:right}
.es-wrap.es-detail form.quiz .form-actions .btn-primary{background:#0D80C0 !important;background-image:none !important;color:#fff !important;border:0 !important;padding:12px 28px;border-radius:8px;font-size:15px;font-weight:600;text-shadow:none;box-shadow:0 2px 8px rgba(13,128,192,.25);transition:background .15s ease}
.es-wrap.es-detail form.quiz .form-actions .btn-primary:hover{background:#0a6396 !important}

/* ---- Responsive sotto-pagine ---- */
@media (max-width:600px){
	.es-wrap.es-detail .es-detail-hero{padding:24px 16px;border-radius:10px}
	.es-wrap.es-detail .es-detail-hero h1{font-size:21px}
	.es-wrap.es-detail .es-detail-hero .es-detail-sub{font-size:14px}
	.es-wrap.es-detail .es-detail-nav{gap:10px}
	.es-wrap.es-detail .es-nav-btn{flex:1 1 auto;font-size:13px;padding:10px 12px}
	.es-wrap.es-detail .es-nav-btn span{white-space:normal}
	.es-wrap.es-detail form.quiz fieldset{padding:0 !important}
	.es-wrap.es-detail form.quiz legend{font-size:15px !important;padding:14px 18px !important}
	.es-wrap.es-detail form.quiz fieldset > *:not(legend){margin-left:18px !important;margin-right:18px !important}
	.es-wrap.es-detail form.quiz fieldset > .radio:first-of-type{margin-top:14px !important}
	.es-wrap.es-detail form.quiz fieldset > .radio:last-child{margin-bottom:14px !important}
	.es-wrap.es-detail #timer{font-size:18px}
	/* Toolbar sticky mobile COMPATTA: single-row, top ridotto, padding piccolo.
	   Navbar Bootstrap 2 mobile ha min-height:40px del .navbar-inner = ~50px reali. */
	.es-wrap.es-detail .es-detail-toolbar{top:50px;padding:6px 10px;margin:0 0 14px 0;border-radius:8px}
	.es-wrap.es-detail .es-detail-toolbar-inner{flex-direction:row;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap}
	.es-wrap.es-detail .es-detail-toolbar-timer{flex:0 0 auto}
	.es-wrap.es-detail .es-detail-toolbar-timer #timer{font-size:13.5px;padding:5px 10px;letter-spacing:0}
	.es-wrap.es-detail .es-detail-toolbar-nav{flex:1 1 auto;justify-content:flex-end;gap:6px;flex-wrap:nowrap}
	/* Pulsanti nav su mobile: compatti, icona + testo piccolo */
	.es-wrap.es-detail .es-detail-toolbar-nav .es-nav-btn{padding:7px 11px !important;font-size:12px !important;gap:5px}
	.es-wrap.es-detail .es-detail-toolbar-nav .es-nav-btn svg{width:12px;height:12px}
}
/* Schermi molto stretti (<400px): mostro SOLO le icone dei pulsanti nav
   nella toolbar. Il testo "Cambia Materia / Cambia Domande" lo nascondo
   per lasciare spazio respiro al timer e per evitare overflow orizzontale. */
@media (max-width:400px){
	.es-wrap.es-detail .es-detail-toolbar-nav .es-nav-btn span{display:none}
	.es-wrap.es-detail .es-detail-toolbar-nav .es-nav-btn{padding:8px 10px !important;min-width:36px;justify-content:center}
	.es-wrap.es-detail .es-detail-toolbar-nav .es-nav-btn svg{width:14px;height:14px}
}

/* ============================================================ */
/* PAGINA RESULT (section-result.ctp / argument-result.ctp)      */
/* Wrappata in .es-wrap.es-detail.es-result.                     */
/* Stile: card grande Passato/Fallito, correzione errori puliti. */
/* ============================================================ */

/* ---- Card grande Passato / Fallito ---- */
.es-wrap.es-detail.es-result .es-result-card{position:relative;text-align:center;padding:36px 26px 30px 26px;margin:0 0 24px 0;border-radius:14px;color:#fff;box-shadow:0 6px 22px rgba(0,0,0,.12);overflow:hidden}
.es-wrap.es-detail.es-result .es-result-card::before{content:'';position:absolute;top:-60px;right:-60px;width:240px;height:240px;background:rgba(255,255,255,.07);border-radius:50%;pointer-events:none}
.es-wrap.es-detail.es-result .es-result-card::after{content:'';position:absolute;bottom:-80px;left:-80px;width:200px;height:200px;background:rgba(255,255,255,.05);border-radius:50%;pointer-events:none}
.es-wrap.es-detail.es-result .es-result-passed{background:linear-gradient(135deg,#0f8a44 0%,#19b061 100%)}
.es-wrap.es-detail.es-result .es-result-failed{background:linear-gradient(135deg,#a32525 0%,#d63b3b 100%)}
.es-wrap.es-detail.es-result .es-result-icon{font-size:46px;line-height:1;display:block;margin:0 auto 10px auto;width:78px;height:78px;border-radius:50%;background:rgba(255,255,255,.16);border:2px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;position:relative;z-index:1;font-weight:700}
.es-wrap.es-detail.es-result .es-result-percent{font-size:56px;font-weight:800;line-height:1;margin:0 0 6px 0;color:#fff;letter-spacing:-1px;position:relative;z-index:1;text-shadow:0 2px 4px rgba(0,0,0,.18)}
/* .es-result-title e' un <h3> (l'esito era H3 nell'originale, mantenuto per
   coerenza con la gerarchia SEO precedente). Forzo proprieta' per neutralizzare
   gli stili default di h3 (color, border, font-size piu' piccolo, ecc.). */
.es-wrap.es-detail.es-result .es-result-title{font-size:24px !important;font-weight:700 !important;color:#fff !important;margin:0 0 14px 0 !important;border:0 !important;line-height:1.2 !important;position:relative;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.15);padding:0 !important;letter-spacing:0;background:transparent !important}
.es-wrap.es-detail.es-result .es-result-stats{font-size:16px;color:rgba(255,255,255,.95);margin:0;line-height:1.5;position:relative;z-index:1}
.es-wrap.es-detail.es-result .es-result-stats strong{font-weight:700;color:#fff;background:rgba(255,255,255,.16);padding:1px 8px;border-radius:6px}
.es-wrap.es-detail.es-result .es-result-hint{font-size:14px;color:rgba(255,255,255,.88);margin:14px 0 0 0;font-style:italic;position:relative;z-index:1;line-height:1.5}

/* ---- Titolo "Correzione Quesiti Errati" ---- */
.es-wrap.es-detail.es-result .es-revision-title{color:#0b3a66;font-size:22px;font-weight:700;margin:18px 0 16px 0;padding-bottom:8px;border-bottom:2px solid #e3ebf3;line-height:1.3}

/* ---- Lista correzione (esame-revision.ctp): mostra TUTTE le domande, con
   bordo sinistro verde per le card corrette e rosso per le sbagliate. */
.es-wrap.es-detail.es-result .quiz-correction-item{background:#fff;border:1px solid #e3ebf3;border-left:4px solid #e3ebf3;border-radius:12px;padding:20px 22px;margin:0 0 16px 0;box-shadow:0 2px 8px rgba(0,0,0,.04);position:relative}
.es-wrap.es-detail.es-result .quiz-correction-item.quiz-success{border-left-color:#19b061}
.es-wrap.es-detail.es-result .quiz-correction-item.quiz-error{border-left-color:#d63b3b}
/* Piccolo badge in alto a destra con esito */
.es-wrap.es-detail.es-result .quiz-correction-item::after{position:absolute;top:14px;right:18px;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:3px 9px;border-radius:99px;line-height:1.4}
.es-wrap.es-detail.es-result .quiz-correction-item.quiz-success::after{content:'\2714';background:#e8f6ed;color:#19b061;border:1px solid #2bb673}
.es-wrap.es-detail.es-result .quiz-correction-item.quiz-error::after{content:'\2718';background:#fdeded;color:#d63b3b;border:1px solid #d63b3b}
.es-wrap.es-detail.es-result .quiz-correction-item p{color:#0b3a66;font-size:15px;font-weight:600;line-height:1.45;margin:0 0 14px 0;padding-right:32px}
.es-wrap.es-detail.es-result .quiz-correction-item .quiz-image{display:block;max-width:100%;height:auto;margin:0 0 14px 0;border-radius:8px;border:1px solid #e3ebf3}

/* Tabella opzioni: ogni riga e' una "pillola" staccata con bordo completo.
   border-spacing:0 8px aggiunge gap verticale tra righe, cosi' niente doppi
   bordi tra righe adiacenti e i bordi colorati (verde/rosso) restano interi. */
.es-wrap.es-detail.es-result .quiz-correction-item .table{width:100%;margin:0;border-collapse:separate;border-spacing:0 8px;border:0;background:transparent}
.es-wrap.es-detail.es-result .quiz-correction-item .table tr{transition:transform .12s ease}
.es-wrap.es-detail.es-result .quiz-correction-item .table tr td{padding:11px 14px;font-size:14.5px;color:#445262;border:1px solid #e3ebf3 !important;border-radius:8px;background:#fafcfe;line-height:1.4}
/* Risposta corretta: bordo + bg verde chiaro, prefisso check verde */
.es-wrap.es-detail.es-result .quiz-correction-item .table tr.success td{background:#e8f6ed !important;color:#1a6938 !important;border-color:#2bb673 !important;font-weight:600}
.es-wrap.es-detail.es-result .quiz-correction-item .table tr.success td::before{content:'\2714  ';color:#19b061;font-weight:700;margin-right:4px}
/* Risposta sbagliata scelta dall'utente: bordo + bg rosso chiaro, prefisso X */
.es-wrap.es-detail.es-result .quiz-correction-item .table tr.error td{background:#fdeded !important;color:#8a1a1a !important;border-color:#d63b3b !important;font-weight:600}
.es-wrap.es-detail.es-result .quiz-correction-item .table tr.error td::before{content:'\2718  ';color:#d63b3b;font-weight:700;margin-right:4px}

/* ---- Responsive result ---- */
@media (max-width:600px){
	.es-wrap.es-detail.es-result .es-result-card{padding:28px 18px 24px 18px;border-radius:12px}
	.es-wrap.es-detail.es-result .es-result-icon{width:64px;height:64px;font-size:36px;margin-bottom:8px}
	.es-wrap.es-detail.es-result .es-result-percent{font-size:44px}
	.es-wrap.es-detail.es-result .es-result-title{font-size:20px}
	.es-wrap.es-detail.es-result .es-result-stats{font-size:14.5px}
	.es-wrap.es-detail.es-result .es-revision-title{font-size:18px}
	.es-wrap.es-detail.es-result .quiz-correction-item{padding:16px 14px}
	.es-wrap.es-detail.es-result .quiz-correction-item p{font-size:14.5px}
	.es-wrap.es-detail.es-result .quiz-correction-item .table tr td{padding:10px 12px;font-size:14px}
}

/* ============================================================ */
/* GLOBAL OVERRIDES (in fondo al file: vincono su tutto il resto) */
/* ============================================================ */

/* Pulsanti: border-radius pill (30px) coerente su TUTTO il sito.
   Copre Bootstrap 2 (.btn*), i tasti custom (.sb-*, .ss-*, .pz-*, .nd-*),
   i pulsanti del top-header, i nav .es-nav-btn, i feedback su /prezzi,
   il submit della newsletter, "Genera PDF" su /pdf, "Materie/Inizia Esame"
   su /esame, e i pulsanti app/sidebar (che avevano valori 6 / 8 / 10 / 20px
   sparsi nel file). */
.btn,
.btn-primary,
.btn-secondary,
.btn-success,
.btn-warning,
.btn-danger,
.btn-info,
.btn-inverse,
.btn-link,
a.btn.btn-secondary-custom,
a.btn.btn-primary-custom,
.btn-secondary-custom,
.btn-primary-custom,
.sidebar-inner .sb-cta,
.sidebar-inner .sb-cta-block,
.sidebar-inner .sb-cta-light,
.ss-wrap .ss-btn,
.ss-wrap .ss-btn-primary,
.ss-wrap .ss-btn-ghost,
.ss-wrap .ss-pdf-btn,
.pz-wrap .pz-cta,
.pz-wrap .pz-cta-ghost,
.nd-wrap .nd-cta,
.nd-wrap .nd-cta-light,
.nl-wrap .nl-cta,
.nl-wrap .nf-submit,
.pt-wrap .pt-cta,
.ad-wrap .box-download-app .btn,
.list-app .btn,
.list-app .btn-medium,
.pdf-wrap .tasto-inizia-interni,
.es-wrap .tasto-inizia-interni-multipli .tasto-inizia-interni,
.es-wrap.es-detail .es-nav-btn,
.es-wrap.es-detail .es-nav-secondary,
.es-wrap.es-detail .es-nav-primary,
.es-wrap.es-detail .es-nav-cta,
.es-wrap.es-detail .es-nav-pro,
.es-wrap.es-detail form.quiz .form-actions .btn-primary,
.feedback-button,
.feedback-happy,
.feedback-unhappy{
	border-radius:30px !important;
	padding:13px 16px !important;
	font-size:15px !important;
	font-weight:700 !important;
	line-height:1.2 !important;
	min-height:0 !important;
	height:auto !important
}
/* Pulsanti Materie + Inizia Esame! su /esame: uniformati al resto del sito
   (padding 13px 16px dell'override globale). Padding orizzontale leggermente
   ridotto (12px) perche' sono affiancati 2 in card stretta — solo orizzontale,
   il verticale resta 13px come altrove. */
.es-wrap .tasto-inizia-interni-multipli .tasto-inizia-interni{
	padding:13px 12px !important
}
/* Eccezione: nei .btn-group i bottoni vanno attaccati, ripristino il
   comportamento standard Bootstrap (estremi arrotondati, centrali squadrati). */
.btn-group > .btn{border-radius:0 !important}
.btn-group > .btn:first-child{border-radius:30px 0 0 30px !important}
.btn-group > .btn:last-child{border-radius:0 30px 30px 0 !important}
.btn-group > .btn:only-child{border-radius:30px !important}

/* Breadcrumbs: piu' aria sotto, su tutte le pagine */
#breadcrumbs{margin-bottom:22px !important}

/* Breadcrumb sulla pagina /quiz/sez/arg/N (Quiz/question.ctp): il testo
   della domanda nell'ultimo link puo' essere lunghissimo. Troncamento solo
   VISIVO (il testo completo resta nel DOM e nel JSON-LD per SEO/screen reader). */
#breadcrumbs.bc-truncate-last a:last-of-type{display:inline-block;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
@media (max-width:980px){
	#breadcrumbs.bc-truncate-last a:last-of-type{max-width:220px}
}
@media (max-width:600px){
	#breadcrumbs.bc-truncate-last a:last-of-type{max-width:160px}
}

/* ============================================================ */
/* PAGINA /quiz (Quiz/index.ctp) — badge "N argomenti di esame"  */
/* Versione moderna: pillola con icona libro + numero + label.   */
/* ============================================================ */
.es-wrap .box-quiz-interni .qzix-count{display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:center;margin:8px auto 14px auto;padding:6px 14px;background:#eaf2fb;border:1px solid #cfdcec;border-radius:99px;color:#0b3a66;font-size:13px;line-height:1.3;font-weight:500;transition:background .12s ease,border-color .12s ease}
.es-wrap .box-quiz-interni:hover .qzix-count{background:#dceaf6;border-color:#a3c4e4}
.es-wrap .box-quiz-interni .qzix-count-ico{font-size:15px;line-height:1;display:inline-block;filter:none}
.es-wrap .box-quiz-interni .qzix-count-num{font-weight:800;color:#0D80C0;font-size:15px;line-height:1.2;letter-spacing:.3px}
.es-wrap .box-quiz-interni .qzix-count-lbl{color:#445262;font-size:12.5px;font-weight:500}

/* ============================================================ */
/* PAGINA /quiz/[sezione] — Quiz/section.ctp                     */
/* Wrappata in .es-wrap.es-detail.es-qzsec.                      */
/* Lista materie come card, ognuna con titolo + CTA PRO + btn.   */
/* ============================================================ */
.es-wrap.es-detail.es-qzsec .qz-materie-list{display:flex;flex-direction:column;gap:12px;margin:0 0 26px 0}
.es-wrap.es-detail.es-qzsec .qz-materia-card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e3ebf3;border-radius:12px;padding:16px 20px;box-shadow:0 1px 4px rgba(11,58,102,.04);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.es-wrap.es-detail.es-qzsec .qz-materia-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(11,58,102,.10);border-color:#cfdcec}
.es-wrap.es-detail.es-qzsec .qz-materia-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}
.es-wrap.es-detail.es-qzsec .qz-materia-name{margin:0;font-size:17px !important;font-weight:600 !important;line-height:1.3 !important;color:#0b3a66 !important;border:0 !important;padding:0 !important}
.es-wrap.es-detail.es-qzsec .qz-materia-name a{color:#0b3a66 !important;text-decoration:none !important}
.es-wrap.es-detail.es-qzsec .qz-materia-name a:hover{color:#0D80C0 !important;text-decoration:none !important}
/* CTA PRO: lucchetto + badge "PRO" + testo + freccia. Resa visivamente forte
   con badge giallo brand-PRO, lucchetto e colore caldo per dire "premium". */
.es-wrap.es-detail.es-qzsec .qz-materia-pro{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#7a5500 !important;text-decoration:none !important;font-weight:600;line-height:1.3;align-self:flex-start;flex-wrap:wrap;padding:2px 0}
.es-wrap.es-detail.es-qzsec .qz-materia-pro:hover{color:#5e4100 !important;text-decoration:none !important}
.es-wrap.es-detail.es-qzsec .qz-materia-pro:hover .qz-pro-arrow{transform:translateX(2px)}
.es-wrap.es-detail.es-qzsec .qz-pro-lock{font-size:13px;line-height:1;flex:0 0 auto;filter:none}
.es-wrap.es-detail.es-qzsec .qz-pro-badge{display:inline-block;background:#f7c948;color:#5e4100;font-size:10px;font-weight:800;letter-spacing:1px;padding:2px 7px;border-radius:99px;line-height:1.4;flex:0 0 auto;text-transform:uppercase}
.es-wrap.es-detail.es-qzsec .qz-pro-text{flex:0 1 auto}
.es-wrap.es-detail.es-qzsec .qz-pro-arrow{flex:0 0 auto;transition:transform .15s ease;color:#7a5500}

/* Pulsante "Apri" rettangolare (pill) con testo + freccia: più leggibile del solo tondo */
.es-wrap.es-detail.es-qzsec .qz-materia-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#0D80C0;color:#fff !important;border-radius:99px;padding:10px 18px;font-weight:700;font-size:14px;text-decoration:none !important;line-height:1;transition:background .12s ease,transform .12s ease;box-shadow:0 2px 6px rgba(13,128,192,.25);white-space:nowrap}
.es-wrap.es-detail.es-qzsec .qz-materia-btn:hover{background:#0a6396;transform:translateX(2px);color:#fff !important;text-decoration:none !important}
.es-wrap.es-detail.es-qzsec .qz-materia-btn svg{width:14px;height:14px;flex:0 0 auto}

/* Sezione "altre-materie" */
/* Sezione "altre-materie" + chips: stile condiviso tra /quiz/sezione (es-qzsec)
   e /quiz/sezione/argomento (es-qzarg) */
.es-wrap.es-detail.es-qzsec .altre-materie,
.es-wrap.es-detail.es-qzarg .altre-materie{margin:28px 0 22px 0;padding:22px 22px;background:#eaf2fb;border:1px solid #d6e3f1;border-radius:12px}
.es-wrap.es-detail.es-qzsec .altre-materie-titolo,
.es-wrap.es-detail.es-qzarg .altre-materie-titolo{color:#0b3a66 !important;font-size:17px !important;font-weight:700 !important;margin:0 0 14px 0 !important;border:0 !important;padding:0 !important;line-height:1.3 !important}
.es-wrap.es-detail.es-qzsec .chips,
.es-wrap.es-detail.es-qzarg .chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.es-wrap.es-detail.es-qzsec .chips__item,
.es-wrap.es-detail.es-qzarg .chips__item{margin:0}
.es-wrap.es-detail.es-qzsec .chips__link,
.es-wrap.es-detail.es-qzarg .chips__link{display:inline-block;padding:7px 14px;background:#fff;border:1px solid #cfdcec;border-radius:99px;color:#0b3a66 !important;font-size:13px;font-weight:500;text-decoration:none !important;transition:background .12s ease,border-color .12s ease,color .12s ease}
.es-wrap.es-detail.es-qzsec .chips__link:hover,
.es-wrap.es-detail.es-qzarg .chips__link:hover,
.es-wrap.es-detail.es-qzsec .chips__link:focus,
.es-wrap.es-detail.es-qzarg .chips__link:focus{background:#0D80C0 !important;border-color:#0D80C0 !important;color:#fff !important;text-decoration:none !important}

/* Testo SEO sezione */
.es-wrap.es-detail.es-qzsec .sezione-seo{color:#445262;line-height:1.6;font-size:14.5px;margin:24px 0 22px 0}
.es-wrap.es-detail.es-qzsec .sezione-seo p{margin:0 0 12px 0}

/* ---- FAQ (accordion) ----
   Card pulite con domanda + icona chevron a destra, animata e badge colorato
   quando aperto. JS gestisce solo aria-expanded + attributo hidden sul <dd>. */
.es-wrap.es-detail.es-qzsec .faq{margin:0 0 28px 0;padding:0;border:0}
.es-wrap.es-detail.es-qzsec .faq-titolo-faq{color:#0b3a66 !important;font-size:22px !important;font-weight:700 !important;margin:0 0 18px 0 !important;padding:0 0 10px 0 !important;border:0 !important;border-bottom:2px solid #e3ebf3 !important;line-height:1.3 !important;text-shadow:none !important}
.es-wrap.es-detail.es-qzsec .faq-list{list-style:none !important;padding:0 !important;margin:0 !important;display:flex;flex-direction:column;gap:10px}
.es-wrap.es-detail.es-qzsec .faq-item{background:#fff;border:1px solid #e3ebf3;border-radius:12px;overflow:hidden;transition:box-shadow .15s ease,border-color .15s ease}
.es-wrap.es-detail.es-qzsec .faq-item:hover{box-shadow:0 2px 8px rgba(11,58,102,.07);border-color:#cfdcec}
.es-wrap.es-detail.es-qzsec .faq-q{margin:0;padding:0}
.es-wrap.es-detail.es-qzsec .faq-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:transparent;border:0;text-align:left;font:inherit;color:#0b3a66;font-weight:600;font-size:15.5px;line-height:1.4;cursor:pointer;transition:background .12s ease,color .12s ease;border-radius:12px}
.es-wrap.es-detail.es-qzsec .faq-toggle:hover{background:#f1f6fb;color:#0D80C0}
.es-wrap.es-detail.es-qzsec .faq-toggle[aria-expanded="true"]{background:#f1f6fb;color:#0D80C0;border-radius:12px 12px 0 0}
.es-wrap.es-detail.es-qzsec .faq-q-text{flex:1 1 auto;text-align:left}
.es-wrap.es-detail.es-qzsec .faq-icon{flex:0 0 auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#eaf2fb;border-radius:50%;transition:background .15s ease,color .15s ease;color:#0D80C0}
/* Neutralizzo il content "+"/"−" che vdsquiz.css mette via ::before (sovrapporrebbe il chevron SVG) */
.es-wrap.es-detail.es-qzsec .faq-icon::before,
.es-wrap.es-detail.es-qzsec .faq-toggle[aria-expanded="true"] .faq-icon::before{content:none !important}
.es-wrap.es-detail.es-qzsec .faq-icon svg{width:16px;height:16px;transition:transform .2s ease}
.es-wrap.es-detail.es-qzsec .faq-toggle[aria-expanded="true"] .faq-icon{background:#0D80C0;color:#fff}
.es-wrap.es-detail.es-qzsec .faq-toggle[aria-expanded="true"] .faq-icon svg{transform:rotate(180deg)}
.es-wrap.es-detail.es-qzsec .faq-a{margin:0;padding:0;border-top:1px solid #e3ebf3;color:#445262;font-size:14.5px;line-height:1.65}
.es-wrap.es-detail.es-qzsec .faq-a[hidden]{display:none !important}
.es-wrap.es-detail.es-qzsec .faq-a-inner{padding:16px 20px}
.es-wrap.es-detail.es-qzsec .faq-a-inner > *:first-child{margin-top:0}
.es-wrap.es-detail.es-qzsec .faq-a-inner > *:last-child{margin-bottom:0}
.es-wrap.es-detail.es-qzsec .faq-a-inner p{margin:0 0 10px 0}
.es-wrap.es-detail.es-qzsec .faq-a-inner ul,
.es-wrap.es-detail.es-qzsec .faq-a-inner ol{margin:0 0 10px 0;padding-left:22px}
.es-wrap.es-detail.es-qzsec .faq-a-inner li{margin-bottom:4px}
.es-wrap.es-detail.es-qzsec .faq-a-inner a{color:#0D80C0;text-decoration:underline}
.es-wrap.es-detail.es-qzsec .faq-a-inner a:hover{color:#0a6396}
.es-wrap.es-detail.es-qzsec .faq-a-inner strong,
.es-wrap.es-detail.es-qzsec .faq-a-inner b{color:#0b3a66}

/* ============================================================ */
/* PAGINA /quiz/[sez]/[arg] — Quiz/argument.ctp                  */
/* Wrappata in .es-wrap.es-detail.es-qzarg.                      */
/* Lista domande come card, ognuna con testo + N risposte + btn. */
/* ============================================================ */
.es-wrap.es-detail.es-qzarg .qz-questions-list{display:flex;flex-direction:column;gap:8px;margin:0 0 26px 0}
.es-wrap.es-detail.es-qzarg .qz-question-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e3ebf3;border-radius:10px;padding:14px 18px;text-decoration:none !important;color:#0b3a66 !important;box-shadow:0 1px 3px rgba(11,58,102,.03);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}
.es-wrap.es-detail.es-qzarg .qz-question-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(11,58,102,.10);border-color:#0D80C0;background:#f8fbfe;text-decoration:none !important}
.es-wrap.es-detail.es-qzarg .qz-q-text{flex:1 1 auto;min-width:0;font-size:14.5px;line-height:1.5;color:#0b3a66 !important;font-weight:500}
.es-wrap.es-detail.es-qzarg .qz-q-meta{flex:0 0 auto;font-size:12px;color:#445262;background:#eaf2fb;padding:5px 10px;border-radius:99px;white-space:nowrap;line-height:1.3}
.es-wrap.es-detail.es-qzarg .qz-q-meta strong{color:#0D80C0;font-weight:700;margin-right:2px}
.es-wrap.es-detail.es-qzarg .qz-q-arrow{flex:0 0 auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#eaf2fb;border-radius:50%;color:#0D80C0;transition:background .12s ease,color .12s ease,transform .12s ease}
.es-wrap.es-detail.es-qzarg .qz-q-arrow svg{width:14px;height:14px}
.es-wrap.es-detail.es-qzarg .qz-question-card:hover .qz-q-arrow{background:#0D80C0;color:#fff;transform:translateX(2px)}

/* Paginazione: re-style del Bootstrap 2 .pagination. Wrap automatico su
   spazi stretti per non far uscire i numeri dai margini su mobile. */
.es-wrap.es-detail.es-qzarg .qz-pagination-wrap{margin:26px 0 22px 0;display:flex;justify-content:center;max-width:100%;overflow:hidden}
.es-wrap.es-detail.es-qzarg .qz-pagination-wrap .pagination{margin:0;float:none;display:flex;max-width:100%}
.es-wrap.es-detail.es-qzarg .qz-pagination-wrap .pagination ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;list-style:none;padding:0;margin:0;background:transparent;box-shadow:none;border-radius:0;max-width:100%}
.es-wrap.es-detail.es-qzarg .qz-pagination-wrap .pagination li{display:inline-block;float:none}
.es-wrap.es-detail.es-qzarg .qz-pagination-wrap .pagination li a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;background:#fff;border:1px solid #e3ebf3 !important;border-radius:8px !important;color:#0b3a66 !important;font-weight:600;font-size:14px;text-decoration:none !important;transition:background .12s ease,border-color .12s ease,color .12s ease;box-sizing:border-box}
.es-wrap.es-detail.es-qzarg .qz-pagination-wrap .pagination li a:hover{background:#0D80C0;border-color:#0D80C0 !important;color:#fff !important;text-decoration:none !important}
.es-wrap.es-detail.es-qzarg .qz-pagination-wrap .pagination li.active a{background:#0D80C0;border-color:#0D80C0 !important;color:#fff !important}
/* Chevron SVG nelle frecce avanti/indietro: ereditano color del link (bianco in hover/active) */
.es-wrap.es-detail.es-qzarg .qz-pagination-wrap .pagination .pg-chevron{width:16px;height:16px;display:inline-block;vertical-align:middle;color:currentColor}

/* Responsive */
@media (max-width:600px){
	.es-wrap.es-detail.es-qzarg .qz-question-card{padding:12px 14px;gap:10px;flex-wrap:wrap}
	.es-wrap.es-detail.es-qzarg .qz-q-text{font-size:14px;flex:1 1 100%;order:1}
	.es-wrap.es-detail.es-qzarg .qz-q-meta{font-size:11.5px;order:2;padding:4px 9px}
	.es-wrap.es-detail.es-qzarg .qz-q-arrow{width:26px;height:26px;order:3;margin-left:auto}
	.es-wrap.es-detail.es-qzarg .qz-pagination-wrap{padding:0 8px}
	.es-wrap.es-detail.es-qzarg .qz-pagination-wrap .pagination ul{gap:5px}
	.es-wrap.es-detail.es-qzarg .qz-pagination-wrap .pagination li a{min-width:34px;height:34px;font-size:13px;padding:0 8px}
}

/* ============================================================ */
/* PAGINA /quiz/[sez]/[arg]/N — Quiz/question.ctp                */
/* Wrappata in .es-wrap.es-detail.es-qzq.                        */
/* Hero con metadata + H1 testo domanda + immagine + opzioni.   */
/* ============================================================ */

/* Chip decorativi sopra al titolo (Domanda #N + tag argomento) - puramente
   visuali, sono <span> dentro a un <div>, NON sono heading. */
.es-wrap.es-detail.es-qzq .qzq-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 14px 0}
.es-wrap.es-detail.es-qzq .qzq-meta-num,
.es-wrap.es-detail.es-qzq .qzq-meta-tag{display:inline-block;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.24);color:rgba(255,255,255,.95);font-size:11.5px;font-weight:500;padding:4px 11px;border-radius:99px;letter-spacing:0;text-transform:none}

/* H1 della domanda: markup originale (span.fs-15 con numero/sezione + testo
   domanda libero). Lo span piccolo prende un colore semitrasparente bianco. */
.es-wrap.es-detail.es-qzq .es-detail-hero h1{color:#fff !important;font-size:24px !important;font-weight:700 !important;line-height:1.3 !important;margin:0 0 10px 0 !important;border:0 !important;padding:0 !important;text-shadow:0 1px 2px rgba(0,0,0,.12)}
.es-wrap.es-detail.es-qzq .es-detail-hero h1 .fs-15{display:block;font-size:13px !important;font-weight:500 !important;color:rgba(255,255,255,.78) !important;line-height:1.3;margin:0 0 4px 0;letter-spacing:.3px}
/* H2 libero (no class) sotto H1: stilizzato come sotto-titolo del hero */
.es-wrap.es-detail.es-qzq .es-detail-hero h2{color:rgba(255,255,255,.92) !important;font-size:15px !important;font-weight:500 !important;line-height:1.5 !important;margin:6px 0 0 0 !important;padding:0 !important;border:0 !important;text-shadow:none !important;background:transparent !important}

/* Immagine domanda */
.es-wrap.es-detail.es-qzq .qzq-image-wrap{display:flex;justify-content:center;margin:0 0 22px 0}
.es-wrap.es-detail.es-qzq .qzq-image{display:block;max-width:100%;height:auto;border-radius:12px;border:1px solid #e3ebf3;box-shadow:0 2px 10px rgba(11,58,102,.08);background:#fff}

/* Opzioni (card lista, NON form): solo la corretta ha un check verde a
   sinistra; le neutre NON hanno cerchio (cosi' non sembrano radio button). */
.es-wrap.es-detail.es-qzq .qzq-options{display:flex;flex-direction:column;gap:10px;margin:0 0 26px 0}
.es-wrap.es-detail.es-qzq .qzq-option{display:flex;align-items:flex-start;gap:12px;background:#fff;border:1.5px solid #e3ebf3;border-radius:12px;padding:14px 18px;color:#445262;font-size:15px;line-height:1.55;box-shadow:0 1px 3px rgba(11,58,102,.03);transition:border-color .12s ease,background .12s ease}
/* Marker: per le neutre nascosto del tutto (no spazio, no cerchio).
   Per la corretta diventa un check verde inline accanto al testo. */
.es-wrap.es-detail.es-qzq .qzq-option-marker{display:none}
.es-wrap.es-detail.es-qzq .qzq-option-correct .qzq-option-marker{display:inline-flex;flex:0 0 auto;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;background:#19b061;color:#fff;margin-top:1px}
.es-wrap.es-detail.es-qzq .qzq-option-text{flex:1 1 auto;min-width:0}
.es-wrap.es-detail.es-qzq .qzq-option-check{width:12px;height:12px}
/* Risposta corretta: card evidenziata in verde brand */
.es-wrap.es-detail.es-qzq .qzq-option-correct{background:#e8f6ed;border-color:#19b061;box-shadow:0 2px 10px rgba(25,176,97,.10)}
.es-wrap.es-detail.es-qzq .qzq-option-correct .qzq-option-text{color:#1a6938;font-weight:600}

/* Pager domande (prev/next sotto) */
.es-wrap.es-detail.es-qzq .pager-quiz{margin:22px 0 26px 0}
.es-wrap.es-detail.es-qzq .pager-quiz__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#f1f6fb;border:1px solid #cfdcec;border-radius:12px;padding:12px 16px}
.es-wrap.es-detail.es-qzq .pager-quiz__prev,
.es-wrap.es-detail.es-qzq .pager-quiz__next{flex:0 1 auto;min-width:0}
.es-wrap.es-detail.es-qzq .pager-quiz__pos{flex:1 1 auto;text-align:center;color:#0b3a66;font-weight:700;font-size:14px;letter-spacing:.3px}
.es-wrap.es-detail.es-qzq .pager-quiz a.btn,
.es-wrap.es-detail.es-qzq .pager-quiz a.btn-link{display:inline-flex;align-items:center;gap:6px;background:#fff !important;color:#0D80C0 !important;border:1px solid #cfdcec !important;border-radius:99px !important;padding:8px 16px !important;font-weight:600 !important;font-size:13.5px !important;text-decoration:none !important;text-shadow:none !important;line-height:1.2 !important;transition:background .12s ease,border-color .12s ease,color .12s ease;height:auto !important;min-height:0 !important}
.es-wrap.es-detail.es-qzq .pager-quiz a.btn:hover,
.es-wrap.es-detail.es-qzq .pager-quiz a.btn-link:hover{background:#0D80C0 !important;border-color:#0D80C0 !important;color:#fff !important;text-decoration:none !important}
.es-wrap.es-detail.es-qzq .pager-quiz .pq-arrow{width:14px;height:14px;flex:0 0 auto;color:currentColor}
.es-wrap.es-detail.es-qzq .pager-quiz .pq-label{display:inline-block}
/* Neutralizza le doppie frecce: addons.css mette ::before su .prev e ::after su .next,
   sovrapponendosi alle mie pq-arrow SVG. Annullo il content degli pseudo-elementi. */
.es-wrap.es-detail.es-qzq .pager-quiz .prev::before,
.es-wrap.es-detail.es-qzq .pager-quiz .next::after{content:none !important;display:none !important}

/* Sezione altre-materie / chips - riusa stesso stile di .es-qzsec/.es-qzarg */
.es-wrap.es-detail.es-qzq .altre-materie{margin:28px 0 22px 0;padding:22px 22px;background:#eaf2fb;border:1px solid #d6e3f1;border-radius:12px}
.es-wrap.es-detail.es-qzq .altre-materie-titolo{color:#0b3a66 !important;font-size:17px !important;font-weight:700 !important;margin:0 0 14px 0 !important;border:0 !important;padding:0 !important;line-height:1.3 !important}
.es-wrap.es-detail.es-qzq .chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.es-wrap.es-detail.es-qzq .chips__item{margin:0}
.es-wrap.es-detail.es-qzq .chips__link{display:inline-block;padding:7px 14px;background:#fff;border:1px solid #cfdcec;border-radius:99px;color:#0b3a66 !important;font-size:13px;font-weight:500;text-decoration:none !important;transition:background .12s ease,border-color .12s ease,color .12s ease}
.es-wrap.es-detail.es-qzq .chips__link:hover,
.es-wrap.es-detail.es-qzq .chips__link:focus{background:#0D80C0 !important;border-color:#0D80C0 !important;color:#fff !important;text-decoration:none !important}

/* Pulsante PRO (Spiegazione domanda) — distinto con badge giallo */
.es-wrap.es-detail .es-nav-pro{display:inline-flex;align-items:center;gap:8px;background:#0b3a66 !important;color:#fff !important;border:0 !important;box-shadow:0 2px 8px rgba(11,58,102,.25)}
.es-wrap.es-detail .es-nav-pro:hover{background:#062a4d !important;color:#fff !important}
.es-wrap.es-detail .qzq-pro-lock{font-size:14px;line-height:1;flex:0 0 auto}
.es-wrap.es-detail .qzq-pro-badge{display:inline-block;background:#f7c948;color:#5e4100;font-size:10px;font-weight:800;letter-spacing:1px;padding:2px 7px;border-radius:99px;line-height:1.4;flex:0 0 auto;text-transform:uppercase}

/* Responsive */
@media (max-width:600px){
	.es-wrap.es-detail.es-qzq .es-detail-hero h1{font-size:19px !important}
	.es-wrap.es-detail.es-qzq .es-detail-hero h1 .fs-15{font-size:12px !important}
	.es-wrap.es-detail.es-qzq .es-detail-hero h2{font-size:14px !important}
	.es-wrap.es-detail.es-qzq .qzq-meta-num,
	.es-wrap.es-detail.es-qzq .qzq-meta-tag{font-size:11px;padding:3px 9px}
	.es-wrap.es-detail.es-qzq .qzq-option{padding:12px 14px;gap:10px;font-size:14px}
	.es-wrap.es-detail.es-qzq .qzq-option-marker{width:22px;height:22px}
	.es-wrap.es-detail.es-qzq .qzq-option-check{width:12px;height:12px}
	/* Pager mobile: layout pulito orizzontale. [← icon] [Domanda 9 di 35] [→ icon]
	   Pulsanti diventano cerchio con solo icona (nascondiamo il testo), il
	   counter resta al centro e prende lo spazio rimanente. */
	.es-wrap.es-detail.es-qzq .pager-quiz__inner{padding:10px 12px;gap:10px;flex-wrap:nowrap}
	.es-wrap.es-detail.es-qzq .pager-quiz__pos{order:2;flex:1 1 auto;font-size:13px;text-align:center;min-width:0}
	.es-wrap.es-detail.es-qzq .pager-quiz__prev{order:1;flex:0 0 auto}
	.es-wrap.es-detail.es-qzq .pager-quiz__next{order:3;flex:0 0 auto}
	.es-wrap.es-detail.es-qzq .pager-quiz a.btn,
	.es-wrap.es-detail.es-qzq .pager-quiz a.btn-link{padding:0 !important;width:48px !important;height:48px !important;min-height:48px !important;justify-content:center;gap:0 !important;flex:0 0 48px}
	.es-wrap.es-detail.es-qzq .pager-quiz .pq-label{display:none}
	.es-wrap.es-detail.es-qzq .pager-quiz .pq-arrow{width:20px;height:20px}
	.es-wrap.es-detail.es-qzq .altre-materie{padding:18px 16px}
	.es-wrap.es-detail.es-qzq .altre-materie-titolo{font-size:15.5px !important}
}

/* Responsive */
@media (max-width:600px){
	.es-wrap.es-detail.es-qzsec .qz-materia-card{padding:14px 16px;gap:10px;flex-wrap:wrap}
	.es-wrap.es-detail.es-qzsec .qz-materia-name{font-size:15.5px !important}
	.es-wrap.es-detail.es-qzsec .qz-materia-pro{font-size:12px}
	.es-wrap.es-detail.es-qzsec .qz-materia-btn{padding:9px 14px;font-size:13px}
	.es-wrap.es-detail.es-qzsec .qz-materia-btn svg{width:12px;height:12px}
	.es-wrap.es-detail.es-qzsec .altre-materie,
	.es-wrap.es-detail.es-qzarg .altre-materie{padding:18px 16px}
	.es-wrap.es-detail.es-qzsec .altre-materie-titolo,
	.es-wrap.es-detail.es-qzarg .altre-materie-titolo{font-size:15.5px !important}
	.es-wrap.es-detail.es-qzsec .faq-titolo-faq{font-size:18px !important}
	.es-wrap.es-detail.es-qzsec .faq-toggle{padding:14px 16px;font-size:14.5px;gap:12px}
	.es-wrap.es-detail.es-qzsec .faq-icon{width:24px;height:24px}
	.es-wrap.es-detail.es-qzsec .faq-icon svg{width:14px;height:14px}
	.es-wrap.es-detail.es-qzsec .faq-a-inner{padding:14px 16px;font-size:14px}
}
/* ============================================================
   FOOTER SITE-WIDE — comportamento "footer normale" (non fixed)
   Su tutto il sito, il footer legale resta in fondo alla pagina
   (renderizzato come normale block element dopo il contenuto).
   Override del default Bootstrap .navbar-fixed-bottom che lo
   ancorava al viewport (sempre visibile durante lo scroll).
   ============================================================ */
.navbar.navbar-fixed-bottom,
.navbar-fixed-bottom {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 24px;
    border-top: 1px solid #e3ebf3;
    background-color: #fff;
}


/* ====================================================================
   ╔══════════════════════════════════════════════════════════════════╗
   ║  HEADER V2 — Redesign Aprile 2026                                ║
   ║  Modifiche su: pre-header (top-message), navbar, mobile menu,    ║
   ║  selettore lingua. Tutto raggruppato qui per facilità di mant.   ║
   ╚══════════════════════════════════════════════════════════════════╝
   ==================================================================== */

/* === [V2] PRE-HEADER (top-message) — blu in-brand, bottoni gerarchici === */
#top-message.top-message,
.top-message {
    background-color: #0b3a66 !important;
    background-image: linear-gradient(90deg, #0b3a66 0%, #0b5394 100%) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.12) !important;
    transition: transform .25s ease, opacity .25s ease;
}
.top-message.hidden {
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
}
.top-message .top-msg-left a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #fff !important;
    font-weight: 500 !important;
    font-size: 14.5px !important;
    line-height: 1.35 !important;
    letter-spacing: .1px;
    transition: opacity .15s ease;
}
.top-message .top-msg-left a:hover {
    opacity: .9;
    color: #fff !important;
    text-decoration: none !important;
}
.top-msg-icon {
    font-size: 18px;
    line-height: 1;
    flex: 0 0 auto;
}
.top-msg-arrow {
    font-size: 14px;
    line-height: 1;
    transition: transform .2s ease;
    display: inline-block;
}
.top-message a:hover .top-msg-arrow {
    transform: translateX(3px);
}

/* === [V2] Bottoni pre-header — gerarchia chiara === */
.top-message .top-msg-right {
    display: table-cell;
    vertical-align: middle;
    text-align: right;
    padding: 10px 20px;
}
.top-message .top-msg-right .btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 7px 18px !important;
    border-radius: 99px !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    border: 1.5px solid transparent !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transition: all .2s ease !important;
    margin-left: 8px;
}
/* Secondario "Accedi": outline */
.top-message .btn-secondary-custom {
    background: transparent !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.55) !important;
}
.top-message .btn-secondary-custom:hover {
    background: rgba(255,255,255,.12) !important;
    border-color: #fff !important;
    color: #fff !important;
}
/* Primario "Inizia subito": pillola bianca piena */
.top-message .btn-primary-custom {
    background: #fff !important;
    color: #0b3a66 !important;
    border-color: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.15) !important;
}
.top-message .btn-primary-custom:hover {
    background: #eaf2fb !important;
    color: #0b3a66 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(0,0,0,.22) !important;
}

/* Pre-header mobile compatto */
@media (max-width: 767px) {
    .top-message .top-msg-left {
        padding: 8px 12px;
    }
    .top-message .top-msg-left a {
        font-size: 13px !important;
    }
    .top-message .top-msg-left a span:not(.top-msg-icon) {
        /* opzionale: nascondere arrow su xs */
    }
    .top-message .top-msg-right {
        padding: 8px 12px;
    }
    .top-message .top-msg-right .btn {
        padding: 6px 12px !important;
        font-size: 12.5px !important;
        margin-left: 4px;
    }
    /* Su mobile mostro solo il CTA primario */
    .top-message .btn-secondary-custom {
        display: none !important;
    }
}

/* === [V2] NAVBAR transitions fluide tra stati === */
.navbar-fixed-top,
.navbar.navbar-fixed-top,
.navbar.is-home.navbar-fixed-top,
.navbar.not-home.navbar-fixed-top {
    transition: background-color .3s ease, background-image .3s ease, padding .25s ease, box-shadow .25s ease !important;
}

/* === [V2] CTA "Inizia gratis" permanente nel navbar (visibile sempre, anche scrolled) === */
.navbar-cta-permanent {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px;
    padding: 9px 20px !important;
    background: #fff !important;
    color: #0b3a66 !important;
    border-radius: 99px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    border: 1.5px solid #fff !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.18) !important;
    transition: all .2s ease !important;
    letter-spacing: .3px;
    margin-left: 8px;
    white-space: nowrap;
}
.navbar-cta-permanent:hover {
    background: #eaf2fb !important;
    color: #0b3a66 !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0,0,0,.24) !important;
    text-decoration: none !important;
}
.navbar-cta-permanent .arrow {
    transition: transform .2s ease;
}
.navbar-cta-permanent:hover .arrow {
    transform: translateX(3px);
}

/* === [V2] Selettore lingua: lingua attiva evidenziata === */
.selettore-lingua-desktop a.primo-item.is-active,
.selettore-lingua-desktop a.ultimo-item.is-active,
.selettore-lingua-mobile a.primo-item.is-active,
.selettore-lingua-mobile a.ultimo-item.is-active {
    background: #eaf2fb !important;
    color: #0b3a66 !important;
    font-weight: 700;
    border-radius: 6px;
}
/* [V2 cleanup] rimosso checkmark ::before sulle lingue active (era duplicato non voluto) */

/* === [V2] MOBILE selettore lingua: width auto (non più 25% fragile) === */
@media (max-width: 767px) {
    .selettore-lingua-mobile {
        width: auto !important;
        max-width: 280px !important;
        min-width: 220px !important;
        right: 12px !important;
        left: auto !important;
        padding: 8px 12px !important;
        box-shadow: 0 8px 24px rgba(0,0,0,.18);
        border-radius: 10px !important;
        z-index: 1050;
    }
    .selettore-lingua-mobile p {
        margin: 0;
        padding: 0;
    }
    .selettore-lingua-mobile a {
        display: flex !important;
        align-items: center;
        gap: 10px;
        padding: 10px 12px !important;
        min-height: 44px;  /* WCAG touch target */
        border-radius: 6px;
        white-space: nowrap;
    }
    .selettore-lingua-mobile a:hover,
    .selettore-lingua-mobile a:focus {
        background: #f1f6fb;
    }
}

/* [V2 cleanup] vecchia regola .voce-menu rimossa — gestita dal blocco POLISH consolidato */

/* === [V2] FOOTER LEGAL: già blu in-brand, garantisco padding === */
.navbar.navbar-fixed-bottom .footer-legal-row {
    padding: 12px 16px;
}

/* ==== fine HEADER V2 ============================================== */


/* ====================================================================
   [V2] MOBILE MENU REFACTOR — slide-in da destra + backdrop
   ==================================================================== */
@media (max-width: 991px) {
    /* Mobile navbar top row: pulizia */
    .container-mobile-menu-flex {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 8px 12px !important;
        width: 100% !important;
    }
    .container-mobile-menu-flex .homelogo-mobile {
        width: auto !important;
        flex: 1 1 auto;
        text-align: left;
    }
    .container-mobile-menu-flex .homelogo-mobile img {
        height: 36px;
        width: auto;
    }
    /* Hamburger pulito (no testo MENU) */
    .navbar .btn-navbar {
        width: auto !important;
        order: 3;
        padding: 8px 10px !important;
        background: transparent !important;
        border: 0 !important;
        font-size: 0 !important;
        color: transparent !important;
        line-height: 1;
        cursor: pointer;
        position: relative;
    }
    .navbar .btn-navbar img {
        width: 30px !important;
        height: 30px !important;
        filter: brightness(0) invert(1);
    }
    .container-mobile-menu-flex .select-lingua-mobile {
        display: none !important;
    }

    /* === SLIDE-IN da destra === */
    .nav-collapse,
    .nav-collapse.collapse {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 85% !important;
        max-width: 360px !important;
        height: 100vh !important;
        background: #fff !important;
        border-radius: 0 !important;
        box-shadow: -8px 0 32px rgba(0,0,0,.24) !important;
        transform: translateX(100%);
        transition: transform .3s ease;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding: 60px 0 24px 0 !important;
        margin: 0 !important;
        z-index: 1060 !important;
    }
    .nav-collapse.in,
    .nav-collapse.collapse.in {
        height: 100vh !important;
        transform: translateX(0) !important;
    }
    /* X per chiudere */
    .v2-menu-close {
        position: absolute;
        top: 12px;
        right: 16px;
        font-size: 32px;
        line-height: 1;
        color: #0b3a66;
        font-weight: 300;
        cursor: pointer;
        z-index: 10;
        width: 40px;
        height: 40px;
        text-align: center;
        border-radius: 50%;
        transition: background .15s ease;
        border: 0;
        background: transparent;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .v2-menu-close:hover {
        background: #f1f6fb;
    }
    /* Voci menu */
    .nav-collapse ul.nav {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        display: block !important;
    }
    /* [V2 cleanup] Nuovo layout: blocco1=logo (hidden in collapse, gia' fuori),
       blocco2=menu (visibile), blocco3=actions (visibile) */
    .nav-collapse .blocco1.v2-nav-logo {
        display: none !important;
    }
    .nav-collapse .blocco2,
    .nav-collapse .blocco2.v2-nav-menu,
    .nav-collapse .blocco3,
    .nav-collapse .blocco3.v2-nav-actions {
        width: 100% !important;
        display: block !important;
        text-align: left !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    /* [V2 cleanup] Vecchie regole .voce-menu rimosse — vedi blocco consolidato in fondo */
    /* CTA permanente come bottone in evidenza */
    .nav-collapse .navbar-cta-li {
        margin: 18px 22px 0 22px !important;
        border-bottom: 0 !important;
    }
    .nav-collapse .navbar-cta-li a.navbar-cta-permanent {
        width: 100%;
        justify-content: center;
        background: linear-gradient(135deg, #0b3a66 0%, #0b5394 50%, #1e88e5 100%) !important;
        color: #fff !important;
        border-color: transparent !important;
        padding: 14px 20px !important;
        font-size: 15px !important;
        min-height: 52px;
    }
    .nav-collapse .navbar-cta-li a.navbar-cta-permanent:hover {
        background: linear-gradient(135deg, #0a3257 0%, #0a4880 50%, #1976c4 100%) !important;
        color: #fff !important;
    }
    /* Lingua mobile integrata in grid 4x2 */
    .nav-collapse .selettore-lingua-mobile {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 8px !important;
        position: static !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 24px 22px 0 22px !important;
        padding: 16px 0 0 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-top: 1px solid #e3ebf3 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        right: auto !important;
        left: auto !important;
        float: none !important;
    }
    .nav-collapse .selettore-lingua-mobile .v2-lang-label {
        grid-column: 1 / -1;
        display: block;
        font-size: 11px;
        font-weight: 700;
        color: #6b7280;
        letter-spacing: 1.5px;
        margin-bottom: 6px;
        text-transform: uppercase;
    }
    .nav-collapse .selettore-lingua-mobile p {
        margin: 0 !important;
        padding: 0 !important;
    }
    .nav-collapse .selettore-lingua-mobile a {
        display: flex !important;
        flex-direction: column;
        align-items: center !important;
        justify-content: center;
        gap: 4px !important;
        padding: 10px 4px !important;
        min-height: 60px;
        text-align: center;
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #0b3a66 !important;
        background: #f1f6fb !important;
        border-radius: 8px !important;
        border: 1.5px solid transparent !important;
        text-decoration: none !important;
    }
    .nav-collapse .selettore-lingua-mobile a:hover {
        background: #dceaf6 !important;
        border-color: #cfe4f3 !important;
    }
    .nav-collapse .selettore-lingua-mobile a img {
        width: 24px !important;
        height: 24px !important;
        border-radius: 50% !important;
        object-fit: cover !important;
        margin: 0 !important;
    }
    .nav-collapse .selettore-lingua-mobile a img + img {
        display: none !important;
    }

    /* Backdrop scuro quando menu aperto */
    .v2-mobile-backdrop {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, .5);
        z-index: 1055;
        opacity: 0;
        visibility: hidden;
        transition: opacity .3s ease, visibility .3s ease;
        cursor: pointer;
    }
    .v2-mobile-backdrop.is-active {
        opacity: 1;
        visibility: visible;
    }
    body.v2-menu-open {
        overflow: hidden;
    }
}

/* Su desktop il selettore lingua-mobile resta nascosto (nel contenitore tablet/mobile only) */
@media (min-width: 992px) {
    .nav-collapse .selettore-lingua-mobile {
        display: none !important;
    }
}

/* ====================================================================
   [V2] DESKTOP polish
   ==================================================================== */
@media (min-width: 992px) {
    .navbar-cta-li.voce-menu {
        padding: 10px 5px !important;
    }
    .navbar-cta-li.voce-menu a {
        padding: 9px 20px !important;
    }
}

/* ==== fine HEADER V2 mobile/desktop ============================== */


/* ====================================================================
   [V2] POLISH — Glass effect navbar + Skip link (accessibility)
   ==================================================================== */

/* Glass effect su navbar quando "scrolled" — usa gradient hero come base */
@supports (backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px)) {
    .navbar.navbar-fixed-top.scrolled,
    .navbar.not-home.navbar-fixed-top {
        background: radial-gradient(ellipse at center, rgba(25, 110, 165, 0.92) 0%, rgba(0, 82, 150, 0.92) 100%) !important;
        -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
        backdrop-filter: blur(14px) saturate(150%) !important;
    }
}

/* Skip-to-content link (accessibility WCAG) */
.skip-to-content {
    position: absolute;
    top: -100px;
    left: 0;
    background: #0b3a66;
    color: #fff;
    padding: 12px 22px;
    text-decoration: none;
    font-weight: 700;
    border-radius: 0 0 8px 0;
    z-index: 10000;
    transition: top .2s ease;
}
.skip-to-content:focus {
    top: 0;
    outline: 3px solid #fff;
    color: #fff;
    text-decoration: none;
}

/* Focus visibili (accessibility) */
.navbar .voce-menu a:focus-visible,
.top-message a:focus-visible,
.selettore-lingua-desktop a:focus-visible,
.selettore-lingua-mobile a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
    border-radius: 4px;
}

/* ==== fine HEADER V2 POLISH ===================================== */


/* ====================================================================
   [V2 DESKTOP RESTYLE] — Logo sx / Menu center / Actions dx + Dropdowns
   ==================================================================== */
@media (min-width: 992px) {

    /* Wrapper navbar in 3 colonne: logo / menu / actions */
    ul.nav.pull-right.v2-nav-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        max-width: 1400px;
        margin: 0 auto !important;
        padding: 0 24px !important;
        list-style: none !important;
        float: none !important;
        gap: 24px;
    }

    /* Logo SX */
    .v2-nav-logo {
        width: auto !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center;
    }
    .v2-nav-logo .voce-menu,
    .v2-nav-logo li {
        padding: 0 !important;
        list-style: none !important;
    }
    .v2-nav-logo .homelogo {
        height: 48px !important;
        width: auto !important;
        max-height: 48px !important;
        display: block;
    }
    .navbar.navbar-fixed-top.scrolled .v2-nav-logo .homelogo,
    .navbar.not-home.navbar-fixed-top .v2-nav-logo .homelogo {
        height: 44px !important;
    }

    /* Menu CENTRO */
    .v2-nav-menu {
        width: auto !important;
        flex: 1 1 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }
    .v2-nav-menu .voce-menu {
        padding: 0 !important;
        list-style: none !important;
        position: relative;
    }
    .v2-nav-menu .voce-menu > a,
    .v2-nav-menu .voce-menu > a:link,
    .v2-nav-menu .voce-menu > a:visited {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        padding: 10px 16px !important;
        color: #fff !important;
        font-weight: 600 !important;
        font-size: 14.5px !important;
        text-decoration: none !important;
        border-radius: 8px !important;
        transition: background .15s ease, color .15s ease;
        letter-spacing: .2px;
    }
    .v2-nav-menu .voce-menu > a:hover,
    .v2-nav-menu .voce-menu > a:focus {
        background: rgba(255,255,255,.12) !important;
        color: #fff !important;
        text-decoration: none !important;
    }
    .v2-nav-menu .v2-caret {
        font-size: 13px;
        line-height: 1;
        margin-left: 5px;
        transition: transform .2s ease;
        display: inline-block;
    }
    .v2-nav-menu .v2-has-dropdown.is-open > .v2-dd-trigger .v2-caret,
    .v2-nav-menu .v2-has-dropdown:hover > .v2-dd-trigger .v2-caret {
        transform: rotate(180deg);
    }

    /* Dropdown desktop: top:100% senza gap + padding-top per estendere area hover
       (previene chiusura accidentale al passaggio del mouse trigger→menu) */
    .v2-nav-menu .v2-dropdown-menu {
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 280px;
        background: #fff;
        border: 1px solid #e3ebf3;
        border-radius: 12px;
        box-shadow: 0 12px 32px rgba(11,58,102,.18);
        padding: 12px 8px 8px 8px;     /* 12px top come bridge invisibile hover */
        margin-top: -4px;               /* sposta su 4px per coprire interamente il gap */
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
        z-index: 1050;
        pointer-events: none;
    }
    .v2-nav-menu .v2-has-dropdown:hover > .v2-dropdown-menu,
    .v2-nav-menu .v2-has-dropdown.is-open > .v2-dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }
    /* Item nel dropdown */
    .v2-dropdown-menu .v2-dd-item {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 12px 14px !important;
        color: #0b3a66 !important;
        text-decoration: none !important;
        border-radius: 8px !important;
        text-align: left !important;
        transition: background .15s ease, transform .15s ease;
    }
    /* Forza allineamento a sinistra su strong/em dentro l'item — .v2-dd-item-all
       resta centrato perche' usa una regola dedicata sotto (text-align:center !important) */
    .v2-dropdown-menu .v2-dd-item:not(.v2-dd-item-all) span,
    .v2-dropdown-menu .v2-dd-item:not(.v2-dd-item-all) strong,
    .v2-dropdown-menu .v2-dd-item:not(.v2-dd-item-all) em {
        text-align: left !important;
        align-items: flex-start !important;
    }
    .v2-dropdown-menu .v2-dd-item:hover {
        background: #f1f6fb !important;
        color: #0b3a66 !important;
        transform: translateX(2px);
        text-decoration: none !important;
    }
    .v2-dropdown-menu .v2-dd-item img {
        width: 28px !important;
        height: 28px !important;
        flex: 0 0 28px;
        object-fit: contain;
        /* Le SVG originali sono bianche (per navbar blu); su sfondo bianco dropdown servono blu */
        filter: brightness(.4) sepia(1) hue-rotate(180deg) saturate(3);
    }
    .v2-dropdown-menu .v2-dd-item span {
        display: flex;
        flex-direction: column;
        gap: 2px;
        flex: 1 1 auto;
    }
    .v2-dropdown-menu .v2-dd-item strong {
        font-size: 14px;
        font-weight: 700;
        color: #0b3a66;
        line-height: 1.3;
    }
    .v2-dropdown-menu .v2-dd-item em {
        font-size: 12px;
        font-weight: 400;
        color: #6b7280;
        font-style: normal;
        line-height: 1.3;
    }

    /* Actions DX (CTA + Lingua) */
    .v2-nav-actions {
        width: auto !important;
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }
    .v2-nav-actions .voce-menu {
        padding: 0 !important;
        list-style: none !important;
        margin: 0 !important;
    }

    /* Selettore lingua compatto (solo bandiera + caret) — opzionale */
    .v2-nav-actions #language-select-desktop {
        position: relative;
    }
    .v2-nav-actions #language-select-desktop > div {
        cursor: pointer;
        padding: 8px 10px !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        border-radius: 8px;
        transition: background .15s ease;
    }
    .v2-nav-actions #language-select-desktop > div:hover {
        background: rgba(255,255,255,.12) !important;
    }
    .v2-nav-actions #language-select-desktop .lingua-mondo {
        width: 22px !important;
        height: 22px !important;
        filter: brightness(0) invert(1);
    }
    .v2-nav-actions #language-select-desktop .lingua-arrow {
        width: 14px !important;
        height: 14px !important;
        filter: brightness(0) invert(1);
        transition: transform .2s ease;
    }
    .v2-nav-actions #language-select-desktop:hover .lingua-arrow {
        transform: rotate(180deg);
    }
    /* Dropdown lingua: stesso meccanismo del dropdown Quiz (top:100% + padding-top + margin-top:-4)
       per non perdere l'hover quando il mouse scende dal trigger al card. */
    .v2-nav-actions .selettore-lingua-desktop {
        position: absolute !important;
        top: 100% !important;
        right: 0 !important;
        left: auto !important;
        min-width: 220px !important;
        background: #fff !important;
        border: 1px solid #e3ebf3 !important;
        border-radius: 14px !important;
        box-shadow: 0 16px 40px rgba(11,58,102,.22), 0 4px 12px rgba(11,58,102,.08) !important;
        padding: 12px 8px 8px 8px !important;  /* 12px top = bridge invisibile hover */
        margin-top: -4px !important;            /* 4px overlap col trigger per chiudere il gap */
        background-clip: padding-box !important;
        z-index: 1050 !important;
        /* Animazione: invisibile/poco sopra, poi cala in posizione */
        display: block !important;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        pointer-events: none;
        transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
    }
    /* Header "Seleziona lingua" — caps grigio scuro */
    .v2-nav-actions .selettore-lingua-desktop .v2-lang-label {
        display: block;
        font-size: 10.5px;
        font-weight: 700;
        color: #6b7280;
        letter-spacing: 1.3px;
        text-transform: uppercase;
        padding: 6px 10px 8px;
        border-bottom: 1px solid #eef2f7;
        margin-bottom: 6px;
    }
    .v2-nav-actions .selettore-lingua-desktop p {
        margin: 0 !important;
        padding: 0 !important;
    }
    .v2-nav-actions .selettore-lingua-desktop a {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 10px 12px !important;
        color: #0b3a66 !important;
        font-weight: 600 !important;
        font-size: 14px !important;
        text-decoration: none !important;
        border-radius: 8px !important;
        border: 0 !important;
        text-transform: uppercase;
        letter-spacing: .4px;
        transition: background .15s ease, transform .15s ease, padding-left .15s ease;
        position: relative;
    }
    .v2-nav-actions .selettore-lingua-desktop a:hover {
        background: #eff5fb !important;
        text-decoration: none !important;
        padding-left: 16px !important;
    }
    .v2-nav-actions .selettore-lingua-desktop a:hover::after {
        content: "\2192"; /* freccia → */
        position: absolute;
        right: 12px;
        color: #0D80C0;
        font-weight: 700;
        opacity: 1;
        transition: opacity .15s ease, right .15s ease;
    }
    .v2-nav-actions .selettore-lingua-desktop a::after {
        content: "";
        opacity: 0;
    }
    .v2-nav-actions .selettore-lingua-desktop a img {
        width: 24px !important;
        height: 24px !important;
        border-radius: 50% !important;
        object-fit: cover !important;
        flex-shrink: 0;
        box-shadow: 0 1px 2px rgba(0,0,0,.08);
    }

    /* Quando scrolled/non-home con sfondo blu, gli hover sono leggermente più chiari */
    .navbar.navbar-fixed-top.scrolled .v2-nav-menu .voce-menu > a:hover,
    .navbar.not-home.navbar-fixed-top .v2-nav-menu .voce-menu > a:hover {
        background: rgba(255,255,255,.15) !important;
    }
}

/* ====================================================================
   [V2 MOBILE] Le voci con dropdown diventano ACCORDION dentro slide-in
   ==================================================================== */
@media (max-width: 991px) {
    /* Su mobile, il wrapper navbar è quello con .container-mobile-menu-flex */
    ul.nav.pull-right.v2-nav-wrapper {
        display: block;
    }
    /* Nascondi nel mobile slide-in il blocco logo (logo è già fuori) */
    .nav-collapse .v2-nav-logo {
        display: none !important;
    }
    /* Sezione menu mobile: voci block */
    .nav-collapse .v2-nav-menu {
        display: block !important;
    }
    /* [V2 cleanup] regola .nav-collapse .v2-nav-menu .voce-menu > a rimossa
       — duplicato del blocco POLISH consolidato sotto. UNA sola rule per .voce-menu > a. */
    /* Voce con dropdown: trigger + accordion */
    .nav-collapse .v2-has-dropdown > .v2-dd-trigger {
        cursor: pointer;
        justify-content: space-between;
    }
    .nav-collapse .v2-has-dropdown .v2-caret {
        margin-left: auto;
    }
    .nav-collapse .v2-has-dropdown.is-open .v2-caret {
        transform: rotate(180deg);
    }
    .nav-collapse .v2-dropdown-menu {
        display: none;
        background: #fafbfc;
        padding: 4px 0;
        border-bottom: 1px solid #e3ebf3;
    }
    .nav-collapse .v2-has-dropdown.is-open .v2-dropdown-menu {
        display: block;
    }
    .nav-collapse .v2-dd-item {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 10px 22px 10px 50px !important;
        color: #0b3a66 !important;
        font-size: 14px !important;
        text-decoration: none !important;
        min-height: 44px;
    }
    .nav-collapse .v2-dd-item:hover {
        background: #f1f6fb !important;
    }
    .nav-collapse .v2-dd-item img {
        width: 18px !important;
        height: 18px !important;
        filter: brightness(.4) sepia(1) hue-rotate(180deg) saturate(3);
        flex: 0 0 18px;
    }
    .nav-collapse .v2-dd-item strong {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.3;
    }
    .nav-collapse .v2-dd-item em {
        display: none;  /* Su mobile nascondiamo i descrittori, troppo verboso */
    }
    /* Actions blocco: CTA + Lingua */
    .nav-collapse .v2-nav-actions {
        display: block !important;
    }
}

/* ==== fine HEADER V2 DESKTOP RESTYLE + Dropdowns ================ */

/* === [V2 FIX] X close button: solo mobile, mai desktop === */
.v2-menu-close {
    display: none;
}
@media (max-width: 991px) {
    .v2-menu-close {
        display: flex !important;
        position: absolute !important;
        top: 12px !important;
        right: 16px !important;
        font-size: 32px !important;
        line-height: 1 !important;
        color: #0b3a66 !important;
        font-weight: 300 !important;
        cursor: pointer !important;
        z-index: 10 !important;
        width: 40px !important;
        height: 40px !important;
        text-align: center !important;
        border-radius: 50% !important;
        transition: background .15s ease !important;
        border: 0 !important;
        background: transparent !important;
        padding: 0 !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .v2-menu-close:hover {
        background: #f1f6fb !important;
    }
}
/* Garantisce position:relative su .nav-collapse mobile per ancorare la X */
@media (max-width: 991px) {
    .nav-collapse, .nav-collapse.collapse {
        position: fixed !important; /* già definito, reinforce */
    }
}

/* === [V2 FIX] Più respiro laterale per logo + actions sul desktop === */
@media (min-width: 992px) {
    ul.nav.pull-right.v2-nav-wrapper {
        max-width: 1280px !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
}
@media (min-width: 1200px) {
    ul.nav.pull-right.v2-nav-wrapper {
        padding-left: 56px !important;
        padding-right: 56px !important;
    }
}
@media (min-width: 1500px) {
    ul.nav.pull-right.v2-nav-wrapper {
        padding-left: 80px !important;
        padding-right: 80px !important;
    }
}

/* === [V2 FIX 2] Forza padding laterale sul navbar-inner per evitare logo/lingua agli estremi === */
@media (min-width: 992px) {
    .navbar.navbar-fixed-top .navbar-inner {
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
    /* Container navbar allineato al contenuto della pagina (max-width 1180px = .h2-page) */
    .navbar.navbar-fixed-top .navbar-inner > .container,
    .navbar.navbar-fixed-top .navbar-inner > .container-fluid {
        width: 100% !important;
        max-width: 1180px !important;
        margin: 0 auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
@media (min-width: 1200px) {
    .navbar.navbar-fixed-top .navbar-inner {
        padding-left: 60px !important;
        padding-right: 60px !important;
    }
}
@media (min-width: 1500px) {
    .navbar.navbar-fixed-top .navbar-inner {
        padding-left: 100px !important;
        padding-right: 100px !important;
    }
}
@media (min-width: 1800px) {
    .navbar.navbar-fixed-top .navbar-inner {
        padding-left: 140px !important;
        padding-right: 140px !important;
    }
}

/* Annulla le precedenti regole su .v2-nav-wrapper che usavano padding interno */
@media (min-width: 992px) {
    ul.nav.pull-right.v2-nav-wrapper {
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: 100% !important;
    }
}

/* === [V2 FIX 3] Selettori senza tag specifier (il wrapper è <div>, non <ul>) === */
@media (min-width: 992px) {
    .nav.pull-right.v2-nav-wrapper,
    .navbar .nav.pull-right.v2-nav-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        list-style: none !important;
        float: none !important;
        gap: 24px !important;
    }
    .navbar .nav.pull-right.v2-nav-wrapper .blocco1.v2-nav-logo {
        flex: 0 0 auto !important;
        width: auto !important;
    }
    .navbar .nav.pull-right.v2-nav-wrapper .blocco2.v2-nav-menu {
        flex: 1 1 auto !important;
        width: auto !important;
        display: flex !important;
        justify-content: center !important;
        gap: 4px !important;
    }
    .navbar .nav.pull-right.v2-nav-wrapper .blocco3.v2-nav-actions {
        flex: 0 0 auto !important;
        width: auto !important;
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }
}

/* === [V2 FIX 4] Più respiro laterale mobile (logo + hamburger non attaccati ai bordi) === */
@media (max-width: 991px) {
    .container-mobile-menu-flex {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}
@media (max-width: 600px) {
    .container-mobile-menu-flex {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* === [V2 FIX 5] APPROCCIO DEFINITIVO: margin diretto su logo + hamburger mobile === */
@media (max-width: 991px) {
    /* Forza il container-mobile-menu-flex a NON avere width:100% se rompe il padding */
    .container-mobile-menu-flex {
        box-sizing: border-box !important;
    }
    /* Logo mobile: margin sinistra dal bordo */
    .container-mobile-menu-flex .homelogo-mobile,
    .navbar-fixed-top .container-mobile-menu-flex .homelogo-mobile {
        margin-left: 20px !important;
    }
    /* Hamburger mobile: margin destra dal bordo */
    .navbar .btn-navbar,
    .container-mobile-menu-flex .btn-navbar,
    .navbar-fixed-top .container-mobile-menu-flex .btn-navbar {
        margin-right: 20px !important;
    }
}
@media (max-width: 600px) {
    .container-mobile-menu-flex .homelogo-mobile {
        margin-left: 16px !important;
    }
    .container-mobile-menu-flex .btn-navbar {
        margin-right: 16px !important;
    }
}

/* [V2] CTA "Inizia gratis" mobile: dimensioni contenute */
@media (max-width: 991px) {
    .nav-collapse .navbar-cta-li a.navbar-cta-permanent {
        padding: 12px 18px !important;
        font-size: 14.5px !important;
        min-height: 46px !important;
    }
}

/* === [V2 FIX 7] Menu sempre centrato: GRID 1fr | auto | 1fr === */
@media (min-width: 992px) {
    /* Brand vuoto generato da BoostCake/Twb: non serve in V2 (logo e' dentro blocco1).
       Va nascosto altrimenti il suo padding/margin di default sposta il wrapper. */
    .navbar.navbar-fixed-top > .navbar-inner > .container > a.brand,
    .navbar.navbar-fixed-top > .navbar-inner > .container-fluid > a.brand {
        display: none !important;
    }
    .nav.pull-right.v2-nav-wrapper,
    .navbar .nav.pull-right.v2-nav-wrapper {
        display: grid !important;
        grid-template-columns: 1fr auto 1fr !important;
        align-items: center !important;
        gap: 0 !important;
        justify-content: stretch !important;
        width: 100% !important;
        /* Annulla float:right di Bootstrap che con width:100% genera offset */
        float: none !important;
        margin: 0 !important;
    }
    .navbar .nav.pull-right.v2-nav-wrapper .blocco1.v2-nav-logo {
        grid-column: 1 !important;
        justify-self: start !important;
        flex: none !important;
    }
    .navbar .nav.pull-right.v2-nav-wrapper .blocco2.v2-nav-menu {
        grid-column: 2 !important;
        justify-self: center !important;
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        flex: none !important;
        width: auto !important;
    }
    .navbar .nav.pull-right.v2-nav-wrapper .blocco3.v2-nav-actions {
        grid-column: 3 !important;
        justify-self: end !important;
        flex: none !important;
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }
}

/* === [V2 FIX z-index] La backdrop non deve coprire il menu slide-in === */
@media (max-width: 991px) {
    /* Quando il menu mobile e' aperto, navbar passa sopra la backdrop */
    body.v2-menu-open .navbar.navbar-fixed-top {
        z-index: 1080 !important;
    }
    /* Backdrop e' sotto il navbar (e quindi sotto il menu) ma sopra il contenuto */
    .v2-mobile-backdrop {
        z-index: 1040 !important;
    }
    /* Garantisco z-index alto al menu slide-in dentro al navbar */
    .nav-collapse, .nav-collapse.collapse {
        z-index: 1090 !important;
    }
}

/* === [V2 FINAL] CTA "Inizia gratis" mobile: design pulito e proporzionato === */
@media (max-width: 991px) {
    .nav-collapse .navbar-cta-li {
        margin: 18px 22px !important;
        border-bottom: 0 !important;
        padding: 0 !important;
    }
    .nav-collapse .navbar-cta-li a.navbar-cta-permanent,
    .nav-collapse .navbar-cta-li a {
        display: inline-flex !important;
        width: 100% !important;
        max-width: 100% !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;
        background: #0D80C0 !important;  /* solido brand, no gradient pesante */
        background-image: none !important;
        color: #fff !important;
        border: 0 !important;
        padding: 11px 22px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        min-height: 44px !important;
        border-radius: 99px !important;
        box-shadow: 0 3px 10px rgba(13,128,192,.25) !important;
        text-decoration: none !important;
        text-shadow: none !important;
        letter-spacing: .3px;
    }
    .nav-collapse .navbar-cta-li a.navbar-cta-permanent:hover {
        background: #0a6396 !important;
        color: #fff !important;
    }
    .nav-collapse .navbar-cta-li a.navbar-cta-permanent .arrow {
        font-size: 14px;
        line-height: 1;
    }
}


/* ====================================================================
   ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE MENU FINAL — versione consolidata, vince su tutto        ║
   ║  Risolve: overflow CTA, scroll, layout, gerarchia                ║
   ╚══════════════════════════════════════════════════════════════════╝
   ==================================================================== */
@media (max-width: 991px) {

    /* === NAVBAR TOP MOBILE — logo + hamburger === */
    .container-mobile-menu-flex {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding: 8px 20px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }
    .container-mobile-menu-flex .homelogo-mobile {
        flex: 0 0 auto !important;
        margin: 0 !important;
        width: auto !important;
    }
    .container-mobile-menu-flex .homelogo-mobile img {
        height: 36px !important;
        width: auto !important;
        display: block;
    }
    .navbar .btn-navbar {
        flex: 0 0 auto !important;
        width: auto !important;
        padding: 8px !important;
        background: transparent !important;
        border: 0 !important;
        font-size: 0 !important;
        color: transparent !important;
        margin: 0 !important;
        order: 3;
        box-shadow: none !important;
    }
    .navbar .btn-navbar img {
        width: 28px !important;
        height: 28px !important;
        filter: brightness(0) invert(1);
        display: block;
    }
    .container-mobile-menu-flex .select-lingua-mobile {
        display: none !important;
    }

    /* === SLIDE-IN MENU — pannello laterale === */
    .nav-collapse,
    .nav-collapse.collapse {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 88% !important;
        max-width: 380px !important;
        height: 100vh !important;
        max-height: 100vh !important;
        background: #fff !important;
        border-radius: 0 !important;
        box-shadow: -8px 0 32px rgba(0,0,0,.24) !important;
        transform: translateX(100%);
        transition: transform .3s cubic-bezier(.4, 0, .2, 1);
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
        padding: 56px 0 24px 0 !important;
        margin: 0 !important;
        z-index: 1090 !important;
        box-sizing: border-box !important;
    }
    .nav-collapse.in,
    .nav-collapse.collapse.in {
        height: 100vh !important;
        max-height: 100vh !important;
        transform: translateX(0) !important;
    }

    /* === X CLOSE BUTTON === */
    .v2-menu-close {
        position: absolute !important;
        top: 12px !important;
        right: 16px !important;
        width: 40px !important;
        height: 40px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        border: 0 !important;
        font-size: 32px !important;
        line-height: 1 !important;
        color: #0b3a66 !important;
        font-weight: 300 !important;
        cursor: pointer !important;
        border-radius: 50% !important;
        z-index: 100 !important;
        padding: 0 !important;
        box-shadow: none !important;
    }
    .v2-menu-close:hover, .v2-menu-close:focus {
        background: #f1f6fb !important;
        outline: none !important;
    }

    /* === RESET wrapper interno === */
    .nav-collapse .nav.pull-right,
    .nav-collapse .nav.pull-right.v2-nav-wrapper {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        float: none !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    /* === BLOCCHI: logo (nascosto), menu, actions === */
    .nav-collapse .blocco1.v2-nav-logo {
        display: none !important;
    }
    .nav-collapse .blocco2,
    .nav-collapse .blocco2.v2-nav-menu,
    .nav-collapse .blocco3,
    .nav-collapse .blocco3.v2-nav-actions {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        float: none !important;
        text-align: left !important;
    }

    /* === VOCI MENU — vedi blocco consolidato in fondo === */
    .nav-collapse .voce-menu {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    /* === DROPDOWN ACCORDION === */
    .nav-collapse .v2-has-dropdown > .v2-dd-trigger {
        cursor: pointer;
        justify-content: space-between !important;
    }
    .nav-collapse .v2-has-dropdown .v2-caret {
        margin-left: auto;
        font-size: 12px;
        transition: transform .2s ease;
        display: inline-block;
    }
    .nav-collapse .v2-has-dropdown.is-open .v2-caret {
        transform: rotate(180deg);
    }
    .nav-collapse .v2-dropdown-menu {
        display: none;
        background: #fafbfc;
        padding: 4px 0;
        border-bottom: 1px solid #e3ebf3;
    }
    .nav-collapse .v2-has-dropdown.is-open .v2-dropdown-menu {
        display: block;
    }
    .nav-collapse .v2-dd-item {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 10px 22px 10px 50px !important;
        color: #0b3a66 !important;
        font-size: 14px !important;
        text-decoration: none !important;
        min-height: 44px;
        background: transparent !important;
        transition: background .15s ease;
    }
    .nav-collapse .v2-dd-item:hover {
        background: #f1f6fb !important;
    }
    .nav-collapse .v2-dd-item img {
        width: 20px !important;
        height: 20px !important;
        filter: brightness(.4) sepia(1) hue-rotate(180deg) saturate(3);
        flex: 0 0 20px;
    }
    .nav-collapse .v2-dd-item span {
        display: flex;
        flex-direction: column;
        gap: 2px;
        flex: 1 1 auto;
    }
    .nav-collapse .v2-dd-item strong {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.3;
    }
    .nav-collapse .v2-dd-item em {
        display: none !important;  /* descrittori nascosti su mobile */
    }

    /* === CTA "Inizia gratis" — pillola elegante con respiro generoso ===
       Spazio chiaro tra fine voci menu (Contattaci) e action CTA.
       cache-bust-2026-05-25 */
    .nav-collapse .navbar-cta-li {
        display: block !important;
        margin-top: 24px !important;
        margin-right: 22px !important;
        margin-bottom: 24px !important;
        margin-left: 22px !important;
        padding: 0 !important;
        border-bottom: 0 !important;
        border-top: 0 !important;
        box-sizing: border-box !important;
        width: auto !important;
    }
    /* (Contattaci mantiene il suo border-bottom come le altre voci — il margin-top:32px
       sopra la CTA fornisce gia' lo spacing necessario, niente "attaccato") */

    /* Il selettore lingua desktop (#language-select-desktop) e' duplicato dentro
       .nav-collapse > blocco3. Su mobile usiamo la griglia 4x2 .selettore-lingua-mobile,
       quindi nascondiamo del tutto la versione desktop. */
    .nav-collapse #language-select-desktop {
        display: none !important;
    }
    .nav-collapse .navbar-cta-li > div,
    .nav-collapse .navbar-cta-li > div[title] {
        width: 100%;
        padding: 0;
        margin: 0;
        background: transparent !important;
    }
    .nav-collapse .navbar-cta-li a.navbar-cta-permanent {
        display: inline-flex !important;
        width: 100% !important;
        box-sizing: border-box !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;
        background: #0D80C0 !important;
        background-image: none !important;
        color: #fff !important;
        border: 0 !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        min-height: 46px !important;
        border-radius: 99px !important;
        box-shadow: 0 4px 12px rgba(13,128,192,.28) !important;
        text-decoration: none !important;
        text-shadow: none !important;
        letter-spacing: .3px;
        margin: 0 !important;
        max-width: 100% !important;
    }
    .nav-collapse .navbar-cta-li a.navbar-cta-permanent:hover {
        background: #0a6396 !important;
        color: #fff !important;
        text-decoration: none !important;
    }
    .nav-collapse .navbar-cta-li a.navbar-cta-permanent .arrow {
        font-size: 14px;
        line-height: 1;
        display: inline-block;
    }

    /* === SELETTORE LINGUA grid 4x2 === */
    .nav-collapse .selettore-lingua-mobile {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 8px !important;
        position: static !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 22px 8px 22px !important;
        padding: 16px 0 0 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-top: 1px solid #e3ebf3 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        right: auto !important;
        left: auto !important;
        float: none !important;
        box-sizing: border-box;
    }
    .nav-collapse .selettore-lingua-mobile .v2-lang-label {
        grid-column: 1 / -1;
        display: block;
        font-size: 11px;
        font-weight: 700;
        color: #6b7280;
        letter-spacing: 1.5px;
        margin-bottom: 6px;
        text-transform: uppercase;
    }
    .nav-collapse .selettore-lingua-mobile p {
        margin: 0 !important;
        padding: 0 !important;
    }
    .nav-collapse .selettore-lingua-mobile a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        padding: 10px 4px !important;
        min-height: 56px !important;
        /* CRITICO: width 100% fa riempire la cella grid (77px). Senza, <a> collassa
           a min-content (solo "IT") = 9.6px e l'img dentro va a width 0. */
        width: 100% !important;
        /* CRITICO: azzera margin-left ereditato da regole legacy che spinge i chip 70px a destra */
        margin: 0 !important;
        text-align: center !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #0b3a66 !important;
        background: #f1f6fb !important;
        border-radius: 8px !important;
        border: 1.5px solid transparent !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }
    .nav-collapse .selettore-lingua-mobile a:hover,
    .nav-collapse .selettore-lingua-mobile a:focus {
        background: #dceaf6 !important;
        border-color: #cfe4f3 !important;
        text-decoration: none !important;
    }
    .nav-collapse .selettore-lingua-mobile a img {
        width: 24px !important;
        height: 24px !important;
        border-radius: 50% !important;
        object-fit: cover !important;
        margin: 0 !important;
    }
    .nav-collapse .selettore-lingua-mobile a img + img {
        display: none !important;
    }

    /* === BACKDROP — sotto al navbar quando aperto === */
    .v2-mobile-backdrop {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(0, 0, 0, .5) !important;
        z-index: 1040 !important;
        opacity: 0;
        visibility: hidden;
        transition: opacity .3s ease, visibility .3s ease;
        cursor: pointer;
    }
    .v2-mobile-backdrop.is-active {
        opacity: 1;
        visibility: visible;
    }

    /* === Body scroll lock quando menu aperto ===
       Combinazione: overflow:hidden su html+body + position:fixed (gestito da JS)
       = scroll completamente bloccato sotto il menu su tutti i browser, iOS incluso. */
    html.v2-menu-open,
    body.v2-menu-open {
        overflow: hidden !important;
        overscroll-behavior: contain !important;
    }
    body.v2-menu-open .navbar.navbar-fixed-top {
        z-index: 1080 !important;
    }
}

/* ==== fine MOBILE MENU FINAL ===================================== */

/* === [V2 FINAL POLISH] Header brand + lingua active === */
@media (max-width: 991px) {
    /* Rimuovi padding-top vecchio del nav-collapse (lo gestisce l'header) */
    .nav-collapse,
    .nav-collapse.collapse {
        padding-top: 0 !important;
    }
    /* Header del menu mobile: logo brand + X close */
    .v2-menu-header {
        position: sticky;
        top: 0;
        z-index: 5;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 18px;
        border-bottom: 1px solid #e3ebf3;
        background: #fff;
    }
    .v2-menu-brand {
        display: inline-flex;
        align-items: center;
        text-decoration: none !important;
    }
    .v2-menu-brand img {
        height: 32px;
        width: auto;
        display: block;
    }
    .v2-menu-header .v2-menu-close {
        position: static !important;
        top: auto !important;
        right: auto !important;
    }

    /* === LINGUA: stato active (lingua corrente) === */
    .nav-collapse .selettore-lingua-mobile a.is-active {
        background: #0D80C0 !important;
        color: #fff !important;
        border-color: #0D80C0 !important;
        box-shadow: 0 2px 8px rgba(13,128,192,.22);
    }
    .nav-collapse .selettore-lingua-mobile a.is-active img {
        border: 2px solid #fff;
    }
    .nav-collapse .selettore-lingua-mobile a.is-active::after {
        content: "\2713";
        position: absolute;
        top: 4px;
        right: 6px;
        font-size: 10px;
        font-weight: 700;
        line-height: 1;
        color: #fff;
    }
    .nav-collapse .selettore-lingua-mobile a {
        position: relative;
    }
}

/* === [V2 FINAL POLISH 2] Voci menu mobile + lingua active senza salto di altezza === */
@media (max-width: 991px) {
    /* LINGUA ACTIVE: niente bordo bianco e niente checkmark che cambiano l'altezza.
       Solo background blu + bordo blu coordinato. */
    .nav-collapse .selettore-lingua-mobile a.is-active {
        background: #0D80C0 !important;
        color: #fff !important;
        border-color: #0D80C0 !important;
        box-shadow: 0 2px 8px rgba(13,128,192,.22);
        font-weight: 700 !important;
    }
    .nav-collapse .selettore-lingua-mobile a.is-active img {
        border: 0 !important;          /* niente bordo bianco */
        outline: 0 !important;
    }
    .nav-collapse .selettore-lingua-mobile a.is-active::after {
        content: none !important;      /* niente checkmark */
    }

    /* VOCI MENU mobile: stile pulito e moderno (chevron, font-weight equilibrato) */
    .nav-collapse .voce-menu {
        border-bottom: 1px solid #f1f6fb;
    }
    .nav-collapse .voce-menu > a,
    .nav-collapse .voce-menu > div > a {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        min-height: 30px !important;
        padding: 10px 21px !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        letter-spacing: .1px;
        color: #0b3a66 !important;
        background: transparent !important;
        position: relative;
        text-decoration: none !important;
        border: 0 !important;
        text-shadow: none !important;
        transition: background .15s ease, padding-left .15s ease;
    }
    /* Chevron > a destra sulle voci NORMALI (non dropdown) */
    .nav-collapse .voce-menu:not(.v2-has-dropdown):not(.navbar-cta-li) > a::after,
    .nav-collapse .voce-menu:not(.v2-has-dropdown):not(.navbar-cta-li) > div > a::after {
        content: "\203A";   /* chevron unicode > */
        margin-left: auto;
        font-size: 22px;
        line-height: 1;
        color: #9aa9b8;
        font-weight: 400;
        transition: transform .15s ease, color .15s ease;
    }
    .nav-collapse .voce-menu:not(.v2-has-dropdown):not(.navbar-cta-li) > a:hover::after,
    .nav-collapse .voce-menu:not(.v2-has-dropdown):not(.navbar-cta-li) > div > a:hover::after {
        color: #0D80C0;
        transform: translateX(3px);
    }
    /* Hover: leggero indent + bg sottile */
    .nav-collapse .voce-menu > a:hover,
    .nav-collapse .voce-menu > a:focus,
    .nav-collapse .voce-menu > div > a:hover,
    .nav-collapse .voce-menu > div > a:focus {
        background: #f1f6fb !important;
        padding-left: 26px !important;
        color: #0b3a66 !important;
    }

    /* Dropdown trigger (Quiz ▾): grassetto come le altre voci */
    .nav-collapse .v2-has-dropdown > .v2-dd-trigger {
        font-weight: 700 !important;
    }
    .nav-collapse .v2-has-dropdown .v2-caret {
        font-size: 14px;
        color: #9aa9b8;
        font-weight: 400;
    }
    .nav-collapse .v2-has-dropdown.is-open .v2-caret {
        color: #0D80C0;
    }
    /* Quando dropdown aperto, evidenzia il trigger */
    .nav-collapse .v2-has-dropdown.is-open > .v2-dd-trigger {
        background: #f1f6fb !important;
        color: #0b3a66 !important;
    }

    /* Dropdown items: più freschi */
    .nav-collapse .v2-dd-item {
        padding: 11px 22px 11px 50px !important;
        font-size: 14.5px !important;
        font-weight: 500 !important;
        color: #445262 !important;
        min-height: 44px !important;
    }
    .nav-collapse .v2-dd-item:hover {
        background: #fff !important;
        color: #0b3a66 !important;
    }
    .nav-collapse .v2-dd-item strong {
        font-weight: 600;
    }
}

/* === [V2 FIX URGENT] v2-menu-header deve essere SOLO mobile === */
.v2-menu-header {
    display: none;
}
@media (max-width: 991px) {
    .v2-menu-header {
        display: flex !important;
    }
}

/* === [V2 FIX] Nascondi pre-header E COLLASSA spazio quando menu mobile aperto === */
@media (max-width: 991px) {
    body.v2-menu-open #top-message,
    body.v2-menu-open .top-message {
        transform: translateY(-100%) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        height: 0 !important;
        min-height: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        transition: transform .25s ease, opacity .25s ease, height .25s ease, padding .25s ease;
    }
    /* Forza navbar a top:0 quando menu aperto */
    body.v2-menu-open .navbar.navbar-fixed-top {
        top: 0 !important;
    }
    /* Nascondi anche il wrapper .row-fluid del pre-header se presente */
    body.v2-menu-open .row-fluid:has(#top-message) {
        height: 0 !important;
        overflow: hidden !important;
    }
}

/* === [V2 FIX] Header menu mobile: stesso gradient sobrio del navbar === */
@media (max-width: 991px) {
    .v2-menu-header {
        background: radial-gradient(ellipse at center, rgba(25, 110, 165, 1) 0%, rgba(0, 82, 150, 1) 100%) !important;
        border-bottom: 0 !important;
        padding: 14px 18px !important;
    }
    .v2-menu-header .v2-menu-brand img {
        height: 34px !important;
        width: auto !important;
        filter: none !important;
    }
    .v2-menu-header .v2-menu-close {
        color: #fff !important;
        background: transparent !important;
        font-weight: 300 !important;
    }
    .v2-menu-header .v2-menu-close:hover,
    .v2-menu-header .v2-menu-close:focus {
        background: rgba(255,255,255,.15) !important;
        color: #fff !important;
    }
}

/* [V2 cleanup] FIX 3 mirati rimosso — incorporato nel blocco consolidato in fondo */

/* [V2 cleanup] FIX FINALE 2 rimosso — incorporato nel blocco consolidato in fondo */

/* ====================================================================
   [V2 CONSOLIDATO FINALE] Lingua chips + spazio bottom
   (voce-menu mobile gestita dal blocco POLISH sopra, già aggiornato)
   ==================================================================== */
@media (max-width: 991px) {
    /* Chip lingua: TUTTI uguali in altezza, nessuna shadow su active */
    .nav-collapse .selettore-lingua-mobile a,
    .nav-collapse .selettore-lingua-mobile a.is-active {
        height: auto !important;
        max-height: none !important;
        min-height: 56px !important;
        padding: 10px 4px !important;
        box-sizing: border-box !important;
        box-shadow: none !important;
    }
    /* Spazio sotto la griglia lingue */
    .nav-collapse .selettore-lingua-mobile {
        margin-bottom: 24px !important;
        padding-bottom: 8px !important;
    }
    .nav-collapse,
    .nav-collapse.collapse {
        padding-bottom: 32px !important;
    }
}

/* [V2 cleanup] blocco "RIDUCO PADDING VERTICALE" rimosso — gestito dal POLISH consolidato */
@media (max-width: 991px) {
    /* Mantengo solo il reset dei wrapper interni (per non sommare padding extra).
       ESCLUDO .navbar-cta-li dal reset margin perche' ha bisogno di margin-top/bottom
       per respiro sopra/sotto la pillola — altrimenti il margin:0 shorthand qui
       (specificita' 0,2,1) sovrascrive i miei margin-top/bottom (specificita' 0,2,0). */
    body .nav-collapse .voce-menu > div,
    body .nav-collapse .voce-menu:not(.navbar-cta-li) {
        padding: 0 !important;
        margin: 0 !important;
    }
    /* ESCLUDO .navbar-cta-li: la CTA "Inizia gratis" e' un blocco3 > div ma ha
       bisogno di margin verticale per il respiro sopra/sotto la pillola.
       Senza :not, la specificita' (0,3,1) di questa regola sovrascrive il
       margin-top/bottom della regola dedicata alla CTA. */
    body .nav-collapse .blocco2 > div,
    body .nav-collapse .blocco3 > div:not(.navbar-cta-li) {
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* [V2 cleanup] rimosso fix che nascondeva la bandiera (era interpretazione sbagliata della richiesta) */

/* === [V2] Più spazio laterale al CTA "Inizia gratis" nel menu mobile === */
@media (max-width: 991px) {
    body .nav-collapse .navbar-cta-li {
        margin-left: 32px !important;
        margin-right: 32px !important;
    }
}

/* === [V2] Spazio laterale uniforme dentro il menu mobile === */
@media (max-width: 991px) {
    /* Padding laterale su tutto il pannello slide-in */
    body .nav-collapse,
    body .nav-collapse.collapse {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    /* L'header del menu (logo+X) deve restare edge-to-edge: compenso il padding del parent */
    body .nav-collapse .v2-menu-header {
        margin-left: -14px !important;
        margin-right: -14px !important;
    }
    /* I separator border delle voci ora si fermano alla nuova area interna,
       ma vogliamo che siano edge-to-edge anche loro: estendiamo con margin negativo */
    body .nav-collapse .voce-menu {
        margin-left: -14px !important;
        margin-right: -14px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    /* Il padding interno della voce A rimane 22px laterali per il testo */
    /* CTA e Lingua: i loro margin attuali (32/22 sides) ora sono interni al padding 14
       → spazio effettivo 14+32=46 e 14+22=36 sui due elementi.
       Riduco margin a 8/0 per non sommarsi al padding parent. */
    body .nav-collapse .navbar-cta-li {
        margin-left: 8px !important;
        margin-right: 8px !important;
    }
    body .nav-collapse .selettore-lingua-mobile {
        margin-left: 8px !important;
        margin-right: 8px !important;
    }
}

/* === [V2] Previene scroll orizzontale che il scrollbar-gutter causava con elementi 100vw ===
   IMPORTANTE: 'overflow-x: hidden' creerebbe scroll context e ROMPEREBBE position:sticky
   (es. es-detail-toolbar con timer esame). Uso 'clip' che clippa senza scroll context.
   Browser vecchi senza supporto 'clip' useranno 'hidden' come fallback. */
html, body {
    overflow-x: hidden;  /* fallback browser vecchi */
    overflow-x: clip;    /* moderno: preserva position:sticky */
}

/* === [V2] "Vedi tutti i quiz" — link discreto in fondo al dropdown === */
.v2-dropdown-menu .v2-dd-item-all,
.nav-collapse .v2-dropdown-menu .v2-dd-item-all {
    display: block !important;
    text-align: center !important;
    border-top: 1px solid #e3ebf3 !important;
    margin-top: 6px !important;
    padding: 10px 14px !important;
    color: #0D80C0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: .2px;
    background: transparent !important;
    border-radius: 0 !important;
}
.v2-dropdown-menu .v2-dd-item-all:hover {
    color: #0a6396 !important;
    background: #f8fafc !important;
}
@media (max-width: 991px) {
    .nav-collapse .v2-dropdown-menu .v2-dd-item-all {
        padding: 12px 22px !important;
        text-align: left !important;
    }
}

/* === [V2] Selettore lingua desktop: apri all'hover con fade-in === */
@media (min-width: 992px) {
    /* Hover sul trigger: rendi visibile e anima */
    .v2-nav-actions #language-select-desktop:hover .selettore-lingua-desktop,
    .v2-nav-actions #language-select-desktop:focus-within .selettore-lingua-desktop,
    .v2-nav-actions #language-select-desktop.is-open .selettore-lingua-desktop {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
        transition: opacity .18s ease, transform .18s ease, visibility 0s linear 0s !important;
    }
}
