/* ==========================================================
   Feuille de match (Match.php) — contenu généré par STHS, réaffiché dans le thème du site
   ========================================================== */

.feuille { display: grid; gap: 1.25rem; min-width: 0; }
.feuille__fil { margin: 0; color: var(--texte-2); font-size: .9rem; }

/* ---------- Résultat ---------- */
.feuille__score {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    background: var(--surface);
    border: 1px solid var(--trait);
    border-top: 3px solid var(--ligne);
    border-radius: var(--rayon);
}
.feuille__equipe { display: flex; align-items: center; gap: 1rem; color: var(--texte); min-width: 0; }
.feuille__equipe:hover { text-decoration: none; }
.feuille__equipe--locale { flex-direction: row-reverse; text-align: right; }
.feuille__equipe img { flex: none; }
.feuille__nom { display: grid; font-family: var(--police-titre); font-size: 1.6rem; font-weight: 700; line-height: 1.05; min-width: 0; }
.feuille__role { font-family: var(--police-texte); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--texte-2); }
.feuille__buts { margin-left: auto; font-family: var(--police-titre); font-size: 3.6rem; font-weight: 800; line-height: 1; color: var(--texte-2); }
.feuille__equipe--locale .feuille__buts { margin-left: 0; margin-right: auto; }
.feuille__equipe.est-gagnante .feuille__buts { color: var(--texte); }
.feuille__centre { display: grid; justify-items: center; gap: .3rem; text-align: center; }
.feuille__final {
    padding: .25rem .7rem;
    border-radius: 999px;
    background: var(--surface-2);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.feuille__tirs { color: var(--texte-2); font-size: .85rem; }

/* ---------- Buts et tirs par période ---------- */
.feuille__periodes { display: grid; gap: .5rem; }
.feuille__tableau-periodes th, .feuille__tableau-periodes td { text-align: center; }
.feuille__tableau-periodes tbody th { text-align: left; white-space: nowrap; }
.feuille__tableau-periodes tbody th img { vertical-align: middle; margin-right: .3rem; }
.feuille__tableau-periodes td { font-size: 1.05rem; font-weight: 700; }
.feuille__tirs-periode { display: block; font-size: .72rem; font-weight: 600; color: var(--texte-2); }
.feuille__tableau-periodes .feuille__total { font-family: var(--police-titre); font-size: 1.4rem; }
.feuille__tableau-periodes tr.est-gagnante .feuille__total { color: var(--rouge); }
.feuille__note { margin: 0; font-size: .8rem; }

/* ---------- Onglets ---------- */
.feuille__onglets { display: flex; flex-wrap: wrap; gap: .4rem; }
.feuille__onglets button {
    font: inherit;
    font-weight: 700;
    font-size: .9rem;
    padding: .45rem 1rem;
    border: 1px solid var(--trait);
    border-radius: 999px;
    background: var(--surface);
    color: var(--texte-2);
    cursor: pointer;
}
.feuille__onglets button:hover { color: var(--texte); border-color: var(--bleu); }
.feuille__onglets button[aria-selected="true"] { background: var(--accent-fond); border-color: var(--accent-fond); color: var(--accent-texte); }
.feuille__onglets button:focus-visible { outline: 2px solid var(--bleu); outline-offset: 2px; }

/* ---------- Contenu de STHS dans les panneaux ---------- */
.feuille__panneau { display: grid; gap: 1rem; min-width: 0; line-height: 1.55; }
.feuille__panneau[hidden] { display: none; }
.feuille__panneau table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.feuille__panneau th, .feuille__panneau td { padding: .45rem .6rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--trait); }
.feuille__panneau th {
    color: var(--texte-2);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    background: var(--surface-2);
}
.feuille__panneau tbody tr:hover td { background: var(--surface-2); }
.feuille__panneau b, .feuille__panneau strong { color: var(--texte); }

/* Sommaire : en-têtes de période et sections */
.feuille__panneau .STHSBoxScore_PeriodPerPeriod td { color: var(--texte); }
.feuille__panneau .STHSBoxScore_PeriodPerPeriod_Header {
    padding-top: 1rem !important;
    color: var(--texte) !important;
    font-family: var(--police-titre);
    font-size: 1.2rem;
    font-weight: 700;
    border-bottom: 2px solid var(--ligne) !important;
    background: none;
}
.feuille__panneau .STHSBoxScore_PeriodPerPeriod tr:first-child th { width: 50%; }

