/* ===========================================================================
   MDSK : la base CSS, posée AVANT toute page.
   ===========================================================================
   Chargée APRÈS les jetons du socle (`/socle/web/tokens.css`, copie figée de
   ~/Model) et AVANT les feuilles des pages. Les couleurs, polices et rayons
   viennent du socle : ce fichier n'en invente aucun. Il fixe la géométrie
   propre à MDSK. Aucune page ne porte de valeur en dur : tout consomme
   ces jetons.

   RÈGLES D'ALIGNEMENT (une seule fois, ici) :
   - Tout est aligné à GAUCHE : titres, textes, formulaires, tableaux.
   - Centré : rien, sauf le pied de page (règle du socle).
   - Les boutons d'une rangée s'alignent à gauche, dans l'ordre de lecture.
   - Les nombres d'un tableau s'alignent à droite (classe `.nombre`).
   =========================================================================== */

:root {
  /* Mesure de lecture : la largeur maximale d'une colonne de texte. */
  --mdsk-mesure: 42rem;
  /* Largeur maximale des pages d'administration (tableaux). */
  --mdsk-largeur-admin: 72rem;

  /* Marges latérales : grand écran, puis téléphone (redéfinie plus bas). */
  --mdsk-marge-laterale: 2rem;

  /* L'échelle d'espacements verticaux : QUATRE valeurs, pas une de plus. */
  --mdsk-espace-1: 0.5rem;   /* entre une étiquette et son champ, entre deux lignes liées */
  --mdsk-espace-2: 1rem;     /* entre deux paragraphes, deux champs */
  --mdsk-espace-3: 1.5rem;   /* entre deux blocs d'une même section */
  --mdsk-espace-4: 3rem;     /* entre deux sections */

  /* Marge intérieure des encadrés (cartes, étapes, messages). */
  --mdsk-encadre-marge: var(--mdsk-espace-3);
  /* Distance entre un bouton et le bord de son cadre. */
  --mdsk-bouton-bord: var(--mdsk-espace-2);
  /* Écart horizontal entre deux boutons d'une rangée. */
  --mdsk-bouton-ecart: var(--mdsk-espace-1);

  /* Bordures et rayons : ceux du socle. */
  --mdsk-trait: var(--iav-trait, 1px) solid var(--iav-bordure);
  --mdsk-rayon: var(--iav-rayon);

  /* Couleurs d'état de la page d'installation : celles du socle. */
  --mdsk-succes-fond: var(--iav-succes-fond);
  --mdsk-succes-texte: var(--iav-succes-texte);
  --mdsk-succes-bordure: var(--iav-succes-bordure);
  --mdsk-erreur-fond: var(--iav-erreur-fond);
  --mdsk-erreur-texte: var(--iav-erreur-texte);
  --mdsk-erreur-bordure: var(--iav-erreur-bordure);
  --mdsk-info-fond: var(--iav-info-fond);
  --mdsk-info-texte: var(--iav-info-texte);
  --mdsk-info-bordure: var(--iav-info-bordure);

  /* ORANGE : « installée, version non relue ». Le socle n'a pas d'orange (son avertissement est
     bordeaux) : seule couleur propre à MDSK, posée ici. Contraste mesuré : 6,26:1 en clair. */
  --mdsk-attention-fond: #FFF4E5;
  --mdsk-attention-texte: #8A4B00;
  --mdsk-attention-bordure: #F0B470;

  /* Largeurs minimales des cartes de modèle et des filtres (grilles). */
  --mdsk-carte-largeur-min: 14rem;
  --mdsk-filtre-largeur-min: 10rem;

  /* Barre de progression. */
  --mdsk-progression-hauteur: 0.75rem;
}

/* Orange en thème sombre (mêmes sélecteurs que le socle) : 9,07:1. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="clair"]) {
    --mdsk-attention-fond: #3A2608;
    --mdsk-attention-texte: #FFC27A;
    --mdsk-attention-bordure: #8A5A1C;
  }
}
:root[data-theme="sombre"] {
  --mdsk-attention-fond: #3A2608;
  --mdsk-attention-texte: #FFC27A;
  --mdsk-attention-bordure: #8A5A1C;
}

/* Téléphone : marge latérale de 16 px. */
@media (max-width: 40rem) {
  :root {
    --mdsk-marge-laterale: 1rem;
    --mdsk-encadre-marge: var(--mdsk-espace-2);
  }
}

/* La règle d'alignement, appliquée une fois pour toutes. */
.mdsk-page,
.mdsk-page h1,
.mdsk-page h2,
.mdsk-page p,
.mdsk-page table {
  text-align: left;
}
.mdsk-page .nombre {
  text-align: right;
}
