/* U52, U53 : la carte du parcours de la colonne de droite (`carte_course.py`) et les lignes de
   « Section par section » qui s'éclairent avec elle. */
.rp-cc-carte { width: 100%; height: 320px; border-radius: var(--rp-rayon-moyen); overflow: hidden; }
.rp-cc-profil { width: 100%; height: 140px; }
.rp-cc-aide { margin: 0; }
[data-rp-section] { cursor: pointer; border-radius: var(--rp-rayon-moyen); transition: background 80ms; }
[data-rp-section].rp-section-active { background: rgba(31, 95, 102, 0.10); }
[data-rp-section].rp-section-gardee { box-shadow: inset 3px 0 0 var(--rp-accent); }

/* U56 (Relire) : une seule colonne ; « Le parcours, section par section » réunit le tableau (à
   gauche) et la carte (à droite, qui reste visible quand on fait défiler le tableau). */
.rp-ps-grille {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--rp-ecart-grille);
  align-items: start;
}
.rp-ps-grille.rp-ps-seule { grid-template-columns: minmax(0, 1fr); }
.rp-ps-carte { position: sticky; top: var(--rp-espace-4); }
.rp-cc-integree { display: flex; flex-direction: column; gap: var(--rp-espace-2); }
/* Alain, 31/10 : les cinq blocs sur deux lignes, trois puis deux. */
@media (min-width: 768px) { #rp-relire .rp-blocs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rp-relire-repere { display: flex; align-items: center; flex-wrap: wrap; gap: var(--rp-espace-3); }
.rp-autres-courses {
  background: transparent;
  border: 1px solid var(--rp-sombre-ligne);
  border-radius: 999px;
  color: var(--rp-sombre-texte);
  cursor: pointer;
  font: inherit;
  font-size: var(--rp-taille-secondaire);
  min-height: 32px;
  padding: 2px var(--rp-espace-3);
}
.rp-autres-courses:hover, .rp-autres-courses:focus-visible { border-color: var(--rp-sombre-accent); }
.rp-course-menu { max-height: 60vh; overflow-y: auto; }
.rp-course-menu-ligne { display: flex; justify-content: space-between; gap: var(--rp-espace-4); width: 100%; }
@media (max-width: 767px) {
  .rp-ps-grille { grid-template-columns: minmax(0, 1fr); }
  .rp-ps-carte { position: static; order: -1; }
}
