/* ==========================================================================
   CFA Focus Vers la Réussite
   Feuille de style principale
   Couleurs issues du logo officiel et des maquettes Figma
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Polices
   -------------------------------------------------------------------------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/inter-600-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/inter-700-normal.woff2') format('woff2');
}

/* --------------------------------------------------------------------------
   2. Variables de charte
   -------------------------------------------------------------------------- */
:root {
  /* Violets, repris du dégradé du logo */
  --violet-950: #12062B;
  --violet-900: #1E0B45;
  --violet-800: #2C1163;
  --violet-700: #3D1986;
  --violet-600: #471E9C;
  --violet-500: #5B2AC4;
  --violet-400: #7C3AED;
  --violet-300: #A78BFA;
  --violet-100: #EDE7FC;
  --violet-50:  #F7F4FE;

  /* Ors, repris du dégradé du logo */
  --or-500: #FFDA68;
  --or-600: #F1CE62;
  --or-700: #CFB154;

  /* Neutres */
  --blanc: #FFFFFF;
  --gris-50: #F6F5F8;
  --gris-100: #ECEAF0;
  --gris-200: #DAD7E0;
  --gris-400: #9691A3;
  --gris-600: #5F5A6B;
  --gris-800: #2E2A38;

  /* Rôles */
  /* Fond de page légèrement grisé, comme dans les maquettes : il fait ressortir
     la barre de navigation flottante et les cartes blanches. */
  --fond: #F7F6FA;
  --fond-doux: var(--blanc);
  --fond-sombre: var(--violet-950);
  --texte: var(--gris-800);
  --texte-doux: var(--gris-600);
  --texte-inverse: var(--blanc);
  --accent: var(--violet-600);
  --accent-clair: var(--violet-400);
  --surlignage: var(--or-500);
  --bordure: var(--gris-200);

  /* Rayons */
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 24px;
  --r-xl: 32px;
  --r-pilule: 999px;

  /* Ombres */
  --ombre-sm: 0 1px 3px rgba(18, 6, 43, .08);
  --ombre-md: 0 6px 20px rgba(18, 6, 43, .10);
  --ombre-lg: 0 18px 48px rgba(18, 6, 43, .14);

  /* Rythme */
  --largeur-max: 1240px;
  --gouttiere: 24px;

  /* Transitions */
  --transition: 180ms cubic-bezier(.4, 0, .2, 1);
}

/* --------------------------------------------------------------------------
   3. Réinitialisation
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  /* Garde-fou : aucun élément ne peut provoquer de défilement horizontal */
  overflow-x: hidden;
}

body {
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--texte);
  background: var(--fond);
  -webkit-font-smoothing: antialiased;
}

img, svg, video { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4 {
  margin: 0 0 .5em;
  line-height: 1.15;
  letter-spacing: -.02em;
  font-weight: 700;
  color: var(--violet-950);
}

h1 { font-size: clamp(2.1rem, 5vw, 3.4rem); }
h2 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); }
h3 { font-size: clamp(1.15rem, 2vw, 1.4rem); }
h4 { font-size: 1.05rem; }

p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

a { color: var(--accent); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--violet-400); text-decoration: underline; }

ul, ol { margin: 0 0 1em; padding-left: 1.25em; }
li { margin-bottom: .4em; }

/* Accessibilité : focus toujours visible */
:focus-visible {
  outline: 3px solid var(--violet-400);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Lien d'évitement pour les lecteurs d'écran */
.saut-contenu {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--violet-600);
  color: var(--blanc);
  padding: 12px 20px;
  z-index: 999;
  border-radius: 0 0 var(--r-sm) 0;
}
.saut-contenu:focus { left: 0; }

.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;
}

/* --------------------------------------------------------------------------
   4. Structure
   -------------------------------------------------------------------------- */
.conteneur {
  width: 100%;
  max-width: var(--largeur-max);
  margin-inline: auto;
  padding-inline: var(--gouttiere);
}

.section { padding-block: clamp(56px, 8vw, 96px); }

/* Bandeau d'en-tête en carte arrondie, comme dans les maquettes.
   La barre de navigation flotte au-dessus du fond clair de la page. */
.banniere {
  padding-top: 12px;
  padding-bottom: clamp(40px, 6vw, 64px);
}
/* Photo d'équipe en fond de toutes les bannières, sous un voile dégradé qui
   préserve la lisibilité du texte. */
.banniere__carte {
  position: relative;
  padding: clamp(40px, 6vw, 76px) clamp(28px, 5vw, 68px);
  border-radius: var(--r-xl);
  color: var(--texte-inverse);
  overflow: hidden;

  background-color: #1E0B45;
  background-image:
    linear-gradient(100deg,
      rgba(18, 6, 43, .96) 0%,
      rgba(30, 11, 69, .92) 42%,
      rgba(30, 11, 69, .62) 70%,
      rgba(30, 11, 69, .42) 100%),
    url('../img/hero-img.jpg');
  background-size: cover, cover;
  background-position: center, center right;
  background-repeat: no-repeat, no-repeat;
}

@media (max-width: 900px) {
  .banniere__carte {
    background-image:
      linear-gradient(180deg,
        rgba(18, 6, 43, .86) 0%,
        rgba(30, 11, 69, .94) 100%),
      url('../img/hero-img.jpg');
    background-position: center, center top;
  }
}
.banniere__carte h1,
.banniere__carte h2 { color: var(--texte-inverse); }
.banniere__carte .chapo { color: rgba(255, 255, 255, .86); }
.banniere__carte .surtitre { color: var(--or-500); }
/* Halo décoratif */
.banniere__carte::after {
  content: '';
  position: absolute;
  right: -120px; bottom: -160px;
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(255, 218, 104, .22) 0%, transparent 68%);
  pointer-events: none;
}
.banniere__contenu { position: relative; z-index: 1; max-width: 760px; }
.section--doux { background: var(--fond-doux); }
.section--violet { background: var(--violet-400); color: var(--texte-inverse); }
.section--violet h2, .section--violet h3 { color: var(--texte-inverse); }
.section--sombre { background: var(--fond-sombre); color: var(--texte-inverse); }
.section--sombre h2, .section--sombre h3 { color: var(--texte-inverse); }

/* min-width 0 : sans cela, un enfant large fait déborder toute la grille */
.grille { display: grid; gap: 24px; }
.grille > * { min-width: 0; }
.grille--2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.grille--3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.grille--4 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

/* --------------------------------------------------------------------------
   5. Titres de section
   -------------------------------------------------------------------------- */
.surtitre {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--accent);
  margin-bottom: 12px;
}
.surtitre::before {
  content: '';
  width: 22px;
  height: 2px;
  background: var(--surlignage);
  border-radius: 2px;
}
.section--violet .surtitre,
.section--sombre .surtitre { color: var(--or-500); }

.titre-accent { color: var(--accent-clair); }
.titre-or { color: var(--or-500); }

.chapo {
  font-size: 1.075rem;
  color: var(--texte-doux);
  max-width: 62ch;
}
.section--violet .chapo,
.section--sombre .chapo { color: rgba(255, 255, 255, .85); }

/* --------------------------------------------------------------------------
   6. Boutons
   -------------------------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 28px;
  border: 2px solid transparent;
  border-radius: var(--r-pilule);
  font-size: 1rem;
  font-weight: 600;
  font-family: inherit;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--transition);
}
.btn:hover { text-decoration: none; transform: translateY(-2px); }
.btn:active { transform: translateY(0); }

.btn--principal { background: var(--violet-600); color: var(--blanc); }
.btn--principal:hover { background: var(--violet-500); color: var(--blanc); box-shadow: var(--ombre-md); }

.btn--or { background: var(--or-500); color: var(--violet-950); }
.btn--or:hover { background: var(--or-600); color: var(--violet-950); box-shadow: var(--ombre-md); }

.btn--contour { background: transparent; border-color: var(--violet-600); color: var(--violet-600); }
.btn--contour:hover { background: var(--violet-600); color: var(--blanc); }

.btn--clair { background: var(--blanc); color: var(--violet-700); }
.btn--clair:hover { background: var(--violet-50); color: var(--violet-700); }

.btn--contour-clair { background: transparent; border-color: rgba(255,255,255,.6); color: var(--blanc); }
.btn--contour-clair:hover { background: var(--blanc); color: var(--violet-700); }

.btn--petit { padding: 10px 20px; font-size: .9rem; }

/* Groupe de boutons : garantit un espacement constant, y compris lorsqu'ils
   passent à la ligne sur petit écran. */
.boutons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 0;
}
.centre .boutons { justify-content: center; }
@media (max-width: 560px) {
  .boutons { flex-direction: column; align-items: stretch; }
  .boutons .btn { width: 100%; }
}

/* --------------------------------------------------------------------------
   7. Barre de navigation
   -------------------------------------------------------------------------- */
/* Barre flottante en pilule, reprise de la maquette Figma.
   Valeurs d'origine : pilule 1195 x 88, rayon 50, ombre 0 8px 21px -3px rgba(0,0,0,.25),
   liens Inter Medium 20px, bouton dégradé 163° du violet 600 vers le violet 950. */

.entete {
  position: sticky;
  top: 0;
  z-index: 100;
  padding-block: 20px;
  background: transparent;
  pointer-events: none;
}
.entete > * { pointer-events: auto; }

.entete__barre {
  position: relative;
  display: flex;
  align-items: center;
  gap: 28px;
  height: 88px;
  max-width: 1195px;
  margin-inline: auto;
  padding-left: 43px;
  padding-right: 20px;
  background: var(--blanc);
  border-radius: 50px;
  box-shadow: 0 8px 21px -3px rgba(0, 0, 0, .25);
}

.entete__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}
.entete__logo:hover { text-decoration: none; }
.entete__logo img { height: 67px; width: auto; }

/* Note : la maquette prévoit 4 liens en 20 px. Nous en ajoutons un cinquième
   vers la page Qualité, obligatoire pour l'audit, d'où une taille légèrement
   réduite afin que l'ensemble tienne dans la pilule sans la déformer. */
/* margin-left auto : le groupe de liens est poussé vers la droite, le bouton
   vient donc se placer contre le bord droit de la pilule, sans vide résiduel. */
.nav {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-left: auto;
}
.nav a {
  position: relative;
  padding-block: 8px;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: -.005em;
  color: #272727;
  white-space: nowrap;
}
.nav a:hover { color: var(--violet-600); text-decoration: none; }

/* Petit trait dégradé arrondi sous le lien, repris du principe de la barre
   formationvr.fr. Il est présent sur tous les liens mais invisible au repos,
   puis révélé au survol, au focus clavier et sur la page active. */
.nav a:not(.nav__candidature)::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 31px;
  height: 4px;
  border-radius: 39px;
  background: linear-gradient(90deg, #471E9C 0%, #7C3AED 100%);
  opacity: 0;
  transform: translateX(-50%) scaleX(.4);
  transition: opacity var(--transition), transform var(--transition);
}
.nav a:not(.nav__candidature):hover::after,
.nav a:not(.nav__candidature):focus-visible::after,
.nav a[aria-current='page']::after {
  opacity: 1;
  transform: translateX(-50%) scaleX(1);
}
.nav a[aria-current='page'] { color: var(--violet-600); }

/* Bouton « Je candidate » : pilule compacte posée dans la barre,
   dégradé horizontal, à la manière du bouton « Demande de devis » de formationvr.fr */
/* Sélecteur .nav a.nav__candidature : même poids que .nav a, mais plus
   spécifique, sinon la couleur de texte des liens l'emporterait sur le blanc. */
.nav a.nav__candidature {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  margin-left: 10px;
  padding: 0 30px;
  border-radius: 39px;
  background: linear-gradient(90deg, #471E9C 0%, #7C3AED 100%);
  color: #FFFFFF;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -.005em;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(71, 30, 156, .28);
  transition: filter var(--transition), box-shadow var(--transition), transform var(--transition);
}
.nav a.nav__candidature:hover,
.nav a.nav__candidature:focus-visible {
  filter: brightness(1.12);
  transform: translateY(-1px);
  box-shadow: 0 7px 18px rgba(71, 30, 156, .36);
  color: #FFFFFF;
  text-decoration: none;
}

/* Bouton hamburger */
.burger {
  display: none;
  flex-shrink: 0;
  width: 52px; height: 52px;
  margin-left: auto;
  margin-right: 18px;
  padding: 0;
  border: 0;
  border-radius: var(--r-sm);
  background: transparent;
  cursor: pointer;
}
.burger span {
  display: block;
  width: 24px; height: 2.5px;
  margin: 5px auto;
  background: var(--violet-800);
  border-radius: 2px;
  transition: var(--transition);
}

@media (max-width: 1180px) {
  .nav a { font-size: 1rem; }
  .nav { gap: 18px; }
  .entete__barre { padding-left: 28px; padding-right: 16px; }
  .nav a.nav__candidature { height: 46px; padding: 0 22px; font-size: 1rem; }
}

@media (max-width: 980px) {
  .entete { padding-block: 14px; }
  .entete__barre {
    height: 72px;
    padding-left: 20px;
    border-radius: 40px;
  }
  .entete__logo img { height: 48px; }
  .burger { display: block; }

  .nav {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 0; right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    margin: 0;
    padding: 14px;
    background: var(--blanc);
    border-radius: var(--r-lg);
    box-shadow: var(--ombre-lg);
  }
  .nav.est-ouvert { display: flex; }
  .nav a { padding: 14px 16px; border-radius: var(--r-sm); font-size: 1.05rem; }
  .nav a:hover { background: var(--violet-50); }
  /* Sur mobile le menu est vertical : le trait de page active gênerait */
  .nav a[aria-current='page'] { background: var(--violet-50); font-weight: 600; }
  .nav a[aria-current='page']::after { content: none; }

  .nav a.nav__candidature {
    height: 54px;
    margin: 8px 0 0;
    font-size: 1.05rem;
  }
}

/* --------------------------------------------------------------------------
   8. Cartes
   -------------------------------------------------------------------------- */
.carte {
  padding: 28px;
  background: var(--blanc);
  border: 1px solid var(--bordure);
  border-radius: var(--r-lg);
  box-shadow: var(--ombre-sm);
  transition: transform var(--transition), box-shadow var(--transition);
}
.carte--survol:hover { transform: translateY(-4px); box-shadow: var(--ombre-lg); }

/* Même précaution que pour les cartes formation : fond blanc, texte sombre,
   y compris à l'intérieur d'une section violette ou sombre. */
.carte .carte__titre { margin-bottom: .35em; color: var(--violet-950); }
.carte .carte__texte { color: var(--texte-doux); font-size: .95rem; }
.section--violet .carte,
.section--sombre .carte { color: var(--texte); }

/* --------------------------------------------------------------------------
   9. Indicateurs de résultats
   -------------------------------------------------------------------------- */
/* Chiffres clés de l'accueil : présentation centrée, sans cadre lourd.
   Le nombre est traité en dégradé, la légende reprend le rythme du reste. */
.stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 34px 24px;
  background: var(--blanc);
  border-radius: var(--r-lg);
  box-shadow: var(--ombre-sm);
  text-align: center;
  transition: transform var(--transition), box-shadow var(--transition);
}
.stat:hover { transform: translateY(-4px); box-shadow: var(--ombre-md); }

