/* =========================================================
   Page « Cours & ateliers »
   ========================================================= */

/* ---------- Filtre par public (pastilles) ---------- */
.publics { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-bottom: 1rem; }
.publics button {
  min-height: 44px; padding: .5rem 1.1rem; border-radius: 999px; cursor: pointer;
  font-family: var(--police-titre-2); font-weight: 700; letter-spacing: .04em;
  color: var(--or); background: rgba(20, 6, 8, .6); border: 1px solid var(--or);
  transition: background-color var(--transition), color var(--transition);
}
.publics button:hover { background: var(--rouge-velours); color: var(--ivoire); }
.publics button[aria-pressed="true"] { background: var(--degrade-or); color: var(--noir); }
.publics__resultat { text-align: center; margin-bottom: 2rem; font-family: var(--police-sous-titre); font-style: italic; opacity: .9; }

/* ---------- Groupes par public ---------- */
.groupe-public + .groupe-public { margin-top: 3rem; }
.groupe-public__titre {
  display: flex; align-items: center; gap: .6rem; margin-bottom: 1.25rem;
  font-family: var(--police-titre); font-size: clamp(1.3rem, 3vw, 1.7rem);
}
.groupe-public__titre::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--or), transparent); }

/* ---------- Carte cours ---------- */
.cours__entete {
  display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem;
  padding: 1.1rem 1.5rem; background: var(--grain), var(--velours); color: var(--ivoire);
  border-bottom: 2px solid var(--or);
}
.cours__titre { font-family: var(--police-titre); color: var(--or) !important; font-size: 1.25rem; text-shadow: 0 2px 4px rgba(0, 0, 0, .5); }
.cours__prix { font-family: var(--police-titre-2); font-size: 1.35rem; font-weight: 700; color: var(--rouge); }
.cours__prix small { font-family: var(--police-sous-titre); font-style: italic; font-weight: 400; font-size: 1rem; color: #5a3a2a; }

.cours__details { display: grid; gap: .5rem; margin: .25rem 0 .5rem; }
.cours__details div { display: grid; grid-template-columns: 1.6rem 1fr; gap: .5rem; align-items: start; }
.cours__details dt { text-align: center; }
.cours__details dd { margin: 0; }

.cours__places { font-weight: 700; }
.cours__places--peu { color: var(--rouge-velours); }
.cours__places--complet { color: #5a3a2a; }
.cours__actions { margin-top: auto; display: grid; gap: .5rem; }

/* Un seul cours par public : groupes côte à côte */
.groupes--compacts { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); align-items: start; }
.groupes--compacts .grille { grid-template-columns: 1fr; }
.groupes--compacts .groupe-public { margin: 0; }
