/* css/calendrier.css
   Styles propres à calendrier.html (Calendrier régional).
   Chargée APRÈS styles.css. Réutiliser d'abord les composants partagés de styles.css
   (section « Composants partagés ») et les tokens de :root. Aucune nouvelle couleur.
*/

/* Filtres par territoire (boutons aria-pressed) */
.cal-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.cal-filters[hidden] { display: none; }
.cal-filters button {
  display: inline-flex; align-items: center; gap: 8px;
  font: inherit; font-size: .95rem; font-weight: 600; line-height: 1.3;
  padding: 8px 14px; min-height: 44px; cursor: pointer;
  background: var(--birch); color: var(--ink);
  border: 1px solid var(--rule); border-radius: 999px;
}
.cal-filters button[style]::before {
  content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--c); flex: none;
}
.cal-filters button:hover { border-color: var(--ink); }
.cal-filters button[aria-pressed="true"] { background: var(--ink); color: var(--birch); border-color: var(--ink); }
.cal-filters button[aria-pressed="true"][style]::before { box-shadow: 0 0 0 2px var(--birch); }

.cal-status { margin: 0 0 32px; color: var(--ink-soft); font-size: .95rem; min-height: 1.5em; }

/* Mois et événements */
.cal-month + .cal-month { margin-top: 48px; }
.cal-month > h3 {
  font-weight: 800; font-size: 1.75rem; font-variation-settings: "wdth" 70;
  padding-bottom: 12px; border-bottom: 2px solid var(--ink);
}
.cal-events { list-style: none; margin: 0; padding: 0; }
.cal-event {
  display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: 4px 24px;
  padding: 24px 0; border-bottom: 1px solid var(--rule);
}
.cal-date { margin: 0; display: flex; flex-direction: column; line-height: 1; }
.cal-day { font-size: 3rem; font-weight: 850; font-variation-settings: "wdth" 70; color: var(--spruce); }
.cal-weekday { margin-top: 6px; font-size: .9rem; font-weight: 600; color: var(--ink-soft); }
.cal-body { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.cal-body h4 { margin: 0; font-size: 1.4rem; font-weight: 800; font-variation-settings: "wdth" 72; line-height: 1.15; }
.cal-body p { margin: 0; max-width: 40em; }
.cal-when { font-weight: 600; }
.cal-where, .cal-desc { color: var(--ink-soft); }
.cal-link { font-weight: 700; }
.cal-empty { margin-top: 8px; }

.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* Encadré pour l'équipe */
.cal-howto code { font-size: .92em; background: var(--birch); padding: 1px 5px; border-radius: 2px; color: var(--ink); }
.cal-howto-list { margin: 12px 0 0; padding-left: 1.2em; color: var(--ink-soft); }
.cal-howto-list li + li { margin-top: 6px; }

@media (max-width: 760px) {
  .cal-event { grid-template-columns: 3.5rem minmax(0, 1fr); gap: 4px 16px; }
  .cal-day { font-size: 2.25rem; }
}
