/* Pages générées par « Outils publication/publier.py » : articles, thèmes, liste */
.article-page { max-width: 46rem; margin: 0 auto; }
.article-page h1 { margin-bottom: .5rem; }
.article-page h2 { margin-top: 2.5rem; }
.article-page h3 { margin-top: 1.75rem; }
.article-page img { max-width: 100%; height: auto; border-radius: .5rem; }
.article-meta { font-size: .9rem; opacity: .8; margin-bottom: 1.5rem; }
.article-page ul { list-style: disc; padding-left: 1.5rem; }
.article-page ol { list-style: decimal; padding-left: 1.5rem; }
.article-page li { margin-bottom: .25rem; }

.theme-chip {
  display: inline-block; padding: .15rem .65rem; margin: 0 .35rem .35rem 0;
  border: 1px solid var(--bs-link-color); border-radius: 1rem;
  font-size: .85rem; text-decoration: none;
}
.theme-chip.active, .theme-chip:hover { background: var(--bs-link-color); color: var(--bs-body-bg); }

.article-sommaire, .article-exemple, .article-cta, .article-card {
  background: var(--bs-secondary-bg); border-radius: .5rem; padding: 1rem 1.25rem; margin: 1.5rem 0;
}
.article-sommaire h2 { margin-top: 0; font-size: 1.1rem; }
.article-sommaire ol { margin-bottom: 0; }
.article-exemple { border-left: 4px solid var(--bs-link-color); }
.article-exemple > :last-child, .article-cta > :last-child { margin-bottom: 0; }
.article-page blockquote { border-left: 4px solid var(--bs-border-color); padding: .25rem 1rem; margin: 1.5rem 0; }

.article-page details { border-bottom: 1px solid var(--bs-border-color); padding: .75rem 0; }
.article-page summary { cursor: pointer; font-weight: 600; }

.article-video { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; margin: 1.5rem 0; }
.article-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.article-page table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; display: block; overflow-x: auto; }
.article-page th, .article-page td { border: 1px solid var(--bs-border-color); padding: .4rem .6rem; text-align: left; }

.article-card h3 { margin-top: .25rem; font-size: 1.2rem; }
.article-card p { margin-bottom: .5rem; }
.article-liste { margin: 2rem 0; }
.bloc-titre { margin-top: 0; }   /* intitulé de bloc (contact, même thème) : style de H2 sans en être un */
