/* ==========================================================================
   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);
}
/* 이벤트 기간 — 옅은 띠. 시작일 · 종료일과 주의 양 끝(일 · 토)은 둥글게. 띠는 칸 글자 뒤에 깐다(td 가 쌓임 맥락) */
.cal-table td.ev-in { z-index: 0; }
.cal-table td.ev-in::before {
  content: ''; position: absolute; z-index: -1;
  left: 0; right: 0; top: 3px; bottom: 3px;
  background: var(--sky-100);
}
.cal-table td.ev-s::before, .cal-table td.ev-in:first-child::before { left: 3px; border-top-left-radius: 12px; border-bottom-left-radius: 12px; }
.cal-table td.ev-e::before, .cal-table td.ev-in:last-child::before { right: 3px; border-top-right-radius: 12px; border-bottom-right-radius: 12px; }
.cal-table td.ev-in:not(.today) { font-weight: 600; color: var(--sky-t2); }
.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; }
