/*
 * Finitions de l'appli Penta Com (novembre 2026) : onglets du fil, Mon carnet, séances du coach et de Training, Ma forme.
 * Chargé par components/mobile_header.php sur les pages Penta Com, après pentacom-pages.css. Variables seulement
 * (--ink, --ink2, --ink3, --rule, --white, --blue, --blue-dim, --sur-blue) : le mode jour suit tout seul.
 */

/* ── Fil : onglets en pilules avec leur icône, recherche avec loupe, cloche ronde ── */
.pm-pc-barre { padding-bottom: 4px; }
.pm-pc-barre .pm-comp-onglets {
    gap: 8px; padding: 12px 16px 8px; overflow-x: auto; scrollbar-width: none;
}
.pm-pc-barre .pm-comp-onglets::-webkit-scrollbar { display: none; }
.pm-pc-barre .pm-comp-onglets a {
    flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 14px;
    border: 0; border-radius: 999px; background: var(--ink2); box-shadow: inset 0 0 0 1px var(--rule);
    color: color-mix(in srgb, var(--white) 72%, transparent);
    font: 600 14px/1 Inter, system-ui, -apple-system, sans-serif; letter-spacing: 0; text-transform: none;
    transition: background-color .15s ease-out, transform .15s ease-out;
}
.pm-pc-barre .pm-comp-onglets a i { font-size: 12px; opacity: .75; }
.pm-pc-barre .pm-comp-onglets a.actif { background: var(--blue); box-shadow: none; color: var(--sur-blue, #0d0f14); }
.pm-pc-barre .pm-comp-onglets a.actif i { opacity: 1; }
.pm-pc-barre .pm-comp-onglets a:active { transform: scale(.97); }
.pm-pc-barre .pm-comp-onglets a:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }

.pm-pc-barre .pm-recherche { position: relative; gap: 8px; padding: 4px 16px 8px; border-top: 0; }
.pm-pc-barre .pm-pc-loupe {
    position: absolute; left: 30px; top: 50%; transform: translateY(-50%); margin-top: -2px;
    font-size: 14px; color: color-mix(in srgb, var(--white) 50%, transparent); pointer-events: none;
}
.pm-pc-barre .pm-recherche input[type="search"] {
    flex: 1; height: 40px; padding: 0 14px 0 38px; border: 0; border-radius: 999px;
    background: var(--ink2); box-shadow: inset 0 0 0 1px var(--rule); font-size: 16px;
}
.pm-pc-barre .pm-recherche input[type="search"]:focus { box-shadow: inset 0 0 0 2px var(--blue); }
.pm-pc-barre .pm-pc-notifs > button {
    display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
    border-radius: 999px; background: var(--ink2); box-shadow: inset 0 0 0 1px var(--rule); color: var(--white);
}
.pm-pc-barre .pm-pc-notifs-liste { border-radius: 16px; }

/* ── Mon carnet : bouton « Noter une séance » ── */
body .pm-page > details.pm-carnet-ajout { padding: 0; overflow: hidden; }
.pm-carnet-ajout > summary {
    display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 16px;
    list-style: none; background: var(--blue); color: var(--sur-blue, #0d0f14);
    font: 700 16px/1 Inter, system-ui, -apple-system, sans-serif; text-transform: none;
}
.pm-carnet-ajout > summary::-webkit-details-marker { display: none; }
body .pm-page > details.pm-carnet-ajout[open] > summary { margin: 0; background: transparent; color: var(--white); justify-content: flex-start; border-bottom: 1px solid var(--rule); }
.pm-carnet-ajout > form { padding: 16px; }

/* ── Mon carnet : les 8 dernières semaines en colonnes ── */
.pmc-semaines header { margin-bottom: 12px; }
.pmc-semaines h2 { margin: 0; font-size: 17px; font-weight: 700; }
.pmc-semaines header p { margin: 2px 0 0; font-size: 13px; color: color-mix(in srgb, var(--white) 65%, transparent); font-variant-numeric: tabular-nums; }
.pmc-semaines ol { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.pmc-semaines li { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; }
.pmc-semaines li b { height: 14px; font-size: 10.5px; font-weight: 600; white-space: nowrap; color: color-mix(in srgb, var(--white) 72%, transparent); font-variant-numeric: tabular-nums; }
.pmc-colonne { display: flex; align-items: flex-end; width: 100%; height: 96px; border-radius: 8px; background: var(--blue-dim); overflow: hidden; }
.pmc-colonne span { display: block; width: 100%; border-radius: 8px; background: color-mix(in srgb, var(--blue) 55%, transparent); }
.pmc-semaines li.en-cours .pmc-colonne span { background: var(--blue); }
.pmc-semaines li.en-cours b { color: var(--white); }
.pmc-semaines li small { font-size: 11px; color: color-mix(in srgb, var(--white) 60%, transparent); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pmc-semaines li.en-cours small { color: var(--white); font-weight: 600; }

/* ── Lien vers Ma forme : une ligne avec chevron ── */
.pmc-lien {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 16px; padding: 14px 16px;
    border: 1px solid var(--rule); border-radius: 20px; background: var(--ink2); color: var(--white); text-decoration: none;
}
.pmc-lien strong { display: block; font-size: 16px; }
.pmc-lien small { display: block; margin-top: 2px; font-size: 13px; color: color-mix(in srgb, var(--white) 65%, transparent); }
.pmc-lien i { color: color-mix(in srgb, var(--white) 45%, transparent); font-size: 13px; }
.pmc-lien:active { transform: scale(.99); }

/* ── Mon carnet : une séance = une carte, date à gauche, liseré de la couleur du sport ── */
.pmc-seance {
    display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; margin: 0 0 8px; padding: 14px 14px 12px 12px;
    border: 1px solid var(--rule); border-left: 4px solid var(--disc, var(--rule)); border-radius: 16px; background: var(--ink2);
}
.pmc-seance p { margin: 0; }
.pmc-date { text-align: center; line-height: 1.1; }
.pmc-date b { display: block; font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.pmc-date span { font-size: 12px; text-transform: lowercase; color: color-mix(in srgb, var(--white) 60%, transparent); }
.pmc-sport { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: color-mix(in srgb, var(--disc, var(--blue)) 60%, var(--white)); }
.pmc-seance .pmc-titre { margin-top: 2px; font-size: 16px; font-weight: 600; line-height: 1.35; }
.pmc-seance .pmc-ressenti { display: flex; align-items: center; gap: 8px; margin-top: 6px; font-size: 13px; color: color-mix(in srgb, var(--white) 70%, transparent); }
.pmc-ressenti span { display: inline-flex; gap: 3px; }
.pmc-ressenti i { width: 8px; height: 8px; border-radius: 999px; background: var(--rule2, var(--rule)); }
.pmc-ressenti i.plein { background: var(--disc, var(--blue)); }
.pmc-seance .pmc-notes { margin-top: 8px; padding: 8px 12px; border-radius: 12px; background: var(--ink3, var(--ink)); font-size: 14px; line-height: 1.45; white-space: pre-line; color: color-mix(in srgb, var(--white) 80%, transparent); }
.pmc-actions { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.pmc-actions a, .pmc-actions button, .pmc-partagee {
    display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 0 12px;
    border: 0; border-radius: 999px; background: var(--blue-dim); color: var(--white);
    font: 600 13px/1 Inter, system-ui, -apple-system, sans-serif; text-decoration: none; cursor: pointer;
}
.pmc-partagee { background: transparent; padding: 0 4px; color: color-mix(in srgb, var(--white) 55%, transparent); font-weight: 500; }
.pmc-actions .pmc-supprimer { width: 32px; padding: 0; margin-left: auto; background: transparent; color: color-mix(in srgb, var(--white) 50%, transparent); }
.pmc-actions a:active, .pmc-actions button:active { transform: scale(.97); }

/* ── Séances du coach et de Training : une carte par séance ── */
.pm-page .coach-seance {
    position: relative; margin: 0 0 8px; padding: 12px 14px; border: 1px solid var(--rule);
    border-left: 4px solid var(--disc, var(--rule)); border-radius: 16px; background: var(--ink3, var(--ink));
}
.pm-page .coach-seance:last-of-type { margin-bottom: 0; }
.pm-page .coach-seance-tete { display: grid; gap: 2px; }
.pm-page .coach-seance-tete > strong { font-size: 13px; font-weight: 600; color: color-mix(in srgb, var(--white) 65%, transparent); }
.pm-page .coach-seance-titre { font-size: 16px; font-weight: 700; line-height: 1.3; }
.pm-page .coach-discipline { order: 3; font-size: 12px; font-weight: 700; letter-spacing: .04em; opacity: 1; color: color-mix(in srgb, var(--disc, var(--blue)) 60%, var(--white)); }
.pm-page .coach-sur-mesure {
    order: 4; justify-self: start; margin-top: 4px; padding: 3px 8px; border: 0; border-radius: 999px;
    background: var(--blue-dim); color: var(--blue); font-size: 11px; letter-spacing: .03em;
}
.pm-page .coach-perso { margin: 8px 0 0; font-size: 14px; line-height: 1.45; color: color-mix(in srgb, var(--white) 75%, transparent); }
.pm-page .coach-seance details { margin-top: 8px; }
.pm-page .coach-seance summary {
    display: inline-flex; align-items: center; gap: 6px; list-style: none; cursor: pointer;
    font-size: 14px; font-weight: 600; color: var(--blue);
}
.pm-page .coach-seance summary::-webkit-details-marker { display: none; }
.pm-page .coach-seance summary::after { content: ""; width: 7px; height: 7px; margin-top: -3px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s ease-out; }
.pm-page .coach-seance details[open] summary::after { margin-top: 3px; transform: rotate(-135deg); }
.pm-page .coach-consigne { margin: 8px 0 0; padding: 10px 12px; border-radius: 12px; background: var(--ink2); font-size: 14px; line-height: 1.5; opacity: 1; }
.pm-page .coach-actions { margin-top: 10px; }
.pm-page .coach-actions:not(:has(*)) { display: none; }
.pm-page .coach-actions .forme-lien {
    display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 16px; border-radius: 999px; line-height: 1.25;
    background: var(--blue); color: var(--sur-blue, #0d0f14); font-size: 14px; font-weight: 700; text-decoration: none;
}
.pm-page .coach-actions .forme-lien::before { content: ""; width: 10px; height: 5px; margin-top: -3px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); }
.pm-page .coach-faite { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 999px; background: color-mix(in srgb, #2f855a 30%, transparent); color: var(--white); font-size: 13px; }
.pm-page section > h3.titrage { margin: 20px 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: color-mix(in srgb, var(--white) 65%, transparent); }

/* Lien seul en bas d'une carte (« Voir tout mon plan », « Tout mon carnet ») : lien de liste avec chevron, sans soulignement */
.pm-page section > p:last-child > .forme-lien:only-child {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 4px; text-decoration: none; color: var(--blue); font-size: 15px;
}
.pm-page section > p:last-child > .forme-lien:only-child::after { content: ""; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }

/* ── Ma forme : chiffres en tuiles, graphique en deux étages, tableaux qui ne se coupent plus ── */
.pm-page .forme-titre { font-size: 17px; text-transform: none; border-top: 0; padding-top: 0; }
.pm-page .forme-chiffres { gap: 8px; }
.pm-page .forme-chiffre { padding: 10px 12px; border: 0; border-radius: 14px; background: var(--ink3, var(--ink)); }
.pm-page .forme-chiffre b { font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums; }
.pm-page .forme-chiffre span { font-size: 12px; letter-spacing: 0; text-transform: none; }
.pm-page .forme-table td:first-child { white-space: nowrap; }
.pm-page .forme-table td small { display: block; opacity: .7; }
.pm-page .forme-pile, .pm-page .forme-jauge { border-radius: 999px; }
.pm-page .forme-graphique { --fg-forme: var(--blue); --fg-fatigue: color-mix(in srgb, var(--white) 55%, transparent); }
.pm-page .forme-legende i { border-top-color: var(--blue); }
.pm-page .forme-legende i.pointilles { border-top-color: color-mix(in srgb, var(--white) 55%, transparent); opacity: 1; }

@media (prefers-reduced-motion: reduce) {
    .pm-pc-barre .pm-comp-onglets a, .pm-page .coach-seance summary::after { transition: none; }
    .pm-pc-barre .pm-comp-onglets a:active, .pmc-actions a:active, .pmc-actions button:active, .pmc-lien:active { transform: none; }
}

/* ── Coach : formulaire « Mon profil d'entraînement » (lot 2) ── */
.pm-page section > details > summary.forme-titre {
    display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; margin: 0;
    list-style: none; cursor: pointer;
}
.pm-page section > details > summary.forme-titre::-webkit-details-marker { display: none; }
.pm-page section > details > summary.forme-titre::after { content: ""; width: 8px; height: 8px; margin-right: 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); opacity: .6; }
.pm-page section > details[open] > summary.forme-titre::after { transform: rotate(-135deg); }
.pm-page .coach-form { gap: 16px; margin-top: 12px; }
.pm-page .coach-form > label, .pm-page .coach-form fieldset { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; font-size: 13px; font-weight: 600; color: color-mix(in srgb, var(--white) 70%, transparent); }
.pm-page .coach-form legend { margin-bottom: 8px; padding: 0; font-size: 13px; }
.pm-page .coach-form :is(select, input[type=number], input[type=time], input[type=date]) {
    width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--rule); border-radius: 12px;
    background: var(--ink3, var(--ink)); color: var(--white); font: 400 16px/1.2 Inter, system-ui, -apple-system, sans-serif;
}
.pm-page .coach-form select option { color: initial; }
/* Jours et sports favoris : des puces à toucher au lieu de petites cases */
.pm-page .coach-cases { gap: 8px; }
.pm-page .coach-cases label:has(> input[type=checkbox]) {
    position: relative; display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px;
    background: var(--ink3, var(--ink)); box-shadow: inset 0 0 0 1px var(--rule); color: var(--white);
    font-size: 14px; font-weight: 600; cursor: pointer; transition: background-color .15s ease-out;
}
.pm-page .coach-cases label > input[type=checkbox] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pm-page .coach-cases label:has(> input:checked) { background: var(--blue); box-shadow: none; color: var(--sur-blue, #0d0f14); }
.pm-page .coach-cases label:has(> input:focus-visible) { outline: 2px solid var(--blue); outline-offset: 2px; }
/* Date libre et format côte à côte, en colonne sur petit écran */
.pm-page .coach-form > .coach-cases:has(input[type=date]) { display: grid; grid-template-columns: 1fr; gap: 16px; }
.pm-page .coach-form > .coach-cases:has(input[type=date]) > label { display: grid; gap: 8px; font-size: 13px; font-weight: 600; color: color-mix(in srgb, var(--white) 70%, transparent); }
/* Niveau par sport : une ligne par sport (nom à gauche, choix à droite), filets entre les lignes */
.pm-page .coach-niveaux { display: block; border: 1px solid var(--rule); border-radius: 16px; overflow: hidden; }
.pm-page .coach-niveaux > label {
    display: grid; grid-template-columns: minmax(0, 1fr) 150px; align-items: center; gap: 4px 12px; padding: 8px 8px 8px 14px;
    border-top: 1px solid var(--rule); color: var(--white); font-size: 15px; font-weight: 600;
}
.pm-page .coach-niveaux > label:first-child { border-top: 0; }
.pm-page .coach-form .coach-niveaux select { min-height: 40px; font-size: 14px; }
.pm-page .coach-niveaux .forme-note { grid-column: 1 / -1; margin: -2px 0 2px; font-size: 12px; font-weight: 400; opacity: .7; }
.pm-page .coach-form .forme-note { margin: -8px 0 0; font-weight: 400; }
.pm-page .coach-form .coach-bouton { width: 100%; min-height: 48px; text-transform: none; font-size: 16px; letter-spacing: 0; }

/* ── Ma forme : estimations sans coupure au milieu d'un nombre, dernières séances plus aérées ── */
.pm-page section[aria-labelledby="forme-estimations"] .forme-table td:nth-child(2) strong { font-variant-numeric: tabular-nums; }
.pm-page section[aria-labelledby="forme-estimations"] .forme-table td:last-child { grid-column: 1 / -1; font-size: 13px; color: color-mix(in srgb, var(--white) 65%, transparent); }
.pm-page .forme-liste li { padding: 12px 0; }
.pm-page .forme-liste .forme-charge { font-variant-numeric: tabular-nums; }

@media (prefers-reduced-motion: reduce) { .pm-page .coach-cases label:has(> input[type=checkbox]) { transition: none; } }
/* Estimations : une ligne par épreuve (épreuve à gauche, temps à droite, séance de référence dessous) */
.pm-page section[aria-labelledby="forme-estimations"] .forme-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.pm-page section[aria-labelledby="forme-estimations"] .forme-table,
.pm-page section[aria-labelledby="forme-estimations"] .forme-table tbody { display: block; }
.pm-page section[aria-labelledby="forme-estimations"] .forme-table tr {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 12px 0; border-bottom: 1px solid var(--rule);
}
.pm-page section[aria-labelledby="forme-estimations"] .forme-table td { display: block; padding: 0; border: 0; }
.pm-page section[aria-labelledby="forme-estimations"] .forme-table td:first-child { font-weight: 600; }
.pm-page section[aria-labelledby="forme-estimations"] .forme-table td:nth-child(2) { text-align: right; }

/* ---------- Mes canaux : liste façon messagerie (icône de la sorte de canal, nom, détail, liens) ---------- */
.pm-page .pm-canal-carte {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: 12px;
    align-items: center;
}
.pm-canal-carte > .pm-canal-icone {
    grid-row: span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--blue-dim);
    color: var(--blue);
    font-size: 17px;
}
.pm-canal-carte[data-sorte="club"] > .pm-canal-icone { background: var(--blue); color: var(--sur-blue, #0d0f14); }
.pm-canal-carte[data-sorte="proposition"] > .pm-canal-icone { background: transparent; border: 1px dashed var(--rule2); color: var(--ink3); }
.pm-canal-carte > .pm-canal-nom { align-self: end; }
.pm-canal-carte > p { align-self: start; }
.pm-canal-carte > .pm-gr-liens { grid-column: 2; }

.pm-canal-carte .pm-gr-liens a { padding: 6px 12px; font-size: 13px; }

/* ---------- Training : dernières séances sur deux lignes (jour et source, puis le détail) ---------- */
.pm-page .training-seance {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 12px;
    align-items: baseline;
}
.pm-page .training-seance > span:not(.training-source) { grid-column: 1 / -1; grid-row: 2; }
.pm-page .training-seance > .training-source { grid-column: 2; grid-row: 1; }

/* ---------- « Les autres outils Penta Com » en grille d'icônes (comme l'écran d'accueil d'un téléphone) ---------- */
.pm-page .pc-autres ul { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 6px; }
.pm-page .pc-autres a {
    flex-direction: column;
    gap: 6px;
    min-height: 0;
    padding: 4px 0;
    border: 0;
    background: none;
    text-align: center;
}
.pm-page .pc-autres .pc-ic { width: 52px; height: 52px; border-radius: 14px; font-size: 21px; }
.pm-page .pc-autres a span { justify-items: center; }
.pm-page .pc-autres b {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.25;
}
.pm-page .pc-autres small { display: none; }

/* ---------- Mon carnet : « Mes séances Strava à compléter » en cartes (jour et bouton, puis la séance) ---------- */
.pm-page .carnet-strava thead { display: none; }
.pm-page .carnet-strava table, .pm-page .carnet-strava tbody { display: block; }
.pm-page .carnet-strava tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 12px;
    align-items: center;
    margin-top: 8px;
    padding: 12px 14px;
    border-radius: 14px;
    background: var(--ink3, var(--ink));
}
.pm-page .carnet-strava td { padding: 0; border: 0; }
.pm-page .carnet-strava td:first-child { font-size: 13px; font-weight: 700; color: color-mix(in srgb, var(--white) 65%, transparent); }
.pm-page .carnet-strava td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; font-size: 15px; line-height: 1.35; }
.pm-page .carnet-strava td:last-child { grid-column: 2; grid-row: 1; }
.pm-page .carnet-strava td:last-child a {
    display: inline-flex;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--blue);
    color: var(--sur-blue, #0d0f14);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

/* ---------- Ma saison : chiffres en tuiles, compétitions en cartes ---------- */
.pm-page .sa-chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.pm-page .sa-chiffre { padding: 10px 12px; border: 0; border-radius: 14px; background: var(--ink3, var(--ink)); }
.pm-page .sa-chiffre b { font-size: 26px; font-variant-numeric: tabular-nums; }
.pm-page .sa-chiffre span { font-size: 12px; letter-spacing: 0; text-transform: none; }
.pm-page .sa-courses thead { display: none; }
.pm-page .sa-courses, .pm-page .sa-courses tbody { display: block; }
.pm-page .sa-courses tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 4px 16px;
    margin-top: 8px;
    padding: 12px 14px;
    border-radius: 14px;
    background: var(--ink3, var(--ink));
}
.pm-page .sa-courses td { padding: 0; border: 0; }
.pm-page .sa-courses td:first-child { grid-column: 1; grid-row: 2; align-self: end; font-size: 13px; color: color-mix(in srgb, var(--white) 65%, transparent); }
.pm-page .sa-courses td:nth-child(2) { grid-column: 1 / -1; grid-row: 1; font-size: 15px; font-weight: 600; line-height: 1.3; }
.pm-page .sa-courses td:nth-child(2) a { text-decoration: none; }
.pm-page .sa-courses td[data-libelle] { grid-row: 2; display: grid; justify-items: end; font-size: 17px; font-weight: 700; }
.pm-page .sa-courses td[data-libelle]::before {
    content: attr(data-libelle);
    font-size: 11px;
    font-weight: 600;
    color: color-mix(in srgb, var(--white) 60%, transparent);
}
.pm-page section.sa-bloc {
    margin: 0 0 14px;
    padding: 16px 14px;
    border: 1px solid var(--rule);
    border-radius: 20px;
    background: var(--ink2);
}
.pm-page .sa-titre { margin-bottom: 10px; padding-top: 0; border-top: 0; font-size: 18px; text-transform: none; }
/* Onglets des saisons et des disciplines en pilules qui défilent, comme ceux du fil */
.pm-page .sa-onglets {
    flex-wrap: nowrap;
    gap: 8px;
    margin-bottom: 12px;
    overflow-x: auto;
    border-bottom: 0;
    scrollbar-width: none;
}
.pm-page .sa-onglets::-webkit-scrollbar { display: none; }
.pm-page .sa-onglets a {
    flex: none;
    margin: 0;
    padding: 7px 14px;
    border: 1px solid var(--rule);
    border-radius: 999px;
    font-size: 14px;
    letter-spacing: 0;
    text-transform: none;
    text-decoration: none;
    color: var(--white);
}
.pm-page .sa-onglets a[aria-current] { border-color: var(--white); background: var(--white); color: var(--ink); opacity: 1; }
