/* Adapted to match the "Website construction" Pléiade style:
   Didot serif (site stack) · cream ground · vert-antique header · indigo links */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Sedan:ital@0;1&display=swap');

:root{
  /* Pléiade palette (from the reference sheet) */
  --havane:#49200e; --bleu_pleiade:#053361; --rouge_pleiade:#8a0e01;
  --violet:#2c294f; --vert_antique:#004026;
  /* roles */
  --ink:#4a4a4a; --paper:#f9f9f9; --line:#e4e0d6; --muted:#928a7c;
  --accent:#8a0e01; --link:hsl(248,50%,43%);
  --cream:#f8f9fa;
  --llm:#1f6f43; --rule:#9a7b1f;
}
*{box-sizing:border-box}
/* Typography scoped to the atlas CONTENT only: the chrome around it
   (header, sidebar, bande 2) keeps the parent site's font stack. */
body{margin:0;background:var(--paper);color:var(--ink)}
strong,b{font-weight:700}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:15%}

/* ---- bande 2 (accent rouge Pléiade) sous le chrome des Fleurs du Monde ----
   Le header et la sidebar viennent du site parent (css/chrome.css) ; ici,
   seulement l'habillage propre à l'Atlas. main reste le conteneur de
   défilement pleine largeur (styles.css) : le gabarit de contenu est
   .atlas-contenu. */
