/* =====================================================================
   LE POINT D'INCLUSION UNIQUE DU LOGO — 24/08/2026.

   ╔═══ CE QU'IL Y AVAIT AVANT ═══╗
   34 pages référençaient le fichier chacune de leur côté, avec le chemin,
   la largeur et la hauteur intrinsèques recopiés à la main dans chaque
   balise. Changer le logo, c'était 34 gestes — et 34 occasions d'en
   oublier un. Le jour où Cédric tranche sur la forme, ce coût se paie.

   ╔═══ CE QU'IL Y A MAINTENANT ═══╗
   Les pages écrivent seulement :  <img data-mr-logo class="…" alt="…">
   Le FICHIER et sa GÉOMÉTRIE INTRINSÈQUE sont déclarés ici, une fois.
   Changer le logo = changer les deux lignes ci-dessous. Un geste.

   ╔═══ POURQUOI « content » ET PAS DU JAVASCRIPT ═══╗
   Une inclusion par script aurait marché, mais elle aurait fait dépendre
   l'affichage de la marque du chargement d'un fichier JS : sans lui, plus
   de logo du tout, y compris sur les pages de connexion. La feuille de
   style, elle, bloque déjà le rendu — elle est là avant la première
   peinture, il n'y a ni clignotement ni dépendance nouvelle.
   MESURÉ AVANT DE CHOISIR : la zone du logo a été capturée avant et après
   la bascule sur trois pages, à deux fois la densité de pixels. Les
   captures sont IDENTIQUES OCTET POUR OCTET (login, admin/index,
   mes-formations), et la zone porte 84 à 125 valeurs distinctes — donc une
   vraie image, pas un aplat qui aurait fait illusion sur un rectangle.

   ╔═══ CE QUI RESTE DANS LES PAGES, ET POURQUOI ═══╗
   · La CLASSE. C'est de la mise en page, pas de l'identité : chaque page
     décide de la taille de son logo (de 24 à 40 px de haut selon l'écran).
     La centraliser reviendrait à décider ici de la maquette de 34 pages.
   · Le TEXTE ALTERNATIF. C'est un contenu accessible, pas un fichier. Le
     déporter en CSS le rendrait muet pour les lecteurs d'écran.

   ╔═══ CE QUE CE FICHIER NE FAIT PAS ═══╗
   Il ne change AUCUNE taille affichée et ne propose AUCUNE forme nouvelle.
   La décision de forme appartient à Cédric et n'est pas prise ici.
   ===================================================================== */

