/* Pages /cours : même style que le feed (mono, blanc, bordures noires, rouge) */
html:has(body.docs-page), body.docs-page {
  height: auto; min-height: 100%; overflow-y: auto; overflow-x: hidden;
  user-select: text; -webkit-user-select: text;
}
.docs-page { background: #F4F5F7; color: var(--text-color); font-family: var(--font-family); }
.docs-header { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; gap: 12px; padding: 14px max(16px, calc((100vw - 900px)/2)); background: #fff; border-bottom: 2px solid var(--border-color); }
.docs-header a, .docs-footer a { color: var(--text-color); text-decoration: none; font-weight: 700; text-transform: uppercase; font-size: .8rem; letter-spacing: .04em; }
.docs-header a:hover, .docs-footer a:hover, .docs-breadcrumb a:hover { color: var(--accent-color); }
.docs-main { width: min(900px, calc(100% - 24px)); margin: 20px auto 60px; }
.docs-breadcrumb { margin: 0 0 12px; color: var(--text-muted); font-size: .78rem; overflow-wrap: anywhere; }
.docs-breadcrumb a { color: var(--text-color); font-weight: 700; text-decoration: none; }
.docs-article { background: #fff; border: 2px solid var(--border-color); border-radius: 0; padding: clamp(18px, 4vw, 44px); }
.docs-title { margin: 0 0 24px; padding-bottom: 12px; border-bottom: 4px solid var(--accent-color); font-size: clamp(1.3rem, 4.5vw, 2rem); line-height: 1.2; text-transform: uppercase; }
.docs-content { line-height: 1.7; font-size: .92rem; overflow-wrap: anywhere; }
.docs-content p, .docs-content ul, .docs-content ol { margin: 0 0 1em; }
.docs-content ul, .docs-content ol { padding-left: 1.4em; }
.docs-content h1, .docs-content h2, .docs-content h3 { line-height: 1.3; margin: 1.8em 0 .6em; text-transform: uppercase; }
.docs-content h1 { font-size: 1.3rem; }
.docs-content h2 { font-size: 1.1rem; border-bottom: 2px solid var(--border-color); padding-bottom: .3em; }
.docs-content h3 { font-size: 1rem; color: var(--accent-color); }
.docs-content a { color: var(--accent-color); text-underline-offset: 3px; }
.docs-content img { max-width: 100%; height: auto; border: 2px solid var(--border-color); }
.docs-content pre { overflow-x: auto; padding: 14px; background: #F4F5F7; border: 2px solid var(--border-color); }
.docs-content code { font-family: inherit; background: #F4F5F7; padding: .1em .3em; }
.docs-content pre code { padding: 0; background: transparent; }
.docs-content blockquote { margin: 0 0 1em; padding: 6px 16px; border-left: 4px solid var(--accent-color); color: var(--text-muted); background: #FAFAFA; }
.docs-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.docs-content th, .docs-content td { border: 2px solid var(--border-color); padding: 6px 10px; text-align: left; }
.docs-content th { background: #F4F5F7; }
.docs-content .katex-display { overflow-x: auto; overflow-y: hidden; padding: 4px 0; }
.docs-footer { text-align: center; padding: 28px; }
.course-library-link { display: flex; justify-content: space-between; align-items: center; max-width: 540px; margin: 18px auto 8px; padding: 14px 18px; border: 2px solid var(--border-color); background: #fff; color: var(--text-color); text-decoration: none; font-weight: 700; }
.course-library-link:hover { border-color: var(--accent-color); color: var(--accent-color); }
@media (max-width: 600px) { .docs-main { margin-top: 12px; } .docs-header { padding: 12px 14px; } }