:root{--ss-accent:var(--rouge_pleiade)}
.atlas-bande2{display:flex;align-items:center;gap:.2rem 1.5rem;flex-wrap:wrap}
.atlas-bande2 h1{flex:0 0 auto;color:var(--cream)}
.atlas-nav{display:flex;gap:1.05rem;flex-wrap:wrap}
.atlas-nav a{color:var(--cream);font-size:.98rem;opacity:.92}
.atlas-nav a:hover,.atlas-nav a.on{opacity:1;text-decoration:underline;text-underline-offset:15%}
.ss-bande2.ss-reduit .atlas-nav a{font-size:.85rem}
.atlas-bande2 .search input{padding:.3rem .55rem;border:0;border-radius:5px;
  font:inherit;background:#f3e9e7;color:#1c1c1c}   /* mode Flask local seulement */
.atlas-lang{position:absolute;top:50%;right:12px;transform:translateY(-50%);
  display:inline-flex;align-items:center}
.atlas-lang img{width:26px;height:26px;border-radius:50%;display:block;transition:transform .15s}
.atlas-lang:hover img{transform:scale(1.1)}
.ss-entete #lang-chg{display:none}   /* la bascule par page de la bande 2 remplace celle du header */

.atlas-contenu{max-width:1040px;margin:0 auto;padding:1.8rem 1.4rem 3rem;
  font:1rem/1.5 'Didot','Cormorant Garamond','Palatino','Buenard','Georgia',serif}
footer{margin:3rem 0 0;padding:1.5rem 0 0;color:var(--muted);
  border-top:1px solid var(--line);font-size:.85rem;text-align:center}

/* ---- headings ---- */
h1{font-size:2rem;font-weight:700;margin:.4rem 0 1rem;color:#3a3a3a}
h2{font-size:1.5rem;font-weight:700;margin:1.6rem 0 .6rem;color:#3a3a3a}
h3{font-size:1.2rem;font-weight:700;margin:1rem 0 .3rem;color:var(--muted)}
.lede{font-size:1.2rem;color:#5b5b5b;max-width:62ch;font-style:italic}
.count,.cat{color:var(--muted);font-weight:400;font-size:.85rem}

/* ---- home cards ---- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:1.1rem;margin-top:1.6rem}
.card{display:flex;flex-direction:column;gap:.3rem;padding:1.4rem;background:#fff;
  border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:1.1rem;
  transition:border-color .15s,box-shadow .15s}
.card:hover{border-color:var(--vert_antique);box-shadow:0 3px 12px rgba(0,64,38,.08);text-decoration:none}
.card .n{font-size:2.1rem;font-weight:700;color:var(--rouge_pleiade)}

/* ---- tables ---- */
table{border-collapse:collapse;width:100%;background:#fff;border:1px solid var(--line)}
th,td{text-align:left;padding:.45rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}
th{background:#eef0ec;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;
  color:#5f6b62;font-weight:700}
tr:hover td{background:#f6f4ee}
td.num,td.fr{color:var(--muted)} td.num{text-align:right}

/* ---- tags / inline ---- */
.tag{font-size:.65rem;background:#e7ece8;color:#3c5a4b;padding:.05rem .35rem;border-radius:4px}
.tag.xref{background:#e6e0ef;color:var(--violet)}
.rt{display:inline-block;min-width:5.5em;color:var(--bleu_pleiade);font-style:italic}
.unres{color:var(--muted);font-style:italic}

/* ---- detail pages ---- */
.facts{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:.4rem 0 1rem;color:#5b5b5b}
.facts b{color:var(--muted);font-weight:400;font-size:.8rem;text-transform:uppercase;margin-right:.3rem}
.seealso{background:#eef0ec;padding:.4rem .7rem;border-radius:6px;display:inline-block}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}
.grid section ul{margin:.2rem 0 .8rem;padding-left:0;list-style:none}
.grid section li{padding:.15rem 0;border-bottom:1px dotted var(--line)}
ul.cols{columns:2;list-style:none;padding-left:0}
ul.cols li{padding:.1rem 0;break-inside:avoid}
.empty{color:var(--muted);font-style:italic}
.note{margin-top:1.5rem}
.note p{background:#fff;border:1px solid var(--line);border-left:3px solid var(--rouge_pleiade);
  padding:.8rem 1rem;border-radius:0 6px 6px 0;white-space:pre-wrap;color:#3f3f3f}
.crumb{margin:0 0 .5rem} .crumb a{color:var(--muted)}

/* wiki enrichment (image) */
.wiki{overflow:hidden;margin:.6rem 0 1.2rem;font-size:.96rem;line-height:1.55}
.wiki-img{float:right;max-width:210px;max-height:300px;margin:0 0 .6rem 1.1rem;
  border:1px solid var(--line);border-radius:4px}
.wiki-sum{margin:.45rem 0}

/* ---- list controls ---- */
.az{line-height:2} .az a{padding:0 .35rem;color:var(--muted)}
.az a.on{color:#fff;background:var(--vert_antique);border-radius:4px}
.filter{margin:.5rem 0} .filter input{padding:.35rem .6rem;border:1px solid var(--line);border-radius:5px;font:inherit}
.filter button{padding:.35rem .7rem;font:inherit;cursor:pointer;background:var(--vert_antique);
  color:var(--cream);border:1px solid var(--vert_antique);border-radius:5px}
.filter .clear{margin-left:.5rem;color:var(--muted)}
td.arrow,main .arrow{color:var(--muted);font-style:italic;white-space:nowrap}
.map-legend{font-size:.85rem;color:var(--muted);margin:.4rem 0}
@media(max-width:680px){.grid{grid-template-columns:1fr}ul.cols{columns:1}}
@media(max-width:768px){.atlas-nav{gap:.6rem}.atlas-nav a{font-size:.82rem}
  .atlas-lang img{width:22px;height:22px}}

/* ---- sortable + filterable tables ---- */
table.data th.th-ctl{position:relative;white-space:nowrap}
table.data th .th-label{cursor:pointer;user-select:none}
table.data th .th-label:hover{color:var(--accent)}
table.data th.sort-asc .th-label::after{content:" ▲";font-size:.7em;color:var(--accent)}
table.data th.sort-desc .th-label::after{content:" ▼";font-size:.7em;color:var(--accent)}
table.data th .th-filter{background:none;border:0;cursor:pointer;color:var(--muted);
  font-size:.7rem;padding:0 .15rem;margin-left:.15rem;line-height:1}
table.data th .th-filter:hover{color:var(--accent)}
table.data th.filtered .th-filter{color:var(--accent);font-weight:700}
.filter-panel{position:absolute;top:100%;left:0;z-index:20;margin-top:2px;width:230px;
  background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.15);
  padding:.5rem;text-transform:none;font-weight:400;letter-spacing:normal}
.filter-panel .filter-search{width:100%;padding:.3rem .4rem;border:1px solid var(--line);
  border-radius:4px;font:inherit;font-size:.9rem;margin-bottom:.3rem}
.filter-panel .filter-actions{display:flex;gap:.8rem;margin-bottom:.3rem;font-size:.85rem}
.filter-panel .filter-list{max-height:240px;overflow:auto}
.filter-panel .filter-list label{display:flex;align-items:center;gap:.4rem;padding:.12rem 0;
  font-size:.9rem;color:var(--ink);cursor:pointer}
.filter-panel .filter-list label:hover{color:var(--accent)}
.filter-panel .filter-list input{margin:0}
.filter-panel .filter-actions .only{font-weight:700;color:var(--accent)}
.filter-panel .filter-actions .only[hidden]{display:none}

/* ---- filtre numérique : double curseur sur un intervalle ---- */
.filter-panel .range-out{text-align:center;font-size:.9rem;font-weight:700;color:var(--accent);
  margin-bottom:.2rem}
.filter-panel .range-wrap{position:relative;height:26px;margin:0 4px}
.filter-panel .range-track,.filter-panel .range-fill{position:absolute;top:11px;height:4px;
  border-radius:2px}
.filter-panel .range-track{left:0;right:0;background:var(--line)}
.filter-panel .range-fill{background:var(--accent)}
.filter-panel .range-wrap input[type=range]{position:absolute;left:0;top:0;width:100%;height:26px;
  margin:0;padding:0;background:none;border:0;pointer-events:none;-webkit-appearance:none;appearance:none}
.filter-panel .range-wrap input[type=range]:focus{outline:none}
.filter-panel .range-wrap input[type=range]::-webkit-slider-thumb{pointer-events:auto;
  -webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;
  border:2px solid var(--accent);cursor:pointer;margin-top:0}
.filter-panel .range-wrap input[type=range]::-moz-range-thumb{pointer-events:auto;
  width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--accent);
  cursor:pointer}
.filter-panel .range-wrap input[type=range]::-moz-range-track{background:none;border:0}
.filter-panel .range-boxes{display:flex;align-items:center;gap:.35rem;margin:.35rem 0 .3rem}
.filter-panel .range-boxes input{width:100%;min-width:0;padding:.2rem .3rem;font:inherit;
  font-size:.85rem;border:1px solid var(--line);border-radius:4px}
.filter-panel .range-blanks{display:flex;align-items:center;gap:.4rem;font-size:.85rem;
  color:var(--muted);cursor:pointer;margin-bottom:.3rem}
.az button{padding:0 .35rem;color:var(--muted);background:none;border:0;font:inherit;cursor:pointer}
.az button:hover{color:var(--accent)}
.az button.on{color:#fff;background:var(--vert_antique);border-radius:4px}
