/* ==========================================================
   Calendrier de la ligue (Schedule.php)
   ========================================================== */

.calendrier-ligue { display: grid; gap: 1.25rem; }
.calendrier-ligue__entete {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}
.calendrier-ligue__entete .titre-section { margin-bottom: .35rem; }
.calendrier-ligue__resume { margin: 0; }

.choix-equipe { display: grid; gap: .25rem; font-size: .85rem; color: var(--texte-2); font-weight: 600; }
.choix-equipe select {
    font: inherit;
    font-weight: 600;
    color: var(--texte);
    background: var(--surface);
    border: 1px solid var(--trait);
    border-radius: var(--rayon);
    padding: .5rem .65rem;
    min-width: 14rem;
}

/* ---------- Filtres ---------- */
.filtres-cal { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.filtres-cal > a { font-weight: 600; font-size: .9rem; }
.filtres-cal__groupe {
    display: inline-flex;
    border: 1px solid var(--trait);
    border-radius: 999px;
    background: var(--surface);
    padding: .2rem;
}
.filtres-cal__groupe button {
    border: 0;
    background: transparent;
    color: var(--texte-2);
    font: inherit;
    font-weight: 700;
    font-size: .9rem;
    padding: .35rem .85rem;
    border-radius: 999px;
    cursor: pointer;
}
.filtres-cal__groupe button:hover { color: var(--texte); }
.filtres-cal__groupe button[aria-pressed="true"] { background: var(--accent-fond); color: var(--accent-texte); }

/* ---------- Un jour ---------- */
.jour-cal { display: grid; gap: .6rem; scroll-margin-top: 1rem; }
.jour-cal[hidden], .calendrier-ligue__limite[hidden] { display: none; }
.jour-cal__titre {
    display: flex;
    align-items: baseline;
    gap: .75rem;
    font-size: 1.3rem;
    padding-bottom: .35rem;
    border-bottom: 1px solid var(--trait);
}
.jour-cal__titre a { color: var(--texte); }
.jour-cal__titre a:hover { color: var(--bleu); text-decoration: none; }
.jour-cal__etiquette {
    font-family: var(--police-texte);
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--bleu);
}
.jour-cal.est-actuel .jour-cal__titre { border-bottom: 2px solid var(--bleu); }

.jour-cal__matchs {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr)); /* 15 matchs par jour : 3 rangées pleines */
    gap: .5rem;
}

/* ---------- Un match en format compact ---------- */
.mini-match {
    position: relative;
    display: grid;
    gap: .15rem;
    padding: .45rem .6rem;
    background: var(--surface);
    border: 1px solid var(--trait);
    border-radius: var(--rayon);
    color: var(--texte-2);
    height: 100%;
}
a.mini-match:hover { border-color: var(--bleu); text-decoration: none; }
.mini-match__ligne {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: .45rem;
    font-size: .9rem;
}
.mini-match__ligne img { width: 22px; height: 22px; }
.mini-match__abbr { font-weight: 700; }
.mini-match__score {
    font-family: var(--police-titre);
    font-weight: 800;
    font-size: 1.1rem;
    font-variant-numeric: tabular-nums;
}
.mini-match:not(.est-joue) .mini-match__abbr { color: var(--texte); }
.mini-match__ligne.est-gagnant { color: var(--texte); }
.mini-match__mention {
    position: absolute;
    top: .35rem;
    right: 2.1rem;
    font-size: .65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--texte-2);
}

/* Date limite des échanges */
.calendrier-ligue__limite {
    margin: .25rem 0 0;
    padding: .45rem .75rem;
    border-top: 2px solid var(--rouge);
    color: var(--rouge);
    font-size: .8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

@media (max-width: 960px) {
    .jour-cal__matchs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .jour-cal__matchs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 1 300 matchs : le navigateur ne dessine que les jours visibles (la recherche Ctrl+F et les liens #jour-N fonctionnent toujours) */
.jour-cal { content-visibility: auto; contain-intrinsic-size: auto 220px; }
