/* Questionario «life events» sotto gli articoli /guida. Tutto sotto .qz. */
.qz { margin: 32px 0; font-size: 16px; }
.qz-box { background: #f4f8fb; border-left: 4px solid #1f5f8b; padding: 20px; border-radius: 6px; }
.qz-box__testo { margin: 0 0 16px; line-height: 1.6; color: #1d2a33; }
.qz-btn { background: #1f5f8b; color: #fff; border: 2px solid #1f5f8b; padding: 10px 18px; border-radius: 6px; font-weight: 600; }
.qz-btn:hover, .qz-btn:focus { background: #174a6c; color: #fff; }
.qz-btn:focus-visible, .qz input:focus-visible, .qz select:focus-visible, .qz a:focus-visible { outline: 3px solid #f2a900; outline-offset: 2px; }
.qz-btn--secondario { background: #fff; color: #1f5f8b; }
.qz-btn--secondario:hover { background: #e9f1f7; color: #174a6c; }
.qz-btn--cta { width: 100%; }
@media (min-width: 768px) { .qz-btn--cta { width: auto; } }
.qz-form { margin-top: 20px; border: 1px solid #d7e1e8; border-radius: 6px; padding: 20px; }
.qz-titolo { font-size: 1.25rem; margin: 0 0 4px; }
.qz-avanzamento { color: #4a5b66; font-size: 0.9rem; margin: 0 0 12px; }
.qz-domanda, .qz-contatto { border: 0; padding: 0; margin: 0 0 24px; min-width: 0; }
.qz-legend { font-size: 1.1rem; font-weight: 600; margin-bottom: 12px; }
.qz-opzione { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid #d7e1e8; border-radius: 6px; margin-bottom: 8px; }
.qz-opzione input { margin-top: 4px; width: 20px; height: 20px; flex: 0 0 20px; }
.qz-opzione label { margin: 0; cursor: pointer; flex: 1; }
.qz-label { display: block; font-weight: 600; margin: 12px 0 4px; }
.qz-aiuto, .qz-facoltativo { color: #4a5b66; font-size: 0.9rem; font-weight: 400; }
.qz-errore { color: #b00020; font-size: 0.95rem; margin: 6px 0 0; min-height: 0; }
.qz-errore:empty { display: none; }
.qz-errore-generale { background: #fdecee; color: #8a0018; padding: 12px; border-radius: 6px; margin-top: 16px; }
.qz-nota { background: #fff7e0; padding: 10px; border-radius: 6px; }
.qz-telefono { display: grid; grid-template-columns: 1fr; gap: 8px; }
@media (min-width: 576px) { .qz-telefono { grid-template-columns: 180px 1fr; } }
.qz-comune { position: relative; }
.qz-comune-lista { position: absolute; z-index: 20; left: 0; right: 0; background: #fff; border: 1px solid #b8c7d1; border-radius: 6px; list-style: none; margin: 2px 0 0; padding: 4px 0; max-height: 260px; overflow-y: auto; }
.qz-comune-lista li { padding: 8px 12px; cursor: pointer; }
.qz-comune-lista li[aria-selected="true"], .qz-comune-lista li:hover { background: #e9f1f7; }
.qz-riepilogo__lista dt { font-weight: 400; color: #4a5b66; margin-top: 10px; }
.qz-riepilogo__lista dd { margin: 0; font-weight: 600; display: flex; justify-content: space-between; gap: 12px; }
.qz-riepilogo__nota { margin-top: 16px; color: #1d2a33; }
.qz-link { background: none; border: 0; color: #1f5f8b; text-decoration: underline; padding: 0; font-weight: 400; }
.qz-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; }
.qz-esito { background: #e8f5ec; border-left: 4px solid #1e7b3a; padding: 16px; border-radius: 6px; margin-top: 16px; }
.qz-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
/* Con JS attivo una sola schermata per volta; senza JS si vede tutto. */
.qz-js .qz-passo-nascosto { display: none; }

.qz-wa-diretto { margin: 12px 0 0; }
.qz-wa-diretto a { color: #1e7b3a; font-weight: 600; }
.qz-solo-richiamata { border-left: 3px solid #d7e1e8; padding-left: 12px; margin: 8px 0 16px; }
.qz-sottotitolo-piccolo { font-weight: 600; margin: 0 0 4px; }
.qz-wa { margin-top: 16px; padding-top: 12px; border-top: 1px solid #d7e1e8; }
.qz-btn--whatsapp { background: #1e7b3a; border-color: #1e7b3a; }
.qz-btn--whatsapp:hover, .qz-btn--whatsapp:focus { background: #17612e; border-color: #17612e; color: #fff; }

/* Barra fissa in fondo allo schermo durante la lettura dell'articolo. */
.qz-barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 990; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 16px;
    background: #fff; border-top: 3px solid #1f5f8b; box-shadow: 0 -4px 16px rgba(0, 0, 0, .12);
    padding: 10px 48px 10px 16px; padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); font-size: 16px; }
.qz-barra[hidden] { display: none; }
.qz-barra__testo { margin: 0; font-weight: 600; color: #1d2a33; }
.qz-barra__azioni { display: flex; gap: 8px; flex: 1 1 100%; }
.qz-barra__cta { flex: 1; min-width: 0; text-align: center; }
/* .btn di Bootstrap impedisce di andare a capo: su schermi stretti il testo uscirebbe dalla barra. */
.qz-barra .qz-btn { padding: 8px 14px; white-space: normal; line-height: 1.25; }
.qz-barra .qz-btn:focus-visible, .qz-barra__chiudi:focus-visible { outline: 3px solid #f2a900; outline-offset: 2px; }
.qz-barra__chiudi { position: absolute; top: 4px; right: 6px; width: 40px; height: 40px; border: 0; background: none; font-size: 26px; line-height: 1; color: #4a5b66; cursor: pointer; }
@media (max-width: 399px) { .qz-barra__testo { font-size: .9rem; } }
@media (min-width: 768px) {
    .qz-barra { flex-wrap: nowrap; }
    .qz-barra__azioni { flex: 0 0 auto; }
    .qz-barra__cta { flex: 0 0 auto; }
}
/* Lo spazio in fondo alla pagina e i pulsanti fissi del sito salgono sopra la barra. */
body.qz-barra-attiva { padding-bottom: var(--qz-barra-h, 72px); }
body.qz-barra-attiva #tornaSu, body.qz-barra-attiva #vaiGiu, body.qz-barra-attiva .progress-wrap { bottom: calc(var(--qz-barra-h, 72px) + 12px); }
/* Widget WhatsApp esterno (suagencia), anch'esso fisso in basso a destra: senza !important vince il suo foglio. */
body.qz-barra-attiva #suagenciaTagWhatsapp { bottom: calc(var(--qz-barra-h, 72px) + 12px) !important; }
