/* Favoris (demande du Club, 2026-10-31) : bouton « Ajouter à mes favoris » / « Retirer de mes favoris » des cartes de
   cours et de la fiche d'un groupe, section « Mes favoris » en tête des listes, liste de « Mon compte ».
   Chargée seulement par les pages qui affichent ces boutons (catalogue, villes, cours, lieux, fiche du groupe, Mon
   compte) : app.css est aussi chargée par la page de paiement, dont l'inventaire d'intégrité (PCI 11.6.1) ne doit pas
   changer. Cible tactile d'au moins 48 px; libellé écrit en toutes lettres (public aîné), étoile en plus.
   État choisi (aria-pressed) : fond ambre pâle, bordure et étoile foncées (#8A4B00 sur #FFF0D2 : 6,4:1), étoile dorée
   pleine; jamais la couleur seule : le libellé change aussi. */
.group-card__fav,.fav-form{margin:0}
.fav-btn{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:48px;margin:0;padding:8px 18px 8px 12px;border:2px solid var(--border);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;font-size:1rem;font-weight:700;line-height:1.25;text-align:left;overflow-wrap:anywhere;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .18s var(--ease),border-color .18s var(--ease)}
.fav-btn:hover{border-color:var(--ink);background:var(--brume)}
.fav-btn:focus-visible{outline:var(--focus);outline-offset:2px}
.fav-btn__star{flex:none;width:1.45em;height:1.45em;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;transition:fill .18s var(--ease)}
.fav-btn[aria-pressed="true"]{border-color:#8A4B00;background:#FFF0D2}
.fav-btn[aria-pressed="true"]:hover{background:#FFE7BA}
.fav-btn[aria-pressed="true"] .fav-btn__star{fill:#E9A800;stroke:#8A4B00}
.fav-form[aria-busy="true"] .fav-btn{cursor:progress}
.fav-form__error{margin:8px 0 0;color:var(--rouge);font-size:.9444rem;font-weight:650}
/* Fiche du groupe : sous « S'inscrire », toute la largeur du panneau */
.cta-panel__fav{margin-top:14px}
.fav-btn--large{width:100%;justify-content:center;min-height:var(--tap);font-size:1.0556rem}
/* « Mes favoris » en tête des listes : même tête que les sections de villes, étoile dorée sur le rond nuit */
.fav-section__icon svg{width:30px;height:30px;fill:#F2CF6B;stroke:#F2CF6B;stroke-width:1.5;stroke-linejoin:round}
.fav-section__note{flex-basis:100%;margin:0;color:var(--muted);font-size:1rem;line-height:1.5}
.fav-section__note a{font-weight:700;color:var(--ink)}
/* Fiche du groupe, « Autres horaires de ce cours » : petite étoile devant un horaire favori */
.other-slot__fav{display:inline-block;width:1.1em;height:1.1em;margin-right:.35em;vertical-align:-.15em;fill:#E9A800;stroke:#8A4B00;stroke-width:1.6;stroke-linejoin:round}
/* Mon compte : liste courte, lien et bouton « Retirer » sur la même ligne quand il y a la place */
.dash-grid .card .fav-list{list-style:none;margin:8px 0 12px;padding:0}
.fav-list__item{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 0;border-bottom:1px solid var(--line)}
.fav-list__item:first-child{border-top:1px solid var(--line)}
.fav-list__link{flex:1 1 13em;min-width:0;padding:4px 0;overflow-wrap:anywhere}
.fav-list__more{display:block;color:var(--muted);font-size:.9444rem}
.card .fav-list__remove{margin-top:0}
.fav-list__form{flex:none;margin:0}
@media (max-width:760px){
  .cta-panel__fav{order:3}   /* téléphone : après « S'inscrire » et « Prochain cours », avant les notes (app.css) */
}
@media (forced-colors:active){
  .fav-btn[aria-pressed="true"]{border-width:4px}
  .fav-btn[aria-pressed="true"] .fav-btn__star,.other-slot__fav,.fav-section__icon svg{fill:CanvasText;stroke:CanvasText}
}
@media print{
  .group-card__fav,.cta-panel__fav,.fav-list__form{display:none}
}
