/* Public calendar views only. */
.calendar-grid { grid-auto-rows: auto; align-items: stretch; }
.calendar-grid .media-card, .calendar-grid .media-card-body { min-height: 0; }
.calendar-recurrence { margin-bottom: 16px; color: var(--green-dark); font-size: .8125rem; }
.calendar-links { display: flex; flex-wrap: wrap; gap: 16px 32px; margin-bottom: 16px; }
.calendar-links a { text-decoration: underline; color: var(--green-dark); }
.calendar-timezone { margin-bottom: 32px; font-size: .875rem; color: var(--muted); }
.calendar-card .eyebrow { line-height: 1.6; }
.calendar-card .media-card-meta { margin-bottom: 16px; }
.calendar-rows { list-style: none; margin: 0; padding: 0; }
.calendar-rows li { display: grid; grid-template-columns: 144px minmax(0, 1fr); gap: 24px; padding-block: 16px; border-top: 1px solid var(--line); align-items: baseline; }
.calendar-rows time { font-size: .875rem; }
.calendar-rows a { overflow-wrap: anywhere; }
.calendar-rows li:last-child { border-bottom: 1px solid var(--line); }
@media (max-width: 767px) {
 .calendar-links { flex-direction: column; gap: 16px; }
 .calendar-rows li { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}
