/* ==========================================================================
   COURS STYLES — WinnyKing 2026 · NÉOBRUTALISME
   ========================================================================== */

/* Page title override for Neobrutalism */
.course-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    font-weight: 800;
    letter-spacing: -2px;
    background: var(--nb-yellow);
    color: var(--nb-black);
    padding: 0.1em 0.3em;
    border: var(--border-lg);
    box-shadow: 8px 8px 0 var(--nb-black);
    display: inline-block;
    margin-bottom: var(--space-12);
}

/* Grid layout */
.cours-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--space-6);
    margin-bottom: var(--space-12);
}

/* Course cards — NE JAMAIS METTRE LE TEXTE SUR FOND JAUNE SANS BORDURES */
.cours-card {
    background: var(--nb-surface);
    border: var(--border-lg);
    box-shadow: var(--shadow-md);
    padding: var(--space-8) var(--space-6);
    text-align: center;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
    text-decoration: none;
    color: var(--text-primary);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-4);
}

.cours-card:hover {
    transform: var(--translate-hover);
    box-shadow: var(--shadow-lg);
    background: var(--nb-surface-alt);
}

.cours-card .lang-icon {
    font-size: 4rem;
    filter: drop-shadow(4px 4px 0 rgba(0,0,0,0.1));
}

.cours-card h2 {
    font-size: var(--text-xl);
    font-weight: 700;
    margin: 0;
}

.cours-card p {
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

/* Course content sections */
.course-section {
    background: var(--nb-surface);
    border: var(--border-lg);
    box-shadow: var(--shadow-md);
    padding: var(--space-10);
    margin: var(--space-8) 0;
}

.course-section h2 {
    border-bottom: var(--border-lg);
    padding-bottom: var(--space-4);
    margin-bottom: var(--space-6);
    font-size: var(--text-2xl);
}

.course-section h3 {
    margin: var(--space-8) 0 var(--space-4);
    font-size: var(--text-lg);
    color: var(--nb-blue);
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.course-section h3::before {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background: var(--nb-yellow);
    border: var(--border);
}

/* Code blocks consistency */
pre, code {
    background: #0b121e !important;
    color: #eef2f7 !important;
    font-family: var(--font-mono) !important;
    border: var(--border) !important;
    box-shadow: 4px 4px 0 #000 !important;
}

pre {
    padding: var(--space-6) !important;
    margin: var(--space-6) 0 !important;
    overflow-x: auto;
}

/* Quiz styling */
.quiz-section {
    border: var(--border-lg) !important;
    background: var(--nb-surface-alt);
}

.quiz-option {
    background: var(--nb-surface);
    border: var(--border);
    padding: var(--space-4);
    margin-bottom: var(--space-2);
    display: flex;
    align-items: center;
    gap: var(--space-4);
    cursor: pointer;
    transition: var(--transition-base);
}

.quiz-option:hover {
    background: var(--nb-yellow);
    transform: translateX(4px);
}

.quiz-option input[type="radio"] {
    width: 20px;
    height: 20px;
    border: 2px solid #000;
}

/* Badges */
.level-badge {
    font-family: var(--font-display);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 10px;
    padding: 2px 8px;
    border: var(--border);
    background: var(--nb-yellow);
    box-shadow: 2px 2px 0 #000;
}

.beginner { background: var(--nb-green); color: #000; }
.intermediate { background: var(--nb-yellow); color: #000; }
.expert { background: var(--nb-red); color: #fff; }

/* Completion button */
.btn-complete {
    background: var(--nb-surface);
    border: var(--border);
    box-shadow: var(--shadow-sm);
    padding: var(--space-2) var(--space-4);
    font-weight: 700;
    cursor: pointer;
}

.btn-complete.completed {
    background: var(--nb-green);
    color: #000;
}