img[data-mr-logo] {
  /* ─── LES DEUX SEULES LIGNES À CHANGER LE JOUR DE LA DÉCISION ───
     ET CE JOUR EST ARRIVÉ : le 24/08 au soir, Cédric a regardé le cartouche
     aux quatre tailles et tranché — « c'est petit mais on voit bien et on
     comprend que c'est le logo de Méthode Richard ». LA SILHOUETTE SUFFIT ;
     la lisibilité lettre à lettre n'était pas le critère. Sa décision
     remplace la réserve du contrôle de 17h50 sur le test des 32 px.
     LE CHANGEMENT AURA COÛTÉ CES DEUX LIGNES, sur 38 pages et 47 balises —
     c'était l'objet de ce fichier, et c'est vérifié plutôt que supposé. */
  content: url("/assets/brand/methode-richard-cartouche.svg");
  aspect-ratio: 1373 / 652;  /* la géométrie du fichier ci-dessus */
  /* ─────────────────────────────────────────────────────────────── */

  /* ╔═══ LA RÉSERVE EST LEVÉE — 25/08/2026 ═══╗
     ELLE DISAIT : « ce SVG n'est pas un vecteur ». C'était vrai — aucun
     tracé, seulement DEUX IMAGES PNG de 1440×736 encodées en base64 et un
     manifeste « Canva AI ». Elle annonçait aussi que le jour où un vrai
     vecteur arriverait, l'échange coûterait CES DEUX LIGNES ET RIEN
     D'AUTRE. CE JOUR EST ARRIVÉ, ET LA PROMESSE A TENU : le cartouche a
     été REDESSINÉ GÉOMÉTRIQUEMENT — pas décalqué —, Cédric l'a validé le
     25/08 à 00h55 (journal /redessin-cartouche-24082026, verdict « oui »),
     et le remplacement n'a coûté QUE la ligne d'aspect-ratio ci-dessus,
     le nom du fichier n'ayant pas eu à changer.
     CE QUE LE FICHIER CONTIENT MAINTENANT : neuf tracés — la plaque, trois
     cercles concentriques pour l'arc violet, le liseré crème, les lettres
     crème et rouges, LES DEUX ÉTOILES et les hachures. 12 620 octets au
     lieu de 371 824, soit 96,6 % de moins, et il tient désormais à
     l'impression comme à l'écran.
     L'OR DES ÉTOILES EST CELUI D'ORIGINE, #EAAE1F, et c'est un verdict :
     Cédric l'a préféré à l'or de charte #EAB939 le 25/08 à 00h55 (même
     journal, question « or-des-etoiles », réponse « origine »). Il est
     posé dans le fichier en var(--etoiles, #EAAE1F) — NE PAS l'aligner
     sur la charte sans un nouvel arbitrage.
     CE QUI A CHANGÉ AU RENDU, MESURÉ ET NON SUPPOSÉ : le rapport passe de
     2,2337 à 2,1058, donc à hauteur d'en-tête égale le logo est 5,72 %
     moins large. Les lettres, elles, occupent plus de place dans le
     cartouche. Contrôlé aux quatre tailles servies (24, 28, 32, 40 px) :
     rien ne se perd, la silhouette et les deux étoiles se lisent.
     UNE MESURE QUI RESTE À DIRE, ET QUI N'EST PAS TRANCHÉE : le bas du
     dessin dépasse son cadre de 10 unités sur 652 (l'ancien dépassait de
     1 sur 291). À 28 px cela fait 0,43 px contre 0,10 px — sous le demi-
     pixel, donc invisible aux tailles servies, mais réel à l'impression.
     Élargir le cadre n'a PAS été fait : le fichier validé par Cédric est
     repris à l'octet près, et recadrer serait une décision, pas une
     application. C'est consigné pour l'arbitrage suivant.
     ╚═════════════════════════════════════════════════════════════════╝ */

  /* CETTE TROISIÈME LIGNE N'EST PAS DÉCORATIVE, ET ELLE A ÉTÉ TROUVÉE PAR LA
     MESURE. Dans un conteneur flex — la barre du haut de creation.html —, un
     élément remplacé par « content » ne dérive PAS sa largeur de son
     aspect-ratio : il rendait 28×28 au lieu de 54,88×28, donc un logo écrasé
     en carré. Huit candidats ont été essayés en navigateur (flex:0 0 auto,
     min-width:0, object-fit:contain, display:inline-block, align-self,
     aspect-ratio « auto », inline-size…) : trois seulement corrigent, et
     fit-content est le plus sobre.
     Elle ne s'applique qu'à défaut : toute page qui pose sa propre largeur
     avec une spécificité au moins égale garde la main. Vérifié en remesurant
     les 76 logos des 34 pages après l'ajout. */
  width: fit-content;
}

