/* PRELIA : feuille de style principale */
:root {
  --md-primary-fg-color: #7a2418;          /* rouge des titres de l'ancien site */
  --md-primary-fg-color--light: #a0402f;
  --md-primary-fg-color--dark: #561a11;
  --md-accent-fg-color: #b4532a;
  --prelia-papier: #fbf8f2;
  --prelia-filet: #e4ddd0;
  --prelia-encre-2: #5b5650;
  --prelia-surligne: #f3e3c3;
  --serie-1: #2a78d6; --serie-2: #eb6834; --serie-3: #1baf7a; --serie-4: #eda100;
  --serie-5: #e87ba4; --serie-6: #008300; --serie-7: #6250d6; --serie-8: #e34948; --serie-autre: #a5a29a;
}
[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #8f3424;
  --md-accent-fg-color: #e08a5f;
  --md-default-bg-color: #1b1917;
  --prelia-papier: #24211e;
  --prelia-filet: #3a3632;
  --prelia-encre-2: #b9b3aa;
  --prelia-surligne: #4a3b22;
  --serie-1: #3987e5; --serie-2: #d95926; --serie-3: #199e70; --serie-4: #c98500;
  --serie-5: #d55181; --serie-6: #008300; --serie-7: #9085e9; --serie-8: #e66767; --serie-autre: #6f6c66;
}
[data-md-color-scheme="default"] { --md-default-bg-color: var(--prelia-papier); }

