/* Carte de chaleur de la page Croisements */
.croisements { overflow: auto; max-height: 80vh; margin: 1em 0; }
.md-typeset .croisements table { border-collapse: collapse; font-size: 0.62rem; margin: 0; }
.md-typeset .croisements th,
.md-typeset .croisements td {
  min-width: 1.9em; padding: 0.2em 0.25em; text-align: center;
  border: 1px solid var(--md-default-fg-color--lightest);
}
.md-typeset .croisements thead th { position: sticky; top: 0; z-index: 2; }
.md-typeset .croisements tbody th { position: sticky; left: 0; z-index: 1; }
.md-typeset .croisements thead th:first-child { left: 0; z-index: 3; background: var(--md-default-bg-color); }
.md-typeset .croisements td.fort { color: #fff; }
.md-typeset .croisements td.diag { background: var(--md-default-fg-color--lightest); font-weight: 700; }
.md-typeset .croisements .dom-A { background: #fde2e2; color: #7a1f1f; }
.md-typeset .croisements .dom-C { background: #e2f0fd; color: #1f4a7a; }
.md-typeset .croisements .dom-G { background: #e4f7e4; color: #1f6a2a; }
.md-typeset .croisements .dom-N { background: #fdf3dc; color: #7a5a12; }

/* Graphique des domaines par année (page Statistiques OIM) */
.graphique-oim { margin: 1em 0; }
.graphique-oim svg { width: 100%; height: auto; font-size: 11px; fill: var(--md-default-fg-color--light); }
.graphique-oim .grille { stroke: var(--md-default-fg-color--lightest); stroke-width: 1; }
.graphique-oim .dans-barre { fill: #ffffff; font-weight: 700; }
.graphique-oim rect:hover { opacity: 0.8; }
.graphique-oim .legende { display: flex; flex-wrap: wrap; gap: 0.4em 1.2em; font-size: 0.7rem; margin: 0.3em 0 0; }
.graphique-oim .legende i { display: inline-block; width: 0.8em; height: 0.8em; margin-right: 0.35em;
  border-radius: 2px; vertical-align: -0.05em; }
