/* ===== Course Index Page ===== */
header { background: var(--bg-header); border-bottom: 1px solid var(--border); padding: 32px 24px; text-align: center; }
header h1 { font-size: 2rem; font-weight: 700; margin-bottom: 8px; }
header p { color: var(--text-muted); font-size: 1rem; }
.badge-row { display: flex; gap: 8px; justify-content: center; margin-top: 16px; flex-wrap: wrap; }
.badge { background: var(--bg-hover); border: 1px solid var(--border); border-radius: 20px; padding: 4px 14px; font-size: 0.78rem; color: var(--text-muted); }
main { max-width: 1000px; margin: 0 auto; padding: 40px 24px 80px; }
.module { margin-bottom: 56px; }
.module:last-child { margin-bottom: 0; }
.module-header { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding-top: 8px; }
.module-num { background: var(--accent); color: white; font-size: 0.7rem; font-weight: 700; padding: 3px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.05em; white-space: nowrap; }
.module-title { font-size: 1.1rem; font-weight: 600; color: var(--text-primary); }
.lessons { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.lesson { display: flex; align-items: center; gap: 16px; padding: 12px 20px; border-bottom: 1px solid var(--border-light); transition: background 0.1s; }
.lesson:last-child { border-bottom: none; }
.lesson:hover { background: var(--lesson-hover); }
.lesson-num { color: var(--num-color); font-size: 0.78rem; font-weight: 600; width: 28px; flex-shrink: 0; }
.lesson-title { flex: 1; font-size: 0.9rem; color: var(--text-secondary); }
.lesson-links { display: flex; gap: 6px; flex-shrink: 0; }
.lesson-links a { color: var(--accent-text); text-decoration: none; font-size: 0.75rem; padding: 3px 10px; border: 1px solid color-mix(in srgb, var(--accent) 27%, transparent); border-radius: 5px; transition: all 0.15s; white-space: nowrap; }
.lesson-links a:hover { background: color-mix(in srgb, var(--accent) 13%, transparent); border-color: var(--accent); }
.lesson-links a.slides { border-color: var(--slides-border); color: var(--slides-text); }
.lesson-links a.slides:hover { background: var(--slides-hover-bg); border-color: var(--slides-hover-border); }
.lesson-links a.answer { border-color: #da363344; color: #f85149; }
.lesson-links a.answer:hover { background: #da363322; border-color: #da3633; }
@media (max-width: 600px) { .lesson { flex-wrap: wrap; } .lesson-links { flex-wrap: wrap; } }

/* Full course PDF download */
.pdf-download { text-align: center; margin-top: 16px; }
.pdf-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--accent); color: white; text-decoration: none; padding: 10px 24px; border-radius: 8px; font-size: 0.9rem; font-weight: 600; transition: opacity 0.15s; }
.pdf-btn:hover { opacity: 0.85; }
.pdf-icon { font-size: 1.1rem; }
/* Per-page-type PDF download arrow */
.lesson-links a.pdf-link { border-color: #8b5cf644; color: #a78bfa; padding: 3px 6px; font-size: 0.7rem; margin-left: -4px; border-left: none; border-radius: 0 5px 5px 0; }
.lesson-links a.pdf-link:hover { background: #8b5cf622; border-color: #8b5cf6; }
/* Pair HTML link + PDF arrow visually */
.lesson-links a + a.pdf-link { }
.lesson-links a:has(+ a.pdf-link) { border-radius: 5px 0 0 5px; margin-right: 0; }