/* =====================================================================
   LA SIGNATURE « UNE ÉDITION RICHARDERIE » — 24/08/2026.

   ╔═══ CE QUE CHARLOTTE A TRANCHÉ ═══╗
   « On garde Charlotte Richard en grand, ET on ajoute une petite signature
   "une édition Richarderie" sur chaque page. » (24/08, réponse B.)

   ╔═══ POURQUOI ELLE VIT ICI, ET PAS DANS 46 PAGES ═══╗
   Il n'existe AUCUN GABARIT PARTAGÉ côté plateforme : chaque page porte son
   propre HTML. Posée à la main, cette signature aurait été recopiée 46 fois
   — donc 46 occasions de dériver, et 46 gestes le jour où elle change.
   MESURÉ AVANT DE CHOISIR LE PORTEUR : cette feuille est déjà liée par 46
   des 48 pages servies ; socle.css ne l'est que par 2. C'était donc elle,
   le point d'inclusion qui existait déjà.
   Rendue par « body::after », elle ne demande AUCUNE modification de page :
   toute page qui charge cette feuille la porte, y compris celles qu'on
   écrira demain sans y penser.

   ╔═══ SUR LA PLATEFORME, C'EST TEXTE SEUL — ET C'EST TRANCHÉ ═══╗
   DÉCISION DE CÉDRIC, 24/08/2026 (identite.signature-richarderie-texte-
   seul-sur-la-plateforme-24082026) : LA SIGNATURE EST EN TEXTE SEUL SUR
   LA PLATEFORME. PAS DE « R », PAS DE LOGO. Le « R » Richarderie ne sert
   que sur SHOPIFY — en-tête et factures du site marchand.
   TROIS MOTIFS, POUR QUI RELIRA CE FICHIER :
   · le pied vit sous un en-tête qui porte DÉJÀ la marque Méthode Richard,
     et un second logo affaiblirait les deux ;
   · c'est l'usage de l'édition : au colophon, le nom de l'éditeur est en
     TEXTE, pas en logo ;
   · et la mesure du 24/08 le confirme — un « R » qui ne descend pas sous
     32 px obligerait à dimensionner CHAQUE pied de page autour de lui.
   NE PAS ALLUMER LE BLOC « LE JOUR DU R » CI-DESSOUS sans une nouvelle
   décision. Il n'attend pas un fichier : il attend un arbitrage.

   ╔═══ POURQUOI LE MÉCANISME RESTE LÀ, ÉTEINT ═══╗
   Il n'est PAS supprimé, et c'est délibéré : la raison d'être du point
   d'inclusion unique est justement de pouvoir accueillir un logo PLUS
   TARD SANS ROUVRIR LES 28 PAGES. Le retirer aujourd'hui reviendrait à
   payer une seconde fois ce travail le jour où un logo reviendrait dans
   un pied de page.
   Ce qui dort ici : la place du logo, LE PLANCHER DE 32 PX écrit en
   « max() » — décision du 24/08 : sous 32 px le « R » est illisible, donc
   la bande se dimensionne AUTOUR du logo et jamais l'inverse, et là où
   32 px ne tiennent pas c'est texte seul, jamais un « R » rétréci — et la
   bascule par page « data-mr-signature="texte" ».
   Le plancher est STRUCTUREL, PAS DOCUMENTAIRE : écrit en max() dans les
   deux endroits qui dimensionnent le logo, une hauteur réglée par erreur
   à 20 px rendra quand même 32. Un commentaire se contourne sans le
   vouloir ; un max() non. Vérifié en navigateur, et le test a été muté
   pour s'assurer qu'il mord.

   ╔═══ POURQUOI « currentColor » ET PAS UNE COULEUR DE CHARTE ═══╗
   Le dépôt porte DEUX JETONS RIVAUX du même nom : « --or » vaut #d9ad5c sur
   treize pages et #EAB939 sur quatre (inventaire du 22/08, voir socle.css).
   Une couleur fixe serait donc juste sur certaines pages et fausse sur
   d'autres, et un jeton hérité serait imprévisible. La signature emprunte
   la couleur du texte de sa page et la baisse : elle est discrète partout,
   sur fond sombre comme sur fond clair, sans rien savoir de la page.
   ===================================================================== */

:root {
  /* ─── LE TEXTE, ET LE PLANCHER DU LOGO ─── */
  --mr-signature: "une édition Richarderie";

  /* LE PLANCHER. 32 px, décision de Cédric du 24/08. On peut demander PLUS
     ici ; on ne peut pas obtenir MOINS, le max() plus bas s'y oppose. */
  --mr-signature-r-hauteur: 32px;
  /* L'air entre le « R » et le mot, quand les deux sont là. */
  --mr-signature-r-ecart: 8px;

  /* ─── FORME SERVIE AUJOURD'HUI : TEXTE SEUL ─── */
  /* Les fichiers du « R » ne sont pas encore sur le VPS. Tant qu'ils n'y
     sont pas, pointer dessus ne donnerait pas un logo mais un trou : la
     place serait réservée et rien ne viendrait la remplir. */
  --mr-signature-r: none;
  --mr-signature-r-place: 0px;
  /* ──────────────────────────────────────────── */
}

