/* Grid container */
.cfg-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 1rem;
}

/* Monthly section */
.cfg-month {
  flex: 1 1 300px;
  border: 1px solid #ddd;
  padding: 1rem;
  background-color: #fafafa;
  border-radius: 6px;
}

/* Month heading */
.cfg-month h3 {
  margin-top: 0;
  font-size: 1.2rem;
  color: #333;
}

/* Row of cards */
.cfg-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

/* Individual card */
.cfg-card {
  flex: 1 1 180px;
  border-radius: 6px;
  padding: 0.75rem;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  border: 1px solid #ccc;
  background-color: #fff;
}

/* Expanded card */
.cfg-card.expanded {
  background-color: #f0f8ff;
  border-color: #339;
}

/* Summary block */
.cfg-card .summary {
  font-weight: bold;
  margin-bottom: 0.5rem;
}

/* Details block */
.cfg-card .details {
  display: none;
  font-size: 0.9rem;
  line-height: 1.4;
}

/* Show details when expanded */
.cfg-card.expanded .details {
  display: block;
}

/* Placeholder: no event assigned */
.cfg-card.blank {
  background-color: #ffffff;
  color: #999;
  font-style: italic;
}

/* Placeholder summary */
.cfg-card.blank .summary {
  font-style: italic;
  color: #777;
}

/* Explicit no meeting */
.cfg-card.none {
   background-color: #999999; /* Darker grey */
  color: #222;
  font-style: italic;
}

/* No meeting summary */
.cfg-card.none .summary {
   font-style: italic;
  color: #333;
}

/* Club event */
.cfg-card.club {
  background-color: #e0f7fa;
  color: #006064;
}

/* Guest event */
.cfg-card.guest {
  background-color: #fce4ec;
  color: #880e4f;
}

/* Special event */
.cfg-card.special {
  background-color: #fff3e0;
  color: #e65100;
}

/* Year selector */
.cfg-year-selector {
  margin-bottom: 1rem;
}

.cfg-year-selector select {
  padding: 0.4rem;
  font-size: 1rem;
}

/* Responsive tweaks */
@media (max-width: 600px) {
  .cfg-card {
    flex: 1 1 100%;
  }
}

.cfg-card .details strong {
  display: block;
  margin-top: 0.5rem;
  color: #444;
}

.cfg-next-events { margin: 1rem 0; }
.cfg-next-event { border: 1px solid #e0e0e0; padding: 0.75rem; margin-bottom: 0.5rem; border-radius: 6px; background: #fff; }
.cfg-next-event-header { margin-bottom: 0.35rem; }
.cfg-next-event-body div { margin-top: 0.25rem; font-size: 0.95rem; color: #333; }
