/* ==========================================================================
   01 - Typographie et marqueurs graphiques réutilisables
   Lot 1. Effet de levier maximal : ce fichier change l'aspect de tout le
   site sans qu'aucune page n'ait été ouverte dans Elementor.
   ========================================================================== */

/* --- Bascule Futura -> Source Sans 3 ------------------------------------ */

body,
button,
input,
select,
textarea,
.wpbf-menu a,
.elementor-widget-text-editor,
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--lm-font);
}

/* Neutralisation des déclarations Futura restantes, posées en inline ou en
   classe par d'anciens réglages. On ne supprime pas les fichiers de police du
   serveur : ils servent de retour arrière si le client change d'avis. */
[style*="FUTURA"],
[style*="Futura"],
[class*="futura"] {
  font-family: var(--lm-font) !important;
}

/* Le corps de texte ne grossit pas : arbitrage de Valérie, ne pas allonger
   les pages. On hérite, on ne redéfinit pas de taille. */
body {
  color: var(--lm-foreground);
  background: var(--lm-background);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--lm-font);
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--lm-foreground);
}

/* --- Marqueur 4 : carré violet de fin de résumé -------------------------- */

.lm-square-end::after,
.lm-square-inline {
  content: "";
  display: inline-block;
  width: var(--lm-square);
  height: var(--lm-square);
  margin-left: .4em;
  background: var(--lm-primary);
  vertical-align: middle;
}

/* --- Marqueur 2 : filet vertical à gauche d'un bloc de texte ------------- */

.lm-rule-left {
  border-left: var(--lm-rule) solid var(--lm-border);
  padding-left: 1.25rem;
}

/* --- Filet violet court sous un titre de page ---------------------------- */
/* La maquette utilise w-16 h-px, soit 64px sur 1px (SubPageLayout.tsx). */

.lm-title-rule::after {
  content: "";
  display: block;
  width: 64px;
  height: var(--lm-rule);
  margin-top: .75rem;
  background: var(--lm-primary);
}

/* --- Filet horizontal de séparation, marqueur 1 -------------------------- */

.lm-rule-h {
  height: var(--lm-rule);
  background: var(--lm-border);
  border: 0;
  margin: 0;
}

/* --- Liens ---------------------------------------------------------------- */

a { color: inherit; }

a:hover,
a:focus-visible {
  color: var(--lm-primary);
}

/* Visibilité du focus clavier : point d'accessibilité, le thème parent ne le
   garantit pas sur tous les éléments. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--lm-primary);
  outline-offset: 2px;
}

/* Utilitaire de texte réservé aux lecteurs d'écran. */
.lm-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* --- Surcharge du kit Elementor ------------------------------------------
   CONSTAT du 07/09/2026, sur le fichier réellement servi
   (wp-content/uploads/elementor/css/post-6.css) : le kit impose

     .elementor-kit-6            { font-family: "FUTURA", Sans-serif; }
     .elementor-kit-6 h1 ... h6  { font-family: "FUTURA", Sans-serif; }
     --e-global-typography-*-font-family : "FUTURA"

   Sa spécificité (0,1,0) bat celle de `body` (0,0,1) : sans ce bloc, la
   bascule vers Source Sans 3 ne se voit pas.

   On passe par `body[class*="elementor-kit-"]` (0,1,1), qui gagne SANS
   !important et SANS coder en dur le numéro du kit : si le kit change d'ID,
   la règle tient toujours.

   Les variables globales sont redéfinies en plus des familles, parce que la
   plupart des widgets écrivent
   `font-family: var(--e-global-typography-text-font-family), Sans-serif`.

   CE BLOC EST UN FILET DE SÉCURITÉ, PAS LA SOLUTION DÉFINITIVE. La bascule
   propre se fait dans Elementor > Réglages du site > Typographie, puis
   `wp elementor flush-css`. Une fois faite, ce bloc devient redondant et peut
   être retiré. */

body[class*="elementor-kit-"] {
  --e-global-typography-primary-font-family: 'Source Sans 3';
  --e-global-typography-secondary-font-family: 'Source Sans 3';
  --e-global-typography-text-font-family: 'Source Sans 3';
  --e-global-typography-accent-font-family: 'Source Sans 3';
  --e-global-typography-eaecb44-font-family: 'Source Sans 3';
  font-family: var(--lm-font);
}

body[class*="elementor-kit-"] h1,
body[class*="elementor-kit-"] h2,
body[class*="elementor-kit-"] h3,
body[class*="elementor-kit-"] h4,
body[class*="elementor-kit-"] h5,
body[class*="elementor-kit-"] h6,
body[class*="elementor-kit-"] .elementor-heading-title,
body[class*="elementor-kit-"] .elementor-widget-text-editor,
body[class*="elementor-kit-"] .wpbf-menu a,
body[class*="elementor-kit-"] button,
body[class*="elementor-kit-"] input,
body[class*="elementor-kit-"] select,
body[class*="elementor-kit-"] textarea {
  font-family: var(--lm-font);
}

/* Le thème parent a lui aussi ses réglages de typographie dans le
   Customizer. Même traitement, sans !important. */
body.wpbf,
body.wpbf .wpbf-menu a {
  font-family: var(--lm-font);
}

/* --- Réglages de police posés widget par widget ---------------------------
   CONSTAT du 07/09/2026 : les titres de mosaïque (INTERCESSEURS, MAÎTRES...)
   restent en "FUTURA LM" même après la surcharge du kit. La police est réglée
   DANS CHAQUE WIDGET, ce qui produit un CSS du type

     .elementor-element.elementor-element-a1b2c3 .elementor-heading-title
       { font-family: "FUTURA LM", sans-serif; }

   Cette règle a la même spécificité que la nôtre et se charge après : aucune
   surcharge sans !important ne peut la battre.

   Les seules alternatives seraient de rouvrir une centaine de pages dans
   Elementor, ce que la règle 7 du projet interdit, ou de réécrire le JSON de
   chaque page en base, ce qui est bien plus risqué que ces trois lignes.

   !important EST DONC ASSUMÉ ICI, et strictement limité à font-family : ni la
   taille, ni la graisse, ni la couleur, ni l'italique ne sont touchés, pour ne
   pas écraser la mise en page voulue par le client.

   À retirer le jour où les réglages de police seront nettoyés dans les pages. */

body[class*="elementor-kit-"] .elementor-widget-heading .elementor-heading-title,
body[class*="elementor-kit-"] .elementor-widget-text-editor,
body[class*="elementor-kit-"] .elementor-widget-text-editor p,
body[class*="elementor-kit-"] .eihe-title,
body[class*="elementor-kit-"] .ihe-title {
  font-family: var(--lm-font) !important;
}
