/* Schede da 10 quiz (capitolo, sezione, difficili; base e vela) — 14/10/2026.
   Stesso linguaggio del coach: colonna centrale, domanda in evidenza, risposte
   come riquadri con lettera, "Correggi" come azione principale.
   I radio restano .btn-check di Bootstrap (nascosti): nomi e valori del form
   non cambiano. */
.qz-page { --qz-brand: #c0581d; --qz-brand-dark: #9a4517; --qz-tint: #f6e5d1; --qz-line: #e3ddd3; --qz-ink: #1f1a17; --qz-ink-2: #5f5852;
  max-width: 780px; margin: 0 auto; padding: 0 16px 32px; color: var(--qz-ink); }
.qz-page .breadcrumb { padding: 16px 0 0 !important; margin: 0; font-size: 14px; }
.qz-page .breadcrumb a { color: var(--qz-brand-dark); }
.qz-page h1 { font-size: 28px; font-weight: 700; text-transform: none !important; text-align: left !important; padding: 8px 0 4px !important; margin: 0; }
.qz-page .alert { font-size: 14px; border-radius: 10px; text-align: left !important; }
.qz-page .alert-warning { background: #fdf6ef; border-color: #ece5da; color: var(--qz-ink); }
.qz-page .alert-info { background: transparent; border: 0; color: var(--qz-ink-2); padding: 0 0 8px; }
.qz-page .container { padding: 0; max-width: none; }
.qz-sheet { font-size: 15px; color: var(--qz-ink-2); margin: 4px 0 18px; }
.qz-sheet b { color: var(--qz-ink); }
.qz-q { margin: 0 0 26px; }
.qz-q__text { font-size: 18px; font-weight: 600; line-height: 1.4; margin: 0 0 4px; }
.qz-q__meta { font-size: 13px; color: var(--qz-ink-2); margin: 0 0 10px; }
.qz-q__meta .is-low { color: #a83a1d; } .qz-q__meta .is-mid { color: #9a7117; } .qz-q__meta .is-good { color: #4f6e54; }
.qz-q__img { margin: 4px 0 12px; }
.qz-q__img img { max-width: 100%; height: auto; border: 1px solid var(--qz-line); border-radius: 8px; }
.qz-q__answers { display: grid; gap: 8px; }
.qz-answer {
  display: flex; align-items: center; gap: 12px; margin: 0; cursor: pointer;
  padding: 12px 14px; border: 1.5px solid var(--qz-line); border-radius: 10px; background: #fff;
  font-size: 16px; line-height: 1.4; transition: border-color .15s ease, background-color .15s ease;
}
.qz-answer:hover { border-color: #e4b695; background: #fffdf8; }
.qz-answer__letter {
  flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--qz-tint); color: #7d370f; font-size: 13px; font-weight: 700;
}
.btn-check:checked + .qz-answer { border-color: var(--qz-brand); background: var(--qz-tint); box-shadow: 0 0 0 3px #e4b695; }
.btn-check:checked + .qz-answer .qz-answer__letter { background: var(--qz-brand); color: #fff; }
.btn-check:focus-visible + .qz-answer { outline: 3px solid #e4b695; outline-offset: 2px; }
.qz-submit { margin: 8px 0 24px; }
.qz-submit button {
  width: 100%; border: 0; border-radius: 10px; padding: 14px 18px; min-height: 48px;
  background: var(--qz-brand); color: #fff; font-size: 17px; font-weight: 700;
}
.qz-submit button:hover { background: var(--qz-brand-dark); }
.qz-page .pagination { margin: 8px 0 16px; }
.qz-page .page-link { color: var(--qz-brand-dark); border-color: var(--qz-line); }
.qz-page .page-item.active .page-link { background: var(--qz-brand); border-color: var(--qz-brand); color: #fff; }
.qz-page .pagination.p-5 { padding: 0 !important; }
@media (min-width: 768px) { .qz-q__text { font-size: 19px; } .qz-page h1 { font-size: 32px; } }

/* Correzione della scheda (pagine *_answers): stessa veste, logica invariata.
   I template usano ancora i bottoni Bootstrap (.btn-success = risposta giusta,
   .btn-danger = la tua sbagliata, .btn-outline-primary = lasciata in bianco):
   qui diventano riquadri come nel coach. */
.qz-review .pagination { justify-content: flex-start !important; }
.qz-review h2 { font-size: 15px; font-weight: 400; color: var(--qz-ink-2); margin: 4px 0 10px; }
.qz-review h2 small { font-size: inherit; color: inherit !important; }
.qz-review .bg-pnautica.text-center {
  background: #fdf6ef !important; color: var(--qz-ink) !important; text-align: left !important;
  border: 1px solid #ece5da; border-radius: 10px; padding: 14px 16px !important;
  font-size: 18px; font-weight: 700; margin-bottom: 20px;
}
.qz-review .bg-pnautica.text-center small { font-size: 14px; font-weight: 400; color: var(--qz-ink-2); }
.qz-review .bg-pnautica.text-center a { color: var(--qz-brand-dark) !important; }
.qz-review .container > .container { padding: 10px 0 0 !important; }
.qz-review > .container, .qz-review .qz-review__q { font-size: 18px; font-weight: 600; line-height: 1.4; margin-bottom: 22px; }
.qz-review .container .container br { display: none; }
.qz-review .container .container .btn {
  display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; white-space: normal;
  font-size: 16px; font-weight: 400; line-height: 1.4; color: var(--qz-ink);
  background: #fff; border: 1.5px solid var(--qz-line); border-radius: 10px;
  padding: 12px 14px; margin: 0 0 8px; box-shadow: none; cursor: default;
}
.qz-review .container .container .btn-success { background: #e8efe6; border-color: #6b8e6f; font-weight: 600; }
.qz-review .container .container .btn-success::after { content: "✓ giusta"; margin-left: auto; padding-left: 12px; white-space: nowrap; color: #4f6e54; font-size: 14px; font-weight: 700; }
.qz-review .container .container .btn-danger { background: #f3dccf; border-color: #a83a1d; }
.qz-review .container .container .btn-danger::after { content: "la tua risposta"; margin-left: auto; padding-left: 12px; white-space: nowrap; color: #832b14; font-size: 14px; font-weight: 700; }
.qz-review .badge { background: none !important; color: var(--qz-ink-2) !important; font-weight: 400; font-size: 13px; opacity: 1 !important; padding: 0 4px; }
.qz-review .badge[title^="Autenticati"] { display: none; }
.qz-review .btn-primary { background: var(--qz-brand); border-color: var(--qz-brand); color: #fff; }
.qz-review .btn-primary:hover { background: var(--qz-brand-dark); border-color: var(--qz-brand-dark); }
.qz-review .btn-outline-secondary { color: var(--qz-ink); border-color: var(--qz-line); }
.qz-review .text-center.text-muted.small { text-align: left !important; }
.qz-review .d-flex.justify-content-center { justify-content: flex-start !important; }

/* Invito a registrarsi (_partials/anon_quiz_conversion_cta.html) */
.qz-cta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px;
  background: #fdf6ef; border: 1px solid #ece5da; border-radius: 10px; padding: 14px 16px; margin: 12px 0 22px;
}
.qz-cta.is-strong { border-color: #e4b695; }
.qz-cta__text { flex: 1 1 320px; }
.qz-cta__title { margin: 0; font-size: 16px; font-weight: 700; color: var(--qz-ink, #1f1a17); }
.qz-cta__body { margin: 2px 0 0; font-size: 14px; font-weight: 400; color: var(--qz-ink-2, #5f5852); }
.qz-cta__btn {
  flex-shrink: 0; background: var(--qz-brand, #c0581d); color: #fff; text-decoration: none;
  border-radius: 10px; padding: 11px 18px; font-size: 15px; font-weight: 700;
}
.qz-cta__btn:hover { background: var(--qz-brand-dark, #9a4517); color: #fff; }

/* Esito per domanda nella correzione. Il template marca le opzioni non giuste
   di una domanda lasciata in bianco con .btn-outline-primary e la scelta
   sbagliata con .btn-danger: da qui si distinguono i tre casi.
   Senza :has() (browser vecchi) resta l'etichetta generica "✓ giusta". */
.qz-review .container .container:not(:has(.btn-danger)):not(:has(.btn-outline-primary)) .btn-success::after { content: "✓ la tua risposta"; }
.qz-review .container .container:has(.btn-outline-primary) .btn-success {
  background: #f4f8f3; border-style: dashed; font-weight: 600;
}
.qz-review .container .container:has(.btn-outline-primary) .btn-success::after { content: "in bianco · questa era giusta"; color: #4f6e54; }

/* Simulazioni d'esame: timer sempre visibile mentre si scorre */
.qz-timer {
  position: sticky; top: 0; z-index: 20; margin: 0 0 18px; padding: 12px 16px;
  background: #1E5082; color: #fff; border-radius: 10px;
  font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums;
  box-shadow: 0 6px 14px -8px rgba(30, 80, 130, .6);
  transition: background-color .4s ease;
}
/* Ultimi 5 minuti: rosso degli errori (classe messa dallo script del timer) */
.qz-timer.is-urgent { background: #a83a1d; box-shadow: 0 6px 14px -8px rgba(168, 58, 29, .6); }
.qz-timer:empty { display: none; }
/* Correzione delle simulazioni: il template scrive già "(tua risposta)" nel testo */
.qz-sim .container .container .btn-danger::after { content: none; }
.qz-review.qz-sim .container .container .btn-success::after { content: "✓ giusta" !important; }
.qz-sim .badge.bg-warning { background: #f6ecd3 !important; color: #7a5a12 !important; font-weight: 600; padding: 2px 8px; border-radius: 6px; }
.qz-sim a.page-link {
  display: block; text-align: center; border: 0; border-radius: 10px; padding: 14px 18px; margin: 8px 0 24px;
  background: var(--qz-brand); color: #fff; font-size: 17px; font-weight: 700; text-decoration: none;
}
.qz-sim a.page-link:hover { background: var(--qz-brand-dark); color: #fff; }

/* Link e pulsanti coerenti nelle pagine dei quiz (14/10/2026) */
.qz-page a:not(.qz-cta__btn):not(.btn):not(.page-link) { color: var(--qz-brand-dark); }
.qz-page .btn-pnautica, .qz-page .alert .btn {
  background: var(--qz-brand); border-color: var(--qz-brand); color: #fff !important;
  font-weight: 700; padding: 8px 14px; border-radius: 8px;
}
.qz-page .btn-pnautica:hover, .qz-page .alert .btn:hover { background: var(--qz-brand-dark); border-color: var(--qz-brand-dark); color: #fff; }

/* Simulazioni: domanda lasciata in bianco (badge "Non hai risposto") */
.qz-review.qz-sim .container:has(> .badge.bg-warning) .container .btn-success {
  background: #f4f8f3; border-style: dashed;
}
.qz-review.qz-sim .container:has(> .badge.bg-warning) .container .btn-success::after { content: "in bianco · questa era giusta" !important; }
