/* Public styles for Saint of the Day */
.csotd-card { border:1px solid #e5e7eb; padding:16px; border-radius:12px; margin:16px 0; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.csotd-card__header { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.csotd-title { margin:0; font-size:1.25rem; }
.csotd-rank { background:#eef2ff; color:#3730a3; padding:2px 8px; border-radius:999px; font-size:.8rem; }
.csotd-card__body { display:flex; gap:12px; }
.csotd-image img { max-width:140px; height:auto; border-radius:8px; display:block; }
.csotd-excerpt { margin-bottom:6px; }
.csotd-readmore { display:inline-block; margin-top:8px; }

/* Calendar */
.csotd-cal { border:1px solid #e5e7eb; border-radius:12px; background:#fff; overflow:hidden; }
.csotd-cal__header { padding:12px 16px; background:#f8fafc; border-bottom:1px solid #e5e7eb; }
.csotd-cal__grid { display:grid; grid-template-columns: repeat(7, 1fr); }
.csotd-cal__dow { padding:8px; background:#f1f5f9; font-weight:600; border-bottom:1px solid #e5e7eb; }
.csotd-cal__cell { padding:8px; min-height:80px; border-bottom:1px solid #f1f5f9; border-right:1px solid #f1f5f9; }
.csotd-cal__cell--empty { background:#fafafa; }
.csotd-cal__date { font-weight:600; margin-bottom:4px; }
.csotd-cal__saint { font-size:.9rem; line-height:1.2; }
