/* Programme d'action — cahier §9.1, maquette Programme.dc.html. Mobile first. */

/* ===== S2 Priorités ===== */
.programme-priorites__grille { display: grid; grid-template-columns: 1fr; gap: 24px; margin: 0; padding: 0; list-style: none; }
.programme-priorite { display: flex; flex-direction: column; gap: 12px; padding: 24px; background: var(--blanc); border: 1px solid var(--filet); border-radius: var(--rayon); }
.programme-priorite__num { font: 700 32px/1 var(--police-titre); color: var(--orange-texte); }
.programme-priorite__titre { font-size: var(--fs-h3); overflow-wrap: anywhere; }
.programme-priorite p { margin: 0; font-size: 16px; line-height: 1.6; }
@media (min-width: 768px) {
	.programme-priorites__grille { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1200px) {
	.programme-priorites__grille { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
}

/* ===== S3 Calendrier ===== */
.programme-calendrier .section-header { margin-bottom: 32px; }
.programme-calendrier__vide { margin: 0; padding: 32px 24px; background: var(--blanc); border-radius: var(--rayon); color: var(--encre-2); }
.programme-calendrier__barre { display: flex; flex-direction: column; gap: 24px; margin-bottom: 40px; }
.programme-tabs { gap: 32px; margin-bottom: 0; }
.programme-tabs .tabs__btn { min-height: 48px; padding: 0; font-size: 20px; font-weight: 700; }
.programme-tabs .tabs__btn[aria-selected="true"] { color: var(--vert-texte); }
.programme-filtres { display: grid; grid-template-columns: 1fr; gap: 16px; }
.programme-filtres select { min-height: 44px; }
@media (min-width: 768px) {
	.programme-calendrier__barre { flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; }
	.programme-filtres { grid-template-columns: repeat(2, minmax(200px, 1fr)); }
}

.programme-annee { display: grid; gap: 40px; }
.programme-annee[hidden], .programme-trimestre[hidden], .programme-annee__vide[hidden], .programme-annee__vide:empty { display: none; }
.programme-annee:focus-visible { outline-offset: 8px; }
.programme-annee__vide { margin: 0; font-size: 15px; color: var(--encre-2); }
.programme-trimestre { display: grid; gap: 16px; }
.programme-trimestre__titre { font: 700 18px/1.3 var(--police-titre); color: var(--vert-texte); }
.programme-trimestre__mois { margin: 0; font-size: 14px; color: var(--encre-2); }
.programme-trimestre__liste { gap: 16px; }
.programme-trimestre .timeline__dot { top: 22px; box-shadow: 0 0 0 4px var(--fond-gris), 0 0 0 5px var(--vert-principal); }
@media (min-width: 768px) {
	.programme-trimestre { grid-template-columns: 160px minmax(0, 1fr); gap: 16px 32px; align-items: start; }
}

/* ===== S4 Téléchargement ===== */
.programme-telechargement .download-row { padding: 20px; border: 1px solid var(--filet); border-radius: var(--rayon); }
@media (min-width: 768px) {
	.programme-telechargement .download-row { padding: 20px 24px; }
}
