body {
    font-family: sans-serif;
    background-color: #f4f7f6; /* Un colore di sfondo leggermente diverso */
    padding-top: 56px; /* Altezza della navbar sticky */
}

.container {
    max-width: 800px; /* Larghezza massima per una migliore leggibilità */
}

.card-header {
    font-weight: bold;
}

.navbar-brand {
    font-weight: bold;
}

.question-block:last-child {
    border-bottom: none;
}

/*
NUOVI STILI PER IL FEEDBACK
*/
#feedback_area_current .alert { /* L'alert principale di "Corretto" o "Errato" */
    margin-bottom: 1rem;
    font-size: 1.1em; /* Leggermente più grande */
}

/* Stile generico per le sezioni di spiegazione */
#feedback_area_current .feedback-section {
    padding: 12px 18px;    /* Più padding */
    margin-top: 12px;
    margin-bottom: 12px;
    border-radius: 0.3rem; /* Angoli arrotondati */
    line-height: 1.6;      /* Interlinea migliorata */
    font-size: 0.95em;     /* Dimensione font per il testo della spiegazione */
}

/* Spiegazione specifica per la scelta errata dell'utente */
#feedback_area_current .feedback-user-choice-reason {
    background-color: #fff3cd; /* Sfondo giallo chiaro (Bootstrap warning light) */
    border: 1px solid #ffeeba;   /* Bordo coordinato */
    color: #856404;            /* Testo scuro per leggibilità */
}
#feedback_area_current .feedback-user-choice-reason strong {
    color: #66512c; /* Titolo ancora più scuro */
}

/* Spiegazione per la risposta corretta (sia quando l'utente ha sbagliato, sia quando ha indovinato in training) */
#feedback_area_current .feedback-correct-explanation {
    background-color: #d4edda; /* Sfondo verde chiaro (Bootstrap success light) */
    border: 1px solid #c3e6cb;   /* Bordo coordinato */
    color: #155724;            /* Testo scuro per leggibilità */
}
#feedback_area_current .feedback-correct-explanation strong {
    color: #0b2e13; /* Titolo ancora più scuro */
}

/* Stile per il paragrafo che introduce la risposta corretta quando l'utente ha sbagliato */
#feedback_area_current .feedback-correct-answer-intro {
    margin-top: 15px;   /* Più spazio sopra */
    margin-bottom: 5px; /* Meno spazio sotto prima della spiegazione */
    font-size: 1.05em;  /* Leggermente più grande */
    font-weight: 500;
}
#feedback_area_current .feedback-correct-answer-intro strong {
    font-weight: 700; /* Risposta corretta in grassetto più marcato */
    color: #155724;   /* Colore verde scuro */
}

/* Stili per evidenziare le scelte nella modalità feedback */
.choice-label.correct { 
    color: #28a745 !important; /* Verde Bootstrap per corretto */
    font-weight: bold !important; 
}
.choice-label.incorrect-selected { 
    /* text-decoration: line-through; */ /* Forse troppo, dipende dalle preferenze */
    color: #dc3545 !important; /* Rosso Bootstrap per errato */
    font-style: italic;
}
.choice-label.incorrect-selected::before {
    content: "✕ "; /* Simbolo X prima della risposta errata selezionata */
    color: #dc3545;
    font-weight: bold;
}
.choice-label.correct::before {
    content: "✓ "; /* Simbolo spunta prima della risposta corretta */
    color: #28a745;
    font-weight: bold;
}

.choice-input:disabled + .choice-label { 
    cursor: default; 
}

/* Stili per feedback in training mode */
#feedback_area .alert {
    margin-bottom: 1rem;
}
#feedback_area strong {
    font-size: 1.1em;
}
#feedback_area div { /* Spiegazioni specifiche */
    margin-top: 0.5em;
    padding-left: 10px;
    border-left: 2px solid #ccc;
}

.question-block:last-child {
    border-bottom: none; /* Rimuove il bordo per l'ultimo elemento */
}