.stat__valeur {
  margin: 0;
  font-size: clamp(2.8rem, 5vw, 3.6rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.04em;
  background: linear-gradient(135deg, #471E9C 0%, #7C3AED 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
/* Effectif de référence, sous le pourcentage : « 3 sur 6 ».
   Afficher le dénominateur évite qu'un taux soit lu hors contexte. */
.stat__effectif {
  margin-top: 12px;
  padding: 4px 14px;
  border-radius: var(--r-pilule);
  background: var(--violet-100);
  color: var(--violet-700);
  font-size: .8rem;
  font-weight: 600;
}

.stat__separateur {
  width: 34px;
  height: 3px;
  margin: 18px 0 16px;
  border-radius: 3px;
  background: var(--or-500);
}
.stat__libelle {
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 700;
  color: var(--violet-950);
}
.stat__precision {
  margin: 0;
  font-size: .875rem;
  line-height: 1.55;
  color: var(--texte-doux);
}

/* --------------------------------------------------------------------------
   Fenêtre de choix de version (élément dialog natif)
   Le lien de téléchargement l'ouvre par script. Sans script, il mène
   directement au document en vigueur, ce qui reste le comportement attendu.
   -------------------------------------------------------------------------- */
.dialogue {
  width: min(520px, calc(100vw - 32px));
  padding: 28px;
  border: 0;
  border-radius: var(--r-lg);
  background: var(--blanc);
  box-shadow: 0 24px 60px -12px rgba(23, 8, 56, .35);
  color: var(--texte);
}
.dialogue::backdrop {
  background: rgba(23, 8, 56, .55);
  backdrop-filter: blur(2px);
}
.dialogue__entete {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 6px;
}
.dialogue__titre {
  flex: 1;
  margin: 0;
  font-size: 1.3rem;
  line-height: 1.25;
  color: var(--violet-950);
}
.dialogue__fermer {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: var(--fond);
  color: var(--violet-700);
  cursor: pointer;
  transition: background var(--transition);
}
.dialogue__fermer:hover { background: var(--violet-100); }
.dialogue__chapo {
  margin: 0 0 20px;
  font-size: .9rem;
  color: var(--texte-doux);
}

.choix-fiches {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.choix-fiche {
  display: block;
  padding: 18px 20px;
  border: 1px solid #E4DCF7;
  border-radius: var(--r-md);
  text-decoration: none;
  color: inherit;
  transition: border-color var(--transition), background var(--transition), transform var(--transition);
}
.choix-fiche:hover,
.choix-fiche:focus-visible {
  border-color: var(--violet-400);
  background: var(--fond);
  transform: translateY(-2px);
}
.choix-fiche--actuelle { border-color: var(--violet-400); border-width: 2px; }

.choix-fiche__etiquette {
  display: inline-block;
  margin-bottom: 8px;
  padding: 3px 11px;
  border-radius: var(--r-pilule);
  background: var(--violet-100);
  color: var(--violet-700);
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.choix-fiche__etiquette--archive {
  background: var(--fond);
  color: var(--texte-doux);
}
.choix-fiche__titre {
  display: block;
  margin-bottom: 4px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--violet-950);
}
.choix-fiche__detail {
  display: block;
  font-size: .85rem;
  line-height: 1.5;
  color: var(--texte-doux);
}

@media (max-width: 560px) {
  .dialogue { padding: 22px 20px; }
  .dialogue__titre { font-size: 1.15rem; }
}
@media (prefers-reduced-motion: reduce) {
  .choix-fiche:hover, .choix-fiche:focus-visible { transform: none; }
}

/* Indicateur réglementaire encore sans valeur. Il doit figurer dans la page,
   mais lui donner la forme d'une statistique reviendrait à faire lire un
   résultat là où il n'y en a pas. On le pose donc en note sur toute la
   largeur de la grille, sous les chiffres réels. */
.indicateur-attente {
  grid-column: 1 / -1;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 20px 24px;
  background: var(--blanc);
  border: 1px solid #E4DCF7;
  border-left: 4px solid var(--violet-400);
  border-radius: var(--r-md);
}
.indicateur-attente__icone {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  margin-top: 1px;
  border-radius: 50%;
  background: var(--violet-100);
  color: var(--violet-700);
  font-size: .8rem;
  font-weight: 700;
  font-style: normal;
}
.indicateur-attente__titre {
  margin: 0 0 4px;
  font-size: 1rem;
  font-weight: 700;
  color: var(--violet-950);
}
.indicateur-attente__texte {
  margin: 0;
  font-size: .9rem;
  line-height: 1.6;
  color: var(--texte-doux);
}
.indicateur-attente__etat {
  font-weight: 600;
  color: var(--violet-700);
}
@media (max-width: 560px) {
  .indicateur-attente { padding: 18px 18px; gap: 13px; }
}

/* Variante compacte, pour les chiffres présentés en colonne étroite ou en
   accompagnement d'un texte. Conformément à l'usage, elle se limite à une
   valeur et à un libellé : un chiffre qui exige une explication a manqué sa
   cible. */
.stats-duo {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (max-width: 420px) { .stats-duo { grid-template-columns: 1fr; } }

.stat--compact { padding: 20px 14px; }
.stat--compact .stat__valeur { font-size: clamp(1.75rem, 3vw, 2.1rem); }
.stat--compact .stat__separateur { width: 24px; height: 2px; margin: 11px 0 9px; }
.stat--compact .stat__libelle {
  margin: 0;
  font-size: .85rem;
  font-weight: 600;
  line-height: 1.4;
}

.encart {
  display: flex;
  gap: 16px;
  padding: 22px 24px;
  background: var(--violet-50);
  border-left: 4px solid var(--violet-600);
  border-radius: var(--r-sm);
}
.encart__icone {
  flex-shrink: 0;
  width: 26px; height: 26px;
  display: grid; place-items: center;
  background: var(--violet-600);
  color: var(--blanc);
  border-radius: 50%;
  font-size: .8rem;
  font-weight: 700;
}
.encart__texte { font-size: .925rem; line-height: 1.65; color: var(--gris-800); }

/* --------------------------------------------------------------------------
   10. Formulaires
   -------------------------------------------------------------------------- */
.champ { margin-bottom: 20px; }
.champ label {
  display: block;
  margin-bottom: 7px;
  font-size: .9rem;
  font-weight: 600;
  color: var(--gris-800);
}
.champ input,
.champ select,
.champ textarea {
  width: 100%;
  padding: 13px 16px;
  font-family: inherit;
  font-size: 1rem;
  color: var(--texte);
  background: var(--blanc);
  border: 1px solid var(--bordure);
  border-radius: var(--r-sm);
  transition: border-color var(--transition), box-shadow var(--transition);
}
.champ input:focus,
.champ select:focus,
.champ textarea:focus {
  outline: none;
  border-color: var(--violet-500);
  box-shadow: 0 0 0 3px rgba(91, 42, 196, .14);
}
.champ textarea { min-height: 130px; resize: vertical; }
.champ__obligatoire { color: #C42A2A; }
.champ__aide { margin-top: 6px; font-size: .825rem; color: var(--texte-doux); }

/* Piège à robots : invisible pour les visiteurs, rempli par les robots.
   On le masque sans display:none, que certains robots savent détecter. */
.champ-piege {
  position: absolute;
  left: -5000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Message d'alerte, par exemple en cas d'échec d'envoi du formulaire */
.alerte {
  display: flex;
  gap: 14px;
  padding: 18px 22px;
  margin-bottom: 24px;
  border-radius: var(--r-sm);
  border-left: 4px solid #C42A2A;
  background: #FDF2F2;
  font-size: .93rem;
  color: #7A1F1F;
}
.alerte[hidden] { display: none; }

/* Coordonnées de la page contact */
.coordonnee {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 26px;
}
.coordonnee:last-child { margin-bottom: 0; }
.coordonnee__icone {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--violet-100);
  color: var(--violet-600);
}
.coordonnee__titre {
  margin-bottom: 3px;
  font-size: .95rem;
  font-weight: 700;
  color: var(--violet-950);
}
.coordonnee__valeur { margin: 0; font-size: .95rem; color: var(--texte-doux); }

/* --------------------------------------------------------------------------
   11. Accordéon FAQ
   -------------------------------------------------------------------------- */
.faq { display: flex; flex-direction: column; gap: 12px; }
.faq details {
  background: var(--violet-50);
  border: 1px solid var(--violet-100);
  border-radius: var(--r-md);
  overflow: hidden;
}
.faq summary {
  padding: 20px 24px;
  font-size: 1rem;
  font-weight: 600;
  color: var(--violet-950);
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: '';
  flex-shrink: 0;
  width: 10px; height: 10px;
  border-right: 2px solid var(--violet-600);
  border-bottom: 2px solid var(--violet-600);
  transform: rotate(45deg) translateY(-3px);
  transition: transform var(--transition);
}
.faq details[open] summary::after { transform: rotate(-135deg) translateY(-3px); }
.faq summary:hover { background: var(--violet-100); }
.faq__reponse { padding: 0 24px 22px; color: var(--texte-doux); font-size: .95rem; }

/* --------------------------------------------------------------------------
   12. Pied de page
   -------------------------------------------------------------------------- */
.pied {
  padding-block: 56px 28px;
  background: var(--violet-950);
  color: rgba(255, 255, 255, .74);
  font-size: .925rem;
}
.pied__haut {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 36px;
}
@media (max-width: 860px) {
  .pied__haut { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; }
}
.pied__logo img { height: 62px; width: auto; margin-bottom: 16px; }
.pied h4 {
  margin-bottom: 16px;
  font-size: .95rem;
  font-weight: 700;
  color: var(--blanc);
}
.pied ul { list-style: none; margin: 0; padding: 0; }
.pied li { margin-bottom: 11px; }
.pied a { color: rgba(255, 255, 255, .74); }
.pied a:hover { color: var(--or-500); text-decoration: none; }
.pied__bas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .14);
  font-size: .85rem;
}
.pied__legal { display: flex; flex-wrap: wrap; gap: 22px; }

/* Réseaux sociaux du pied de page */
.pied__reseaux {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}
.pied__reseaux a {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .10);
  color: rgba(255, 255, 255, .82);
  transition: background var(--transition), color var(--transition),
              transform var(--transition);
}
.pied__reseaux a:hover {
  background: var(--or-500);
  color: var(--violet-950);
  transform: translateY(-2px);
}

/* --------------------------------------------------------------------------
   12 bis. Accueil : hero
   -------------------------------------------------------------------------- */
.hero { padding-top: 12px; padding-bottom: 20px; }

/* Photo d'équipe en fond, avec un voile dégradé de gauche à droite pour que
   le texte reste lisible par-dessus. Sans ce voile, le contraste tomberait
   sous le seuil recommandé et le titre deviendrait pénible à lire. */
.hero__carte {
  position: relative;
  display: grid;
  align-items: center;
  min-height: 520px;
  padding: clamp(40px, 5vw, 68px) clamp(28px, 4vw, 56px);
  border-radius: var(--r-xl);
  color: var(--texte-inverse);
  overflow: hidden;

  background-color: #1E0B45;
  background-image:
    linear-gradient(100deg,
      rgba(18, 6, 43, .96) 0%,
      rgba(30, 11, 69, .90) 38%,
      rgba(30, 11, 69, .55) 62%,
      rgba(30, 11, 69, .35) 100%),
    url('../img/hero-img.jpg');
  background-size: cover, cover;
  background-position: center, center right;
  background-repeat: no-repeat, no-repeat;
}
.hero__carte::before {
  content: '';
  position: absolute;
  left: -60px; bottom: -120px;
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(255, 218, 104, .18) 0%, transparent 68%);
  pointer-events: none;
}

/* Sur petit écran, la photo passe derrière un voile plus dense : le texte
   la recouvre entièrement, il n'y a plus de place pour la laisser respirer. */
@media (max-width: 900px) {
  .hero__carte {
    background-image:
      linear-gradient(180deg,
        rgba(18, 6, 43, .82) 0%,
        rgba(30, 11, 69, .90) 55%,
        rgba(18, 6, 43, .96) 100%),
      url('../img/hero-img.jpg');
    background-position: center, center top;
  }
}

.hero__contenu {
  position: relative;
  z-index: 2;
  align-self: center;
  padding-bottom: 52px;
  max-width: 700px;
  min-width: 0; /* autorise le contenu à rétrécir dans la grille */
}
.hero__carte h1 {
  color: var(--texte-inverse);
  font-size: clamp(1.65rem, 6.2vw, 3.5rem);
  text-transform: uppercase;
  margin-bottom: .55em;
  overflow-wrap: break-word;
  hyphens: auto;
}
.hero__carte h1 .titre-or { display: block; text-transform: none; }

/* Barre de recherche de formation */
.hero__recherche {
  display: flex;
  gap: 14px;
  max-width: 620px;
  margin-bottom: 22px;
}
.hero__recherche select {
  flex: 1;
  min-width: 0;
  height: 58px;
  padding: 0 22px;
  font-family: inherit;
  font-size: 1rem;
  color: var(--gris-800);
  background: var(--blanc);
  border: 0;
  border-radius: var(--r-pilule);
  cursor: pointer;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--gris-600) 50%),
                    linear-gradient(135deg, var(--gris-600) 50%, transparent 50%);
  background-position: calc(100% - 26px) 25px, calc(100% - 20px) 25px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
.hero__recherche button {
  flex-shrink: 0;
  width: 58px; height: 58px;
  display: grid; place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--blanc);
  color: var(--violet-700);
  cursor: pointer;
  transition: background var(--transition);
}
.hero__recherche button:hover { background: var(--or-500); }

