





















.vitrine-tete h1,
.vitrine-fiche-tete h1 { max-width: 22ch; }
.vitrine-tete .section__intro,
.vitrine-fiche-tete .section__intro { max-width: 52ch; }

.fil {
  display: flex; align-items: center; gap: .55rem; flex-wrap: wrap;
  font-family: var(--sans); font-size: .85rem; color: var(--ivoire-faible);
  margin-bottom: 1.6rem;
}
.fil a { color: var(--ivoire-faible); text-decoration: none; }
.fil a:hover { color: var(--or-clair); }
.fil span { color: var(--ligne-forte); }

.visuellement-cache {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}


.etat {
  display: inline-flex; align-items: center; gap: .4rem;
  font-family: var(--sans); font-size: .72rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  padding: .3rem .6rem; border-radius: 999px;
  border: 1px solid var(--ligne-forte); color: var(--ivoire-doux);
  white-space: nowrap;
}
.etat--ouvert { border-color: rgba(120, 170, 110, .5); color: #9ec48f; }
.etat--aujourdhui { border-color: var(--or); color: var(--or-clair); background: rgba(192, 143, 53, .12); }
.etat--resultats { border-color: var(--or-sombre); color: var(--or-clair); }
.etat--annule { border-color: rgba(200, 110, 95, .5); color: #d99c8e; }
.etat--clos, .etat--bientot, .etat--passe { color: var(--ivoire-faible); }


.liste-c__barre {
  display: flex; flex-wrap: wrap; gap: 1rem 1.4rem;
  align-items: center; justify-content: space-between;
  padding-bottom: 1.2rem; margin-bottom: 1.6rem;
  border-bottom: 1px solid var(--ligne);
}
.filtres { display: flex; gap: .4rem; flex-wrap: wrap; }
.filtre {
  font-family: var(--sans); font-size: .9rem; text-decoration: none;
  color: var(--ivoire-doux); padding: .5rem .95rem; border-radius: 999px;
  border: 1px solid transparent; transition: color .2s, border-color .2s, background .2s;
}
.filtre:hover { color: var(--or-clair); }
.filtre--actif { border-color: var(--ligne-forte); background: var(--encre-2); color: var(--ivoire); }







.chercher { display: flex; gap: .5rem; flex: 1 1 18rem; min-width: 0; max-width: 30rem; }
.chercher input[type="search"] {
  font: inherit; font-size: .95rem; color: var(--ivoire); background: var(--encre-2);
  border: 1px solid var(--ligne); border-radius: .5rem; padding: .55rem .8rem;
  min-width: 0; flex: 1 1 auto;
}
.chercher .bouton { flex: 0 0 auto; }
.chercher input[type="search"]::placeholder { color: var(--ivoire-faible); }
.chercher input[type="search"]:focus-visible { outline: 2px solid var(--or); outline-offset: 1px; border-color: var(--or); }

.liste-c__compte { font-size: .95rem; color: var(--ivoire-faible); margin: 0 0 1.4rem; }
.liste-c__vide p { max-width: 56ch; }
.liste-c__vide-actions { margin-top: 1.2rem; }


.liste-c { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
@media (min-width: 44rem) { .liste-c { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 74rem) { .liste-c { grid-template-columns: repeat(3, 1fr); } }

.carte-c { min-width: 0; }
.carte-c__lien {
  display: flex; gap: 1.1rem; height: 100%;
  text-decoration: none; color: inherit;
  background: var(--encre-2); border: 1px solid var(--ligne);
  border-radius: var(--rayon); padding: 1.1rem 1.2rem;
  transition: border-color .25s ease, transform .25s ease, background .25s ease;
}
.carte-c__lien:hover { border-color: var(--ligne-forte); background: var(--encre-3); transform: translateY(-2px); }
.carte-c__lien:focus-visible { outline: 2px solid var(--or); outline-offset: 2px; }

.carte-c__date {
  flex: 0 0 auto; width: 3.4rem; text-align: center;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  padding-top: .15rem; border-right: 1px solid var(--ligne); padding-right: 1rem;
}
.carte-c__jour { font-family: var(--serif); font-size: 2rem; line-height: 1; color: var(--or-clair); }
.carte-c__mois { font-family: var(--sans); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ivoire-doux); margin-top: .2rem; }
.carte-c__annee { font-family: var(--sans); font-size: .7rem; color: var(--ivoire-faible); margin-top: .1rem; }

.carte-c__corps { display: flex; flex-direction: column; gap: .5rem; min-width: 0; align-items: flex-start; }


.carte-c__corps .etat { align-self: flex-start; }
.carte-c__nom { font-family: var(--serif); font-size: 1.25rem; line-height: 1.25; color: var(--ivoire); }
.carte-c__lien:hover .carte-c__nom { color: var(--or-clair); }
.carte-c__lieu { font-size: .9rem; color: var(--ivoire-doux); }
.carte-c__dep { color: var(--ivoire-faible); }
.carte-c__faits { list-style: none; padding: 0; margin: .15rem 0 0; display: flex; flex-wrap: wrap; gap: .4rem .7rem; font-size: .82rem; color: var(--ivoire-faible); font-family: var(--sans); }
.carte-c__tag { border: 1px solid var(--ligne); border-radius: 999px; padding: .1rem .55rem; color: var(--ivoire-doux); }
.carte-c__classes { color: var(--or-clair); }


.vitrine-fiche__lieu { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; color: var(--ivoire-doux); margin-bottom: 1.6rem; }
.vitrine-fiche__notes { max-width: 56ch; color: var(--ivoire-doux); margin-top: 1.4rem; }
.vitrine-annule { margin: 1.4rem 0; }

.faits { display: grid; gap: .9rem 2rem; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); margin: 1.8rem 0 0; }
.faits__paire { min-width: 0; }
.faits dt { font-family: var(--sans); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ivoire-faible); margin-bottom: .25rem; }
.faits dd { margin: 0; color: var(--ivoire); }


.direct {
  display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap;
  background: rgba(192, 143, 53, .1); border: 1px solid var(--or-sombre);
  border-radius: var(--rayon); padding: .9rem 1.1rem; margin: 1.4rem 0 0;
}
.direct__pastille {
  width: .55rem; height: .55rem; border-radius: 50%; background: var(--or-clair);
  flex: 0 0 auto; align-self: center;
}
@media (prefers-reduced-motion: no-preference) {
  .direct__pastille { animation: direct-battement 2s ease-in-out infinite; }
}
@keyframes direct-battement { 50% { opacity: .25; transform: scale(.75); } }
.direct__mot { font-family: var(--sans); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; font-size: .78rem; color: var(--or-clair); }
.direct__note { font-size: .92rem; color: var(--ivoire-doux); }
#direct-heure { color: var(--ivoire-faible); }


.epreuves { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.2rem; counter-reset: epreuve; }
.epreuve { background: var(--encre-2); border: 1px solid var(--ligne); border-radius: var(--rayon); padding: 1.2rem 1.3rem; min-width: 0; }
.epreuve--classee { border-color: var(--ligne-forte); }
.epreuve__tete { display: flex; align-items: baseline; gap: .8rem; flex-wrap: wrap; margin-bottom: .9rem; }
.epreuve__rang { font-family: var(--serif); font-size: 1.1rem; color: var(--or-sombre); flex: 0 0 auto; }
.epreuve__nom { font-size: 1.15rem; margin: 0; }
.epreuve__meta { font-family: var(--sans); font-size: .84rem; color: var(--ivoire-faible); margin: 0; display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.epreuve__point { color: var(--ligne-forte); }
.epreuve__heure { color: var(--ivoire-doux); }
.epreuve__parcours { color: var(--or-sombre); }
.epreuve__attente { font-size: .92rem; color: var(--ivoire-faible); margin: 0; padding-left: 1rem; border-left: 2px solid var(--ligne); }
.programme-day { color: var(--or-clair); font-family: var(--serif); font-size: 1.2rem; padding-top: .6rem; }
.programme-slot { display: grid; grid-template-columns: minmax(5rem, auto) 1fr; gap: 1rem; padding: 1rem 1.3rem; border-left: 3px solid var(--or-sombre); background: rgba(192,143,53,.045); min-width: 0; }
.programme-slot > div { min-width: 0; }
.programme-slot__time { color: var(--or-clair); font-variant-numeric: tabular-nums; margin: 0; }
.programme-slot h3 { font-size: 1.05rem; margin: 0 0 .4rem; overflow-wrap: anywhere; }
.programme-slot__notes { margin: .6rem 0 0; color: var(--ivoire-doux); white-space: pre-line; overflow-wrap: anywhere; }
.programme-options { margin: 0 0 1rem; color: var(--ivoire-doux); font-size: .9rem; }
.programme-options summary { cursor: pointer; color: var(--or-clair); width: fit-content; }
.programme-options summary:focus-visible { outline: 2px solid var(--or-clair); outline-offset: 4px; }
.programme-options dl { display: grid; gap: .7rem 1.4rem; grid-template-columns: repeat(auto-fit,minmax(min(100%,13rem),1fr)); margin: .8rem 0; }
.programme-options dt { color: var(--ivoire-faible); font-size: .8rem; }
.programme-options dd { margin: .15rem 0 0; overflow-wrap: anywhere; white-space: pre-line; }
.classement__refus { display: block; }
@media (max-width: 28rem) { .programme-slot { grid-template-columns: 1fr; gap: .35rem; } }





.classement__cadre { overflow-x: auto; margin: 0 -.3rem; padding: 0 .3rem; }




.classement__cadre::after {
  content: attr(data-scroll-hint);
  display: none; font-size: .78rem; color: var(--ivoire-faible);
  padding: .5rem .7rem 0; font-style: italic;
}
@media (max-width: 34rem) { .classement__cadre::after { display: block; } }
.classement { width: 100%; border-collapse: collapse; font-size: .93rem; min-width: 30rem; }
.classement th {
  font-family: var(--sans); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--ivoire-faible); font-weight: 600; text-align: left;
  padding: 0 .7rem .55rem; border-bottom: 1px solid var(--ligne);
}
.classement td { padding: .6rem .7rem; border-bottom: 1px solid rgba(192, 143, 53, .08); vertical-align: baseline; }
.classement tr:last-child td { border-bottom: 0; }
.classement .num, .classement th.num { text-align: right; font-variant-numeric: tabular-nums; }

.classement__rang { width: 3rem; }
.classement__rang span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.8rem; height: 1.8rem; padding: 0 .35rem; border-radius: 999px;
  font-family: var(--sans); font-weight: 600; font-size: .9rem;
  border: 1px solid var(--ligne); color: var(--ivoire-doux);
}
.classement__ligne--p1 .classement__rang span { border-color: var(--or); background: var(--or); color: var(--encre); }
.classement__ligne--p2 .classement__rang span { border-color: #b9b2a6; color: #d8d2c7; }
.classement__ligne--p3 .classement__rang span { border-color: #a3764a; color: #c99a6d; }
.classement__cheval { color: var(--ivoire); }
.classement__cavalier { display: block; font-size: .82rem; color: var(--ivoire-faible); margin-top: .1rem; }
.classement__club { color: var(--ivoire-doux); font-size: .88rem; }
.classement__tu { color: var(--ivoire-faible); font-style: italic; }
.classement__refus { color: #d99c8e; font-size: .85rem; }


@media (prefers-reduced-motion: no-preference) {
  .classement__ligne--neuve { animation: ligne-neuve 2.4s ease-out; }
}
@keyframes ligne-neuve {
  0%   { background: rgba(192, 143, 53, .28); }
  100% { background: transparent; }
}

.vitrine-note {
  margin-top: 1.6rem; font-size: .88rem; color: var(--ivoire-faible);
  padding-left: 1rem; border-left: 2px solid var(--ligne-forte); max-width: 62ch;
}


.vitrine-appel__interieur { display: grid; gap: 1.4rem; align-items: center; }
.vitrine-appel__interieur h2 { font-size: clamp(1.4rem, 3vw, 1.9rem); margin-bottom: .7rem; }
.vitrine-appel__interieur p { color: var(--ivoire-doux); max-width: 56ch; margin: 0; }
.vitrine-appel__actions { display: flex; gap: .7rem; flex-wrap: wrap; }
@media (min-width: 56rem) {
  .vitrine-appel__interieur { grid-template-columns: 1.4fr auto; gap: 2.5rem; }
}

.programme-information { margin-block:1.5rem; padding:1.25rem; border:1px solid var(--ligne); border-radius:8px; overflow-wrap:anywhere; }
.programme-information img { float:right; width:80px; height:80px; object-fit:contain; margin:0 0 1rem 1rem; }
.programme-information h3 { margin-top:0; }
.programme-information dl { margin:0; display:grid; gap:1rem; }
.programme-information dt { font-weight:600; }
.programme-information dd { margin:.25rem 0 0; white-space:pre-wrap; }
