/* Calendrier professionnel — année + mois en cours */
.wa-cal{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.wa-cal__toolbar{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:18px 20px;
  background:var(--surface, #fff);
  border:1px solid var(--line, #e2e8f0);
  border-radius:16px;
}
.wa-cal__year{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
}
.wa-cal__year-label{
  font-size:1.65rem;
  font-weight:800;
  letter-spacing:.04em;
  color:var(--ink, #0f172a);
  min-width:5ch;
  text-align:center;
}
.wa-cal__nav{
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:50%;
  color:var(--brand, #4a6287);
  background:color-mix(in srgb, var(--brand, #4a6287) 10%, #fff);
  text-decoration:none;
}
.wa-cal__nav:hover{ background:color-mix(in srgb, var(--brand, #4a6287) 18%, #fff); }
.wa-cal__months{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
}
.wa-cal__month{
  padding:6px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:600;
  color:var(--ink-muted, #64748b);
  text-decoration:none;
  text-transform:capitalize;
}
.wa-cal__month.is-current,
.wa-cal__month:hover{
  background:var(--brand, #4a6287);
  color:#fff;
}
.wa-cal__month-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.wa-cal__current{
  margin:0;
  font-size:1.05rem;
  font-weight:700;
  min-width:12rem;
  text-align:center;
}
 /* L'agenda se place SOUS la grille, jamais a cote.
   En colonne laterale il etait serre a 260 px : les titres d'evenements se
   coupaient, et la colonne restait vide sur toute la hauteur du mois des que
   la semaine etait calme. Pleine largeur, la liste respire et le calendrier
   recupere la largeur qu'il lui faut pour sept colonnes lisibles. */
.wa-cal__layout{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.wa-cal__grid-wrap{
  background:var(--surface, #fff);
  border:1px solid var(--line, #e2e8f0);
  border-radius:16px;
  overflow:hidden;
}
.wa-cal__weekdays{
  display:grid;
  /* minmax(0,1fr) et non 1fr : sinon le contenu le plus large impose sa
     largeur a la colonne, les sept colonnes deviennent inegales et cette
     ligne d'en-tete ne tombe plus en face des cases du mois. */
  grid-template-columns:repeat(7, minmax(0, 1fr));
  background:color-mix(in srgb, var(--brand, #4a6287) 8%, #fff);
  border-bottom:1px solid var(--line, #e2e8f0);
}
.wa-cal__weekday{
  padding:10px 6px;
  text-align:center;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--brand, #4a6287);
}
.wa-cal__grid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0, 1fr));
}
.wa-cal__cell{
  min-height:108px;
  min-width:0;          /* sans cela, une puce longue elargit la colonne */
  overflow:hidden;
  padding:8px;
  border-right:1px solid var(--line, #e2e8f0);
  border-bottom:1px solid var(--line, #e2e8f0);
  background:#fff;
}
.wa-cal__cell:nth-child(7n){ border-right:0; }
.wa-cal__cell.is-out{
  background:#f8fafc;
  color:#94a3b8;
}
.wa-cal__cell.is-today{
  box-shadow:inset 0 0 0 2px var(--brand, #4a6287);
}
.wa-cal__daynum{
  font-size:.8rem;
  font-weight:700;
  margin-bottom:6px;
}
.wa-cal__cell.is-today .wa-cal__daynum{
  display:inline-grid;
  place-items:center;
  width:22px;height:22px;
  border-radius:50%;
  background:var(--brand, #4a6287);
  color:#fff;
}
.wa-cal__dots{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.wa-cal__dots > li{ min-width:0; }
.wa-cal__chip{
  display:flex;
  align-items:center;
  gap:6px;
  padding:3px 6px;
  border-radius:6px;
  font-size:.68rem;
  font-weight:600;
  text-decoration:none;
  color:inherit;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.wa-cal__chip span{ overflow:hidden; text-overflow:ellipsis; min-width:0; }
.wa-cal__chip--live{ background:#e8eef5; color:#3d4f6c; }
.wa-cal__chip--mentorat{ background:#ecfdf5; color:#047857; }
.wa-cal__chip--evaluation{ background:#fef2f2; color:#b91c1c; }
.wa-cal__more{
  font-size:.68rem;
  color:var(--ink-muted, #64748b);
  padding-left:6px;
}
.wa-cal__agenda{
  background:var(--surface, #fff);
  border:1px solid var(--line, #e2e8f0);
  border-radius:16px;
  padding:18px 16px;
}
.wa-cal__agenda-head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:4px 12px;
  margin:0 0 16px;
}
.wa-cal__agenda h3{
  margin:0;
  font-size:.92rem;
  font-weight:700;
}
.wa-cal__agenda-note{
  margin:0;
  font-size:.75rem;
  color:var(--ink-muted, #64748b);
}
/* Une journee = un bloc. A plat, « 03 Sep » se repetait sur quatre lignes
   consecutives et rien ne marquait le passage au jour suivant. */
.wa-cal__agenda-days{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.wa-cal__day.is-passe{ opacity:.55; }
.wa-cal__day-title{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:0 0 8px;
  padding-bottom:6px;
  border-bottom:1px solid var(--line, #e2e8f0);
  font-size:.8rem;
  font-weight:700;
  color:var(--ink-muted, #64748b);
  text-transform:capitalize;
}
.wa-cal__day-num{
  font-size:1.05rem;
  font-weight:800;
  color:var(--ink, #0f172a);
}
.wa-cal__day.is-today .wa-cal__day-num{ color:var(--brand, #4a6287); }
.wa-cal__day-flag{
  margin-left:auto;
  padding:2px 8px;
  border-radius:999px;
  font-size:.66rem;
  font-weight:700;
  text-transform:none;
  color:#fff;
  background:var(--brand, #4a6287);
}
.wa-cal__list{
  list-style:none;
  margin:0;
  padding:0;
  /* Sur toute la largeur, une seule colonne etirerait chaque evenement sur
     1 200 px pour trois mots. On remplit par cartes de 280 px minimum. */
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:10px;
}
.wa-cal__item{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:10px;
  padding:10px 8px;
  border-radius:10px;
  border-left:3px solid var(--brand, #4a6287);
  background:#f8fafc;
}
.wa-cal__item--live{ border-left-color:#4a6287; }
.wa-cal__item--mentorat{ border-left-color:#059669; }
.wa-cal__item--evaluation{ border-left-color:#dc2626; }
.wa-cal__item time{
  font-size:.78rem;
  font-weight:700;
  color:var(--ink-muted, #64748b);
}
.wa-cal__item a{
  font-size:.85rem;
  font-weight:700;
  color:var(--ink, #0f172a);
  text-decoration:none;
}
.wa-cal__item p{
  margin:2px 0 0;
  font-size:.75rem;
  color:var(--ink-muted, #64748b);
}
.wa-cal__empty{
  text-align:center;
  padding:28px 12px;
  color:var(--ink-muted, #64748b);
}
.wa-cal__empty i{ font-size:1.6rem; margin-bottom:8px; display:block; color:var(--brand, #4a6287); }
@media (max-width: 960px){
  .wa-cal__cell{ min-height:84px; }
  .wa-cal__chip span{ display:none; }
  .wa-cal__chip{ width:22px; height:22px; justify-content:center; padding:0; border-radius:50%; }
  /* Reduites a des pastilles, les puces tiennent sur une ligne : empilees,
     trois evenements depassaient deja la hauteur de la case. */
  .wa-cal__dots{ flex-direction:row; flex-wrap:wrap; gap:3px; }
}
@media (max-width: 560px){
  .wa-cal__cell{ min-height:62px; padding:5px 4px; }
  .wa-cal__weekday{ padding:8px 2px; font-size:.62rem; letter-spacing:.02em; }
  .wa-cal__daynum{ font-size:.72rem; margin-bottom:4px; }
  .wa-cal__chip{ width:16px; height:16px; font-size:.55rem; }
  .wa-cal__more{ font-size:.6rem; padding-left:2px; }
  .wa-cal__toolbar{ padding:14px 12px; }
  .wa-cal__year-label{ font-size:1.35rem; }
  .wa-cal__current{ font-size:.95rem; min-width:0; }
  .wa-cal__agenda{ padding:14px 12px; }
  .wa-cal__list{ grid-template-columns:1fr; }
}