/* Sur petit écran, choisir une formation dans la liste ouvre directement sa
   fiche (voir onglets.js). Le bouton loupe n'a donc plus d'utilité : on le
   retire pour laisser toute la largeur à la liste. Le seuil est le même que
   celui du script, sans quoi la validation deviendrait impossible. */
@media (max-width: 620px) {
  .hero__recherche button { display: none; }
  .hero__recherche { gap: 0; }
}

/* Bandeau réseaux sociaux, qui chevauche le bas du hero.
   Reprise de la maquette : pilule blanche alignée à droite, libellé à gauche
   et icônes à sa droite, le tout sur une seule ligne. */
.reseaux {
  display: flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
  max-width: 100%;
  margin: -22px 0 0 auto;
  padding: 13px 20px;
  background: var(--blanc);
  border-radius: 22px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
  position: relative;
  z-index: 5;
}
.reseaux__texte {
  font-size: .875rem;
  line-height: 1.04;
  letter-spacing: -.005em;
  color: rgba(0, 0, 0, .5);
  white-space: nowrap;
}
.reseaux__liens {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}
.reseaux__liens a {
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  color: rgba(0, 0, 0, .55);
  transition: color var(--transition);
}
.reseaux__liens a svg { width: 100%; height: 100%; }
.reseaux__liens a:hover,
.reseaux__liens a:focus-visible { color: var(--violet-600); }

@media (max-width: 900px) {
  .reseaux { margin: -20px auto 0; }
}
@media (max-width: 520px) {
  /* La pilule reste sur une ligne : on réduit le libellé plutôt que de le replier. */
  .reseaux { gap: 10px; padding: 11px 16px; }
  .reseaux__texte { font-size: .75rem; }
  .reseaux__liens { gap: 10px; }
}
@media (max-width: 360px) {
  .reseaux__texte { font-size: .7rem; }
}

/* --------------------------------------------------------------------------
   12 ter. Accueil : équipe pédagogique
   -------------------------------------------------------------------------- */
.equipe { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; }
@media (max-width: 900px) { .equipe { grid-template-columns: 1fr; gap: 32px; } }

/* Visuel d'équipe : une seule image fournie, avec un disque violet en fond
   pour rappeler le motif de la maquette. */
.equipe__visuel {
  position: relative;
  display: grid;
  place-items: center;
}
.equipe__visuel::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%);
  width: 78%;
  aspect-ratio: 1;
  background: var(--violet-400);
  border-radius: 50%;
  opacity: .15;
  z-index: 0;
}
.equipe__visuel img {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 480px;
  height: auto;
}

/* --------------------------------------------------------------------------
   12 quater. Accueil : cartes formations
   -------------------------------------------------------------------------- */
.formation-carte {
  display: flex;
  flex-direction: column;
  background: var(--blanc);
  color: var(--texte);
  border-radius: var(--r-lg);
  overflow: hidden;
  text-decoration: none;
  box-shadow: var(--ombre-md);
  transition: transform var(--transition), box-shadow var(--transition);
}
.formation-carte:hover { transform: translateY(-5px); box-shadow: var(--ombre-lg); text-decoration: none; }
.formation-carte__texte { padding: 26px 26px 20px; }

/* Sélecteurs doublés : les cartes reposent sur un fond blanc même à l'intérieur
   d'une section violette, leur texte doit donc rester sombre malgré la règle
   générale qui met les titres en blanc dans ces sections. */
.formation-carte .formation-carte__titre {
  margin-bottom: .4em;
  font-size: 1.2rem;
  color: var(--violet-950);
}
.formation-carte .formation-carte__titre span { font-weight: 500; color: var(--texte-doux); }
.formation-carte .formation-carte__desc { font-size: .925rem; color: var(--texte-doux); margin-bottom: 0; }
.formation-carte__media { position: relative; margin-top: auto; }
.formation-carte__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.formation-carte__fleche {
  position: absolute;
  right: 20px; bottom: 20px;
  display: grid; place-items: center;
  width: 46px; height: 46px;
  border-radius: 50%;
  background: var(--or-500);
  color: var(--violet-950);
  font-size: 1.2rem;
  font-weight: 700;
}
.formation-carte:hover .formation-carte__fleche { background: var(--blanc); }

/* --------------------------------------------------------------------------
   12 quinquies. Accueil : témoignages
   -------------------------------------------------------------------------- */
.temoignages { display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; align-items: center; }
@media (max-width: 900px) { .temoignages { grid-template-columns: 1fr; gap: 28px; } }

.avis { display: flex; gap: 26px; align-items: flex-start; margin-bottom: 34px; }
.avis:last-child { margin-bottom: 0; }
.avis__portrait {
  flex-shrink: 0;
  width: 118px; height: 118px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--violet-100);
}
.avis__portrait img { width: 100%; height: 100%; object-fit: cover; }
.avis__nom { margin-bottom: 2px; font-size: 1.1rem; color: var(--violet-950); }
.avis__parcours { margin-bottom: 8px; font-size: .875rem; color: var(--violet-400); font-weight: 500; }
.avis__texte { font-size: .95rem; color: var(--texte-doux); margin-bottom: 0; }

/* Lien vers un témoignage filmé */
.avis__lien { margin: 12px 0 0; }
.avis__lien a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 7px 16px 7px 12px;
  border-radius: var(--r-pilule);
  background: var(--violet-100);
  color: var(--violet-700);
  font-size: .875rem;
  font-weight: 600;
  transition: background var(--transition), color var(--transition);
}
.avis__lien a:hover {
  background: var(--violet-600);
  color: var(--blanc);
  text-decoration: none;
}
@media (max-width: 560px) {
  .avis { flex-direction: column; gap: 14px; }
  .avis__portrait { width: 90px; height: 90px; }
}

/* --------------------------------------------------------------------------
   12 sexies. Accueil : entreprise partenaire
   -------------------------------------------------------------------------- */
.partenaire { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
@media (max-width: 900px) { .partenaire { grid-template-columns: 1fr; gap: 34px; } }

.partenaire__contacts { display: grid; gap: 18px; margin-top: 28px; }
.partenaire__contact { display: flex; align-items: center; gap: 16px; }
.partenaire__icone {
  flex-shrink: 0;
  display: grid; place-items: center;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--violet-100);
  color: var(--violet-600);
}
.partenaire__libelle { font-size: .8rem; color: var(--texte-doux); }
.partenaire__valeur { font-weight: 700; color: var(--violet-700); }
.partenaire__valeur a { color: inherit; }

.partenaire__illustration { max-width: 340px; margin-top: 32px; }

.formulaire {
  padding: clamp(26px, 4vw, 40px);
  background: var(--blanc);
  border-radius: var(--r-lg);
  box-shadow: var(--ombre-lg);
}
.formulaire h3 { text-align: center; margin-bottom: 24px; }

/* --------------------------------------------------------------------------
   12 septies. Page « Nos formations »
   -------------------------------------------------------------------------- */

/* Petites cartes d'orientation par domaine */
.domaine {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--blanc);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--ombre-md);
  text-decoration: none;
  color: var(--texte);
  transition: transform var(--transition), box-shadow var(--transition);
}
.domaine:hover { transform: translateY(-5px); box-shadow: var(--ombre-lg); text-decoration: none; }
.domaine__bandeau {
  height: 120px;
  background: linear-gradient(120deg, var(--violet-600), var(--violet-400));
}
.domaine__icone {
  position: absolute;
  top: 72px; left: 30px;
  display: grid; place-items: center;
  width: 92px; height: 92px;
  border-radius: 26px;
  background: var(--blanc);
  box-shadow: var(--ombre-md);
  color: var(--violet-600);
}
.domaine__corps { padding: 46px 30px 28px; }
.domaine .domaine__titre { margin-bottom: .45em; font-size: 1.1rem; color: var(--violet-950); }
.domaine .domaine__desc { font-size: .925rem; color: var(--texte-doux); }
.domaine__lien { margin-top: 16px; font-weight: 600; color: var(--violet-600); }

/* Grande fiche de présentation */
.fiche {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 48px;
  align-items: center;
  padding: clamp(26px, 4vw, 42px);
  background: var(--blanc);
  border-radius: var(--r-xl);
  box-shadow: var(--ombre-md);
  margin-bottom: 32px;
}
.fiche:last-child { margin-bottom: 0; }
@media (max-width: 900px) { .fiche { grid-template-columns: 1fr; gap: 28px; } }

/* Deux fiches côte à côte : chacune repasse sur une seule colonne, image en
   haut et contenu dessous, pour tenir dans une demi-largeur. */
.fiches-duo {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  align-items: start;
}
.fiches-duo .fiche {
  grid-template-columns: 1fr;
  gap: 24px;
  margin-bottom: 0;
  align-items: start;
}
.fiches-duo .fiche__visuel img { aspect-ratio: 16 / 9; }
.fiches-duo .fiche__pastille { width: 76px; height: 76px; right: -8px; bottom: -8px; }
.fiches-duo .fiche__pastille svg { width: 32px; height: 32px; }
@media (max-width: 900px) { .fiches-duo { grid-template-columns: 1fr; } }

.fiche__visuel { position: relative; }
.fiche__visuel img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--r-lg);
}
.fiche__pastille {
  position: absolute;
  right: -14px; bottom: -14px;
  display: grid; place-items: center;
  width: 104px; height: 104px;
  border-radius: 50%;
  background: var(--or-500);
  color: var(--violet-950);
  box-shadow: var(--ombre-md);
}
@media (max-width: 560px) { .fiche__pastille { width: 76px; height: 76px; right: -6px; bottom: -6px; } }

.fiche__etiquette {
  display: inline-block;
  margin-bottom: 12px;
  padding: 5px 14px;
  border-radius: var(--r-pilule);
  background: var(--violet-100);
  color: var(--violet-700);
  font-size: .78rem;
  font-weight: 600;
}
.fiche__accroche {
  margin-bottom: .6em;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--violet-500);
}
.fiche__bloc { margin-top: 22px; }
.fiche__bloc h4 { margin-bottom: 10px; color: var(--violet-950); }
.fiche__liste { list-style: none; margin: 0; padding: 0; }
.fiche__liste li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 8px;
  font-size: .925rem;
  color: var(--texte-doux);
}
.fiche__liste li::before {
  content: '';
  position: absolute;
  left: 0; top: .45em;
  width: 13px; height: 8px;
  border-left: 2.5px solid var(--violet-500);
  border-bottom: 2.5px solid var(--violet-500);
  transform: rotate(-45deg);
}

/* --------------------------------------------------------------------------
   12 octies. Fiches formation : informations clés
   -------------------------------------------------------------------------- */
.specs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2px;
  margin: 0;
  background: var(--bordure);
  border: 1px solid var(--bordure);
  border-radius: var(--r-md);
  overflow: hidden;
}
.specs > div { padding: 20px 22px; background: var(--blanc); }
.specs dt {
  margin-bottom: 6px;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--violet-400);
}
.specs dd {
  margin: 0;
  font-size: .975rem;
  font-weight: 600;
  color: var(--violet-950);
}
.specs dd small { display: block; margin-top: 3px; font-weight: 400; color: var(--texte-doux); }

/* Blocs de compétences */
.bloc-competence {
  padding: 24px 26px;
  background: var(--blanc);
  border: 1px solid var(--bordure);
  border-left: 4px solid var(--violet-500);
  border-radius: var(--r-md);
  margin-bottom: 16px;
}
.bloc-competence:last-child { margin-bottom: 0; }
.bloc-competence h3 { font-size: 1.1rem; margin-bottom: .4em; color: var(--violet-950); }
.bloc-competence__numero {
  display: inline-block;
  margin-bottom: 8px;
  padding: 3px 12px;
  border-radius: var(--r-pilule);
  background: var(--violet-100);
  color: var(--violet-700);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .04em;
}

/* --------------------------------------------------------------------------
   12 nonies bis. Fil d'Ariane
   Rend visible la hiérarchie que traduit déjà l'adresse de la page.
   -------------------------------------------------------------------------- */
.fil-ariane {
  padding-top: 28px;
  font-size: .875rem;
  color: var(--texte-doux);
}
.fil-ariane ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.fil-ariane li { display: flex; align-items: center; gap: 8px; margin: 0; }
.fil-ariane li + li::before {
  content: '';
  width: 6px; height: 6px;
  border-top: 1.6px solid var(--gris-400);
  border-right: 1.6px solid var(--gris-400);
  transform: rotate(45deg);
}
.fil-ariane a { color: var(--texte-doux); }
.fil-ariane a:hover { color: var(--violet-600); }
.fil-ariane [aria-current='page'] { color: var(--violet-950); font-weight: 600; }

/* --------------------------------------------------------------------------
   12 nonies. Fiche formation : en-tête à deux colonnes
   -------------------------------------------------------------------------- */
/* align-items: stretch pour que la colonne image occupe exactement la même
   hauteur que la colonne de texte, du titre jusqu'aux boutons. */
.fiche-entete {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: stretch;
}