/* Stats des équipes et des joueurs */
.feuille__panneau .STHSBoxScore_PlayerStatTitle,
.feuille__panneau .STHSBoxScore_TeamLine {
    margin: .75rem 0 .25rem;
    font-family: var(--police-titre);
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--texte);
}
.feuille__panneau .STHSBoxScore_TeamResult td:not(:first-child),
.feuille__panneau .STHSPHPBoxScoreTeamStat_Table td:not(:first-child),
.feuille__panneau .STHSBoxScore_TeamResult th:not(:first-child),
.feuille__panneau .STHSPHPBoxScoreTeamStat_Table th:not(:first-child) { text-align: center; }
.feuille__panneau .STHSBoxScore_TeamStatTeamName { font-weight: 700; }

/* Lignes */
.feuille__panneau .STHSBoxScore_Lines_Table { margin-bottom: .5rem; }
.feuille__panneau .STHSBoxScore_Lines_Table tr:first-child th {
    background: none;
    color: var(--texte);
    font-size: .85rem;
    border-bottom: 2px solid var(--trait);
}

/* Jeu par jeu */
.feuille__panneau h3 {
    margin: 1rem 0 .25rem;
    padding-bottom: .3rem;
    border-bottom: 2px solid var(--ligne);
    font-family: var(--police-titre);
    font-size: 1.3rem;
}
.feuille__panneau--tabmain4, .feuille__panneau--tabmain5 { color: var(--texte-2); font-size: .92rem; }
.feuille__panneau--tabmain5 { display: block; }
.feuille__panneau--tabmain5[hidden] { display: none; }

.feuille__source { margin: 0; font-size: .82rem; text-align: right; }

/* ---------- Cellulaire ---------- */
@media (max-width: 700px) {
    .feuille__score { grid-template-columns: 1fr; gap: .6rem; padding: 1rem; }
    .feuille__equipe, .feuille__equipe--locale { flex-direction: row; text-align: left; }
    .feuille__equipe img { width: 52px; height: 52px; }
    .feuille__nom { font-size: 1.3rem; }
    .feuille__buts, .feuille__equipe--locale .feuille__buts { margin-left: auto; margin-right: 0; font-size: 2.6rem; }
    .feuille__centre { order: 3; grid-auto-flow: column; justify-content: center; gap: .75rem; }
    .feuille__onglets { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .25rem; }
    .feuille__onglets button { white-space: nowrap; }
    /* Sommaire : buts puis pénalités l'un sous l'autre */
    .feuille__panneau .STHSBoxScore_PeriodPerPeriod, .feuille__panneau .STHSBoxScore_PeriodPerPeriod tbody,
    .feuille__panneau .STHSBoxScore_PeriodPerPeriod tr { display: block; width: 100%; }
    .feuille__panneau .STHSBoxScore_PeriodPerPeriod td { display: block; }
    .feuille__panneau .STHSBoxScore_PeriodPerPeriod tr:first-child { display: none; }
    .feuille__panneau .feuille__ligne-periode td { display: block; border-bottom: 0; }
    .feuille__panneau .feuille__ligne-periode td::before {
        content: 'Buts';
        display: block;
        margin-bottom: .2rem;
        color: var(--texte-2);
        font-size: .7rem;
        font-weight: 800;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
    .feuille__panneau .feuille__ligne-periode td + td::before { content: 'Pénalités'; }
    .feuille__panneau .feuille__ligne-periode td + td { border-bottom: 1px solid var(--trait); }
    /* Trois étoiles et officiels : chaque titre juste au-dessus de son contenu (et non les deux titres, puis les deux contenus) */
    .feuille__panneau .STHSBoxScore_PeriodPerPeriod tr.feuille__ligne-titres { display: none; }
    .feuille__panneau .feuille__ligne-double td::before {
        content: attr(data-titre);
        display: block;
        margin: 0 -.6rem .45rem;
        padding: .55rem .6rem .45rem;
        border-bottom: 2px solid var(--ligne);
        font-family: var(--police-titre);
        font-size: 1.2rem;
        font-weight: 700;
    }
}

/* Stats des joueurs : tri au clic sur l'en-tête (js/tableaux2026.js) */
.feuille__panneau table[data-triable] thead th[data-tri] { cursor: pointer; user-select: none; white-space: nowrap; }
.feuille__panneau table[data-triable] thead th[data-tri]:hover { color: var(--texte); }
.feuille__panneau table[data-triable] thead th[aria-sort="ascending"],
.feuille__panneau table[data-triable] thead th[aria-sort="descending"] { color: var(--bleu); }
.feuille__panneau table[data-triable] thead th[aria-sort="ascending"]::after  { content: " ▲"; font-size: .65em; }
.feuille__panneau table[data-triable] thead th[aria-sort="descending"]::after { content: " ▼"; font-size: .65em; }
