/* ==========================================================
   Mouvements de la ligue (Transaction.php)
   Réutilise .mouvements-page, .mois, .journal, .evenement et .infirmerie (css/equipe-mouvements2026.css)
   et les cartes .echange (css/phs2026.css)
   ========================================================== */

.mouvements-ligue { display: grid; gap: 1.25rem; min-width: 0; }
.mouvements-ligue__entete {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.mouvements-ligue__entete .titre-section { margin-bottom: 0; }

.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;
}

/* ---------- Onglets des types (liens) ---------- */
.onglets-liens { display: flex; flex-wrap: wrap; gap: .5rem; }
.onglets-liens a {
    padding: .4rem .85rem;
    border: 1px solid var(--trait);
    border-radius: 999px;
    background: var(--surface);
    color: var(--texte-2);
    font-weight: 700;
    font-size: .9rem;
}
.onglets-liens a:hover { color: var(--texte); border-color: var(--bleu); text-decoration: none; }
.onglets-liens a span { font-weight: 600; opacity: .8; font-variant-numeric: tabular-nums; }
.onglets-liens a[aria-current] { background: var(--accent-fond); border-color: var(--accent-fond); color: var(--accent-texte); }
.onglets-liens__bascule { margin-left: auto; }
.onglets-liens__bascule::before { content: "◷ "; }

/* ---------- Un événement de la ligue ---------- */
.evenement--ligue { grid-template-columns: 8.5rem minmax(0, 1fr); align-items: center; }
.evenement__corps { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.evenement__detail { display: block; color: var(--texte-2); font-size: .85rem; }
.evenement--baisse { border-left-color: var(--baisse); }
.evenement--monte  { border-left-color: var(--monte); }
.evenement--or     { border-left-color: var(--or); }
.journal__element--club .evenement,
.journal__element--effectif .evenement--ligue:not(.evenement--monte) { border-left-color: var(--bleu); }

.logo-lien { display: inline-flex; flex: none; }
.logo-lien img { width: 28px; height: 28px; }
.repechage .logo-lien img, .etoiles-ligue .logo-lien img { width: 24px; height: 24px; }

/* Rappels et renvois */
.club__ligne { display: block; }
.club__sens {
    display: inline-block;
    min-width: 5.2rem;
    color: var(--texte-2);
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.club__sens--pro { color: var(--monte); }

/* Étoiles de la semaine */
.etoiles-ligue { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.etoiles-ligue li { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.etoiles-ligue a, .etoiles-ligue strong { font-weight: 700; color: var(--texte); }
.etoiles-ligue__rang { color: var(--or); width: 2.6rem; letter-spacing: -.05em; }

/* ---------- Repêchage ---------- */
.repechage { padding: 0; border-left: 3px solid var(--bleu); }
.repechage summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
    padding: .7rem 1rem;
    cursor: pointer;
}
.repechage summary .evenement__type { width: 7.75rem; }
.repechage__liste {
    list-style: none;
    margin: 0;
    padding: .25rem 1rem 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: .15rem 1.5rem;
    border-top: 1px solid var(--trait);
}
.repechage__liste li {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .3rem 0;
    border-bottom: 1px solid var(--trait);
    min-width: 0;
}
.repechage__rang {
    width: 2.2rem;
    font-family: var(--police-titre);
    font-weight: 800;
    color: var(--texte-2);
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.repechage__nom { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.repechage__nom a, .repechage__nom strong { color: var(--texte); font-weight: 600; }

/* ---------- Pagination ---------- */
.pagination { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.pagination a {
    padding: .45rem .9rem;
    border: 1px solid var(--trait);
    border-radius: 999px;
    background: var(--surface);
    color: var(--texte);
    font-weight: 700;
}
.pagination a:hover { border-color: var(--bleu); text-decoration: none; }

/* ---------- Colonne de droite ---------- */
.mouvements-page__cote { display: grid; gap: 1rem; }
.limite-echanges { border-left: 3px solid var(--or); }
.limite-echanges.est-passee { border-left-color: var(--texte-2); }
.limite-echanges__valeur {
    margin: 0;
    font-family: var(--police-titre);
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.1;
}
.limite-echanges__valeur span { font-family: inherit; font-size: 1rem; color: var(--texte-2); font-weight: 700; }
.limite-echanges p.discret { margin: .25rem 0 0; }

.infirmerie--ligue img { width: 32px; height: 32px; border-radius: 0; background: none; object-fit: contain; }
.infirmerie--ligue li { grid-template-columns: 32px minmax(0, 1fr); }

.actifs__depuis { margin: -.25rem 0 .5rem; font-size: .85rem; }
.actifs { list-style: none; margin: 0; padding: 0; display: grid; }
.actifs li {
    display: grid;
    grid-template-columns: minmax(0, 8.5rem) minmax(0, 1fr) 1.75rem;
    align-items: center;
    gap: .6rem;
    padding: .25rem 0;
}
.actifs a { display: flex; align-items: center; gap: .45rem; color: var(--texte); min-width: 0; }
.actifs a:hover { text-decoration: none; color: var(--bleu); }
.actifs img { width: 24px; height: 24px; flex: none; }
.actifs__nom { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .9rem; font-weight: 600; }
.actifs__barre { height: 7px; border-radius: 4px; background: var(--surface-2); overflow: hidden; }
.actifs__barre span { display: block; height: 100%; background: var(--bleu); border-radius: 4px; }
.actifs__nombre { text-align: right; font-weight: 800; font-variant-numeric: tabular-nums; }
.actifs li.est-choisie .actifs__nom { color: var(--bleu); }

@media (max-width: 960px) {
    /* Colonne de droite sous le journal (elle est longue) */
    .mouvements-page__cote { order: 1; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); align-items: start; }
}
@media (max-width: 640px) {
    .choix-equipe, .choix-equipe select { width: 100%; }
    .onglets-liens__bascule { margin-left: 0; }
    .evenement--ligue { grid-template-columns: minmax(0, 1fr); }
    .evenement--ligue .evenement__type { grid-column: 1; }
    .repechage summary .evenement__type { width: auto; }
}