.fiche-entete__visuel { height: 100%; }
.fiche-entete__visuel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--r-lg);
  box-shadow: var(--ombre-md);
}

/* En une seule colonne, la hauteur ne peut plus se caler sur le texte :
   on revient à un rapport d'image fixe. */
@media (max-width: 900px) {
  .fiche-entete { grid-template-columns: 1fr; }
  .fiche-entete__visuel { height: auto; }
  .fiche-entete__visuel img { height: auto; aspect-ratio: 4 / 3; }
}

.etiquette-categorie {
  display: inline-block;
  margin-bottom: 18px;
  padding: 8px 18px;
  border-radius: var(--r-sm);
  background: var(--violet-600);
  color: var(--blanc);
  font-size: .875rem;
  font-weight: 600;
}

/* Liste des informations clés, avec pictogramme.
   Les icônes fournies sont des tracés pleins sans couleur définie : elles
   s'afficheraient donc en noir. On les applique en masque CSS, ce qui permet
   de les colorer avec les variables de la charte sans modifier les fichiers. */
.infos-cles { list-style: none; margin: 24px 0; padding: 0; }
.infos-cles li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
  font-size: .95rem;
  color: var(--texte);
}
.infos-cles li:last-child { margin-bottom: 0; }
.infos-cles strong { font-weight: 600; }

