/* ══════════ LE MOT DU RAYON EN FOND ══════════
   Chargé APRÈS fiche.css, et seulement par les 45 fiches produit.
   univers.js pose #uniFond en premier enfant de <body> et y fait
   défiler le mot géant du rayon (RAYONS[].geant dans socle.js).

   POURQUOI z-index:-1 ET PAS UNE COUCHE POSITIVE : un élément fixe
   forme sa propre couche et passerait DEVANT tout le contenu non
   positionné. À -1 il glisse derrière le contenu mais reste devant le
   fond de page (--nuit est peint sur le canevas, pas sur un enfant),
   et <body> ne crée pas de contexte d'empilement — vérifié : ni
   transform, ni filter, ni opacity dessus.

   LA COULEUR N'EST PAS ÉCRITE ICI. Le mot est peint en var(--u3), la
   teinte claire que socle.css donne au rayon via body[data-univers=…],
   et c'est l'OPACITÉ du calque (.14) qui l'efface. Contraste MESURÉ
   (voir outils/univers-inscrit.py, § contrôle) : le pire cas est le
   texte --encre2 (blanc à 70 %) posé sur le mot du rayon huiles,
   7,66:1 — la barre des 4,5:1 est loin. Monter l'opacité, c'est
   descendre ce chiffre : relancer le script, il refait la mesure. */

#uniFond{
  position:fixed;inset:0;z-index:-1;
  display:flex;align-items:center;            /* au milieu, au scroll aussi */
  overflow:hidden;
  pointer-events:none;                        /* jamais cliquable */
  opacity:.14;                                /* l'effacement, mesuré */
}
#uniFond .uniPiste{
  display:flex;flex:none;
  white-space:nowrap;
  will-change:transform;                      /* on n'anime QUE transform */
}
#uniFond .uniMot{
  flex:none;
  font-family:var(--f-titre);
  font-weight:700;
  font-size:clamp(10rem,30vw,26rem);
  line-height:.9;
  letter-spacing:.02em;
  padding-right:.45em;                        /* l'air entre deux copies */
  color:var(--u3);                            /* la teinte du rayon, socle.css */
  user-select:none;
}
