   Minimal layout & behavior rules only — theme controls colors.
*/

/* page body constraints */
body { background: #fff; }

/* event card image sizing (works with Bootstrap .card-img-top or .card-image img) */
.event-card .card-image img,
.event-card .card-img-top {
  object-fit: cover;
  height: 180px;
  width: 100%;
}

/* keep previous event-blurb behaviour */
.event-blurb { min-height: 3.6em; }

/* allow wrapping of card titles/subtitles */
.card .title, .card .subtitle, .card .h6, .card .card-title {
  white-space: normal;
  word-break: break-word;
}

/* calendar grid: 7 columns, responsive */
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  align-items: stretch;
  margin-top: 0.75rem;
}

/* weekday header styling (visual only; color left to theme) */
.calendar-headers .calendar-header {
  text-align: center;
  font-weight: 600;
  padding: 6px 8px;
  border-bottom: 1px solid #eee;
}

/* each day cell */
.calendar-cell {
  min-height: 84px;
  background: transparent;
  border: 1px solid #eee;
  border-radius: 6px;
  padding: 8px;
  box-shadow: none;
  display: flex;
  align-items: stretch;
}

/* empty cells keep layout but look subtle */
.calendar-cell.empty {
  background: transparent;
  border: 1px dashed #f0f0f0;
}

/* inner wrapper to layout day number and indicator */
.calendar-cell-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  justify-content: space-between;
}

/* day number top-left */
.calendar-daynum {
  font-size: 0.95rem;
}

/* small "View" button bottom-right */
.calendar-indicator {
  text-align: right;
}

/* highlight days with events (very subtle; color accents left to theme) */
/* make the outline for days-with-events visible but subtle; prefer theme vars when available */
.calendar-cell.has-events {
  background: rgba(0,0,0,0.02); /* subtle fill; keeps theme in control */
  border-style: solid;
  border-width: 1px;
  /* prefer Bootstrap/DOCS border color variable; fallback to a subtle neutral */
  border-color: var(--bs-border-color, rgba(0,0,0,0.12));
  box-shadow: none;
}r-color: rgba(0,0,0,0.06);
}

/* smaller cells on narrow screens */
@media (max-width: 700px) {
  .calendar-cell { min-height: 72px; padding: 6px; }
  .calendar-grid { gap: 6px; }
}

/* make sure headers align visually */
.calendar-header { padding-top: 10px; padding-bottom: 10px; }