.ico {
  flex-shrink: 0;
  width: 23px;
  height: 23px;
  margin-top: 2px;
  background-color: var(--violet-500);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.ico--dates {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='25' height='22' viewBox='0 0 25 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M22.0063 21.2728H2.07368C0.93104 21.2728 0 20.3559 0 19.2132V8.12542V6.27742V4.18967C0 3.06114 0.93104 2.1301 2.07368 2.1301H4.88089V1.12853C4.88089 0.50784 5.38873 0 6.00942 0C6.63011 0 7.13798 0.50784 7.13798 1.12853V2.1301H10.9044V1.12853C10.9044 0.50784 11.4122 0 12.033 0C12.6536 0 13.1615 0.50784 13.1615 1.12853V2.1301H16.942V1.12853C16.942 0.50784 17.4358 0 18.0565 0C18.6772 0 19.185 0.50784 19.185 1.12853V2.1301H22.0063C23.149 2.1301 24.08 3.06114 24.08 4.18967V6.27742V8.12542V19.2132C24.08 20.3559 23.149 21.2728 22.0063 21.2728ZM10.9044 2.69436H7.13798V3.69593C7.13798 4.31663 6.63011 4.81035 6.00942 4.81035C5.38873 4.81035 4.88089 4.31663 4.88089 3.69593V2.69436H2.07368C1.24138 2.69436 0.564265 3.37148 0.564265 4.18967V5.99534H23.5157V4.18967C23.5157 3.37148 22.8386 2.69436 22.0063 2.69436H19.185V3.69593C19.185 4.31663 18.6772 4.81035 18.0565 4.81035C17.4358 4.81035 16.942 4.31663 16.942 3.69593V2.69436H13.1615V3.69593C13.1615 4.31663 12.6536 4.81035 12.033 4.81035C11.4122 4.81035 10.9044 4.31663 10.9044 3.69593V2.69436ZM12.033 0.564268C11.7226 0.564268 11.4687 0.818185 11.4687 1.12853V2.41223V3.69593C11.4687 4.00628 11.7226 4.24609 12.033 4.24609C12.3433 4.24609 12.5972 4.00628 12.5972 3.69593V2.41223V1.12853C12.5972 0.818185 12.3433 0.564268 12.033 0.564268ZM18.0565 0.564268C17.7462 0.564268 17.5063 0.818185 17.5063 1.12853V2.41223V3.69593C17.5063 4.00628 17.7462 4.24609 18.0565 4.24609C18.3668 4.24609 18.6207 4.00628 18.6207 3.69593V2.41223V1.12853C18.6207 0.818185 18.3668 0.564268 18.0565 0.564268ZM6.00942 0.564268C5.69907 0.564268 5.44516 0.818185 5.44516 1.12853V2.41223V3.69593C5.44516 4.00628 5.69907 4.24609 6.00942 4.24609C6.31976 4.24609 6.57369 4.00628 6.57369 3.69593V2.41223V1.12853C6.57369 0.818185 6.31976 0.564268 6.00942 0.564268ZM19.7775 19.5659H17.6615C16.9561 19.5659 16.3919 19.0016 16.3919 18.2963C16.3919 17.605 16.9561 17.0267 17.6615 17.0267H19.7775C20.4828 17.0267 21.0471 17.605 21.0471 18.2963C21.0471 19.0016 20.4828 19.5659 19.7775 19.5659ZM17.6615 17.5909C17.2806 17.5909 16.9561 17.9154 16.9561 18.2963C16.9561 18.6913 17.2806 19.0016 17.6615 19.0016H19.7775C20.1725 19.0016 20.4828 18.6913 20.4828 18.2963C20.4828 17.9154 20.1725 17.5909 19.7775 17.5909H17.6615ZM13.091 19.5659H10.9749C10.2837 19.5659 9.70538 19.0016 9.70538 18.2963C9.70538 17.605 10.2837 17.0267 10.9749 17.0267H13.091C13.7963 17.0267 14.3746 17.605 14.3746 18.2963C14.3746 19.0016 13.7963 19.5659 13.091 19.5659ZM10.9749 17.5909C10.5941 17.5909 10.2697 17.9154 10.2697 18.2963C10.2697 18.6913 10.5941 19.0016 10.9749 19.0016H13.091C13.4859 19.0016 13.8103 18.6913 13.8103 18.2963C13.8103 17.9154 13.4859 17.5909 13.091 17.5909H10.9749ZM6.4044 19.5659H4.28841C3.59719 19.5659 3.01882 19.0016 3.01882 18.2963C3.01882 17.605 3.59719 17.0267 4.28841 17.0267H6.4044C7.10975 17.0267 7.68807 17.605 7.68807 18.2963C7.68807 19.0016 7.10975 19.5659 6.4044 19.5659ZM4.28841 17.5909C3.90754 17.5909 3.58308 17.9154 3.58308 18.2963C3.58308 18.6913 3.90754 19.0016 4.28841 19.0016H6.4044C6.79939 19.0016 7.12387 18.6913 7.12387 18.2963C7.12387 17.9154 6.79939 17.5909 6.4044 17.5909H4.28841ZM19.7775 15.8417H17.6615C16.9561 15.8417 16.3919 15.2633 16.3919 14.5581C16.3919 13.8668 16.9561 13.2884 17.6615 13.2884H19.7775C20.4828 13.2884 21.0471 13.8668 21.0471 14.5581C21.0471 15.2633 20.4828 15.8417 19.7775 15.8417ZM17.6615 13.8527C17.2806 13.8527 16.9561 14.1771 16.9561 14.5581C16.9561 14.953 17.2806 15.2774 17.6615 15.2774H19.7775C20.1725 15.2774 20.4828 14.953 20.4828 14.5581C20.4828 14.1771 20.1725 13.8527 19.7775 13.8527H17.6615ZM13.091 15.8417H10.9749C10.2837 15.8417 9.70538 15.2633 9.70538 14.5581C9.70538 13.8668 10.2837 13.2884 10.9749 13.2884H13.091C13.7963 13.2884 14.3746 13.8668 14.3746 14.5581C14.3746 15.2633 13.7963 15.8417 13.091 15.8417ZM10.9749 13.8527C10.5941 13.8527 10.2697 14.1771 10.2697 14.5581C10.2697 14.953 10.5941 15.2774 10.9749 15.2774H13.091C13.4859 15.2774 13.8103 14.953 13.8103 14.5581C13.8103 14.1771 13.4859 13.8527 13.091 13.8527H10.9749ZM6.4044 15.8417H4.28841C3.59719 15.8417 3.01882 15.2633 3.01882 14.5581C3.01882 13.8668 3.59719 13.2884 4.28841 13.2884H6.4044C7.10975 13.2884 7.68807 13.8668 7.68807 14.5581C7.68807 15.2633 7.10975 15.8417 6.4044 15.8417ZM4.28841 13.8527C3.90754 13.8527 3.58308 14.1771 3.58308 14.5581C3.58308 14.953 3.90754 15.2774 4.28841 15.2774H6.4044C6.79939 15.2774 7.12387 14.953 7.12387 14.5581C7.12387 14.1771 6.79939 13.8527 6.4044 13.8527H4.28841ZM19.7775 12.1035H17.6615C16.9561 12.1035 16.3919 11.5251 16.3919 10.8339C16.3919 10.1285 16.9561 9.55015 17.6615 9.55015H19.7775C20.4828 9.55015 21.0471 10.1285 21.0471 10.8339C21.0471 11.5251 20.4828 12.1035 19.7775 12.1035ZM17.6615 10.1144C17.2806 10.1144 16.9561 10.4389 16.9561 10.8339C16.9561 11.2148 17.2806 11.5392 17.6615 11.5392H19.7775C20.1725 11.5392 20.4828 11.2148 20.4828 10.8339C20.4828 10.4389 20.1725 10.1144 19.7775 10.1144H17.6615ZM13.091 12.1035H10.9749C10.2837 12.1035 9.70538 11.5251 9.70538 10.8339C9.70538 10.1285 10.2837 9.55015 10.9749 9.55015H13.091C13.7963 9.55015 14.3746 10.1285 14.3746 10.8339C14.3605 11.5251 13.7963 12.1035 13.091 12.1035ZM10.9749 10.1144C10.5941 10.1144 10.2697 10.4389 10.2697 10.8339C10.2697 11.2148 10.5941 11.5392 10.9749 11.5392H13.091C13.4859 11.5392 13.8103 11.2148 13.8103 10.8339C13.8103 10.4389 13.4859 10.1144 13.091 10.1144H10.9749ZM6.4044 12.1035H4.28841C3.59719 12.1035 3.01882 11.5251 3.01882 10.8339C3.01882 10.1285 3.59719 9.55015 4.28841 9.55015H6.4044C7.10975 9.55015 7.68807 10.1285 7.68807 10.8339C7.67403 11.5251 7.10975 12.1035 6.4044 12.1035ZM4.28841 10.1144C3.90754 10.1144 3.58308 10.4389 3.58308 10.8339C3.58308 11.2148 3.90754 11.5392 4.28841 11.5392H6.4044C6.79939 11.5392 7.12387 11.2148 7.12387 10.8339C7.12387 10.4389 6.79939 10.1144 6.4044 10.1144H4.28841ZM0.564265 6.55955V7.84328H23.5157V6.55955H0.564265ZM0.564265 8.40756V19.2132C0.564265 20.0314 1.24138 20.7085 2.07368 20.7085H22.0063C22.8386 20.7085 23.5157 20.0455 23.5157 19.2132V8.40756H0.564265Z' fill='%23693EA6'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='25' height='22' viewBox='0 0 25 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M22.0063 21.2728H2.07368C0.93104 21.2728 0 20.3559 0 19.2132V8.12542V6.27742V4.18967C0 3.06114 0.93104 2.1301 2.07368 2.1301H4.88089V1.12853C4.88089 0.50784 5.38873 0 6.00942 0C6.63011 0 7.13798 0.50784 7.13798 1.12853V2.1301H10.9044V1.12853C10.9044 0.50784 11.4122 0 12.033 0C12.6536 0 13.1615 0.50784 13.1615 1.12853V2.1301H16.942V1.12853C16.942 0.50784 17.4358 0 18.0565 0C18.6772 0 19.185 0.50784 19.185 1.12853V2.1301H22.0063C23.149 2.1301 24.08 3.06114 24.08 4.18967V6.27742V8.12542V19.2132C24.08 20.3559 23.149 21.2728 22.0063 21.2728ZM10.9044 2.69436H7.13798V3.69593C7.13798 4.31663 6.63011 4.81035 6.00942 4.81035C5.38873 4.81035 4.88089 4.31663 4.88089 3.69593V2.69436H2.07368C1.24138 2.69436 0.564265 3.37148 0.564265 4.18967V5.99534H23.5157V4.18967C23.5157 3.37148 22.8386 2.69436 22.0063 2.69436H19.185V3.69593C19.185 4.31663 18.6772 4.81035 18.0565 4.81035C17.4358 4.81035 16.942 4.31663 16.942 3.69593V2.69436H13.1615V3.69593C13.1615 4.31663 12.6536 4.81035 12.033 4.81035C11.4122 4.81035 10.9044 4.31663 10.9044 3.69593V2.69436ZM12.033 0.564268C11.7226 0.564268 11.4687 0.818185 11.4687 1.12853V2.41223V3.69593C11.4687 4.00628 11.7226 4.24609 12.033 4.24609C12.3433 4.24609 12.5972 4.00628 12.5972 3.69593V2.41223V1.12853C12.5972 0.818185 12.3433 0.564268 12.033 0.564268ZM18.0565 0.564268C17.7462 0.564268 17.5063 0.818185 17.5063 1.12853V2.41223V3.69593C17.5063 4.00628 17.7462 4.24609 18.0565 4.24609C18.3668 4.24609 18.6207 4.00628 18.6207 3.69593V2.41223V1.12853C18.6207 0.818185 18.3668 0.564268 18.0565 0.564268ZM6.00942 0.564268C5.69907 0.564268 5.44516 0.818185 5.44516 1.12853V2.41223V3.69593C5.44516 4.00628 5.69907 4.24609 6.00942 4.24609C6.31976 4.24609 6.57369 4.00628 6.57369 3.69593V2.41223V1.12853C6.57369 0.818185 6.31976 0.564268 6.00942 0.564268ZM19.7775 19.5659H17.6615C16.9561 19.5659 16.3919 19.0016 16.3919 18.2963C16.3919 17.605 16.9561 17.0267 17.6615 17.0267H19.7775C20.4828 17.0267 21.0471 17.605 21.0471 18.2963C21.0471 19.0016 20.4828 19.5659 19.7775 19.5659ZM17.6615 17.5909C17.2806 17.5909 16.9561 17.9154 16.9561 18.2963C16.9561 18.6913 17.2806 19.0016 17.6615 19.0016H19.7775C20.1725 19.0016 20.4828 18.6913 20.4828 18.2963C20.4828 17.9154 20.1725 17.5909 19.7775 17.5909H17.6615ZM13.091 19.5659H10.9749C10.2837 19.5659 9.70538 19.0016 9.70538 18.2963C9.70538 17.605 10.2837 17.0267 10.9749 17.0267H13.091C13.7963 17.0267 14.3746 17.605 14.3746 18.2963C14.3746 19.0016 13.7963 19.5659 13.091 19.5659ZM10.9749 17.5909C10.5941 17.5909 10.2697 17.9154 10.2697 18.2963C10.2697 18.6913 10.5941 19.0016 10.9749 19.0016H13.091C13.4859 19.0016 13.8103 18.6913 13.8103 18.2963C13.8103 17.9154 13.4859 17.5909 13.091 17.5909H10.9749ZM6.4044 19.5659H4.28841C3.59719 19.5659 3.01882 19.0016 3.01882 18.2963C3.01882 17.605 3.59719 17.0267 4.28841 17.0267H6.4044C7.10975 17.0267 7.68807 17.605 7.68807 18.2963C7.68807 19.0016 7.10975 19.5659 6.4044 19.5659ZM4.28841 17.5909C3.90754 17.5909 3.58308 17.9154 3.58308 18.2963C3.58308 18.6913 3.90754 19.0016 4.28841 19.0016H6.4044C6.79939 19.0016 7.12387 18.6913 7.12387 18.2963C7.12387 17.9154 6.79939 17.5909 6.4044 17.5909H4.28841ZM19.7775 15.8417H17.6615C16.9561 15.8417 16.3919 15.2633 16.3919 14.5581C16.3919 13.8668 16.9561 13.2884 17.6615 13.2884H19.7775C20.4828 13.2884 21.0471 13.8668 21.0471 14.5581C21.0471 15.2633 20.4828 15.8417 19.7775 15.8417ZM17.6615 13.8527C17.2806 13.8527 16.9561 14.1771 16.9561 14.5581C16.9561 14.953 17.2806 15.2774 17.6615 15.2774H19.7775C20.1725 15.2774 20.4828 14.953 20.4828 14.5581C20.4828 14.1771 20.1725 13.8527 19.7775 13.8527H17.6615ZM13.091 15.8417H10.9749C10.2837 15.8417 9.70538 15.2633 9.70538 14.5581C9.70538 13.8668 10.2837 13.2884 10.9749 13.2884H13.091C13.7963 13.2884 14.3746 13.8668 14.3746 14.5581C14.3746 15.2633 13.7963 15.8417 13.091 15.8417ZM10.9749 13.8527C10.5941 13.8527 10.2697 14.1771 10.2697 14.5581C10.2697 14.953 10.5941 15.2774 10.9749 15.2774H13.091C13.4859 15.2774 13.8103 14.953 13.8103 14.5581C13.8103 14.1771 13.4859 13.8527 13.091 13.8527H10.9749ZM6.4044 15.8417H4.28841C3.59719 15.8417 3.01882 15.2633 3.01882 14.5581C3.01882 13.8668 3.59719 13.2884 4.28841 13.2884H6.4044C7.10975 13.2884 7.68807 13.8668 7.68807 14.5581C7.68807 15.2633 7.10975 15.8417 6.4044 15.8417ZM4.28841 13.8527C3.90754 13.8527 3.58308 14.1771 3.58308 14.5581C3.58308 14.953 3.90754 15.2774 4.28841 15.2774H6.4044C6.79939 15.2774 7.12387 14.953 7.12387 14.5581C7.12387 14.1771 6.79939 13.8527 6.4044 13.8527H4.28841ZM19.7775 12.1035H17.6615C16.9561 12.1035 16.3919 11.5251 16.3919 10.8339C16.3919 10.1285 16.9561 9.55015 17.6615 9.55015H19.7775C20.4828 9.55015 21.0471 10.1285 21.0471 10.8339C21.0471 11.5251 20.4828 12.1035 19.7775 12.1035ZM17.6615 10.1144C17.2806 10.1144 16.9561 10.4389 16.9561 10.8339C16.9561 11.2148 17.2806 11.5392 17.6615 11.5392H19.7775C20.1725 11.5392 20.4828 11.2148 20.4828 10.8339C20.4828 10.4389 20.1725 10.1144 19.7775 10.1144H17.6615ZM13.091 12.1035H10.9749C10.2837 12.1035 9.70538 11.5251 9.70538 10.8339C9.70538 10.1285 10.2837 9.55015 10.9749 9.55015H13.091C13.7963 9.55015 14.3746 10.1285 14.3746 10.8339C14.3605 11.5251 13.7963 12.1035 13.091 12.1035ZM10.9749 10.1144C10.5941 10.1144 10.2697 10.4389 10.2697 10.8339C10.2697 11.2148 10.5941 11.5392 10.9749 11.5392H13.091C13.4859 11.5392 13.8103 11.2148 13.8103 10.8339C13.8103 10.4389 13.4859 10.1144 13.091 10.1144H10.9749ZM6.4044 12.1035H4.28841C3.59719 12.1035 3.01882 11.5251 3.01882 10.8339C3.01882 10.1285 3.59719 9.55015 4.28841 9.55015H6.4044C7.10975 9.55015 7.68807 10.1285 7.68807 10.8339C7.67403 11.5251 7.10975 12.1035 6.4044 12.1035ZM4.28841 10.1144C3.90754 10.1144 3.58308 10.4389 3.58308 10.8339C3.58308 11.2148 3.90754 11.5392 4.28841 11.5392H6.4044C6.79939 11.5392 7.12387 11.2148 7.12387 10.8339C7.12387 10.4389 6.79939 10.1144 6.4044 10.1144H4.28841ZM0.564265 6.55955V7.84328H23.5157V6.55955H0.564265ZM0.564265 8.40756V19.2132C0.564265 20.0314 1.24138 20.7085 2.07368 20.7085H22.0063C22.8386 20.7085 23.5157 20.0455 23.5157 19.2132V8.40756H0.564265Z' fill='%23693EA6'/%3E%3C/svg%3E");
}
.ico--duree {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='23' height='23' viewBox='0 0 23 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.2122 22.4245C5.02971 22.4245 0 17.3948 0 11.2122C0 5.02971 5.02971 0 11.2122 0C17.3948 0 22.4245 5.02971 22.4245 11.2122C22.4245 17.3948 17.3948 22.4245 11.2122 22.4245ZM11.2122 1.3545C5.77694 1.3545 1.3545 5.77694 1.3545 11.2122C1.3545 16.6475 5.77694 21.07 11.2122 21.07C16.6476 21.07 21.07 16.6475 21.07 11.2122C21.07 5.77694 16.6476 1.3545 11.2122 1.3545Z' fill='%23693EA6'/%3E%3Cpath d='M14.7392 14.6173C14.5947 14.6173 14.4488 14.5714 14.3253 14.4758L10.7976 11.748C10.6321 11.6201 10.535 11.4222 10.535 11.2122V5.68589C10.535 5.3119 10.8383 5.00864 11.2122 5.00864C11.5862 5.00864 11.8895 5.3119 11.8895 5.68589V10.8796L15.1538 13.4043C15.4496 13.633 15.5038 14.0582 15.275 14.3547C15.1418 14.527 14.9416 14.6173 14.7392 14.6173Z' fill='%23693EA6'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='23' height='23' viewBox='0 0 23 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.2122 22.4245C5.02971 22.4245 0 17.3948 0 11.2122C0 5.02971 5.02971 0 11.2122 0C17.3948 0 22.4245 5.02971 22.4245 11.2122C22.4245 17.3948 17.3948 22.4245 11.2122 22.4245ZM11.2122 1.3545C5.77694 1.3545 1.3545 5.77694 1.3545 11.2122C1.3545 16.6475 5.77694 21.07 11.2122 21.07C16.6476 21.07 21.07 16.6475 21.07 11.2122C21.07 5.77694 16.6476 1.3545 11.2122 1.3545Z' fill='%23693EA6'/%3E%3Cpath d='M14.7392 14.6173C14.5947 14.6173 14.4488 14.5714 14.3253 14.4758L10.7976 11.748C10.6321 11.6201 10.535 11.4222 10.535 11.2122V5.68589C10.535 5.3119 10.8383 5.00864 11.2122 5.00864C11.5862 5.00864 11.8895 5.3119 11.8895 5.68589V10.8796L15.1538 13.4043C15.4496 13.633 15.5038 14.0582 15.275 14.3547C15.1418 14.527 14.9416 14.6173 14.7392 14.6173Z' fill='%23693EA6'/%3E%3C/svg%3E");
}
.ico--lieu {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='17' height='25' viewBox='0 0 17 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.35619 0C3.74852 0 0 3.74907 0 8.35684C0 12.7922 7.58167 23.1548 7.90452 23.5936L8.20578 24.0036C8.24104 24.0518 8.29711 24.08 8.35619 24.08C8.41613 24.08 8.47186 24.0518 8.50746 24.0036L8.80855 23.5936C9.13157 23.1548 16.7131 12.7922 16.7131 8.35684C16.7131 3.74907 12.9639 0 8.35619 0ZM8.35619 5.36343C10.0071 5.36343 11.3496 6.70596 11.3496 8.35684C11.3496 10.0069 10.007 11.3502 8.35619 11.3502C6.70619 11.3502 5.36279 10.0069 5.36279 8.35684C5.36279 6.70596 6.70611 5.36343 8.35619 5.36343Z' fill='%23693EA6'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='17' height='25' viewBox='0 0 17 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.35619 0C3.74852 0 0 3.74907 0 8.35684C0 12.7922 7.58167 23.1548 7.90452 23.5936L8.20578 24.0036C8.24104 24.0518 8.29711 24.08 8.35619 24.08C8.41613 24.08 8.47186 24.0518 8.50746 24.0036L8.80855 23.5936C9.13157 23.1548 16.7131 12.7922 16.7131 8.35684C16.7131 3.74907 12.9639 0 8.35619 0ZM8.35619 5.36343C10.0071 5.36343 11.3496 6.70596 11.3496 8.35684C11.3496 10.0069 10.007 11.3502 8.35619 11.3502C6.70619 11.3502 5.36279 10.0069 5.36279 8.35684C5.36279 6.70596 6.70611 5.36343 8.35619 5.36343Z' fill='%23693EA6'/%3E%3C/svg%3E");
}
.ico--rythme {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='25' height='23' viewBox='0 0 25 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.8559 17.0023C22.1818 16.587 22.3733 16.0475 22.3733 15.4686C22.3733 14.6329 21.974 13.8982 21.3747 13.4839V2.38401H22.1893C22.582 2.38401 22.9014 2.06514 22.9014 1.67338V0.710645C22.9014 0.318878 22.582 0 22.1893 0H1.88877C1.49606 0 1.17672 0.318878 1.17672 0.710645V1.67338C1.17672 2.06514 1.49606 2.38401 1.88877 2.38401H2.70336V13.4843C2.10418 13.8986 1.70488 14.6333 1.70488 15.469C1.70488 16.048 1.8963 16.5874 2.2227 17.0032C0.962262 17.2205 0 18.321 0 19.6436V21.3484C0 21.7219 0.303822 22.0256 0.67725 22.0256H6.97802C7.35143 22.0256 7.65528 21.7219 7.65528 21.3484V19.6393C7.65528 18.3182 6.69255 17.2181 5.43164 17.0027C5.75757 16.5874 5.94898 16.048 5.94898 15.4695C5.94898 15.3764 5.94334 15.2851 5.93394 15.1949H9.93303C9.92361 15.2851 9.91792 15.3764 9.91792 15.4695C9.91792 16.0485 10.1094 16.5879 10.4358 17.0037C9.17436 17.2205 8.21167 18.3215 8.21167 19.644V21.3489C8.21167 21.7223 8.51544 22.0262 8.8889 22.0262H15.1901C15.5636 22.0262 15.8674 21.7223 15.8674 21.3489V19.6398C15.8674 18.3186 14.9047 17.2186 13.6438 17.0032C13.9697 16.5879 14.1611 16.0485 14.1611 15.47C14.1611 15.3769 14.1555 15.2857 14.1461 15.1953H18.1451C18.1357 15.2857 18.1301 15.3769 18.1301 15.47C18.1301 16.0489 18.3215 16.5884 18.6479 17.0042C17.3865 17.221 16.4238 18.322 16.4238 19.6445V21.3494C16.4238 21.7228 16.7276 22.0266 17.1011 22.0266H23.4027C23.7752 22.0266 24.0786 21.7228 24.0786 21.3494V19.6403C24.0781 18.3178 23.1159 17.2181 21.8559 17.0023ZM20.7131 16.9632H19.7898C19.2443 16.7365 18.8817 16.1449 18.8817 15.4686C18.8817 14.5924 19.4958 13.8794 20.2507 13.8794C20.4529 13.8794 20.6453 13.9311 20.8184 14.0228L20.8212 14.0242C21.2929 14.2759 21.6212 14.8285 21.6212 15.4686C21.6212 16.1454 21.2581 16.737 20.7131 16.9632ZM1.92875 0.752033H22.1489V1.63199H1.92875V0.752033ZM3.25644 14.0247C3.25739 14.0242 3.25833 14.0238 3.25974 14.0233C3.43281 13.9316 3.62517 13.8799 3.8274 13.8799C4.58225 13.8799 5.19648 14.5929 5.19648 15.469C5.19648 16.1454 4.8334 16.737 4.28831 16.9637H3.36509C2.81999 16.737 2.45692 16.1454 2.45692 15.469C2.45692 14.8289 2.78519 14.2763 3.25644 14.0247ZM6.90324 19.6393V21.2736H0.751562V19.643C0.751562 18.5802 1.61599 17.7153 2.67796 17.7153H3.28889H3.29124H3.29266H4.9792C6.04022 17.7153 6.90324 18.5783 6.90324 19.6393ZM13.4091 15.469C13.4091 16.1454 13.046 16.737 12.5009 16.9637H11.5777C11.0326 16.737 10.6695 16.1454 10.6695 15.469C10.6695 14.5929 11.2842 13.8799 12.04 13.8799C12.7948 13.8799 13.4091 14.5929 13.4091 15.469ZM15.1154 19.6393V21.2736H8.96275V19.643C8.96275 18.5802 9.82766 17.7153 10.8905 17.7153H12.5734H12.5747H12.5771H13.1923C14.2523 17.7153 15.1154 18.5783 15.1154 19.6393ZM13.9457 14.4423C13.6005 13.6649 12.8762 13.1279 12.04 13.1279C11.2033 13.1279 10.4785 13.6645 10.1329 14.4423H5.73311C5.3879 13.6649 4.66362 13.1279 3.8274 13.1279C3.70042 13.1279 3.57626 13.141 3.45539 13.1645V2.38401H20.6227V13.1645C20.5019 13.141 20.3777 13.1279 20.2507 13.1279C19.4145 13.1279 18.6902 13.6645 18.345 14.4423H13.9457ZM23.3265 21.2736H17.1749V19.643C17.1749 18.5802 18.0398 17.7153 19.1027 17.7153H20.7854H20.7869H20.7892H21.4044C22.4645 17.7153 23.3271 18.5783 23.3271 19.6388L23.3265 21.2736ZM18.6042 4.55169C18.6042 4.75957 18.4357 4.92747 18.2284 4.92747H5.84974C5.64187 4.92747 5.47396 4.75909 5.47396 4.55169C5.47396 4.34428 5.64234 4.17591 5.84974 4.17591H18.2284C18.4357 4.17544 18.6042 4.34381 18.6042 4.55169ZM5.47396 7.12618C5.47396 6.91829 5.64234 6.75039 5.84974 6.75039H12.0395C12.247 6.75039 12.4153 6.9188 12.4153 7.12618C12.4153 7.33356 12.247 7.50198 12.0395 7.50198H5.84974C5.64234 7.50198 5.47396 7.33356 5.47396 7.12618ZM18.6042 9.70019C18.6042 9.90808 18.4357 10.076 18.2284 10.076H5.84974C5.64187 10.076 5.47396 9.90757 5.47396 9.70019C5.47396 9.49281 5.64234 9.3244 5.84974 9.3244H18.2284C18.4357 9.3244 18.6042 9.49281 18.6042 9.70019ZM12.4157 12.2761C12.4157 12.484 12.2474 12.6519 12.04 12.6519H5.84974C5.64187 12.6519 5.47396 12.4835 5.47396 12.2761C5.47396 12.0687 5.64234 11.9003 5.84974 11.9003H12.0395C12.2474 11.8999 12.4157 12.0682 12.4157 12.2761Z' fill='%23693EA6'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='25' height='23' viewBox='0 0 25 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.8559 17.0023C22.1818 16.587 22.3733 16.0475 22.3733 15.4686C22.3733 14.6329 21.974 13.8982 21.3747 13.4839V2.38401H22.1893C22.582 2.38401 22.9014 2.06514 22.9014 1.67338V0.710645C22.9014 0.318878 22.582 0 22.1893 0H1.88877C1.49606 0 1.17672 0.318878 1.17672 0.710645V1.67338C1.17672 2.06514 1.49606 2.38401 1.88877 2.38401H2.70336V13.4843C2.10418 13.8986 1.70488 14.6333 1.70488 15.469C1.70488 16.048 1.8963 16.5874 2.2227 17.0032C0.962262 17.2205 0 18.321 0 19.6436V21.3484C0 21.7219 0.303822 22.0256 0.67725 22.0256H6.97802C7.35143 22.0256 7.65528 21.7219 7.65528 21.3484V19.6393C7.65528 18.3182 6.69255 17.2181 5.43164 17.0027C5.75757 16.5874 5.94898 16.048 5.94898 15.4695C5.94898 15.3764 5.94334 15.2851 5.93394 15.1949H9.93303C9.92361 15.2851 9.91792 15.3764 9.91792 15.4695C9.91792 16.0485 10.1094 16.5879 10.4358 17.0037C9.17436 17.2205 8.21167 18.3215 8.21167 19.644V21.3489C8.21167 21.7223 8.51544 22.0262 8.8889 22.0262H15.1901C15.5636 22.0262 15.8674 21.7223 15.8674 21.3489V19.6398C15.8674 18.3186 14.9047 17.2186 13.6438 17.0032C13.9697 16.5879 14.1611 16.0485 14.1611 15.47C14.1611 15.3769 14.1555 15.2857 14.1461 15.1953H18.1451C18.1357 15.2857 18.1301 15.3769 18.1301 15.47C18.1301 16.0489 18.3215 16.5884 18.6479 17.0042C17.3865 17.221 16.4238 18.322 16.4238 19.6445V21.3494C16.4238 21.7228 16.7276 22.0266 17.1011 22.0266H23.4027C23.7752 22.0266 24.0786 21.7228 24.0786 21.3494V19.6403C24.0781 18.3178 23.1159 17.2181 21.8559 17.0023ZM20.7131 16.9632H19.7898C19.2443 16.7365 18.8817 16.1449 18.8817 15.4686C18.8817 14.5924 19.4958 13.8794 20.2507 13.8794C20.4529 13.8794 20.6453 13.9311 20.8184 14.0228L20.8212 14.0242C21.2929 14.2759 21.6212 14.8285 21.6212 15.4686C21.6212 16.1454 21.2581 16.737 20.7131 16.9632ZM1.92875 0.752033H22.1489V1.63199H1.92875V0.752033ZM3.25644 14.0247C3.25739 14.0242 3.25833 14.0238 3.25974 14.0233C3.43281 13.9316 3.62517 13.8799 3.8274 13.8799C4.58225 13.8799 5.19648 14.5929 5.19648 15.469C5.19648 16.1454 4.8334 16.737 4.28831 16.9637H3.36509C2.81999 16.737 2.45692 16.1454 2.45692 15.469C2.45692 14.8289 2.78519 14.2763 3.25644 14.0247ZM6.90324 19.6393V21.2736H0.751562V19.643C0.751562 18.5802 1.61599 17.7153 2.67796 17.7153H3.28889H3.29124H3.29266H4.9792C6.04022 17.7153 6.90324 18.5783 6.90324 19.6393ZM13.4091 15.469C13.4091 16.1454 13.046 16.737 12.5009 16.9637H11.5777C11.0326 16.737 10.6695 16.1454 10.6695 15.469C10.6695 14.5929 11.2842 13.8799 12.04 13.8799C12.7948 13.8799 13.4091 14.5929 13.4091 15.469ZM15.1154 19.6393V21.2736H8.96275V19.643C8.96275 18.5802 9.82766 17.7153 10.8905 17.7153H12.5734H12.5747H12.5771H13.1923C14.2523 17.7153 15.1154 18.5783 15.1154 19.6393ZM13.9457 14.4423C13.6005 13.6649 12.8762 13.1279 12.04 13.1279C11.2033 13.1279 10.4785 13.6645 10.1329 14.4423H5.73311C5.3879 13.6649 4.66362 13.1279 3.8274 13.1279C3.70042 13.1279 3.57626 13.141 3.45539 13.1645V2.38401H20.6227V13.1645C20.5019 13.141 20.3777 13.1279 20.2507 13.1279C19.4145 13.1279 18.6902 13.6645 18.345 14.4423H13.9457ZM23.3265 21.2736H17.1749V19.643C17.1749 18.5802 18.0398 17.7153 19.1027 17.7153H20.7854H20.7869H20.7892H21.4044C22.4645 17.7153 23.3271 18.5783 23.3271 19.6388L23.3265 21.2736ZM18.6042 4.55169C18.6042 4.75957 18.4357 4.92747 18.2284 4.92747H5.84974C5.64187 4.92747 5.47396 4.75909 5.47396 4.55169C5.47396 4.34428 5.64234 4.17591 5.84974 4.17591H18.2284C18.4357 4.17544 18.6042 4.34381 18.6042 4.55169ZM5.47396 7.12618C5.47396 6.91829 5.64234 6.75039 5.84974 6.75039H12.0395C12.247 6.75039 12.4153 6.9188 12.4153 7.12618C12.4153 7.33356 12.247 7.50198 12.0395 7.50198H5.84974C5.64234 7.50198 5.47396 7.33356 5.47396 7.12618ZM18.6042 9.70019C18.6042 9.90808 18.4357 10.076 18.2284 10.076H5.84974C5.64187 10.076 5.47396 9.90757 5.47396 9.70019C5.47396 9.49281 5.64234 9.3244 5.84974 9.3244H18.2284C18.4357 9.3244 18.6042 9.49281 18.6042 9.70019ZM12.4157 12.2761C12.4157 12.484 12.2474 12.6519 12.04 12.6519H5.84974C5.64187 12.6519 5.47396 12.4835 5.47396 12.2761C5.47396 12.0687 5.64234 11.9003 5.84974 11.9003H12.0395C12.2474 11.8999 12.4157 12.0682 12.4157 12.2761Z' fill='%23693EA6'/%3E%3C/svg%3E");
}
.ico--effectif {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='17' viewBox='0 0 24 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.61421 7.90707C3.12201 7.90707 1.90803 6.70421 1.90803 5.22596C1.90803 3.74765 3.12201 2.54459 4.61421 2.54459C6.10642 2.54459 7.32019 3.74745 7.32019 5.22596C7.32019 6.70441 6.10642 7.90707 4.61421 7.90707ZM4.61421 3.29709C3.53682 3.29709 2.66053 4.16243 2.66053 5.22596C2.66053 6.28943 3.53682 7.15457 4.61421 7.15457C5.69142 7.15457 6.56769 6.28943 6.56769 5.22596C6.56769 4.16243 5.69142 3.29709 4.61421 3.29709Z' fill='%23693EA6'/%3E%3Cpath d='M5.70301 15.3307H0.983521C0.441152 15.3307 0 14.8923 0 14.3536V13.1229C0 10.6033 2.06994 8.55348 4.61433 8.55348C5.61515 8.55348 6.56762 8.86579 7.36828 9.45648C7.5355 9.57989 7.57109 9.81541 7.44768 9.9827C7.32427 10.1497 7.08895 10.1854 6.92146 10.062C6.25121 9.56745 5.45336 9.30598 4.61433 9.30598C2.48494 9.30598 0.7525 11.0183 0.7525 13.1229V14.3536C0.7525 14.4774 0.856158 14.5782 0.983521 14.5782H5.7032C5.91089 14.5782 6.07945 14.7467 6.07945 14.9544C6.07945 15.1621 5.91088 15.3307 5.70301 15.3307Z' fill='%23693EA6'/%3E%3Cpath d='M22.344 15.0461H17.6245C17.4168 15.0461 17.2482 14.8775 17.2482 14.6698C17.2482 14.4621 17.4168 14.2936 17.6245 14.2936H22.3442C22.4715 14.2936 22.5752 14.1927 22.5752 14.0689V12.8382C22.5752 10.7335 20.8428 9.02137 18.7134 9.02137C17.8239 9.02137 16.9557 9.32759 16.2685 9.8839C16.107 10.0145 15.8703 9.98979 15.7393 9.82819C15.6087 9.66678 15.6334 9.4298 15.7951 9.29903C16.6157 8.63475 17.6522 8.26887 18.7134 8.26887C21.2576 8.26887 23.3275 10.3187 23.3275 12.8382V14.0689C23.3275 14.6075 22.8864 15.0461 22.344 15.0461Z' fill='%23693EA6'/%3E%3Cpath d='M18.7133 7.72119C17.2211 7.72119 16.0073 6.51832 16.0073 5.04008C16.0073 3.56177 17.2211 2.35871 18.7133 2.35871C20.2055 2.35871 21.4194 3.56157 21.4194 5.04008C21.4194 6.51852 20.2053 7.72119 18.7133 7.72119ZM18.7133 3.1112C17.6361 3.1112 16.7598 3.97661 16.7598 5.04008C16.7598 6.10354 17.6361 6.96869 18.7133 6.96869C19.7907 6.96869 20.6669 6.10354 20.6669 5.04008C20.6669 3.97661 19.7905 3.1112 18.7133 3.1112Z' fill='%23693EA6'/%3E%3Cpath d='M16.7702 16.555H6.55698C5.87858 16.555 5.32662 16.0072 5.32662 15.3337V13.6027C5.32662 10.1433 8.16921 7.32895 11.6636 7.32895C15.158 7.32895 18.0006 10.1433 18.0006 13.6027V15.3337C18.0006 16.0072 17.4486 16.555 16.7702 16.555ZM11.6636 8.08165C8.58439 8.08165 6.07912 10.5585 6.07912 13.6029V15.3339C6.07912 15.5923 6.29358 15.8027 6.55698 15.8027H16.77C17.0335 15.8027 17.2479 15.5923 17.2479 15.3339V13.6029C17.2481 10.5585 14.7428 8.08165 11.6636 8.08165Z' fill='%23693EA6'/%3E%3Cpath d='M11.5329 6.88935C9.61555 6.88935 8.05543 5.34409 8.05543 3.44458C8.05543 1.54507 9.61534 0 11.5329 0C13.4505 0 15.0104 1.54526 15.0104 3.44478C15.0104 5.34429 13.4503 6.88935 11.5329 6.88935ZM11.5329 0.7525C10.0303 0.7525 8.80793 1.96027 8.80793 3.44478C8.80793 4.92924 10.0303 6.13699 11.5329 6.13699C13.0354 6.13699 14.2579 4.92924 14.2579 3.44478C14.2579 1.96027 13.0354 0.7525 11.5329 0.7525Z' fill='%23693EA6'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='17' viewBox='0 0 24 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.61421 7.90707C3.12201 7.90707 1.90803 6.70421 1.90803 5.22596C1.90803 3.74765 3.12201 2.54459 4.61421 2.54459C6.10642 2.54459 7.32019 3.74745 7.32019 5.22596C7.32019 6.70441 6.10642 7.90707 4.61421 7.90707ZM4.61421 3.29709C3.53682 3.29709 2.66053 4.16243 2.66053 5.22596C2.66053 6.28943 3.53682 7.15457 4.61421 7.15457C5.69142 7.15457 6.56769 6.28943 6.56769 5.22596C6.56769 4.16243 5.69142 3.29709 4.61421 3.29709Z' fill='%23693EA6'/%3E%3Cpath d='M5.70301 15.3307H0.983521C0.441152 15.3307 0 14.8923 0 14.3536V13.1229C0 10.6033 2.06994 8.55348 4.61433 8.55348C5.61515 8.55348 6.56762 8.86579 7.36828 9.45648C7.5355 9.57989 7.57109 9.81541 7.44768 9.9827C7.32427 10.1497 7.08895 10.1854 6.92146 10.062C6.25121 9.56745 5.45336 9.30598 4.61433 9.30598C2.48494 9.30598 0.7525 11.0183 0.7525 13.1229V14.3536C0.7525 14.4774 0.856158 14.5782 0.983521 14.5782H5.7032C5.91089 14.5782 6.07945 14.7467 6.07945 14.9544C6.07945 15.1621 5.91088 15.3307 5.70301 15.3307Z' fill='%23693EA6'/%3E%3Cpath d='M22.344 15.0461H17.6245C17.4168 15.0461 17.2482 14.8775 17.2482 14.6698C17.2482 14.4621 17.4168 14.2936 17.6245 14.2936H22.3442C22.4715 14.2936 22.5752 14.1927 22.5752 14.0689V12.8382C22.5752 10.7335 20.8428 9.02137 18.7134 9.02137C17.8239 9.02137 16.9557 9.32759 16.2685 9.8839C16.107 10.0145 15.8703 9.98979 15.7393 9.82819C15.6087 9.66678 15.6334 9.4298 15.7951 9.29903C16.6157 8.63475 17.6522 8.26887 18.7134 8.26887C21.2576 8.26887 23.3275 10.3187 23.3275 12.8382V14.0689C23.3275 14.6075 22.8864 15.0461 22.344 15.0461Z' fill='%23693EA6'/%3E%3Cpath d='M18.7133 7.72119C17.2211 7.72119 16.0073 6.51832 16.0073 5.04008C16.0073 3.56177 17.2211 2.35871 18.7133 2.35871C20.2055 2.35871 21.4194 3.56157 21.4194 5.04008C21.4194 6.51852 20.2053 7.72119 18.7133 7.72119ZM18.7133 3.1112C17.6361 3.1112 16.7598 3.97661 16.7598 5.04008C16.7598 6.10354 17.6361 6.96869 18.7133 6.96869C19.7907 6.96869 20.6669 6.10354 20.6669 5.04008C20.6669 3.97661 19.7905 3.1112 18.7133 3.1112Z' fill='%23693EA6'/%3E%3Cpath d='M16.7702 16.555H6.55698C5.87858 16.555 5.32662 16.0072 5.32662 15.3337V13.6027C5.32662 10.1433 8.16921 7.32895 11.6636 7.32895C15.158 7.32895 18.0006 10.1433 18.0006 13.6027V15.3337C18.0006 16.0072 17.4486 16.555 16.7702 16.555ZM11.6636 8.08165C8.58439 8.08165 6.07912 10.5585 6.07912 13.6029V15.3339C6.07912 15.5923 6.29358 15.8027 6.55698 15.8027H16.77C17.0335 15.8027 17.2479 15.5923 17.2479 15.3339V13.6029C17.2481 10.5585 14.7428 8.08165 11.6636 8.08165Z' fill='%23693EA6'/%3E%3Cpath d='M11.5329 6.88935C9.61555 6.88935 8.05543 5.34409 8.05543 3.44458C8.05543 1.54507 9.61534 0 11.5329 0C13.4505 0 15.0104 1.54526 15.0104 3.44478C15.0104 5.34429 13.4503 6.88935 11.5329 6.88935ZM11.5329 0.7525C10.0303 0.7525 8.80793 1.96027 8.80793 3.44478C8.80793 4.92924 10.0303 6.13699 11.5329 6.13699C13.0354 6.13699 14.2579 4.92924 14.2579 3.44478C14.2579 1.96027 13.0354 0.7525 11.5329 0.7525Z' fill='%23693EA6'/%3E%3C/svg%3E");
}
.ico--public {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='25' height='23' viewBox='0 0 25 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.6393 14.7326L17.3898 12.261V1.30371C17.3898 0.584595 16.8047 0 16.0861 0H5.31924C4.60013 0 4.01553 0.585069 4.01553 1.30371V2.00494H3.31571C2.5966 2.00494 2.012 2.59001 2.012 3.30864V7.84952H1.14098C0.5117 7.84952 0 8.3269 0 8.91332V20.048C0 20.1524 0.0301 20.2488 0.0893595 20.3339L1.2468 22.0238C1.34416 22.1673 1.50877 22.2528 1.68749 22.2528C1.86432 22.2528 2.02281 22.1719 2.12346 22.0304C2.12488 22.0285 2.12582 22.0271 2.12722 22.0252L3.28607 20.3335C3.34533 20.2484 3.37543 20.1519 3.37543 20.0475V19.8331H11.9182C12.0179 20.1261 12.2516 20.3537 12.5846 20.4675C13.8517 20.9006 15.0777 21.1175 16.3067 21.1175C17.5469 21.1175 18.7894 20.8969 20.0791 20.4558C20.4953 20.3137 20.7643 19.9374 20.7643 19.4972V17.1617L21.712 16.7869V18.211C21.712 18.4188 21.8803 18.5867 22.0878 18.5867C22.2952 18.5867 22.4635 18.4184 22.4635 18.211V16.4896L23.6398 16.0244C23.906 15.9186 24.0781 15.6647 24.0781 15.3778C24.0781 15.0919 23.906 14.8388 23.6393 14.7326ZM4.76709 1.30371C4.76709 0.99941 5.01448 0.751559 5.31924 0.751559H16.0861C16.3904 0.751559 16.6383 0.998944 16.6383 1.30371V11.9638L16.5682 11.936C16.4021 11.8712 16.2267 11.8712 16.0588 11.9365L15.3853 12.2027V3.30912C15.3853 2.59001 14.8003 2.00541 14.0816 2.00541H4.76709V1.30371ZM2.06374 19.7108V10.4668H2.62341V19.7108H2.06374ZM0.75203 10.4668H1.3117V19.7108H0.75203V10.4668ZM1.14098 8.60156H2.23399C2.44515 8.60156 2.62341 8.74454 2.62341 8.91332V9.71474H0.751556V8.91332C0.75203 8.74454 0.930282 8.60156 1.14098 8.60156ZM1.68749 21.3366L1.08877 20.4628H2.28619L1.68749 21.3366ZM3.37543 8.91332C3.37543 8.50464 3.12711 8.14954 2.76356 7.97135V3.30912C2.76356 3.00482 3.01094 2.75697 3.31571 2.75697H14.0812C14.3854 2.75697 14.6333 3.00436 14.6333 3.30912V12.5009L8.98766 14.733C8.72143 14.8388 8.54888 15.0928 8.54888 15.3787C8.54888 15.6657 8.72097 15.9196 8.98811 16.0254L11.8645 17.1626V19.082H3.37543V8.91332ZM20.0122 19.4978C20.0122 19.6144 19.9464 19.707 19.8359 19.7447C17.434 20.5663 15.2075 20.5705 12.8283 19.7568C12.6815 19.7066 12.6161 19.6266 12.6161 19.4982V17.4604L16.0607 18.8219C16.1435 18.8544 16.2286 18.8703 16.3142 18.8703C16.4002 18.8703 16.4863 18.8538 16.5701 18.8214L20.0128 17.4598L20.0122 19.4978ZM21.9486 15.8852C21.9453 15.8867 21.9424 15.8876 21.9392 15.889L20.2568 16.5541C20.2498 16.5564 20.2432 16.5593 20.2366 16.562L16.3137 18.1132L12.3946 16.5635C12.3838 16.5587 12.3725 16.5541 12.3612 16.5503L9.39777 15.3787L16.3137 12.6444L16.8645 12.8621C16.8682 12.8639 16.8724 12.8654 16.8762 12.8668L23.2287 15.3787L21.9486 15.8852ZM4.49243 5.2421C4.49243 5.03469 4.6608 4.86632 4.8682 4.86632H12.5258C12.7337 4.86632 12.9016 5.03469 12.9016 5.2421C12.9016 5.44951 12.7332 5.61788 12.5258 5.61788H4.86868C4.6608 5.61788 4.49243 5.44951 4.49243 5.2421ZM4.49243 8.08046C4.49243 7.87299 4.6608 7.70466 4.8682 7.70466H12.5258C12.7337 7.70466 12.9016 7.87299 12.9016 8.08046C12.9016 8.28785 12.7332 8.45618 12.5258 8.45618H4.86868C4.6608 8.45618 4.49243 8.28785 4.49243 8.08046ZM4.49243 10.9187C4.49243 10.7113 4.6608 10.543 4.8682 10.543H12.5258C12.7337 10.543 12.9016 10.7113 12.9016 10.9187C12.9016 11.1262 12.7332 11.2945 12.5258 11.2945H4.86868C4.6608 11.2945 4.49243 11.1262 4.49243 10.9187ZM7.35898 13.7571C7.35898 13.965 7.19061 14.1329 6.9832 14.1329H4.86868C4.6608 14.1329 4.4929 13.9645 4.4929 13.7571C4.4929 13.5497 4.66127 13.3813 4.86868 13.3813H6.9832C7.19061 13.3808 7.35898 13.5493 7.35898 13.7571ZM7.35898 16.5954C7.35898 16.8033 7.19061 16.9712 6.9832 16.9712H4.86868C4.6608 16.9712 4.4929 16.8028 4.4929 16.5954C4.4929 16.3881 4.66127 16.2196 4.86868 16.2196H6.9832C7.19061 16.2192 7.35898 16.3875 7.35898 16.5954Z' fill='%23693EA6'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='25' height='23' viewBox='0 0 25 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.6393 14.7326L17.3898 12.261V1.30371C17.3898 0.584595 16.8047 0 16.0861 0H5.31924C4.60013 0 4.01553 0.585069 4.01553 1.30371V2.00494H3.31571C2.5966 2.00494 2.012 2.59001 2.012 3.30864V7.84952H1.14098C0.5117 7.84952 0 8.3269 0 8.91332V20.048C0 20.1524 0.0301 20.2488 0.0893595 20.3339L1.2468 22.0238C1.34416 22.1673 1.50877 22.2528 1.68749 22.2528C1.86432 22.2528 2.02281 22.1719 2.12346 22.0304C2.12488 22.0285 2.12582 22.0271 2.12722 22.0252L3.28607 20.3335C3.34533 20.2484 3.37543 20.1519 3.37543 20.0475V19.8331H11.9182C12.0179 20.1261 12.2516 20.3537 12.5846 20.4675C13.8517 20.9006 15.0777 21.1175 16.3067 21.1175C17.5469 21.1175 18.7894 20.8969 20.0791 20.4558C20.4953 20.3137 20.7643 19.9374 20.7643 19.4972V17.1617L21.712 16.7869V18.211C21.712 18.4188 21.8803 18.5867 22.0878 18.5867C22.2952 18.5867 22.4635 18.4184 22.4635 18.211V16.4896L23.6398 16.0244C23.906 15.9186 24.0781 15.6647 24.0781 15.3778C24.0781 15.0919 23.906 14.8388 23.6393 14.7326ZM4.76709 1.30371C4.76709 0.99941 5.01448 0.751559 5.31924 0.751559H16.0861C16.3904 0.751559 16.6383 0.998944 16.6383 1.30371V11.9638L16.5682 11.936C16.4021 11.8712 16.2267 11.8712 16.0588 11.9365L15.3853 12.2027V3.30912C15.3853 2.59001 14.8003 2.00541 14.0816 2.00541H4.76709V1.30371ZM2.06374 19.7108V10.4668H2.62341V19.7108H2.06374ZM0.75203 10.4668H1.3117V19.7108H0.75203V10.4668ZM1.14098 8.60156H2.23399C2.44515 8.60156 2.62341 8.74454 2.62341 8.91332V9.71474H0.751556V8.91332C0.75203 8.74454 0.930282 8.60156 1.14098 8.60156ZM1.68749 21.3366L1.08877 20.4628H2.28619L1.68749 21.3366ZM3.37543 8.91332C3.37543 8.50464 3.12711 8.14954 2.76356 7.97135V3.30912C2.76356 3.00482 3.01094 2.75697 3.31571 2.75697H14.0812C14.3854 2.75697 14.6333 3.00436 14.6333 3.30912V12.5009L8.98766 14.733C8.72143 14.8388 8.54888 15.0928 8.54888 15.3787C8.54888 15.6657 8.72097 15.9196 8.98811 16.0254L11.8645 17.1626V19.082H3.37543V8.91332ZM20.0122 19.4978C20.0122 19.6144 19.9464 19.707 19.8359 19.7447C17.434 20.5663 15.2075 20.5705 12.8283 19.7568C12.6815 19.7066 12.6161 19.6266 12.6161 19.4982V17.4604L16.0607 18.8219C16.1435 18.8544 16.2286 18.8703 16.3142 18.8703C16.4002 18.8703 16.4863 18.8538 16.5701 18.8214L20.0128 17.4598L20.0122 19.4978ZM21.9486 15.8852C21.9453 15.8867 21.9424 15.8876 21.9392 15.889L20.2568 16.5541C20.2498 16.5564 20.2432 16.5593 20.2366 16.562L16.3137 18.1132L12.3946 16.5635C12.3838 16.5587 12.3725 16.5541 12.3612 16.5503L9.39777 15.3787L16.3137 12.6444L16.8645 12.8621C16.8682 12.8639 16.8724 12.8654 16.8762 12.8668L23.2287 15.3787L21.9486 15.8852ZM4.49243 5.2421C4.49243 5.03469 4.6608 4.86632 4.8682 4.86632H12.5258C12.7337 4.86632 12.9016 5.03469 12.9016 5.2421C12.9016 5.44951 12.7332 5.61788 12.5258 5.61788H4.86868C4.6608 5.61788 4.49243 5.44951 4.49243 5.2421ZM4.49243 8.08046C4.49243 7.87299 4.6608 7.70466 4.8682 7.70466H12.5258C12.7337 7.70466 12.9016 7.87299 12.9016 8.08046C12.9016 8.28785 12.7332 8.45618 12.5258 8.45618H4.86868C4.6608 8.45618 4.49243 8.28785 4.49243 8.08046ZM4.49243 10.9187C4.49243 10.7113 4.6608 10.543 4.8682 10.543H12.5258C12.7337 10.543 12.9016 10.7113 12.9016 10.9187C12.9016 11.1262 12.7332 11.2945 12.5258 11.2945H4.86868C4.6608 11.2945 4.49243 11.1262 4.49243 10.9187ZM7.35898 13.7571C7.35898 13.965 7.19061 14.1329 6.9832 14.1329H4.86868C4.6608 14.1329 4.4929 13.9645 4.4929 13.7571C4.4929 13.5497 4.66127 13.3813 4.86868 13.3813H6.9832C7.19061 13.3808 7.35898 13.5493 7.35898 13.7571ZM7.35898 16.5954C7.35898 16.8033 7.19061 16.9712 6.9832 16.9712H4.86868C4.6608 16.9712 4.4929 16.8028 4.4929 16.5954C4.4929 16.3881 4.66127 16.2196 4.86868 16.2196H6.9832C7.19061 16.2192 7.35898 16.3875 7.35898 16.5954Z' fill='%23693EA6'/%3E%3C/svg%3E");
}
.ico--handicap {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='23' height='25' viewBox='0 0 23 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.8477 15.3852C14.5837 15.4141 14.393 15.652 14.422 15.9159C14.4393 16.0729 14.448 16.2193 14.448 16.3744C14.448 16.8107 14.4056 17.2538 14.3218 17.6872C13.7005 20.8331 10.9179 23.1168 7.70556 23.1168C3.98763 23.1168 0.9632 20.0914 0.9632 16.3744C0.9632 13.61 2.61799 11.1615 5.1772 10.1357C5.42472 10.0375 5.54512 9.75718 5.44593 9.51056C5.34675 9.26308 5.06451 9.14361 4.81985 9.24288C1.89173 10.4142 0 13.2141 0 16.3744C0 20.6231 3.45693 24.08 7.70556 24.08C11.3764 24.08 14.5569 21.4698 15.2677 17.8722C15.363 17.3762 15.4112 16.8724 15.4112 16.3744C15.4112 16.1837 15.4006 16.0027 15.3794 15.811C15.3505 15.547 15.1232 15.3563 14.8477 15.3852Z' fill='%23693EA6'/%3E%3Cpath d='M22.1287 19.5935C22.0449 19.342 21.7743 19.2034 21.52 19.2881L19.0705 20.1049L16.3438 12.8337C16.2735 12.6459 16.0933 12.5216 15.8929 12.5216H8.62759L8.36458 9.63197H13.0034C13.2692 9.63197 13.485 9.41618 13.485 9.15037C13.485 8.88456 13.2692 8.66877 13.0034 8.66877H8.27696L7.91576 4.70331C8.90498 4.40278 9.63212 3.49451 9.63212 2.408C9.63212 1.07974 8.55139 0 7.22412 0C5.89688 0 4.81615 1.07974 4.81615 2.408C4.81615 3.64379 5.75621 4.65417 6.95636 4.78905L7.70766 13.0466C7.7298 13.2951 7.93789 13.4848 8.18732 13.4848H15.5587L18.3318 20.8783C18.404 21.071 18.587 21.1904 18.7825 21.1904C18.8326 21.1904 18.8847 21.1827 18.9348 21.1663L21.8244 20.2031C22.0767 20.1184 22.2135 19.8459 22.1287 19.5935ZM7.22412 3.85285C6.42758 3.85285 5.77935 3.20461 5.77935 2.40805C5.77935 1.61148 6.42758 0.963247 7.22412 0.963247C8.0207 0.963247 8.66892 1.61148 8.66892 2.40805C8.66892 3.20461 8.0207 3.85285 7.22412 3.85285Z' fill='%23693EA6'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='23' height='25' viewBox='0 0 23 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.8477 15.3852C14.5837 15.4141 14.393 15.652 14.422 15.9159C14.4393 16.0729 14.448 16.2193 14.448 16.3744C14.448 16.8107 14.4056 17.2538 14.3218 17.6872C13.7005 20.8331 10.9179 23.1168 7.70556 23.1168C3.98763 23.1168 0.9632 20.0914 0.9632 16.3744C0.9632 13.61 2.61799 11.1615 5.1772 10.1357C5.42472 10.0375 5.54512 9.75718 5.44593 9.51056C5.34675 9.26308 5.06451 9.14361 4.81985 9.24288C1.89173 10.4142 0 13.2141 0 16.3744C0 20.6231 3.45693 24.08 7.70556 24.08C11.3764 24.08 14.5569 21.4698 15.2677 17.8722C15.363 17.3762 15.4112 16.8724 15.4112 16.3744C15.4112 16.1837 15.4006 16.0027 15.3794 15.811C15.3505 15.547 15.1232 15.3563 14.8477 15.3852Z' fill='%23693EA6'/%3E%3Cpath d='M22.1287 19.5935C22.0449 19.342 21.7743 19.2034 21.52 19.2881L19.0705 20.1049L16.3438 12.8337C16.2735 12.6459 16.0933 12.5216 15.8929 12.5216H8.62759L8.36458 9.63197H13.0034C13.2692 9.63197 13.485 9.41618 13.485 9.15037C13.485 8.88456 13.2692 8.66877 13.0034 8.66877H8.27696L7.91576 4.70331C8.90498 4.40278 9.63212 3.49451 9.63212 2.408C9.63212 1.07974 8.55139 0 7.22412 0C5.89688 0 4.81615 1.07974 4.81615 2.408C4.81615 3.64379 5.75621 4.65417 6.95636 4.78905L7.70766 13.0466C7.7298 13.2951 7.93789 13.4848 8.18732 13.4848H15.5587L18.3318 20.8783C18.404 21.071 18.587 21.1904 18.7825 21.1904C18.8326 21.1904 18.8847 21.1827 18.9348 21.1663L21.8244 20.2031C22.0767 20.1184 22.2135 19.8459 22.1287 19.5935ZM7.22412 3.85285C6.42758 3.85285 5.77935 3.20461 5.77935 2.40805C5.77935 1.61148 6.42758 0.963247 7.22412 0.963247C8.0207 0.963247 8.66892 1.61148 8.66892 2.40805C8.66892 3.20461 8.0207 3.85285 7.22412 3.85285Z' fill='%23693EA6'/%3E%3C/svg%3E");
}

.fiche-entete__tarif {
  padding: 14px 18px;
  margin-bottom: 18px;
  background: var(--violet-50);
  border-radius: var(--r-sm);
  font-weight: 600;
  color: var(--violet-800);
}

.lien-telechargement {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  font-weight: 600;
}

/* --------------------------------------------------------------------------
   12 decies. Bloc à onglets
   -------------------------------------------------------------------------- */
.onglets {
  padding: clamp(20px, 3vw, 30px);
  background: var(--blanc);
  border-radius: var(--r-xl);
  box-shadow: var(--ombre-md);
}

.onglets__liste {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px;
  margin-bottom: 24px;
  background: var(--fond);
  border-radius: var(--r-pilule);
}
.onglets__bouton {
  padding: 11px 22px;
  border: 0;
  border-radius: var(--r-pilule);
  background: transparent;
  font-family: inherit;
  font-size: .95rem;
  font-weight: 500;
  color: var(--texte-doux);
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--transition), color var(--transition);
}
.onglets__bouton:hover { background: var(--violet-100); color: var(--violet-700); }
.onglets__bouton[aria-selected='true'] {
  background: var(--violet-600);
  color: var(--blanc);
  font-weight: 600;
}
@media (max-width: 700px) {
  .onglets__liste {
    flex-wrap: nowrap;
    overflow-x: auto;
    border-radius: var(--r-lg);
    scrollbar-width: thin;
  }
  .onglets__bouton { padding: 10px 16px; font-size: .9rem; }
}

