/* ============================================================
   Gabarit accueil — /
   Repris de maquettes/maquette-home-byu-france.html (parties propres à la page).
   ============================================================ */

/* Titres : Archivo étiré, très gras, italique pour les chiffres — repris des affiches */
h2{
  font-size:clamp(2rem,4.6vw,3.4rem);
  font-weight:800;
  font-stretch:112%;
  line-height:1.02;
  letter-spacing:-.015em;
  max-width:16ch;
}
h3{font-size:1.25rem;font-weight:700;line-height:1.2}
.chiffre{font-style:italic;font-weight:900;font-stretch:118%;letter-spacing:-.03em}

/* ---------- Hero ---------- */
.hero{background:var(--nuit);color:var(--papier);padding:clamp(56px,9vw,104px) 0 0;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,64px);align-items:end}
.hero h1{font-weight:900;font-stretch:118%;line-height:.92;letter-spacing:-.03em}
.hero h1 .nom{display:block;font-size:clamp(1.1rem,2vw,1.5rem);font-stretch:105%;font-weight:800;letter-spacing:.02em;color:#9FB4E8;margin-bottom:18px}
.hero h1 .slogan{display:block;font-size:clamp(2.6rem,6.4vw,5rem);font-style:italic}
.hero .accroche{margin-top:26px;font-size:1.1rem;color:#C6CEE0;max-width:58ch}
.hero .actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;padding-bottom:clamp(40px,6vw,72px)}

/* Compte à rebours */
.rebours{
  border:1px solid rgba(159,180,232,.3);
  border-bottom:none;
  padding:26px 26px 30px;
  /* Demande de Ronan (16/09/2026) : fond bleu presque opaque, au lieu du dégradé vers la
     transparence de la maquette, pour que le bloc se lise sur la photo du hero. */
  background:linear-gradient(180deg,rgba(19,56,160,.97),rgba(15,46,134,.95));
}
.rebours .quoi{font-weight:700;font-size:.95rem;color:#fff}
/* Textes secondaires éclaircis : ils restent lisibles sur le bleu plein. */
.rebours .ou{font-size:.9rem;color:#C6CEE0;margin-top:2px}
.rebours .horloge{display:flex;gap:6px;margin-top:18px}
.rebours .unite{flex:1;text-align:center;background:rgba(11,27,57,.55);border:1px solid rgba(159,180,232,.28);padding:10px 4px 8px}
.rebours .unite b{display:block;font-size:clamp(1.5rem,3.4vw,2.2rem);font-style:italic;font-weight:900;font-stretch:118%;line-height:1}
.rebours .unite i{font-style:normal;font-size:.68rem;color:#C6CEE0;letter-spacing:.06em}
.rebours .note{margin-top:14px;font-size:.82rem;color:#C6CEE0;line-height:1.4}

/* Bandeau règle */
.regle-bandeau{background:var(--rouge);color:#fff}
.regle-bandeau .wrap{padding:20px var(--gouttiere);display:flex;gap:18px;align-items:baseline;flex-wrap:wrap}
.regle-bandeau p{font-weight:800;font-stretch:112%;font-size:clamp(1.05rem,2.3vw,1.5rem);max-width:none}
.regle-bandeau span{font-size:.9rem;opacity:.86;font-weight:500}

/* ---------- Sections ---------- */
section{padding:clamp(60px,8vw,104px) 0}
.intro{color:var(--gris);font-size:1.05rem;margin-top:16px}
.tete{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:44px}
.lien-suite{text-decoration:none;font-weight:700;color:var(--bleu);border-bottom:2px solid var(--bleu);padding-bottom:2px;white-space:nowrap}
.lien-suite:hover{color:var(--rouge);border-color:var(--rouge)}

/* La règle, en 4 temps (vraie séquence → numérotation justifiée) */
.temps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--encre)}
.temps li{padding:24px 22px 30px;border-right:1px solid var(--trait);position:relative}
.temps li:last-child{border-right:none;background:#fff}
.temps .heure{font-size:.8rem;font-weight:700;color:var(--bleu);letter-spacing:.04em}
.temps li:last-child .heure{color:var(--rouge)}
.temps h3{margin:10px 0 8px}
.temps p{font-size:.95rem;color:var(--gris)}

/* Sélection : la grille de départ, barres proportionnelles aux records */
.selection{background:var(--nuit);color:var(--papier)}
.selection h2,.selection .tete{color:var(--papier)}
.selection .intro{color:#9FB4E8}
.selection .lien-suite{color:#fff;border-color:var(--rouge)}
.grille-depart{border-top:1px solid rgba(159,180,232,.3)}
.coureur{
  display:grid;grid-template-columns:1.1fr 1fr auto;align-items:center;gap:20px;
  padding:13px 0;border-bottom:1px solid rgba(159,180,232,.16);
  text-decoration:none;
}
.coureur:hover{background:rgba(19,56,160,.28)}
.coureur .qui b{font-weight:800;font-stretch:108%;font-size:1.02rem}
.coureur .qui i{display:block;font-style:normal;font-size:.8rem;color:#9FB4E8}
.jauge{height:9px;background:rgba(159,180,232,.16);position:relative}
.jauge b{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--bleu-clair),var(--rouge))}
.coureur .tours{font-size:1.5rem;font-style:italic;font-weight:900;font-stretch:118%;min-width:3.4ch;text-align:right}
.coureur .tours em{font-style:normal;font-weight:600;font-size:.72rem;color:#9FB4E8;display:block;text-align:right;letter-spacing:.04em}
/* max-width:none : demande de Ronan, les paragraphes encadrés occupent toute la largeur. */
.absent{margin-top:28px;border-left:3px solid var(--rouge);padding:14px 0 14px 18px;color:#C6CEE0;font-size:.95rem;max-width:none}
.absent b{color:#fff}

/* Calendrier */
.course{
  display:grid;grid-template-columns:88px 1fr auto;gap:24px;align-items:center;
  padding:22px 0;border-bottom:1px solid var(--trait);text-decoration:none;
}
.course:first-of-type{border-top:2px solid var(--encre)}
.course:hover .titre{color:var(--bleu)}
.date{text-align:center;background:#fff;border:1px solid var(--trait);padding:8px 4px}
.date b{display:block;font-size:1.75rem;font-style:italic;font-weight:900;line-height:1}
.date i{font-style:normal;font-size:.78rem;font-weight:700;color:var(--rouge)}
.date em{font-style:normal;display:block;font-size:.7rem;color:var(--gris)}
.titre{font-weight:800;font-stretch:108%;font-size:1.15rem}
.lieu{font-size:.92rem;color:var(--gris)}
.etiquette{font-size:.72rem;font-weight:700;padding:4px 9px;border:1px solid var(--bleu);color:var(--bleu);border-radius:2px;white-space:nowrap}
.etiquette.satellite{border-color:var(--gris);color:var(--gris)}
.etiquette.mondial{background:var(--rouge);border-color:var(--rouge);color:#fff}
.vide{margin-top:26px;padding:20px;background:#fff;border:1px dashed var(--trait);color:var(--gris);font-size:.95rem}

/* Laz */
.laz{background:#fff;border-top:1px solid var(--trait);border-bottom:1px solid var(--trait)}
.laz .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:center}
.citation{font-size:clamp(1.5rem,3.4vw,2.3rem);font-weight:800;font-style:italic;font-stretch:112%;line-height:1.12;max-width:18ch}
.citation + .signature{margin-top:18px;font-weight:700;color:var(--rouge)}
/* Ajout thème : styles portés en ligne dans la maquette (titre et lien du bloc Laz). */
.laz h2{font-size:clamp(1.6rem,3.2vw,2.4rem)}
.laz .suite{margin-top:22px}
/* Demande de Ronan (16/09/2026) : portrait détouré de Laz. La photo est coupée en bas et à
   droite : elle se pose sur le bas du bloc, contre le bord droit de l'écran, tournée vers le
   texte. La colonne de texte s'arrête avant le portrait (100cqw : largeur du bloc). */
.laz.avec-portrait{--h-laz:clamp(400px,38vw,500px);position:relative;overflow:hidden;
  container-type:inline-size;display:grid;align-content:center;min-height:calc(var(--h-laz) + 70px)}
.laz.avec-portrait .wrap{width:100%;
  padding-right:max(var(--gouttiere),calc(var(--h-laz) * .564 + 32px - max(0px,(100cqw - var(--max)) / 2)))}
.portrait-laz{position:absolute;right:0;bottom:0;height:var(--h-laz);width:auto;max-width:none;pointer-events:none}

/* Association */
.missions{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--trait);border:1px solid var(--trait);margin-top:8px}
.missions li{background:var(--papier);padding:24px}
.missions h3{margin-bottom:6px}
.missions p{font-size:.95rem;color:var(--gris)}
.adhesion{margin-top:44px;background:var(--nuit);color:var(--papier);padding:clamp(28px,4vw,44px);display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.adhesion h3{font-size:clamp(1.4rem,3vw,2rem);font-weight:900;font-stretch:112%}
.adhesion p{color:#C6CEE0;margin-top:10px;font-size:.98rem}
.adhesion .prix{font-style:italic;font-weight:900;font-stretch:118%;font-size:2.4rem;line-height:1}
/* Ajout thème : styles portés en ligne dans la maquette (colonne du prix). */
.adhesion .montant{text-align:right}
.adhesion .periodicite{color:#C6CEE0;font-size:.85rem;margin:4px 0 16px}

/* ---------- Photo du hero ---------- */
/* --opacite-hero pilote la présence de l'image (0 = invisible, 1 = pleine).
   Le voile dégradé par-dessus reste plus dense à gauche, là où se trouve le titre. */
.hero{--opacite-hero:.8;position:relative;isolation:isolate}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:var(--photo-hero);
  background-size:cover;background-position:center 32%;
  filter:grayscale(1) contrast(1.08);
  opacity:var(--opacite-hero);
}
/* Voile bleu nuit : garantit la lisibilité du titre et du compte à rebours */
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,
    rgba(11,27,57,.94) 0%,
    rgba(11,27,57,.80) 40%,
    rgba(11,27,57,.52) 68%,
    rgba(11,27,57,.78) 100%);
}
.hero .wrap{position:relative;z-index:1}

/* ---------- Vignettes coureurs ---------- */
.coureur{grid-template-columns:46px 1.1fr 1fr auto}
.vignette{
  width:46px;height:46px;border-radius:50%;overflow:hidden;flex:none;
  background:var(--bleu);border:2px solid rgba(159,180,232,.45);
  display:grid;place-items:center;
  font-weight:900;font-style:italic;font-size:.85rem;color:#fff;
}
.vignette img{width:100%;height:100%;object-fit:cover;object-position:center top}
.coureur:hover .vignette{border-color:var(--rouge)}

/* ---------- Partenaires ---------- */
.partenaires{background:#fff;border-top:1px solid var(--trait);padding:clamp(44px,6vw,72px) 0}
.partenaires h2{font-size:clamp(1.4rem,2.6vw,1.9rem);max-width:none}
.partenaires .intro{margin-bottom:32px}
.logos{display:flex;flex-wrap:wrap;gap:20px}
.logo-part{
  flex:1 1 220px;min-height:104px;
  display:grid;place-items:center;gap:4px;
  border:1px solid var(--trait);background:var(--papier);
  text-decoration:none;padding:18px;text-align:center;
  transition:border-color .15s,background .15s;
}
.logo-part:hover{border-color:var(--bleu);background:#fff}
/* Demande de Ronan (15/09/2026) : logos lisibles. Un PNG 5:4 monte à 110 px de haut ;
   un logotype large est borné par la largeur de sa carte. */
.logo-part img{max-height:110px;max-width:100%;width:auto;height:auto}
.logo-part b{font-weight:900;font-stretch:112%;font-size:1.25rem;letter-spacing:-.01em}
.logo-part i{font-style:normal;font-size:.78rem;color:var(--gris)}
/* Demande de Ronan (14/10/2026) : cartes sur fond blanc, comme les logos (maquette : --papier).
   Le survol ne garde que la bordure bleue. */
.logo-part{background:#fff}
.devenir{margin-top:24px;font-size:.95rem;color:var(--gris)}
/* Ajout thème : styles portés en ligne dans la maquette (carte « Votre marque ici »). */
.logo-part.libre{border-style:dashed}
.logo-part.libre b{font-size:1rem;color:var(--gris)}
/* Demande de Ronan (15/09/2026, maquette parcours-finale) : partenaires de la finale mondiale
   d'abord, puis ceux de l'association, chaque groupe sous son titre. */
.partenaires h2 + .groupe-part{margin-top:24px}
.groupe-part + .groupe-part{margin-top:34px}
.groupe-part h3{font-size:.8rem;font-weight:800;letter-spacing:.1em;color:var(--gris);text-transform:uppercase;
  margin:0 0 14px;display:flex;align-items:center;gap:12px}
.groupe-part h3::after{content:"";flex:1;height:1px;background:var(--trait)}
.groupe-part.finale h3{color:var(--rouge-sombre)}
.groupe-part.finale .logo-part{border-color:rgba(224,42,34,.35)}
.groupe-part.finale .logo-part:hover{border-color:var(--bleu)}
/* Demande de Ronan (11/10/2026) : partenaires de la finale sur une seule ligne (cinq cartes
   à 220 px ne tenaient pas dans la largeur) ; à la ligne seulement sur petit écran. */
.groupe-part.finale .logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

/* ---------- Course en direct ---------- */
/* Demande de Ronan (16/09/2026) : pendant la course, même bleu presque opaque que le compte
   à rebours ; le direct se signale par le liseré rouge du haut et le point qui pulse. */
.rebours.en-course,.rebours.en-direct{border-color:rgba(224,42,34,.6);border-top:4px solid var(--rouge);
  background:linear-gradient(180deg,rgba(19,56,160,.97),rgba(15,46,134,.95))}
.rebours.en-course .quoi::before{
  content:"";display:inline-block;width:9px;height:9px;border-radius:50%;
  background:var(--rouge);margin-right:8px;vertical-align:baseline;
  animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.suivre{margin-top:16px;display:none}
.suivre.visible{display:inline-block}

/* ============================================================
   Évolution validée le 14/09 (maquettes/maquette-home-evolution-byu-france.html)
   ============================================================ */
/* Bloc des Mondiaux pendant la course : direct */
.rebours.en-direct .quoi::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;
  background:var(--rouge);margin-right:8px;vertical-align:baseline;animation:pulse 2s ease-in-out infinite}
.rebours .unite b sup{font-size:.5em}
.fort-hero{margin-top:16px;border-left:3px solid var(--rouge);padding:4px 0 4px 12px;font-size:.9rem;color:#C6CEE0;line-height:1.4}
.fort-hero b{display:block;color:#fff;font-size:.95rem}
.fort-hero time{font-weight:900;font-style:italic;color:#fff;margin-right:6px}
.actions-hero{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
.actions-hero .btn{padding:.6em 1.1em;font-size:.92rem}

/* Actualités : deux cartes (parts/carte-actu.php) */
.actus{padding-top:0}
.cartes-actu{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.actu{display:grid;grid-template-rows:auto 1fr;background:#fff;border:1px solid var(--trait);text-decoration:none;
  transition:border-color .15s,transform .15s}
.actu:hover{border-color:var(--bleu);transform:translateY(-2px)}
.actu .visuel{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--nuit)}
.actu .visuel.sans{display:grid;place-items:center;color:rgba(255,255,255,.35);font-weight:900;font-style:italic;font-stretch:118%;font-size:1.4rem}
.actu .corps-actu{display:block;padding:20px 22px 24px}
.actu .meta{display:flex;gap:10px;align-items:center;font-size:.8rem;color:var(--gris);flex-wrap:wrap}
.actu .categorie{font-size:.7rem;font-weight:800;letter-spacing:.08em;color:var(--bleu);border:1px solid var(--bleu);
  padding:2px 7px;border-radius:2px;text-transform:uppercase}
.actu h3{margin-top:10px;font-size:1.3rem;font-weight:800;font-stretch:108%;line-height:1.2}
.actu p{margin-top:8px;color:var(--gris);font-size:.95rem}
.actu .lire{display:inline-block;margin-top:14px;font-weight:700;color:var(--bleu);border-bottom:2px solid var(--bleu)}
.actu:hover .lire{color:var(--rouge);border-color:var(--rouge)}

/* La backyard française en chiffres (calculés) */
.chiffres{background:#fff;border-top:1px solid var(--trait);border-bottom:1px solid var(--trait);padding:clamp(40px,5vw,64px) 0}
.chiffres h2{font-size:clamp(1.5rem,3vw,2.1rem);max-width:none;margin-bottom:26px}
.quatre-chiffres{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--encre)}
/* Ajout thème : moins de quatre chiffres → autant de colonnes que de chiffres. */
.quatre-chiffres.n3{grid-template-columns:repeat(3,1fr)}
.quatre-chiffres.n2{grid-template-columns:repeat(2,1fr)}
.quatre-chiffres.n1{grid-template-columns:1fr}
.quatre-chiffres div{padding:22px 20px 8px 0;border-right:1px solid var(--trait)}
.quatre-chiffres div + div{padding-left:20px}
.quatre-chiffres div:last-child{border-right:none}
.quatre-chiffres b{display:block;font-size:clamp(2.2rem,4.4vw,3.2rem);font-style:italic;font-weight:900;font-stretch:118%;line-height:1}
.quatre-chiffres b sup{font-size:.45em}
.quatre-chiffres i{display:block;font-style:normal;font-weight:700;margin-top:8px;line-height:1.3}
.quatre-chiffres span{display:block;font-size:.85rem;color:var(--gris);margin-top:4px}
.quatre-chiffres a{color:var(--bleu);font-weight:700}
/* Demande de Ronan (16/09/2026) : records de France (masculin, féminin) sur une première
   ligne, le record du monde correspondant rappelé sous chacun. */
.quatre-chiffres + .quatre-chiffres{margin-top:34px}
.quatre-chiffres .monde{display:block;font-style:normal;font-weight:600;color:var(--encre);
  margin-top:10px;padding-top:8px;border-top:1px dashed var(--trait)}
/* Demande de Ronan (01/10/2026) : portrait du recordman de France sous les chiffres.
   Photo détourée posée sur le bas du cartouche, chiffres calculés depuis sa fiche. */
.recordman{margin-top:48px;background:var(--nuit);color:#fff;overflow:hidden;
  padding:0 clamp(24px,4vw,52px)}
.recordman.avec-photo{display:grid;grid-template-columns:minmax(200px,290px) minmax(0,1fr);gap:clamp(24px,4vw,56px)}
.photo-recordman{align-self:end;padding-top:32px}
.photo-recordman img{display:block;width:100%;height:auto}
.texte-recordman{padding:clamp(32px,4vw,52px) 0;align-self:center}
.recordman + .recordman{margin-top:24px}
.recordman h3{font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:900;font-style:italic;font-stretch:112%;line-height:1.1}
.recordman p{margin-top:14px;max-width:var(--mesure);color:rgba(255,255,255,.84)}
.recordman h3 + p{margin-top:18px}
.chiffres-recordman{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px;border-top:2px solid var(--rouge)}
.chiffres-recordman div{display:flex;flex-direction:column;padding:16px 16px 0 0}
.chiffres-recordman div + div{padding-left:16px;border-left:1px solid rgba(159,180,232,.25)}
.chiffres-recordman dd{order:-1;font-size:clamp(1.8rem,3.4vw,2.6rem);font-style:italic;font-weight:900;
  font-stretch:118%;line-height:1;font-variant-numeric:tabular-nums}
.chiffres-recordman small{font-size:.5em;color:rgba(255,255,255,.6)}
.chiffres-recordman dt{margin-top:8px;font-size:.85rem;font-weight:700;line-height:1.3;color:rgba(255,255,255,.75)}
.recordman .suite{margin-top:26px}
.recordman .lien-suite{color:#fff;border-color:var(--rouge)}
.recordman .lien-suite:hover{color:#fff;border-color:#fff}
@media (max-width:1040px){
  .chiffres-recordman{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chiffres-recordman div:nth-child(2n+1){padding-left:0;border-left:none}
  .chiffres-recordman div:nth-child(n+3){margin-top:18px}
}
@media (max-width:760px){
  /* Photo sous le texte, posée sur le bas du cartouche, à droite. */
  .recordman.avec-photo{grid-template-columns:1fr;gap:0}
  .photo-recordman{order:2;width:min(200px,60%);justify-self:end;padding-top:0}
  .texte-recordman{padding-bottom:8px}
}

@media (max-width:900px){
  .cartes-actu,.quatre-chiffres,.quatre-chiffres.n3{grid-template-columns:1fr 1fr}
  .quatre-chiffres div:nth-child(2n){border-right:none}
  .quatre-chiffres div:nth-child(2n+1){padding-left:0}
  .quatre-chiffres div:nth-child(-n+2){border-bottom:1px solid var(--trait)}
}
@media (max-width:560px){ .cartes-actu{grid-template-columns:1fr} }

@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr}
  .hero .actions{padding-bottom:32px}
  .rebours{border-bottom:1px solid rgba(159,180,232,.3);margin-bottom:44px}
  .temps{grid-template-columns:repeat(2,1fr)}
  .temps li:nth-child(2n){border-right:none}
  .temps li:nth-child(-n+2){border-bottom:1px solid var(--trait)}
  .laz .wrap,.missions,.adhesion{grid-template-columns:1fr}
  /* Portrait sous le texte, toujours contre le bas du bloc et le bord droit de l'écran. */
  .laz.avec-portrait{display:block;min-height:0;padding-bottom:0}
  .laz.avec-portrait .wrap{padding-right:var(--gouttiere)}
  .portrait-laz{position:static;display:block;height:320px;margin:28px 0 0 auto}
}
@media (max-width:560px){
  .temps{grid-template-columns:1fr}
  .temps li{border-right:none;border-bottom:1px solid var(--trait)}
  .coureur{grid-template-columns:40px 1fr auto;gap:12px}
  .vignette{width:40px;height:40px;font-size:.78rem}
  .jauge{grid-column:1/-1;order:3}
  .course{grid-template-columns:64px 1fr;gap:16px}
  .course .etiquette{grid-column:2}
}

/* ============================================================
   Après les Mondiaux (maquette-home-bilan-byu-france.html, validée le 22/10/2026)
   ============================================================ */
/* Hero : bilan enrichi */
.record-hero{margin-top:16px;display:flex;gap:12px;align-items:center;max-width:none;
  background:var(--rouge);color:#fff;padding:10px 14px}
.record-hero b{font-size:1.6rem;font-style:italic;font-weight:900;font-stretch:118%;line-height:1;white-space:nowrap}
.record-hero span{font-size:.86rem;line-height:1.3}
.record-hero strong{display:block;font-size:.95rem}
.cent-hero{margin-top:16px;border-top:1px solid rgba(159,180,232,.25)}
.cent-hero .titre-cent{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#C6CEE0;padding-top:12px}
.cent-hero ul{list-style:none}
.cent-hero li{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:baseline;
  padding:10px 0;border-bottom:1px solid rgba(159,180,232,.18)}
.cent-hero li > b{grid-row:span 2;font-size:1.9rem;font-style:italic;font-weight:900;font-stretch:118%;line-height:1;min-width:3ch}
.cent-hero a{color:#fff;font-weight:800;text-decoration:none}
.cent-hero a:hover{text-decoration:underline}
.cent-hero i{font-style:normal;font-size:.82rem;color:#C6CEE0}
.cent-hero i sup{font-size:.7em}
.merci-hero{margin-top:12px;font-size:.85rem;color:#C6CEE0}
.merci-hero b{color:#fff}

/* Sélection en mode résultats : barre claire = record personnel d'avant la course */
.jauge s{position:absolute;inset:0 auto 0 0;background:rgba(159,180,232,.32)}
.jauge s + b{z-index:1}
.coureur .qui i.rp{color:#fff}
.pastille{display:inline-block;margin-left:8px;vertical-align:2px;font-style:normal;font-size:.62rem;font-weight:800;
  letter-spacing:.06em;padding:2px 6px;border-radius:2px;background:var(--bleu-clair);color:#fff}
.pastille.cent{background:var(--rouge)}
/* Tricolore sur les bords : le texte reste sur fond blanc, lisible. */
.pastille.rf{background:#fff;color:var(--nuit);padding:2px 9px;box-shadow:inset 4px 0 var(--bleu),inset -4px 0 var(--rouge)}
.legende-jauge{display:flex;gap:22px;flex-wrap:wrap;margin:-24px 0 18px;font-size:.8rem;color:#9FB4E8;max-width:none}
.legende-jauge span::before{content:"";display:inline-block;width:22px;height:8px;margin-right:8px}
.legende-jauge .l-real::before{background:linear-gradient(90deg,var(--bleu-clair),var(--rouge))}
.legende-jauge .l-rec::before{background:rgba(159,180,232,.32)}
.synthese{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;border-top:2px solid var(--rouge)}
.synthese.n3{grid-template-columns:repeat(3,1fr)}
.synthese.n2{grid-template-columns:repeat(2,1fr)}
.synthese div{padding:18px 18px 4px 0}
.synthese div + div{padding-left:18px;border-left:1px solid rgba(159,180,232,.2)}
.synthese b{display:block;font-size:clamp(1.8rem,3.4vw,2.5rem);font-style:italic;font-weight:900;font-stretch:118%;line-height:1}
.synthese i{display:block;font-style:normal;font-size:.85rem;color:#C6CEE0;margin-top:6px}
/* Les actualités suivent la sélection (fond sombre) : elles retrouvent leur marge haute. */
.selection + .actus{padding-top:clamp(60px,8vw,104px)}

/* Édition après édition */
.editions{background:#fff;border-top:1px solid var(--trait);border-bottom:1px solid var(--trait)}
.histo{list-style:none;border-top:2px solid var(--encre)}
.histo li{display:grid;grid-template-columns:70px 1fr 120px;gap:20px;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--trait)}
.histo .an{font-size:1.5rem;font-style:italic;font-weight:900;font-stretch:118%;text-decoration:none}
.histo .an:hover{color:var(--bleu)}
.histo .barre{height:30px;background:var(--papier);position:relative}
.histo .barre b{position:absolute;inset:0 auto 0 0;background:var(--bleu);display:flex;align-items:center;
  justify-content:flex-end;padding-right:10px;color:#fff;font-style:italic;font-weight:900;font-stretch:118%}
.histo li.actuelle .barre b{background:linear-gradient(90deg,var(--bleu),var(--rouge-sombre))}
.histo li.actuelle .an{color:var(--rouge-sombre)}
.histo .rang{text-align:right;font-weight:700;line-height:1.25}
.histo .rang sup{font-size:.6em}
.histo .rang small{display:block;font-weight:500;font-size:.8rem;color:var(--gris)}
.histo-note{margin-top:16px;font-size:.9rem;color:var(--gris)}

@media (max-width:900px){
  .synthese,.synthese.n3{grid-template-columns:1fr 1fr}
  .synthese div:nth-child(2n+1){padding-left:0;border-left:none}
}
@media (max-width:560px){
  .histo li{grid-template-columns:52px 1fr;gap:6px 14px}
  .histo .rang{grid-column:2;text-align:left}
  .histo .rang small{display:inline;margin-left:6px}
  .legende-jauge{margin-top:-28px}
}