.md-typeset h1, .md-typeset h2, .md-typeset h3, .md-header__title, .accueil-titre h1 {
  font-family: "EB Garamond", Garamond, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: .01em;
}
.md-typeset h1 { color: var(--md-primary-fg-color); font-size: 2.1em; margin-bottom: .4em; }
[data-md-color-scheme="slate"] .md-typeset h1 { color: #e7b49f; }
.md-typeset h2 { font-size: 1.45em; }

/* accueil */
.accueil-titre { text-align: center; margin: 1.5rem 0 1rem; }
.accueil-titre h1 { font-size: 4.2rem; margin: 0; letter-spacing: .06em; color: var(--md-default-fg-color); }
.accueil-titre .sous-titre { font-family: "EB Garamond", serif; font-variant: small-caps; font-size: 1.35rem; color: var(--md-primary-fg-color); margin-top: .2rem; }
[data-md-color-scheme="slate"] .accueil-titre .sous-titre { color: #e7b49f; }
.grille-entrees { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.grille-entrees > div { border: 1px solid var(--prelia-filet); border-radius: 6px; padding: .2rem 1rem .8rem; background: var(--md-default-bg-color); }
.grille-entrees h3 { margin-top: .6rem; }
.maj { color: var(--prelia-encre-2); font-size: .75rem; text-align: center; }

/* chiffres clés */
.chiffres { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin: .4rem 0 1rem; color: var(--prelia-encre-2); font-size: .8rem; }
.chiffres b { color: var(--md-default-fg-color); font-size: 1.05rem; font-weight: 600; margin-right: .2rem; }
.chiffres.grand { justify-content: center; font-size: .9rem; margin: 1.5rem 0; }
.chiffres.grand b { font-size: 1.6rem; display: block; text-align: center; font-family: "EB Garamond", serif; }

/* sommaire d'un numéro */
.md-typeset .article { border-top: 1px solid var(--prelia-filet); padding: .55rem 0 .5rem; margin: 0; line-height: 1.5; }
.md-typeset .article:target { background: var(--prelia-surligne); outline: 6px solid var(--prelia-surligne); }
.md-typeset .article .genre { color: var(--prelia-encre-2); font-style: italic; }
.md-typeset .article [class^="champ-"] { display: inline; color: var(--prelia-encre-2); font-size: .72rem; }
.md-typeset .article .champ-resume, .md-typeset .article .champ-contenu { color: var(--md-default-fg-color); font-size: .74rem; }
.nav-numeros { font-size: .75rem; margin-bottom: .8rem; }

/* index */
.lettres { display: flex; flex-wrap: wrap; gap: .25rem; margin: .5rem 0 1rem; }
.lettres a { display: inline-block; min-width: 1.6rem; text-align: center; padding: .1rem .3rem; border: 1px solid var(--prelia-filet); border-radius: 4px; }
.md-typeset small { color: var(--prelia-encre-2); }

/* calendrier */
.calendrier { margin: .5rem 0 1.5rem; }
.cal-annees { display: flex; flex-wrap: wrap; gap: .2rem; margin-bottom: .8rem; }
.cal-annees button { font: inherit; font-size: .72rem; padding: .15rem .45rem; border: 1px solid var(--prelia-filet); border-radius: 4px; background: transparent; color: var(--md-default-fg-color); cursor: pointer; }
.cal-annees button .n { color: var(--prelia-encre-2); font-size: .62rem; margin-left: .15rem; }
.cal-annees button[aria-pressed="true"] { background: var(--md-primary-fg-color); color: #fff; border-color: var(--md-primary-fg-color); }
.cal-annees button[aria-pressed="true"] .n { color: #f4dcd2; }
.cal-mois { display: grid; grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); gap: .8rem 1rem; }
.cal-mois .mois { font-size: .65rem; }
.cal-mois .mois h4 { margin: 0 0 .2rem; font-size: .75rem; font-weight: 600; text-transform: capitalize; }
.cal-mois .mois.vide h4 { color: var(--prelia-encre-2); font-weight: 400; }
.cal-grille { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.cal-grille span, .cal-grille a { text-align: center; padding: .12rem 0; border-radius: 3px; line-height: 1.3; }
.cal-grille .jsem { color: var(--prelia-encre-2); font-size: .55rem; }
.cal-grille .jour { color: var(--prelia-encre-2); opacity: .55; }
.md-typeset .cal-grille a.parution { background: var(--md-primary-fg-color); color: #fff; font-weight: 600; opacity: 1; }
.md-typeset .cal-grille a.parution:hover { background: var(--md-accent-fg-color); }
.cal-liste { margin-top: .8rem; font-size: .75rem; }
.cal-liste li { margin: .1rem 0 !important; }
.calendrier + .liste-numeros { display: none; }   /* liste de secours si le JS est désactivé */

/* graphiques */
.viz-revue, .viz-auteur, .viz { width: 100%; }
.graphe { width: 100%; height: 340px; }
.graphe.haut { height: 520px; }
.graphe.tres-haut { height: 720px; }
.viz-legende { font-size: .7rem; color: var(--prelia-encre-2); }
.viz-controles { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; margin: .5rem 0 1rem; font-size: .75rem; }
.viz-controles input[type="search"], .viz-controles select, .viz-controles input[type="number"] { font: inherit; padding: .25rem .4rem; border: 1px solid var(--prelia-filet); border-radius: 4px; background: var(--md-default-bg-color); color: var(--md-default-fg-color); }
.viz-controles input[type="search"] { min-width: 18rem; }
.suggestions { position: absolute; z-index: 10; background: var(--md-default-bg-color); border: 1px solid var(--prelia-filet); border-radius: 4px; max-height: 18rem; overflow: auto; min-width: 18rem; box-shadow: 0 4px 12px rgba(0,0,0,.12); }
.suggestions button { display: block; width: 100%; text-align: left; font: inherit; font-size: .75rem; padding: .25rem .5rem; border: 0; background: none; color: var(--md-default-fg-color); cursor: pointer; }
.suggestions button:hover, .suggestions button:focus { background: var(--prelia-surligne); }
.champ-auto { position: relative; display: inline-block; }
.tableau-donnees summary { font-size: .72rem; color: var(--prelia-encre-2); cursor: pointer; }

/* recherche à facettes */
.md-content__inner:has(.recherche) { max-width: none; }
.recherche-barre { display: flex; gap: .5rem; margin-bottom: 1rem; }
.recherche-barre input { flex: 1; font: inherit; font-size: .9rem; padding: .5rem .7rem; border: 1px solid var(--prelia-filet); border-radius: 5px; background: var(--md-default-bg-color); color: var(--md-default-fg-color); }
.recherche-barre input:focus { outline: 2px solid var(--md-accent-fg-color); }
.md-typeset .md-button { font-size: .7rem; padding: .3rem .8rem; }
.recherche-corps { display: grid; grid-template-columns: 17rem 1fr; gap: 1.5rem; }
@media (max-width: 60em) { .recherche-corps { grid-template-columns: 1fr; } }
.facettes { font-size: .72rem; }
.facette { border-bottom: 1px solid var(--prelia-filet); padding: .4rem 0 .6rem; }
.facette h3 { font-family: inherit; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin: .2rem 0 .3rem; color: var(--prelia-encre-2); }
.facette input[type="search"] { width: 100%; font: inherit; padding: .2rem .4rem; margin-bottom: .3rem; border: 1px solid var(--prelia-filet); border-radius: 4px; background: var(--md-default-bg-color); color: var(--md-default-fg-color); }
.facette ul { list-style: none; margin: 0 !important; padding: 0; max-height: 14rem; overflow: auto; }
.facette li { margin: 0 !important; }
.facette label { display: flex; gap: .35rem; align-items: baseline; cursor: pointer; padding: .05rem 0; }
.facette label .nb { margin-left: auto; color: var(--prelia-encre-2); font-variant-numeric: tabular-nums; }
.facette label.zero { opacity: .45; }
.facette .plus { font-size: .68rem; background: none; border: 0; color: var(--md-accent-fg-color); cursor: pointer; padding: .2rem 0; }
.facette .periode { display: flex; gap: .3rem; align-items: center; }
.facette .periode input { width: 4.5rem; font: inherit; padding: .2rem; border: 1px solid var(--prelia-filet); border-radius: 4px; background: var(--md-default-bg-color); color: var(--md-default-fg-color); }
.resultats-entete { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; align-items: center; font-size: .75rem; margin-bottom: .3rem; }
.resultats-entete select { font: inherit; }
.filtres-actifs { display: flex; flex-wrap: wrap; gap: .3rem; margin: .2rem 0 .5rem; }
.filtres-actifs button { font: inherit; font-size: .68rem; border: 1px solid var(--md-primary-fg-color); color: var(--md-primary-fg-color); background: transparent; border-radius: 12px; padding: .05rem .5rem; cursor: pointer; }
[data-md-color-scheme="slate"] .filtres-actifs button { color: #e7b49f; border-color: #e7b49f; }
.frise { height: 70px; }
.md-typeset ol.liste-resultats { list-style: none; margin: 0; padding: 0; }
.md-typeset ol.liste-resultats li { margin: 0; padding: .5rem 0; border-top: 1px solid var(--prelia-filet); font-size: .78rem; line-height: 1.45; }
.liste-resultats .titre { font-weight: 600; }
.liste-resultats .meta { color: var(--prelia-encre-2); font-size: .72rem; }
.liste-resultats .extrait { font-size: .7rem; color: var(--prelia-encre-2); }
.liste-resultats mark { background: var(--prelia-surligne); color: inherit; padding: 0 1px; }
.pagination { display: flex; gap: .3rem; flex-wrap: wrap; margin: 1rem 0; font-size: .75rem; }
.pagination button { font: inherit; border: 1px solid var(--prelia-filet); background: transparent; color: var(--md-default-fg-color); border-radius: 4px; padding: .15rem .5rem; cursor: pointer; }
.pagination button[aria-current="page"] { background: var(--md-primary-fg-color); color: #fff; }

/* couvertures */
.couvertures { display: grid; grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr)); gap: .8rem; margin: 1rem 0; }
.couvertures a { display: block; text-align: center; font-size: .68rem; line-height: 1.25; }
.couvertures img { width: 100%; aspect-ratio: 2/3; object-fit: cover; border: 1px solid var(--prelia-filet); box-shadow: 0 1px 4px rgba(0,0,0,.12); margin-bottom: .25rem; }
.couvertures img.paysage { object-fit: contain; background: var(--prelia-papier, #f4efe4); padding: 0 .2rem; }
.md-typeset figure.couverture-revue { float: right; width: 11rem; max-width: 40%; margin: 0 0 1rem 1.5rem; display: block; }
.couverture-revue img { width: 100%; border: 1px solid var(--prelia-filet); box-shadow: 0 1px 4px rgba(0,0,0,.15); }
.couverture-revue figcaption { font-size: .62rem; line-height: 1.3; color: var(--md-default-fg-color--light); margin-top: .3rem; text-align: left; }
@media (max-width: 45em) { .md-typeset figure.couverture-revue { float: none; margin: .5rem 0; } }

.md-typeset table:not([class]) thead:has(th:empty:first-child) { display: none; }
.md-typeset .tabbed-set table:not([class]) td:first-child { color: var(--prelia-encre-2); white-space: nowrap; vertical-align: top; }
.couvertures > p { display: contents; }
.couvertures > p > br { display: none; }
.md-typeset .auteur-ligne { padding: .3rem 0; border-bottom: 1px solid var(--prelia-filet); font-size: .78rem; line-height: 1.45; }
.md-typeset .auteur-ligne:target { background: var(--prelia-surligne); }
[data-md-color-scheme="slate"] { --md-typeset-a-color: #e9a58a; }
[data-md-color-scheme="slate"] .md-typeset .cal-grille a.parution { background: #b34a33; }
.recherche-barre .md-button { white-space: nowrap; }
@media (max-width: 60em) {
  .recherche-barre input { min-width: 0; }
  .facettes { order: 2; }
  .resultats { order: 1; }
  .recherche-corps { display: flex; flex-direction: column; }
}

/* ---------------------------------------------------------- sommaires de numéros */
.resume-numero { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: baseline; }
.md-typeset a.telecharger { font-size: .72rem; border: 1px solid var(--prelia-filet); border-radius: 4px; padding: .1rem .5rem; white-space: nowrap; }
.md-typeset a.telecharger::before { content: "⤓ "; }
.sommaire .ico { display: inline-block; width: 1.1em; color: var(--prelia-encre-2); font-size: .85em; }
.sommaire .genre { color: var(--prelia-encre-2); font-style: italic; font-size: .72rem; margin-left: .4rem; }
.sommaire .sig { color: var(--prelia-encre-2); font-size: .9em; }
.sommaire-outils { display: flex; gap: .4rem; justify-content: flex-end; margin-bottom: .3rem; }
.sommaire button, .sommaire-outils button { font: inherit; font-size: .68rem; border: 1px solid var(--prelia-filet); background: transparent; color: var(--md-default-fg-color); border-radius: 4px; padding: .1rem .5rem; cursor: pointer; }

/* notice détaillée */
.md-typeset dl.notice { display: grid; grid-template-columns: 9.5rem 1fr; gap: .25rem 1rem; margin: .6rem 0 .4rem; font-size: .76rem; line-height: 1.45; }
.md-typeset dl.notice dt { color: var(--prelia-encre-2); font-weight: 600; text-align: right; }
.md-typeset dl.notice dd { margin: 0; }
@media (max-width: 45em) { .md-typeset dl.notice { grid-template-columns: 1fr; } .md-typeset dl.notice dt { text-align: left; margin-top: .3rem; } }
.notice .permalien { font-family: var(--md-code-font-family); font-size: .7rem; }

/* A. liste dépliable */
.md-typeset .sommaire-liste details.entree { border: 0; border-top: 1px solid var(--prelia-filet); border-radius: 0; box-shadow: none; margin: 0; padding: 0; background: none; font-size: .8rem; }
.md-typeset .sommaire-liste details.entree > summary { padding: .45rem 1.8rem .45rem .2rem; cursor: pointer; display: block; background: none; font-weight: normal; }
.md-typeset .sommaire-liste details.entree > summary::before { display: none; }
.md-typeset .sommaire-liste details.entree > summary::after { top: .6rem; right: .3rem; }
.sommaire-liste summary .t { font-weight: 600; }
.sommaire-liste summary .m { display: block; color: var(--prelia-encre-2); font-size: .74rem; margin-left: 1.1em; }
.md-typeset .sommaire-liste details.entree[open] { background: var(--prelia-surligne); background: color-mix(in srgb, var(--prelia-surligne) 45%, transparent); }
.md-typeset .sommaire-liste details.entree > dl.notice { margin: 0 .5rem .8rem 1.3rem; }

/* B. table des matières + panneau */
.sommaire-toc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
@media (max-width: 60em) { .sommaire-toc { grid-template-columns: 1fr; } }
.md-typeset ol.toc { list-style: none; margin: 0; padding: 0; }
.md-typeset ol.toc li { margin: 0; }
.md-typeset a.toc-ligne { display: flex; align-items: baseline; gap: .3rem; color: var(--md-default-fg-color); padding: .3rem .3rem; border-radius: 4px; font-size: .8rem; }
.md-typeset a.toc-ligne:hover, .md-typeset a.toc-ligne[aria-current="true"] { background: var(--prelia-surligne); }
.toc-titre { flex: 0 1 auto; font-family: "EB Garamond", serif; font-size: 1rem; }
.toc-auteur { display: block; font-variant: small-caps; font-family: "Source Sans 3", sans-serif; font-size: .74rem; color: var(--prelia-encre-2); letter-spacing: .03em; }
.toc-points { flex: 1 1 1rem; border-bottom: 1px dotted var(--prelia-encre-2); opacity: .5; min-width: 1rem; transform: translateY(-.3em); }
.toc-page { flex: 0 0 auto; font-variant-numeric: tabular-nums; color: var(--prelia-encre-2); }
.panneau { position: sticky; top: 4.5rem; max-height: calc(100vh - 6rem); overflow: auto; border: 1px solid var(--prelia-filet); border-radius: 6px; padding: .3rem 1rem .6rem; background: var(--md-default-bg-color); }
.panneau h3 { margin-top: .6rem; }
.panneau dl.notice { grid-template-columns: 7.5rem 1fr; }
.panneau-vide { color: var(--prelia-encre-2); font-size: .78rem; }

/* C. tableau */
.filtre-sommaire { width: 100%; font: inherit; font-size: .8rem; padding: .35rem .6rem; margin-bottom: .5rem; border: 1px solid var(--prelia-filet); border-radius: 4px; background: var(--md-default-bg-color); color: var(--md-default-fg-color); }
.md-typeset table.tab-sommaire { display: table; width: 100%; font-size: .74rem; border-collapse: collapse; }
.md-typeset .tab-sommaire th { cursor: pointer; white-space: nowrap; user-select: none; }
.md-typeset .tab-sommaire th[aria-sort="ascending"]::after { content: " ▲"; }
.md-typeset .tab-sommaire th[aria-sort="descending"]::after { content: " ▼"; }
.md-typeset .tab-sommaire tr.ligne { cursor: pointer; }
.md-typeset .tab-sommaire tr.ligne:hover, .md-typeset .tab-sommaire tr.ligne.ouverte { background: var(--prelia-surligne); }
.md-typeset .tab-sommaire td.t { font-weight: 600; }
.md-typeset .tab-sommaire .plus-info { color: var(--md-accent-fg-color); font-weight: normal; }
.md-typeset .tab-sommaire tr.detail td { background: var(--md-default-bg-color); }
.md-typeset .tab-sommaire th, .md-typeset .tab-sommaire td { padding: .35rem .5rem; border-bottom: 1px solid var(--prelia-filet); text-align: left; vertical-align: top; }
.md-typeset .tab-sommaire thead th { border-bottom: 2px solid var(--prelia-filet); color: var(--prelia-encre-2); font-weight: 600; }
.md-typeset .tab-sommaire tr.detail td { border-bottom: 2px solid var(--prelia-filet); }
button.telecharger { font: inherit; font-size: .72rem; border: 1px solid var(--prelia-filet); border-radius: 4px; padding: .1rem .5rem; background: transparent; color: var(--md-typeset-a-color); cursor: pointer; }
button.telecharger::before { content: "⤓ "; }

/* calendrier : hauteurs constantes */
.cal-mois.cal-au-mois { grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr)); gap: .5rem; }
.cal-au-mois .mois { border: 1px solid var(--prelia-filet); border-radius: 5px; padding: .35rem .5rem; min-height: 3.6rem; }
.cal-au-mois .mois.plein { border-color: var(--md-primary-fg-color); }
.cal-au-mois .mois.vide { opacity: .55; }
.cal-num { display: flex; flex-wrap: wrap; gap: .25rem; }
.md-typeset .cal-num a { background: var(--md-primary-fg-color); color: #fff; border-radius: 3px; padding: .05rem .4rem; font-weight: 600; font-size: .68rem; }
.md-typeset .cal-num a:hover { background: var(--md-accent-fg-color); }
.cal-num span { color: var(--prelia-encre-2); }
.cal-au-jour .mois h4 { min-height: 1.2em; }
.md-typeset .cal-grille a.parution.multiple { box-shadow: inset 0 -3px 0 var(--md-accent-fg-color); }
[data-md-color-scheme="slate"] .md-typeset .cal-num a { background: #b34a33; }
.graphe.reseau { height: calc(100vh - 230px); min-height: 640px; border: 1px solid var(--prelia-filet); border-radius: 6px; }
.md-typeset .tab-sommaire tr.ligne { cursor: pointer; }
.md-typeset .tab-sommaire tr.a-detail td.t::after { content: " ▸"; color: var(--md-accent-fg-color); font-weight: normal; }
.md-typeset .tab-sommaire tr.ligne.ouverte td.t::after { content: " ▾"; }
.md-typeset .tab-sommaire th { cursor: pointer; }
.md-typeset a.telecharger.lien-viz::before { content: "↗ "; }