.onglets__panneau { padding: 4px 8px 8px; }
.onglets__panneau[hidden] { display: none; }
.onglets__panneau h3 { font-size: 1.15rem; margin-top: 26px; }
.onglets__panneau h3:first-child { margin-top: 0; }

/* --------------------------------------------------------------------------
   12 undecies. Autres formations
   -------------------------------------------------------------------------- */
.autre-formation {
  display: block;
  padding: 14px;
  background: var(--blanc);
  border-radius: var(--r-lg);
  box-shadow: var(--ombre-md);
  text-decoration: none;
  color: var(--texte);
  transition: transform var(--transition), box-shadow var(--transition);
}
.autre-formation:hover { transform: translateY(-4px); box-shadow: var(--ombre-lg); text-decoration: none; }
.autre-formation img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: var(--r-md);
  margin-bottom: 16px;
}
.autre-formation__categorie {
  display: inline-block;
  margin-bottom: 10px;
  padding: 5px 14px;
  border-radius: var(--r-sm);
  background: var(--violet-600);
  color: var(--blanc);
  font-size: .78rem;
  font-weight: 600;
}
.autre-formation__titre { margin-bottom: 8px; font-size: 1.05rem; font-weight: 700; color: var(--violet-950); }
.autre-formation__lieu {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .875rem;
  color: var(--texte-doux);
}

