/* Plateforme documentaire — identité sobre, orientée lecture longue. */

:root {
  --md-primary-fg-color:        #1c1f26;
  --md-primary-fg-color--light: #333842;
  --md-primary-fg-color--dark:  #0f1115;
  --md-accent-fg-color:         #2f6f8f;
}

/* Material fait dériver la couleur des liens de la couleur primaire, presque
   noire ici : les liens devenaient indiscernables du texte en mode clair et
   invisibles en mode sombre. La déclaration doit viser le sélecteur de schéma,
   plus spécifique que :root, sinon elle est ignorée. */
[data-md-color-scheme="default"] {
  --md-typeset-a-color: #2f6f8f;
}
[data-md-color-scheme="slate"] {
  --md-hue: 220;
  --md-accent-fg-color: #6fb3d2;
  --md-typeset-a-color: #6fb3d2;
}

/* Un lien de contenu se distingue par la couleur et par le soulignement :
   l'écart de luminance avec le texte reste inférieur au seuil qui autoriserait
   la couleur seule. Les liens de navigation et les boutons sont exclus. */
.md-typeset a:not(.headerlink):not(.md-button) {
  text-decoration: underline;
  text-underline-offset: 0.15em;
  text-decoration-thickness: 0.06em;
}

/* Mesure de lecture confortable */
.md-grid { max-width: 64rem; }
.md-typeset { font-size: 0.78rem; line-height: 1.7; }
.md-typeset h1 { font-weight: 600; letter-spacing: -0.01em; }
.md-typeset h2 { font-weight: 600; margin-top: 2.2em; }

/* Tableaux : défilement plutôt que compression illisible.
   Certains corpus contiennent des tableaux à six colonnes. */
.md-typeset table:not([class]) {
  display: block; overflow-x: auto; white-space: nowrap; font-size: 0.72rem;
}
.md-typeset table:not([class]) td,
.md-typeset table:not([class]) th { white-space: normal; min-width: 7rem; }

/* Code : quelques lignes dépassent cent caractères */
.md-typeset pre > code { overflow-x: auto; }
.md-typeset code { font-size: 0.78em; }

/* Catalogue de formations */
.catalogue { display: grid; gap: 1.1rem; margin: 1.6rem 0; }
@media screen and (min-width: 60em) {
  .catalogue { grid-template-columns: 1fr 1fr; }
}
.formation-carte {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 3px; padding: 1.1rem 1.2rem; background: var(--md-default-bg-color);
}
.formation-carte h3 { margin: 0 0 .2rem; font-size: .95rem; font-weight: 600; }
.formation-carte .sous-titre {
  color: var(--md-default-fg-color--light); font-size: .74rem; margin-bottom: .7rem;
}
/* Grille plutôt que flottement : le flottement ne tenait pas l'alignement
   dès qu'une valeur passait à la ligne. */
.formation-carte dl {
  margin: .6rem 0; font-size: .72rem;
  display: grid; grid-template-columns: 7rem 1fr; column-gap: .6rem; row-gap: .25rem;
}
.formation-carte dt {
  font-weight: 600; color: var(--md-default-fg-color--light); margin: 0;
}
.md-typeset .formation-carte dd { margin: 0; }
.etiquette {
  display: inline-block; font-size: .62rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em;
  padding: .12rem .45rem; border-radius: 2px; margin-bottom: .5rem;
}
.etiquette.partiel    { background: #7a5b12; color: #fff; }
.etiquette.disponible { background: #2c6e49; color: #fff; }
.etiquette.cadrage    { background: #4a4f5a; color: #fff; }
.etiquette.redaction  { background: #2f6f8f; color: #fff; }

/* Impression */
@media print {
  .md-sidebar, .md-header, .md-footer, .md-nav { display: none !important; }
  .md-content { margin: 0 !important; }
  .md-typeset table:not([class]) { white-space: normal; font-size: .7rem; }
}
