/* evenements.html — upcoming alumni events */

.events-section{
  max-width:var(--container);
  margin:0 auto;
  padding:3rem 1.5rem 1rem;
}
.events-heading{
  font-size:1.35rem;
  padding-bottom:0.8rem;
  margin-bottom:1.6rem;
  border-bottom:1px solid var(--line);
}
.events-status{text-align:center;color:var(--ink-500);padding:1rem 0;}

.events-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(330px, 1fr));
  gap:1.6rem;
  align-items:start;
}

/* ---------- card ---------- */
.event-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.event-card:hover{box-shadow:var(--shadow-md);border-color:var(--blue-200);transform:translateY(-2px);}
.event-card.is-registered{border-color:#bfe6cd;}

.event-cover{
  position:relative;
  aspect-ratio:16/9;
  background:var(--bg-panel);
}
.event-cover img{width:100%;height:100%;object-fit:cover;}
/* No image: a calm branded panel instead of an empty box. */
.event-cover--empty{
  aspect-ratio:auto;
  height:92px;
  background:linear-gradient(120deg, var(--blue-900), var(--blue-600));
}

.event-date{
  position:absolute;
  left:1.1rem;bottom:-1.4rem;
  width:58px;
  padding:0.4rem 0 0.45rem;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:var(--shadow-sm);
  text-align:center;
  line-height:1;
}
.event-date-day{
  display:block;
  font-family:var(--font-display);
  font-size:1.5rem;
  font-weight:600;
  color:var(--ink-900);
}
.event-date-month{
  display:block;
  margin-top:0.25rem;
  font-family:var(--font-mono);
  font-size:0.66rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--blue-600);
}

.event-body{
  padding:2.2rem 1.3rem 1.3rem;
  display:flex;
  flex-direction:column;
  gap:0.85rem;
  flex:1;
}
.event-title{font-size:1.15rem;line-height:1.3;}

.event-meta{display:flex;flex-direction:column;gap:0.4rem;font-size:0.86rem;color:var(--ink-700);}
.event-meta li{display:flex;align-items:flex-start;gap:0.5rem;}
.event-meta svg{flex:none;margin-top:0.18rem;color:var(--blue-500);}

.event-desc{
  font-size:0.9rem;
  color:var(--ink-700);
  white-space:pre-line;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
}
.event-card.is-expanded .event-desc{display:block;}
.event-more{
  align-self:flex-start;
  margin-top:-0.4rem;
  padding:0;
  border:none;background:none;
  font-family:var(--font-body);
  font-size:0.82rem;
  font-weight:600;
  color:var(--blue-600);
  cursor:pointer;
}
.event-more[hidden]{display:none;}
.event-more:hover{color:var(--blue-700);text-decoration:underline;}

.event-actions{
  margin-top:auto;
  padding-top:0.9rem;
  border-top:1px solid var(--line);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.7rem;
}
.event-badge{
  font-size:0.8rem;
  font-weight:600;
  padding:0.3rem 0.75rem;
  border-radius:999px;
}
.event-badge--ok{background:#e3f6ea;color:#1e7d43;}
.event-badge--full{background:#fde8e6;color:#b3261e;}
.event-cancel{
  margin-left:auto;
  padding:0;
  border:none;background:none;
  font-family:var(--font-body);
  font-size:0.82rem;
  color:var(--ink-500);
  text-decoration:underline;
  cursor:pointer;
}
.event-cancel:hover{color:#b3261e;}
.event-locked{flex-basis:100%;font-size:0.84rem;color:var(--ink-700);}
.event-locked strong{color:var(--ink-900);font-weight:600;}
.event-error{font-size:0.82rem;color:#b3261e;}
.event-error:empty{display:none;}

/* ---------- empty state ---------- */
.events-empty{
  grid-column:1 / -1;
  padding:3rem 1.5rem;
  text-align:center;
  color:var(--ink-500);
  background:var(--blue-50);
  border:1px dashed var(--line-strong);
  border-radius:var(--radius);
}
.events-empty-title{
  font-family:var(--font-display);
  font-weight:600;
  font-size:1.15rem;
  color:var(--ink-900);
  margin-bottom:0.4rem;
}

/* ---------- past events ---------- */
.events-section--past{padding-top:2rem;padding-bottom:4rem;}
.events-past-list{display:flex;flex-direction:column;}
.event-past-row{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:0.3rem 1.2rem;
  padding:0.75rem 0;
  border-bottom:1px solid var(--line);
  font-size:0.9rem;
  color:var(--ink-500);
}
.event-past-date{
  flex:none;
  width:7.5rem;
  font-family:var(--font-mono);
  font-size:0.76rem;
  text-transform:uppercase;
  letter-spacing:0.04em;
}
.event-past-title{color:var(--ink-700);font-weight:500;}
.event-past-loc{margin-left:auto;font-size:0.82rem;}

@media (max-width:640px){
  .events-section{padding:2rem 1.2rem 0.5rem;}
  .events-grid{grid-template-columns:1fr;}
  .event-past-loc{margin-left:0;flex-basis:100%;}
}
@media (prefers-reduced-motion:reduce){
  .event-card{transition:none;}
  .event-card:hover{transform:none;}
}

/* ---------- event link (video call, form…) ---------- */
.event-link,
.event-link-note{
  display:flex;
  align-items:center;
  gap:0.5rem;
  font-size:0.86rem;
}
.event-link{
  align-self:flex-start;
  max-width:100%;
  padding:0.45rem 0.8rem;
  font-weight:600;
  color:var(--blue-700);
  background:var(--blue-50);
  border:1px solid var(--blue-200);
  border-radius:10px;
  transition:background .15s ease, border-color .15s ease;
}
.event-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.event-link:hover{background:var(--blue-100);border-color:var(--blue-400);}
.event-link svg,.event-link-note svg{flex:none;}
.event-link-note{color:var(--ink-500);}

/* keep the short intro from leaving a single word on its last line */
.search-hero-sub{text-wrap:balance;}
