/* =============================================================================
   alumni-sidebar.css — the "Welcome + widgets" layout on /alumni/: a main
   column plus a stacked sidebar of boxes (quick links, upcoming events,
   contact us), modeled on a traditional alumni-portal layout (e.g. SNHU's
   alumni site) but using this site's own card/token system throughout.
   ============================================================================= */
.alumni-layout { display: grid; gap: var(--space-5); }
@media (min-width: 960px) {
  .alumni-layout { grid-template-columns: 1fr 320px; align-items: start; }
  .alumni-layout__sidebar { position: sticky; top: var(--space-4); }
}

.side-box + .side-box { margin-top: var(--space-4); }
.side-box__title { font-size: var(--text-lg); margin: 0 0 var(--space-3); }

.side-box__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.side-box__links a { font-weight: 600; }

.side-box__events { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.side-box__events li { padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-border); }
.side-box__events li:last-child { border-bottom: 0; padding-bottom: 0; }
.side-box__event-date { display: block; font-size: var(--text-xs); text-transform: uppercase; letter-spacing: var(--tracking-wide); color: var(--color-text-muted); margin-bottom: .15rem; }
.side-box__event-title { font-weight: 600; }

.side-box .contact-block { margin-top: 0; font-size: var(--text-sm); }
.side-box .contact-block dd { line-height: 1.4; }
.side-box__contact-row { display: flex; align-items: flex-start; gap: .4rem; }
.side-box__contact-row .icon { flex-shrink: 0; margin-top: .15rem; }
.side-box__contact-row a { word-break: break-word; }
.side-box__social { display: flex; gap: var(--space-2); margin-top: var(--space-3); }
.side-box__social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: var(--radius-full);
  background: var(--color-surface-2); color: var(--color-text);
}
.side-box__social a:hover { background: var(--color-accent); color: #fff; }

/* Meet Our Alumni: 5 cards in a 3-column grid leave a lone card on the
   last row, which CSS Grid's auto-fit left-aligns by default instead of
   centering. Flexbox-with-wrap centers a partial row naturally, matching
   the original grid--3 minmax basis (300px). Scoped to this section only. */
body.alumni-landing #meet-our-alumni .grid--3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
body.alumni-landing #meet-our-alumni .grid--3 > * { flex: 0 1 300px; }
