/* ==========================================================================
   bf.calendar — 이벤트 캘린더

   전역 main.css '11-4. 캘린더' 에서 옮겨 왔다.

   ※ 위젯 껍데기(.widget · .widget-head · …)는 전역에 남긴다 — bf.rank 머리글 참고.
   ========================================================================== */

.cal-month { font-size: 14px; font-weight: 600; color: var(--ink-500); }
.cal-month em { font-weight: 700; color: var(--sky-t2); }
.cal-table { table-layout: fixed; }
.cal-table th {
  padding-bottom: 7px;
  font-size: 11.5px; font-weight: 600; color: var(--ink-400); text-align: center;
}
.cal-table th.sun { color: #EF6A63; }
.cal-table th.sat { color: var(--sky-t1); }
.cal-table td {
  height: 30px;
  font-family: var(--font-en);
  font-size: 12.5px; color: var(--ink-600); text-align: center;
  position: relative;
}
.cal-table td.sun { color: #EF6A63; }
.cal-table td.sat { color: var(--sky-t1); }
.cal-table td.off { color: transparent; }
.cal-table td.has-ev::after {
  content: ''; position: absolute; left: 50%; bottom: 3px;
  width: 4px; height: 4px; margin-left: -2px;
  border-radius: 50%; background: var(--point);
}
.cal-table td.today span {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--sky-500); color: #fff; font-weight: 700;
}
.cal-ev { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--line); }
.cal-ev li { display: flex; align-items: center; gap: 8px; padding: 4px 0; }
.cal-ev i {
  flex: none;
  font-family: var(--font-en);
  font-size: 11.5px; font-weight: 700; color: var(--sky-t2);
}
.cal-ev a {
  flex: 1 1 auto; min-width: 0;
  font-size: 12.5px; color: var(--ink-600);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cal-ev a:hover { color: var(--sky-t2); text-decoration: underline; }