/* --------------------------------------------------------------------------
   12 duodecies. Page « Qui sommes-nous » : équipe
   -------------------------------------------------------------------------- */
.membre-carte {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30px 24px;
  background: var(--blanc);
  border-radius: var(--r-lg);
  box-shadow: var(--ombre-sm);
  text-align: center;
  transition: transform var(--transition), box-shadow var(--transition);
}
.membre-carte:hover { transform: translateY(-4px); box-shadow: var(--ombre-md); }

.membre-carte__portrait {
  position: relative;
  width: 132px;
  height: 132px;
  margin-bottom: 18px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--violet-400);
}
.membre-carte__portrait img { width: 100%; height: 100%; object-fit: cover; }
.membre-carte:nth-child(2n) .membre-carte__portrait { background: var(--or-500); }
.membre-carte:nth-child(3n) .membre-carte__portrait { background: var(--violet-600); }

.membre-carte__nom { margin-bottom: 4px; font-size: 1.15rem; color: var(--violet-950); }
.membre-carte__role {
  margin-bottom: 12px;
  font-size: .875rem;
  font-weight: 600;
  color: var(--violet-500);
}
.membre-carte__texte { margin: 0; font-size: .9rem; line-height: 1.6; color: var(--texte-doux); }

/* Portrait détaillé d'un formateur */
.formateur {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 32px;
  align-items: start;
  padding: clamp(24px, 3vw, 36px);
  margin-bottom: 24px;
  background: var(--blanc);
  border-radius: var(--r-lg);
  box-shadow: var(--ombre-sm);
}
.formateur:last-child { margin-bottom: 0; }
@media (max-width: 720px) {
  .formateur { grid-template-columns: 1fr; gap: 22px; justify-items: center; text-align: center; }
  .formateur .fiche__liste { text-align: left; }
}

