/* ============================================================
   Gabarit fiche course — /calendrier/<course>/
   Repris de maquettes/maquette-fiche-course-byu-france.html (parties propres à la page).
   ============================================================ */
h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;font-stretch:112%;line-height:1.05;letter-spacing:-.015em}
h3{font-size:1.08rem;font-weight:700}
.btn-plein{display:block;text-align:center}

/* Tête de fiche */
.tete-page{background:var(--nuit);color:var(--papier);position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(34px,5vw,60px) 0 clamp(32px,5vw,52px)}
.tete-page::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:var(--photo-hero);
  background-size:cover;background-position:center 38%;
  filter:grayscale(1) contrast(1.08);
  opacity:var(--opacite-hero,.8);
}
/* Voile bleu nuit : plus dense à gauche, là où se trouve le titre */
.tete-page::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%);
}
.tete-page .wrap{position:relative;z-index:1}
.fil{font-size:.85rem;color:#9FB4E8;margin-bottom:18px}
.fil a{text-decoration:none}
.fil a:hover{color:#fff}
.fil span{margin:0 8px;opacity:.5}
.etiquettes{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.etiquette{font-size:.74rem;font-weight:700;padding:5px 11px;border-radius:2px;
  border:1px solid rgba(159,180,232,.5);color:#C6CEE0}
.etiquette.or{background:var(--rouge);border-color:var(--rouge);color:#fff}
.tete-page h1{font-weight:900;font-stretch:118%;line-height:.95;letter-spacing:-.03em;
  font-size:clamp(2.1rem,5.4vw,3.7rem);max-width:15ch}
.quand{margin-top:16px;font-size:1.12rem;font-weight:700;color:#fff}
.ou{color:#9FB4E8;font-size:1rem}

.compteurs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(159,180,232,.25);
  border:1px solid rgba(159,180,232,.25);margin-top:30px}
/* Ajout thème : moins de quatre compteurs renseignés → autant de colonnes que de compteurs,
   pour ne pas laisser de cases vides. */
.compteurs.n3{grid-template-columns:repeat(3,1fr)}
.compteurs.n2{grid-template-columns:repeat(2,1fr)}
.compteurs.n1{grid-template-columns:1fr}
.compteurs div{background:rgba(11,27,57,.72);padding:16px}
.compteurs b{display:block;font-size:clamp(1.4rem,3vw,2.1rem);font-style:italic;font-weight:900;
  font-stretch:118%;line-height:1}
.compteurs i{font-style:normal;font-size:.75rem;color:#9FB4E8;display:block;margin-top:5px;line-height:1.35}
.compteurs a{color:#fff;text-decoration:none;border-bottom:1px solid var(--rouge)}

/* Corps */
.corps{padding:clamp(44px,6vw,76px) 0}
.corps .wrap{display:grid;grid-template-columns:1fr 320px;gap:clamp(32px,5vw,60px);align-items:start}
/* Demande de Ronan (16/09/2026) : sans parcours, tracé ni mot de l'organisateur (le cas le
   plus courant), les infos pratiques occupent la colonne principale, en deux colonnes de
   lignes ; les liens restent à droite. Sans liens, l'encart prend toute la largeur. */
.corps.sans-texte .wrap > .infos:only-child{grid-column:1/-1}
.sans-texte .infos{padding:26px 28px}
.sans-texte .infos h3{font-size:1.25rem;font-weight:800;font-stretch:106%}
.sans-texte .infos .lignes{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.sans-texte .infos .ligne{font-size:1rem;padding:11px 0}
.sans-texte .infos .ligne:last-of-type{border-bottom:1px solid var(--trait)}
.sans-texte .infos .btn-plein{display:inline-block;margin-top:22px}
.sans-texte .infos .sous{text-align:left}
.texte h2{margin-bottom:14px}
.texte p + p{margin-top:15px}
.texte h3{margin-top:26px;margin-bottom:8px}

.encart{background:#fff;border:1px solid var(--trait);padding:22px}
.encart + .encart{margin-top:20px}
.encart h3{margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--encre)}
.ligne{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:.93rem;
  border-bottom:1px solid var(--trait)}
.ligne:last-of-type{border-bottom:none}
.ligne b{font-weight:700}
.ligne span{color:var(--gris);text-align:right}
.encart .btn{margin-top:16px}
.encart .sous{font-size:.8rem;color:var(--gris);margin-top:10px;text-align:center}

/* Carte */
.carte-lieu{margin-top:20px;aspect-ratio:4/3;background:var(--nuit) var(--carte,none) center/cover;
  border:1px solid var(--trait);display:grid;place-items:center;color:rgba(255,255,255,.45);
  font-size:.85rem;font-weight:700;text-align:center;padding:16px}

/* Palmarès */
.palmares{background:var(--nuit);color:var(--papier);padding:clamp(44px,6vw,76px) 0}
.palmares h2{color:var(--papier)}
.palmares .intro{color:#9FB4E8;margin:12px 0 28px}
/* Ajout thème : sans le paragraphe d'introduction de la maquette (note de développement),
   le tableau garde l'écart prévu sous le titre. */
.palmares h2 + table{margin-top:28px}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:.78rem;font-weight:700;color:#9FB4E8;padding:0 12px 10px 0;
  border-bottom:1px solid rgba(159,180,232,.4);letter-spacing:.04em}
th:last-child,td:last-child{text-align:right;padding-right:0}
td{padding:14px 12px 14px 0;border-bottom:1px solid rgba(159,180,232,.16);font-size:.96rem}
td a{font-weight:700;text-decoration:none;border-bottom:1px solid rgba(159,180,232,.5)}
td a:hover{border-color:var(--rouge)}
td.n{font-style:italic;font-weight:900;font-stretch:112%;font-size:1.25rem}
/* max-width:none : demande de Ronan, les paragraphes encadrés occupent toute la largeur. */
.record-note{margin-top:24px;border-left:3px solid var(--rouge);padding:12px 0 12px 18px;
  color:#C6CEE0;font-size:.95rem;max-width:none}
.record-note b{color:#fff}

/* Autres courses */
.autres{padding:clamp(44px,6vw,72px) 0}
.autres .tete{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.trois{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mini-course{background:#fff;border:1px solid var(--trait);padding:20px;text-decoration:none;
  transition:border-color .15s,transform .15s}
.mini-course:hover{border-color:var(--bleu);transform:translateY(-2px)}
.mini-course .j{font-size:.8rem;font-weight:700;color:var(--rouge);letter-spacing:.04em}
.mini-course b{display:block;font-weight:800;font-stretch:108%;font-size:1.05rem;margin:6px 0 4px;line-height:1.2}
.mini-course i{font-style:normal;font-size:.88rem;color:var(--gris)}

@media (max-width:900px){
  .compteurs,.compteurs.n3{grid-template-columns:repeat(2,1fr)}
  .corps .wrap,.trois{grid-template-columns:1fr}
}
@media (max-width:700px){
  .sans-texte .infos .lignes{grid-template-columns:1fr}
  .sans-texte .infos .ligne:last-of-type{border-bottom:none}
}
@media (max-width:560px){
  th:nth-child(4),td:nth-child(4){display:none}
}
