/* css/festival-calendar.css — NOLTRIP-HOME-5ITEMS §2(2026-09-07). 색·크기·그림자는 전부
   tokens-ksk.css 변수만 참조(하드코딩 색 금지). festival.html 전용. */
.fcal-header {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  max-width: var(--ksk-desktop-max); margin: 16px auto 10px; padding: 0 20px;
}
.fcal-title { font-size: var(--ksk-fs-h2); font-weight: var(--ksk-fw-h2); color: var(--ksk-heading-ink); margin: 0; }
.fcal-nav {
  border: none; background: var(--ksk-page-bg); box-shadow: var(--ksk-shadow-md);
  width: 36px; height: 36px; border-radius: 50%; cursor: pointer; font-size: 16px; color: var(--ksk-text-primary);
}
.fcal-weekdays {
  display: grid; grid-template-columns: repeat(7, 1fr); max-width: var(--ksk-desktop-max);
  margin: 0 auto; padding: 0 20px; font-size: 12px; font-weight: 700; color: var(--ksk-text-muted); text-align: center;
}
.fcal-grid {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px;
  max-width: var(--ksk-desktop-max); margin: 6px auto 24px; padding: 0 20px;
}
.fcal-cell {
  position: relative; min-height: 84px; border: 1px solid var(--ksk-border); border-radius: 8px; padding: 4px;
  display: flex; flex-direction: column; gap: 2px; background: var(--ksk-page-bg);
}
.fcal-cell-empty { border: none; background: transparent; }
.fcal-cell-today { border-color: var(--ksk-brand); background: var(--ksk-brand-light); }
.fcal-daynum { font-size: 11px; font-weight: 700; color: var(--ksk-text-muted); }
.fcal-cell-today .fcal-daynum { color: var(--ksk-brand); }
/* ★D(BRIEF_LOOK_DUALIZE_20260907 §D, 2AI 개선권고 수리) — 축제 있는 날에만 보이지 않는
   히트 버튼(.fcal-cell-hit)을 첫 자식으로 추가해 셀 전체를 클릭 레이어로 확대한다
   (target-size 실측 0 → 셀 min-height 84px/58px 확보로 해소). 날짜숫자(.fcal-daynum)는
   시각 레이아웃을 그대로 유지하려고 일반 <span>(정상 플로우)으로 남겨뒀다 — 이 span
   자체를 버튼화했더니 플로우에서 빠지며 칩들이 위로 당겨져 겹치는 레이아웃 버그가
   Playwright 실측으로 드러나 별도 엘리먼트 방식으로 바꿨다. 칩(.fcal-chip)·+N
   라벨(.fcal-more)은 z-index로 히트 버튼 위에 남겨 각자 클릭/표시가 유지되게 한다 —
   날짜/빈영역 클릭은 그날 목록을, 칩 클릭은 그 축제로 직행(혼동 없게 분리, §D 예시 그대로). */
.fcal-cell-hit {
  position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; margin: 0; padding: 0;
  border: none; background: none; cursor: pointer;
}
.fcal-daynum, .fcal-chip, .fcal-more { position: relative; z-index: 1; }
/* ★D — 날짜숫자·+N 라벨은 그 위에서 클릭을 "가로채지 않는다"(pointer-events:none) — 클릭이
   그대로 아래 .fcal-cell-hit 로 통과해 그날 목록이 열린다("날짜숫자/빈영역 클릭"에 +N 라벨
   위 클릭도 포함시킨 것 — 별도 인터랙션을 만들지 않고 하나로 합쳐 혼동을 줄였다). 칩만
   기본값(pointer-events:auto)을 유지해 place.html 직행이 독립적으로 동작한다. */
.fcal-daynum, .fcal-more { pointer-events: none; }
.fcal-chip {
  display: block; font-size: 10px; background: var(--ksk-brand-light); color: var(--ksk-brand-hover);
  border-radius: 4px; padding: 1px 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.fcal-cell-today .fcal-chip { background: var(--ksk-page-bg); }
/* ★Q1(BRIEF_HOME_FOLLOWUP_20260907) — +N 은 §D 부터 다시 순수 표시용 텍스트다(탭 진입점은
   .fcal-cell-hit 이 전담 — §D 근거). */
.fcal-more { font-size: 10px; color: var(--ksk-text-muted); }

/* ★Q1 — 날짜 상세 패널(#festivalCalendar 내부, 그리드 아래). */
.fcal-daylist {
  max-width: var(--ksk-desktop-max); margin: 0 auto 24px; padding: 16px 20px;
  border: 1px solid var(--ksk-border); border-radius: 8px; background: var(--ksk-page-bg); box-shadow: var(--ksk-shadow-md);
}
.fcal-daylist-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.fcal-daylist-title { font-size: var(--ksk-fs-body); font-weight: 800; color: var(--ksk-heading-ink); margin: 0; }
.fcal-daylist-close {
  border: none; background: var(--ksk-brand-light); color: var(--ksk-brand); border-radius: 6px;
  padding: 4px 10px; font-size: 12px; font-weight: 700; cursor: pointer;
}
.fcal-daylist-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px; }
.fcal-daylist-item { font-size: var(--ksk-fs-body); }
.fcal-daylist-link { color: var(--ksk-brand-hover); font-weight: 700; }

@media (max-width: 480px) {
  .fcal-header, .fcal-weekdays, .fcal-grid { padding: 0 10px; }
  .fcal-cell { min-height: 58px; padding: 2px; }
  .fcal-chip, .fcal-more { font-size: 9px; }
  .fcal-daynum { font-size: 10px; }
  .fcal-daylist { padding: 12px 10px; }
  .fcal-daylist-list { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
}