/* ═════ BLOC DORMANT — NE PAS ALLUMER SANS UNE NOUVELLE DÉCISION ═════
   ⚠ SUR LA PLATEFORME, LA SIGNATURE EST EN TEXTE SEUL. Tranché par Cédric
   le 24/08 (voir l'en-tête). Ce bloc n'attend PAS un fichier manquant : il
   attend un arbitrage qui, aujourd'hui, dit non. Il est conservé pour que
   le jour où un logo reviendrait dans un pied de page, il n'y ait à
   rouvrir aucune des 28 pages — c'est la raison d'être du point
   d'inclusion unique, et la seule raison de garder ces lignes.
   Le décommenter tel quel allumerait le « R » sur les 28 pages d'un coup.

   Aucune page à rouvrir, aucune autre ligne à toucher. « --place » se
   déduit de la hauteur : on ne peut pas régler l'un en oubliant l'autre,
   qui était le piège de la version précédente.
   LA DÉCLINAISON À METTRE ICI EST UNE DÉCISION DE CÉDRIC, pas de cette
   feuille. Ce que la mesure du 24/08 a établi sur les fonds RÉELLEMENT
   peints sous la signature (37 pages, 29 pieds sombres et 8 clairs) :
     · or #EAB939 sur pied sombre ....... 8,07 à 11,50:1   (3,14-3,41 à 0,5)
     · crème #F4F1E0 sur pied sombre ... 12,99 à 18,51:1   (4,42-4,86 à 0,5)
     · noir #000000 sur pied clair ..... 17,25 à 21,00:1   (3,81-3,95 à 0,5)
     · or sur pied CLAIR .................. 1,50 à 1,83:1  ← illisible
     · noir sur pied SOMBRE ............... 1,00 à 1,42:1  ← illisible
   AUCUNE DÉCLINAISON UNIQUE NE SERT LES DEUX GROUPES, et aucune page ne
   porte de crochet dans son <body> : voir le bloc « LES DEUX FORMES ».
   Le « x2 » sert les écrans à forte densité ; le HD n'a pas sa place ici,
   il pèserait 681 px de large pour en afficher 25.

:root {
  --mr-signature-r: image-set(url("/assets/brand/richarderie-r-creme.png") 1x,
                              url("/assets/brand/richarderie-r-creme-x2.png") 2x);
  --mr-signature-r-place: calc(max(32px, var(--mr-signature-r-hauteur))
                               + var(--mr-signature-r-ecart));
}
   ═══════════════════════════════════════════════════════════════════════ */

/* ═════ LES DEUX FORMES, ET COMMENT ON PASSE DE L'UNE À L'AUTRE ═════
   ① AVEC LOGO — la forme par défaut dès que le bloc ci-dessus est actif.
   ② TEXTE SEUL — là où 32 px ne tiennent pas, ou là où la déclinaison
      servie serait illisible sur le fond de la page.
   La bascule se fait par UN attribut sur le <body>, sans toucher au reste
   de la page ni à cette feuille :  <body data-mr-signature="texte">
   CE QUE CELA COÛTE, ET IL FAUT LE DIRE : la feuille ne peut PAS deviner
   quelles pages ont un pied clair. Mesuré le 24/08 — les 37 <body> servis
   sont NUS, aucun n'a de classe, d'identifiant ni de marqueur de famille.
   Une déclinaison fixe unique laissera donc forcément un des deux groupes
   illisible. Les trois issues sont dans le rapport du lot ; celle qui ne
   demande AUCUNE retouche de page est le « R » en masque prenant
   currentColor, comme le texte le fait déjà. ARBITRAGE DE CÉDRIC. */
body[data-mr-signature="texte"] {
  --mr-signature-r: none;
  --mr-signature-r-place: 0px;
}

