#main-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;   /* stack items vertically */
  align-items: center;      /* center horizontally */
  padding: 20px;
  box-sizing: border-box;
  text-align: center;
}
#main-content h2 {
  color: #99ccff;   /* same light blue as site */
  margin-bottom: 20px;
  text-align: center;  /* keep the title centered */
}

/* Calendar: full row, centered */
.calendar-container {
  width: 100%;
  max-width: 900px;   /* desktop cap */
  margin: 20px auto 40px;
}
.calendar-container iframe {
  width: 100%;
  min-height: 500px;  /* keep readable */
  aspect-ratio: 4 / 3;
  border: 0;
}

/* Event list: stacked cards */
.event-list {
  display: flex;
  flex-direction: column;   /* stack cards vertically */
  align-items: center;      /* center the cards horizontally */
  gap: 20px;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;           /* center the whole block itself */
}

.event-card {
  background: #111;
  border-radius: 8px;
  padding: 20px;
  text-align: left;         /* keep card text left inside the card */
  width: 100%;
  max-width: 700px;         /* don’t let them stretch too wide */
}

.event-card h3 {
  margin-top: 0;
  color: #99ccff;
}
.event-card p {
  margin: 5px 0;
}
