.calendar-article-card { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 22px; margin-top: 20px; padding: 20px; border: 1px solid var(--line); border-radius: 10px; background: #fffefa; }
.calendar-article-picture .home-picture { margin: 0; }
.calendar-article-picture .home-picture > a { display: block; border-radius: 6px; }
.calendar-article-picture img { display: block; width: 100%; height: 180px; object-fit: contain; border-radius: 6px; background: #eeeee5; }
.calendar-article-picture figcaption { font-size: 11px; line-height: 1.6; color: var(--muted); overflow-wrap: anywhere; margin-top: 8px; }
.calendar-article-picture figcaption a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; }
.calendar-article-text { min-width: 0; }
.calendar-article-text .eyebrow { margin: 0 0 6px; font-size: 10px; }
.calendar-article-text h4 { font: 500 24px/1.3 var(--serif); margin: 0 0 12px; }
.calendar-article-text h4 a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.calendar-article-text h4 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.calendar-article-text > p:not(.eyebrow) { color: var(--muted); font-size: 13px; line-height: 1.7; margin: 0 0 10px; }
.calendar-article-text > .text-link { display: inline-flex; align-items: center; min-height: 44px; }
.reader-calendar-dates { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; margin: -6px 0 20px; color: var(--muted); font-size: 12px; }
.reader-calendar-dates a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 600; }
@media (max-width: 720px) {
  .calendar-article-card { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; padding: 14px; }
  .calendar-article-picture img { height: 150px; }
  .calendar-article-text h4 { font-size: 21px; }
}
@media print { .calendar-article-card, .reader-calendar-dates { display: none; } }
