/* Programmes et compétences */
.prog-intro{display:grid;gap:22px;align-items:start}
.prog-intro > *{min-width:0}
@media (min-width:940px){.prog-intro{grid-template-columns:1.2fr 1fr;gap:40px}}
.prog-jump{display:flex;flex-wrap:wrap;gap:10px}
.prog-jump .chip{display:inline-flex;align-items:center;text-decoration:none}
.h-small{font-size:1.5rem}
.refs{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:1rem}
.refs b{display:block;font:600 1.05rem var(--font-titre)}
.small-note{font-size:1rem;color:var(--nuit-70);margin:14px 0 0}

/* Tableaux : défilement horizontal dans leur cadre si besoin, jamais de la page */
.table-scroll{margin-top:22px;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--blanc);border:3px solid var(--nuit);border-radius:var(--radius)}
.table-scroll:focus-visible{outline:3px solid var(--nuit);outline-offset:3px}
.prog{width:100%;min-width:480px;border-collapse:collapse;font-size:1.05rem;line-height:1.5}
.prog caption{caption-side:top;text-align:left;padding:16px 18px 12px;font:600 1.35rem/1.25 var(--font-titre)}
.prog caption span{font:500 1rem var(--font-texte);color:var(--nuit-70)}
.prog th,.prog td{text-align:left;vertical-align:top;padding:12px 16px;border-top:2px solid rgba(31,42,68,.12)}
.prog thead th{background:var(--creme);font:600 1rem var(--font-titre);text-transform:uppercase;letter-spacing:.05em}
.prog th[scope="row"]{font-weight:400;width:55%}
.prog-subject th{background:var(--t);border-top:3px solid var(--nuit);font:600 1.25rem/1.3 var(--font-titre)}
.prog-ref{display:block;margin-top:4px;font:400 .95rem/1.5 var(--font-texte);color:var(--nuit)}
.mlinks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.mlinks a{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border:2px solid var(--nuit);border-radius:14px;background:var(--t);font-size:1rem;line-height:1.3;text-decoration:none;font-weight:500}
.mlinks a:hover{text-decoration:underline}
.mdot{flex:none;width:12px;height:12px;border-radius:50%;background:var(--c);border:2px solid var(--nuit)}

.prog-kit{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
.prog-kit > div{flex:1 1 320px;max-width:680px;min-width:0}
.prog-kit p{margin:0}
