/* ==========================================================
   Résultats (TodayGames.php)
   ========================================================== */

.resultats { display: grid; gap: 1rem; }
.resultats__entete {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.resultats__entete .titre-section { margin-bottom: 0; }
.resultats__resume { margin: 0; }

/* ---------- Navigation par jour ---------- */
.jours { display: flex; align-items: center; gap: .5rem; }
.jours__fleche {
    display: grid;
    place-items: center;
    width: 2.5rem; height: 2.5rem;
    border: 1px solid var(--trait);
    border-radius: 50%;
    background: var(--surface);
    color: var(--texte);
    font-size: 1.5rem;
    line-height: 1;
}
.jours__fleche:hover { border-color: var(--bleu); color: var(--bleu); text-decoration: none; }
.jours__fleche.est-inactif { opacity: .35; pointer-events: none; }
.jours__actuel { display: grid; justify-items: center; min-width: 5.5rem; line-height: 1.1; }
.jours__actuel strong { font-family: var(--police-titre); font-weight: 800; font-size: 1.5rem; }
.jours__actuel span { color: var(--texte-2); font-size: .8rem; }
.jours__retour { margin-left: .5rem; font-weight: 600; font-size: .9rem; }

/* ---------- Cartes des matchs ---------- */
.matchs-jour {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr));
    gap: 1rem;
    align-items: start;
}
.partie-carte { display: grid; gap: .6rem; }
.partie-carte__entete {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    font-size: .85rem;
}
.partie-carte__statut { font-weight: 800; text-transform: uppercase; letter-spacing: .05em; font-size: .8rem; }
.partie-carte.est-jouee .partie-carte__statut { color: var(--texte); }
.partie-carte:not(.est-jouee) .partie-carte__statut { color: var(--bleu); }

.partie-carte__equipes { display: grid; gap: .35rem; }
.rangee {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 2.5rem;
    align-items: center;
    gap: .75rem;
}
.rangee__equipe { display: flex; align-items: center; gap: .65rem; color: var(--texte); min-width: 0; }
.rangee__equipe:hover { text-decoration: none; }
.rangee__equipe:hover strong { color: var(--bleu); }
.rangee__equipe img { width: 40px; height: 40px; flex: none; }
.rangee__nom { display: grid; min-width: 0; line-height: 1.2; }
.rangee__nom strong { font-size: 1.05rem; }
.rangee__nom span { color: var(--texte-2); font-size: .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rangee__tirs { color: var(--texte-2); font-size: .85rem; font-variant-numeric: tabular-nums; }
.rangee__tirs small { font-size: .75rem; }
.rangee__score {
    font-family: var(--police-titre);
    font-weight: 800;
    font-size: 2rem;
    line-height: 1;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.rangee.est-perdant .rangee__score,
.rangee.est-perdant .rangee__nom strong { color: var(--texte-2); }
.rangee.est-gagnant .rangee__score { color: var(--texte); }

/* ---------- Détails du dernier jour simulé ---------- */
.partie-carte__details {
    display: grid;
    gap: .35rem;
    padding-top: .6rem;
    border-top: 1px solid var(--trait);
    font-size: .85rem;
    line-height: 1.45;
}
.detail { margin: 0; display: grid; grid-template-columns: 4.6rem minmax(0, 1fr); column-gap: .5rem; }
.detail a { color: var(--texte); font-weight: 600; }
.detail a:hover { color: var(--bleu); }
.detail__etiquette {
    display: inline-block;
    padding-top: .1rem;
    color: var(--texte-2);
    font-weight: 800;
    font-size: .75rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.detail .badge { margin-left: .15rem; }
.badge--chapeau { color: var(--or); border-color: var(--or); }

.etoiles-match {
    list-style: none;
    margin: .2rem 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1rem;
}
.etoiles-match a { color: var(--texte); font-weight: 600; }
.etoiles-match a:hover { color: var(--bleu); }
.etoiles-match__rang { color: var(--or); letter-spacing: -.1em; font-size: .8rem; }

.partie-carte__pied {
    padding-top: .5rem;
    border-top: 1px solid var(--trait);
    font-size: .9rem;
    font-weight: 600;
    text-align: right;
}

@media (max-width: 640px) {
    .jours__retour { margin-left: 0; flex-basis: 100%; }
    .jours { flex-wrap: wrap; }
}