body {
  /* HORS DU FLUX, DONC INCAPABLE DE DÉPLACER QUOI QUE CE SOIT. Première
     tentative mesurée puis ABANDONNÉE : laisser la signature dans le flux
     avec « flex-wrap: wrap » remontait la carte de connexion de 45 px sur
     les huit pages qui centrent leur contenu avec un body en flex. Une
     signature n'a pas à bouger une page. Positionnée en absolu, elle n'est
     plus un frère de la carte et ne pèse plus sur aucune mise en page.
     « position: relative » ne fait qu'ancrer la signature au bas du body ;
     il est posé ici, et son innocuité est vérifiée page par page. */
  position: relative;
  /* SANS CETTE LIGNE, LA SIGNATURE FLOTTE AU MILIEU DU VIDE. Mesuré sur les
     quinze pages dont le contenu est plus court que la fenêtre : elle se
     posait à 293 px du haut d'une page de 900, six cents pixels de fond vide
     en dessous — une ligne égarée, pas une signature. C'est le déséquilibre
     qu'il fallait éviter. Le body descend donc au moins jusqu'au bas de la
     fenêtre, et la signature s'ancre à ce bas-là. */
  min-height: 100vh;
}

body::after {
  content: var(--mr-signature);
  display: block;
  /* LE PIED TOMBE AU BON ENDROIT DANS LES DEUX CAS, sans que la page ait à
     savoir laquelle elle est : le body descend au moins jusqu'au bas de la
     fenêtre (voir min-height ci-dessus) et s'allonge avec son contenu, donc
     « bottom: 0 » vaut « bas de la fenêtre » sur une page courte et « fin du
     contenu » sur une page longue.
     PAS DE « fixed » : il ferait flotter la signature en permanence
     par-dessus le contenu pendant qu'on fait défiler la page. */
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  box-sizing: border-box;
  /* LA BANDE SE DIMENSIONNE AUTOUR DU LOGO, PAS L'INVERSE : la place du
     « R » est ajoutée EN HAUT du rembourrage, donc la bande grandit pour
     le loger. En texte seul, « --place » vaut 0 et le pied retrouve
     exactement sa hauteur d'avant — mesuré, pas supposé. */
  padding: calc(18px + var(--mr-signature-r-place)) 16px 20px;
  /* ET ELLE NE PEUT PAS REDEVENIR PLUS COURTE QUE CE QU'IL LUI FAUT. Sans
     cette ligne, une page qui reposerait son propre rembourrage écraserait
     la bande et le fond du « R » serait rogné — un logo coupé, pas un logo
     absent, donc un défaut qu'on ne remarque pas tout de suite. */
  min-height: calc(18px + var(--mr-signature-r-place) + 20px);
  text-align: center;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.4;
  /* Discrète par construction : la couleur du texte de la page, atténuée. */
  color: currentColor;
  opacity: 0.5;
  /* LE « R », AU-DESSUS DU MOT ET CENTRÉ AVEC LUI — vide tant qu'il n'existe
     pas. Posé À GAUCHE, il se serait retrouvé à six cents pixels du texte
     sur une bande de 1280 : deux objets sans rapport, pas une signature.
     Au-dessus, marque et mot forment un bloc, et le centrage vaut à toutes
     les largeurs sans que la feuille ait à connaître la longueur du mot. */
  background-image: var(--mr-signature-r);
  background-repeat: no-repeat;
  background-position: top 18px center;
  /* LE PLANCHER DE 32 PX, ÉCRIT ICI PLUTÔT QUE COMMENTÉ. On dimensionne par
     la HAUTEUR et non par la largeur : c'est la hauteur que la décision
     borne, et « auto » laisse la largeur suivre le fichier — donc aucune
     déformation, quelle que soit la déclinaison déposée. */
  background-size: auto max(32px, var(--mr-signature-r-hauteur));
  /* Ni sélectionnable ni cliquable : c'est une signature, pas du contenu. */
  user-select: none;
  pointer-events: none;
}

/* DEUX PAGES NE LA PORTENT PAS, ET C'EST MESURÉ, PAS SUPPOSÉ.
   mentions-legales.html et politique-confidentialite.html nomment déjà la
   SARL Richarderie comme éditrice, dans leur corps de texte et au titre
   d'une obligation légale. Y ajouter la signature ferait dire deux fois la
   même chose à dix lignes d'écart.
   VÉRIFIÉ PLUTÔT QUE REPRIS : la consigne annonçait mon-entreprise.html
   comme portant déjà la mention. C'EST FAUX — son unique occurrence de
   « Richarderie » est dans une URL. Cette page porte donc la signature
   comme les autres. */
body[data-mr-signature="deja"]::after { content: none; }
