/* Стили страницы теста/викторины (/tests/<slug>/).
 * Подключается из quiz_detail.html. На проде после правок нужен collectstatic
 * (ManifestStaticFilesStorage); локально с DEBUG отдаётся напрямую. */

.quiz-page { max-width: 720px; margin: 0 auto; }
.quiz-title { margin-bottom: 16px; }
.quiz-cover { width: 100%; height: auto; border-radius: 12px; margin-bottom: 16px; }
.quiz-intro { margin-bottom: 16px; line-height: 1.6; color: #3c486b; }
.quiz-screen { background: #f7f9fb; border: 1px solid #e2e8f0; border-radius: 14px; padding: 32px 28px; }
.quiz-progress { color: #6b7a8d; font-weight: 600; margin: 0 0 16px; }

/* Стартовый экран */
.quiz-start { text-align: center; padding: 40px 28px; }
.quiz-start-icon { box-sizing: border-box; width: 72px; height: 72px; margin: 0 auto 14px; display: block; border-radius: 50%; background: #fff; padding: 4px; object-fit: contain; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.quiz-start-lead { font-size: 1.35rem; font-weight: 700; color: #2d3a47; margin: 0 0 8px; }
.quiz-start-meta { color: #6b7a8d; margin: 0 0 8px; }
.quiz-start-passed { color: #8a98a8; font-size: 0.9rem; margin: 22px 0 0; }
.quiz-btn--lg { padding: 14px 38px; font-size: 1.1rem; }

/* Вопрос */
.quiz-question-image { display: block; max-width: 100%; max-height: 380px; margin: 0 auto 18px; border-radius: 10px; object-fit: contain; }
.quiz-question-text { margin: 0 0 20px; font-size: 1.35rem; line-height: 1.4; }
.quiz-answers { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.quiz-answer {
    display: block; width: 100%; text-align: left; cursor: pointer;
    padding: 14px 18px; border: 2px solid #d7e0ea; border-radius: 10px;
    background: #fff; font-size: 1.05rem; transition: border-color .15s, background .15s;
}
.quiz-answer:hover:not(:disabled) { border-color: #4c5c6d; }
.quiz-answer:disabled { cursor: default; }
.quiz-answer.is-correct { border-color: #2e9e5b; background: #e8f6ee; }
.quiz-answer.is-wrong { border-color: #d64545; background: #fbeaea; }

/* Пояснение к правильному ответу (опционально, после ответа) */
.quiz-explanation { margin: 16px 0 0; padding: 13px 16px; background: #eef4fb; border-left: 3px solid #4c5c6d; border-radius: 8px; color: #3c486b; line-height: 1.55; }
.quiz-explanation::before { content: "💡 "; }

/* Кнопки */
.quiz-btn {
    display: inline-block; margin-top: 20px; padding: 12px 28px; cursor: pointer;
    border: 2px solid #4c5c6d; border-radius: 10px; background: #fff; color: #4c5c6d;
    font-size: 1.05rem; font-weight: 600; text-decoration: none; transition: background .15s, color .15s;
}
.quiz-btn:hover { background: #4c5c6d; color: #fff; }
.quiz-btn--primary { background: #4c5c6d; color: #fff; }
.quiz-btn--primary:hover { background: #3a4856; }
.quiz-btn--link { margin-left: 12px; }

/* Результат */
.quiz-result { text-align: center; }
.quiz-score { font-size: 2.2rem; font-weight: 700; margin: 12px 0; }
.quiz-score-msg { color: #6b7a8d; margin-bottom: 8px; }
.quiz-result-share { margin-top: 26px; }
.quiz-result-share .share-buttons { justify-content: center; flex-wrap: wrap; }
