/* Agenda (events/list.html), lignes d'événement (events/_event.html,
   également incluses sur l'accueil) et page de détail (events/detail.html). */
.agenda { max-width:760px; }
.agenda h1 { margin-bottom:20px; }

/* Onglets À venir / Passés */
.agenda-tabs { display:flex; gap:24px; border-bottom:1px solid var(--border); }
.agenda-tabs a {
  margin-bottom:-1px; padding:12px 0; border-bottom:2px solid transparent;
  font-size:15px; font-weight:600; text-decoration:none; color:var(--soft);
}
.agenda-tabs a.is-active { color:var(--ink); border-bottom-color:var(--gold); }
.agenda-month .eyebrow { margin:24px 0 0; padding-bottom:8px; }
.agenda-empty { color:var(--soft); margin-top:24px; }
.events.is-past-list, .event-detail.is-past { opacity:.62; }

/* Ligne d'événement : jour en grand, puis type · titre · description */
ul.events { list-style:none; margin:0; padding:0; }
.event {
  display:flex; gap:16px; align-items:flex-start;
  padding:18px 0; border-top:1px solid var(--border);
}
.event-when { flex:0 0 56px; display:flex; flex-direction:column; }
.event-daynum { font-weight:700; font-size:34px; line-height:1; font-variant-numeric:tabular-nums; }
.event-dow, .event-time {
  margin-top:4px; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--soft); font-variant-numeric:tabular-nums;
}
.event-time { margin-top:2px; }
.event-main {
  flex:1; min-width:0; display:flex; flex-direction:column; gap:6px;
  color:inherit; text-decoration:none;
}
.event-main:hover { color:inherit; }
.event-main:hover .event-title { color:var(--gold-hover); }
.event-main p { margin:0; }
.event-types { margin:0; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.event-type { color:var(--chip, var(--gold)); }
.event-type + .event-type::before { content:"·"; margin:0 .5em; color:var(--soft); }
.event-title { font-size:19px; font-weight:600; line-height:1.2; }
.event-desc { font-size:14px; line-height:1.4; color:var(--soft); }
.event-img {
  display:block; margin-top:6px; width:100%; aspect-ratio:16/9;
  object-fit:cover; border-radius:4px;
}

/* Ajout au calendrier */
.event-cal { flex:0 0 auto; position:relative; }
.event-cal > summary {
  list-style:none; cursor:pointer; user-select:none;
  width:44px; height:44px; border-radius:4px; border:1px solid rgba(254,246,229,.22);
  display:flex; align-items:center; justify-content:center; gap:8px; font-size:14px;
}
.event-cal > summary::-webkit-details-marker { display:none; }
.event-cal > summary svg {
  width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6;
}
.event-cal-label { display:none; }
.event-cal[open] > summary, .event-cal > summary:hover { border-color:var(--gold); }
.event-cal-menu {
  position:absolute; right:0; top:calc(100% + 6px); z-index:5;
  display:flex; flex-direction:column; min-width:200px;
  background:var(--card); border:1px solid var(--border); border-radius:4px;
  padding:4px; box-shadow:0 8px 24px rgba(0,0,0,.3);
}
.event-cal-menu a {
  padding:12px; border-radius:2px; font-size:14px;
  color:var(--ink); text-decoration:none; white-space:nowrap;
}
.event-cal-menu a:hover { background:var(--bg); }

/* Page de détail d'un événement */
.event-detail-back { display:inline-block; margin-bottom:12px; font-size:14px; padding:12px 0; }
.event-detail-when {
  margin:0 0 10px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--soft);
}
.event-detail .event-types { margin-bottom:8px; }
.event-detail-title { margin:0; }
.event-detail-img {
  display:block; margin:24px 0 0; width:100%; max-height:480px;
  object-fit:cover; border-radius:4px;
}
.event-detail-desc { margin:24px 0 0; white-space:pre-line; color:var(--ink-2); }
.event-detail-cal { margin-top:24px; display:inline-block; }
.event-detail-cal > summary { width:auto; padding:0 14px; }
.event-detail-cal .event-cal-label { display:inline; }
.event-detail-cal .event-cal-menu { right:auto; left:0; }

@media (min-width:900px) {
  .event { gap:20px; padding:20px 0; }
  .event-when { flex-basis:64px; }
  .event-daynum { font-size:40px; }
  .event-title { font-size:21px; }
  .event-desc { font-size:15px; }
  .event-cal > summary { width:auto; padding:0 14px; }
  .event-cal-label { display:inline; }
}
