/* C-GO — Activités calendar (replaces the [activites] list+filter)
   Scoped under #cgo-calendar so it can't leak into the rest of the theme. */

/* palette from the C-GO logo: orange (primary), magenta (partner events),
   cyan (today), yellow (month-count badges) */
#cgo-calendar { --cgo-navy:#323232; --cgo-navy-2:#454545; --cgo-gold:#f88d26;
  --cgo-green:#f31ed6; --cgo-cyan:#66f7f1; --cgo-yellow:#f9e221;
  --cgo-ink:#323232; --cgo-muted:#6d6e70; --cgo-line:#e4e7ee;
  display:flex; gap:0; border:1px solid var(--cgo-line); border-radius:6px;
  overflow:hidden; background:#fff; color:var(--cgo-ink);
  font-family:inherit; align-items:stretch; max-height:615px; }
#cgo-calendar * { box-sizing:border-box; }

/* ---- left month rail ---- */
#cgo-calendar .cgo-rail { background:var(--cgo-navy); color:#fff; flex:0 0 168px;
  padding:0 0 12px; }
#cgo-calendar .cgo-year { display:flex; align-items:center; justify-content:center;
  gap:14px; padding:18px 10px; font-size:22px; font-weight:700; letter-spacing:.5px; }
#cgo-calendar .cgo-year button { background:none; border:0; color:#fff; cursor:pointer;
  font-size:20px; line-height:1; padding:4px 6px; opacity:.85; }
#cgo-calendar .cgo-year button:hover { opacity:1; }
#cgo-calendar .cgo-months { list-style:none; margin:0; padding:0; }
#cgo-calendar .cgo-months li { display:flex; align-items:center; justify-content:space-between;
  gap:10px; padding:11px 18px; cursor:pointer; font-size:14px; color:#cfcfcf;
  text-transform:capitalize; }
#cgo-calendar .cgo-months li:hover { color:#fff; }
#cgo-calendar .cgo-months li.is-active { background:var(--cgo-navy-2); color:#fff; font-weight:600; }
#cgo-calendar .cgo-months li.is-empty { color:#888; opacity:.45; cursor:default; }
#cgo-calendar .cgo-months .cgo-count { background:var(--cgo-cyan); color:var(--cgo-navy);
  border-radius:50%; width:22px; height:22px; flex:0 0 22px; display:flex; align-items:center;
  justify-content:center; font-size:12px; font-weight:700; }

/* ---- center grid ---- */
#cgo-calendar .cgo-grid-wrap { flex:1 1 auto; padding:18px 22px; min-width:0; }
#cgo-calendar .cgo-grid-title { text-align:center; font-size:18px; letter-spacing:2px;
  text-transform:uppercase; color:var(--cgo-muted); margin:6px 0 16px; }
#cgo-calendar .cgo-grid { display:grid; grid-template-columns:repeat(7,1fr); }
#cgo-calendar .cgo-dow { text-align:center; font-weight:700; color:var(--cgo-navy);
  padding:8px 0; font-size:13px; letter-spacing:1px; }
#cgo-calendar .cgo-day { position:relative; text-align:center; padding:14px 0 18px;
  font-size:17px; color:var(--cgo-ink); }
#cgo-calendar .cgo-day.is-blank { color:transparent; }
#cgo-calendar .cgo-day.is-today .cgo-daynum { color:var(--cgo-navy); font-weight:700;
  background:var(--cgo-cyan); border-radius:50%; padding:3px 8px; }
#cgo-calendar .cgo-day.has-event { cursor:pointer; }
#cgo-calendar .cgo-day.has-event .cgo-daynum { border-bottom:3px solid var(--cgo-gold);
  padding-bottom:3px; }
#cgo-calendar .cgo-day.has-event.ev-partner .cgo-daynum { border-bottom-color:var(--cgo-green); }
#cgo-calendar .cgo-day.is-selected .cgo-daynum { color:var(--cgo-navy); font-weight:700; }

/* ---- right event list ---- */
#cgo-calendar .cgo-list { flex:0 0 340px; border-left:1px solid var(--cgo-line);
  padding:14px; min-height:0; max-height:615px; overflow-y:auto; background:#fafbfc; }
#cgo-calendar .cgo-card { background:#fff; border:1px solid var(--cgo-line);
  border-left:5px solid var(--cgo-gold); border-radius:4px; padding:14px 16px;
  margin-bottom:12px; }
#cgo-calendar .cgo-card.ev-partner { border-left-color:var(--cgo-green); }
#cgo-calendar .cgo-card-top { display:flex; justify-content:space-between;
  align-items:baseline; gap:10px; }
#cgo-calendar .cgo-card-date { font-weight:700; color:var(--cgo-navy); font-size:15px; }
#cgo-calendar .cgo-card-time { color:var(--cgo-muted); font-size:13px; white-space:nowrap; }
#cgo-calendar .cgo-card-title { font-weight:600; color:var(--cgo-ink); margin:6px 0 6px;
  font-size:15px; }
#cgo-calendar .cgo-card-title a { color:inherit; text-decoration:none; transition:color .3s ease; }
#cgo-calendar .cgo-card-title a:hover { color:var(--cgo-gold); text-decoration:none; }
#cgo-calendar .cgo-card-partners { font-size:12.5px; color:var(--cgo-muted); margin:2px 0 6px; }
#cgo-calendar .cgo-card-partners a { color:var(--cgo-gold); text-decoration:none; transition:opacity .3s ease; }
#cgo-calendar .cgo-card.ev-partner .cgo-card-partners a { color:var(--cgo-green); }
#cgo-calendar .cgo-card-partners a:hover { opacity:.7; }
#cgo-calendar .cgo-card-desc { color:#4a5568; font-size:13.5px; line-height:1.5; }
#cgo-calendar .cgo-card-meta { color:var(--cgo-muted); font-size:12.5px; margin-top:8px; }
#cgo-calendar .cgo-card-meta a { color:var(--cgo-navy); }
#cgo-calendar .cgo-card-partner { display:inline-block; margin-top:10px; padding:6px 12px;
  background:var(--cgo-navy); color:#fff; border-radius:3px; font-size:12.5px;
  text-decoration:none; }
#cgo-calendar .cgo-card-partner:hover { background:var(--cgo-navy-2); }
#cgo-calendar .cgo-empty { color:var(--cgo-muted); text-align:center; padding:30px 10px;
  font-size:14px; }

/* ---- responsive ---- */
/* mid widths (laptops): event list drops to a full-width row below rail+grid,
   so the two fixed columns stop starving the month grid */
@media (max-width:1360px){
  #cgo-calendar { flex-wrap:wrap; max-height:none; }
  #cgo-calendar .cgo-rail { flex:0 0 168px; }
  #cgo-calendar .cgo-grid-wrap { flex:1 1 auto; }
  #cgo-calendar .cgo-list { flex:1 1 100%; border-left:0;
    border-top:1px solid var(--cgo-line); max-height:320px; }
}
@media (max-width:880px){
  #cgo-calendar { flex-direction:column; max-height:none; }
  #cgo-calendar .cgo-rail { flex-basis:auto; display:flex; flex-wrap:wrap; }
  #cgo-calendar .cgo-year { width:100%; }
  #cgo-calendar .cgo-months { display:flex; flex-wrap:wrap; width:100%; }
  #cgo-calendar .cgo-months li { flex:0 0 33.33%; }
  #cgo-calendar .cgo-list { flex-basis:auto; border-left:0; border-top:1px solid var(--cgo-line);
    max-height:none; }
}