.formateur__portrait {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--violet-400);
}
.formateur__portrait img { width: 100%; height: 100%; object-fit: cover; }
.formateur__role {
  display: inline-block;
  margin-bottom: 10px;
  padding: 5px 14px;
  border-radius: var(--r-pilule);
  background: var(--violet-100);
  color: var(--violet-700);
  font-size: .78rem;
  font-weight: 600;
}

/* --------------------------------------------------------------------------
   12 terdecies. Bouton de retour en haut de page
   -------------------------------------------------------------------------- */
.retour-haut {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 90;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, #471E9C 0%, #7C3AED 100%);
  color: var(--blanc);
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(71, 30, 156, .34);

  /* Masqué tant que le visiteur n'a pas fait défiler la page */
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity var(--transition), visibility var(--transition),
              transform var(--transition), filter var(--transition);
}
.retour-haut.est-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.retour-haut:hover { filter: brightness(1.15); transform: translateY(-3px); }
.retour-haut:active { transform: translateY(0); }

@media (max-width: 620px) {
  .retour-haut { right: 16px; bottom: 16px; width: 46px; height: 46px; }
}

/* --------------------------------------------------------------------------
   13. Utilitaires
   -------------------------------------------------------------------------- */
.centre { text-align: center; }
/* Le chapô est limité en largeur : pour être réellement centré, son bloc doit
   aussi être centré, que la classe « centre » soit sur le parent ou sur lui-même. */
.centre .chapo,
.chapo.centre { margin-inline: auto; }
.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.mb-16 { margin-bottom: 16px; }
.mb-24 { margin-bottom: 24px; }
.mb-40 { margin-bottom: 40px; }
.pleine-largeur { width: 100%; }

/* Emplacement d'image en attente de l'export Figma */
.img-attente {
  display: grid;
  place-items: center;
  min-height: 180px;
  padding: 20px;
  background: repeating-linear-gradient(45deg, var(--violet-50), var(--violet-50) 12px, var(--violet-100) 12px, var(--violet-100) 24px);
  border: 2px dashed var(--violet-300);
  border-radius: var(--r-md);
  color: var(--violet-600);
  font-size: .85rem;
  font-weight: 600;
  text-align: center;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
