/* Kobra Sobre - styles sobres */
.prose img { border-radius: 0.75rem; }
.article-content img { transition: opacity .3s ease; }
.card { transition: transform .2s ease, box-shadow .2s ease; }
.card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.breadcrumbs li a { border-radius: .375rem; padding: .125rem .375rem; }
.breadcrumbs li a:hover { background: hsl(var(--b2)); }

/* Brand link (header) */
.brand-link { text-decoration: none; border: none; outline: none; }
.brand-link:hover { background: transparent; color: hsl(var(--p)); }
.brand-link:focus { outline: none; box-shadow: none; }

/* Footer */
.footer-link { text-decoration: none; }
.footer-link:hover { text-decoration: underline; text-underline-offset: 3px; color: hsl(var(--p)); }

/* Lisibilité */
.article-content { max-width: 70ch; margin-inline: auto; color: hsl(var(--bc)); }
.article-content p { line-height: 1.9; font-size: 1.125rem; margin: 1rem 0; }
.article-content p:first-of-type { font-size: 1.2rem; font-style: italic; color: hsl(var(--bc)/.95); }
.article-content h2 { margin-top: 2.75rem; margin-bottom: 1.1rem; font-size: 2rem; line-height: 1.25; font-weight: 800; letter-spacing: -0.02em; }
.article-content h3 { margin-top: 2.25rem; margin-bottom: .9rem; font-size: 1.5rem; line-height: 1.3; font-weight: 800; letter-spacing: -0.01em; }
.article-content h4 { margin-top: 1.75rem; margin-bottom: .7rem; font-size: 1.25rem; font-weight: 700; }
.article-content strong { font-weight: 700; }
.article-content a { text-decoration: underline; text-underline-offset: 3px; }
.article-content hr { border: 0; height: 1px; background: hsl(var(--b3)); margin: 2rem 0; opacity: .6; }
.article-content img { margin: 1rem 0; }
.article-content h3::after { content: ""; display: block; width: 3rem; height: 2px; background: hsl(var(--p)); opacity: .25; margin-top: .35rem; }
.article-content ul { list-style: disc; padding-left: 1.25rem; }
.article-content li { margin: .35rem 0; }
.article-content blockquote { background: transparent; border: 0; padding: 0; color: inherit; border-radius: 0; margin: 1rem 0; }
@media (max-width: 768px) { .article-content { max-width: 100%; } }

/* Codes inline et blocs */
.article-content code { background: hsl(var(--b2)); padding: .15rem .35rem; border-radius: .35rem; font-size: .95em; }
.article-content pre { background: hsl(var(--b2)); border: 1px solid hsl(var(--b3)); border-radius: .75rem; padding: 1rem; overflow: auto; }
.article-content pre code { background: transparent; padding: 0; }

/* Table des matières */
.toc-link { border-radius: .375rem; padding: .25rem .5rem; display: block; }
.toc-link:hover { background: hsl(var(--b2)); }
.toc-active { color: hsl(var(--p)); font-weight: 600; background: hsl(var(--b2)); }

/* (removed) badge before h2 */


