/* Domaines d'activité : défilement natif, sans lecture automatique. */
.activities-section { scroll-margin-top:0; }
.activities-section .sec-head { margin-bottom:48px; }
.activities { --activity-gap:15px; --activity-columns:4; }
.activities__track {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - (var(--activity-columns) - 1) * var(--activity-gap)) / var(--activity-columns));
  gap:var(--activity-gap);
  list-style:none;
  margin:0;
  padding:0 0 15px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.activities__track::-webkit-scrollbar { display:none; }
.activities__track:focus-visible { outline:2px solid var(--teal); outline-offset:6px; }
.activity {
  display:flex;
  flex-direction:column;
  min-width:0;
  color:var(--ink);
  scroll-snap-align:start;
  border-radius:0;
  box-shadow:none;
}
.activity h3 {
  align-items:center;
  justify-content:center;
}
.activity p { max-width:29ch; margin:0 0 27px; color:var(--ink); }
.activity>a { margin-top:auto; }
.activity>a:hover { color:var(--teal-deep); }
.activity>a:focus-visible { outline:2px solid var(--teal); outline-offset:5px; }
.activities__navigation { display:flex; align-items:center; justify-content:flex-end; gap:20px; margin-top:10px; }
.activities__navigation[hidden] { display:none; }
.activities__controls { display:flex; align-items:center; gap:15px; }
.activities__controls button { border:1px solid var(--rule); background:#fff; color:var(--ink); font:22px var(--font-sans); cursor:pointer; }
.activities__controls button:hover:not(:disabled) { border-color:var(--ink); }
.activities__controls button:disabled { color:#a5adb6; cursor:default; }
.activities__position { min-width:75px; text-align:center; color:var(--muted); font-variant-numeric:tabular-nums; }
@media(max-width:1000px) {
  .activities { --activity-columns:2; }
}
@media(max-width:600px) {
  .activities__track { gap:14px; }
  .activities__navigation { gap:12px; flex-wrap:wrap; }
  .activities__controls { margin-left:auto; gap:7px; }
  .activities__position { min-width:65px; }
}
@media(prefers-reduced-motion:reduce) {
  .activities__track { scroll-behavior:auto; }
}
