/* Widgets Point Course — calendrier, résultats, classement. */

.pc-calendrier,
.pc-resultats {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ─── Calendrier ────────────────────────────────────────────────────── */

.pc-epreuve {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: .85rem 0;
  border-bottom: 1px solid #E3E9EF;
}
.pc-epreuve:last-child { border-bottom: 0; }

.pc-date-bloc {
  flex: 0 0 3.4rem;
  text-align: center;
  background: #0B5E80;
  color: #fff;
  border-radius: 6px;
  padding: .4rem 0;
  line-height: 1.1;
}
.pc-jour { display: block; font-size: 1.35rem; font-weight: 700; }
.pc-mois { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; }

.pc-epreuve-corps { flex: 1 1 auto; min-width: 0; }
.pc-epreuve-nom { margin: 0 0 .15rem; font-size: 1rem; line-height: 1.3; }
.pc-epreuve-nom a { color: #17202A; text-decoration: none; }
.pc-epreuve-nom a:hover { color: #1DAAE2; text-decoration: underline; }
.pc-epreuve-lieu { margin: 0; font-size: .85rem; color: #5B6B7A; }

.pc-badge {
  display: inline-block;
  background: #EEF4F8;
  color: #0B5E80;
  border-radius: 3px;
  padding: .05rem .4rem;
  font-size: .75rem;
}

.pc-cta {
  flex: 0 0 auto;
  background: #F28C28;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  padding: .42rem .9rem;
  font-size: .85rem;
  font-weight: 600;
  white-space: nowrap;
}
.pc-cta:hover { background: #d9761a; color: #fff; }

/* ─── Résultats ─────────────────────────────────────────────────────── */

.pc-resultat { border-bottom: 1px solid #E3E9EF; }
.pc-resultat:last-child { border-bottom: 0; }
.pc-resultat a {
  display: block;
  padding: .8rem 0;
  text-decoration: none;
  color: #17202A;
}
.pc-resultat a:hover .pc-resultat-nom { color: #1DAAE2; text-decoration: underline; }
.pc-resultat-nom { display: block; font-weight: 600; }
.pc-resultat-meta { display: block; font-size: .85rem; color: #5B6B7A; margin-top: .1rem; }

/* ─── Classement ────────────────────────────────────────────────────── */

/* Un classement a 7 colonnes : sur mobile il doit défiler dans son cadre,
   jamais faire déborder la page entière. */
.pc-classement { overflow-x: auto; }

.pc-classement table {
  width: 100%;
  border-collapse: collapse;
  font-size: .92rem;
}
.pc-classement caption {
  text-align: left;
  font-weight: 700;
  font-size: 1.05rem;
  padding-bottom: .6rem;
  color: #17202A;
}
.pc-classement-total {
  display: block;
  font-weight: 400;
  font-size: .85rem;
  color: #5B6B7A;
}
.pc-classement th,
.pc-classement td {
  padding: .5rem .6rem;
  text-align: left;
  border-bottom: 1px solid #E3E9EF;
  white-space: nowrap;
}
.pc-classement thead th {
  background: #F7F9FB;
  color: #0B5E80;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.pc-classement tbody tr:hover { background: #F7F9FB; }
.pc-classement td:nth-child(3) { white-space: normal; font-weight: 600; }

.pc-pagination { margin-top: 1rem; display: flex; gap: .35rem; flex-wrap: wrap; }
.pc-pagination .page-numbers {
  padding: .35rem .7rem;
  border: 1px solid #E3E9EF;
  border-radius: 4px;
  text-decoration: none;
  color: #0B5E80;
}
.pc-pagination .page-numbers.current { background: #0B5E80; color: #fff; border-color: #0B5E80; }

/* ─── États ─────────────────────────────────────────────────────────── */

.pc-vide, .pc-perime, .pc-erreur {
  font-size: .9rem;
  color: #5B6B7A;
  padding: .6rem 0;
  margin: 0;
}
.pc-perime { color: #8A6D3B; }
.pc-erreur { color: #A94442; }
