/* ============================================================================
 * PCN イベントカレンダー — FullCalendar スタイル（ダーク / ライト）
 * 色は設定の値を CSS 変数（--pcn-accent / --pcn-today）で受け取る。
 * ========================================================================== */

.pcn-eventcal {
  --pcn-ff-en: 'Century Gothic', 'CenturyGothic', 'AppleGothic', 'URW Gothic', 'Avant Garde', sans-serif;
  --pcn-ff-jp: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'メイリオ', Meiryo, sans-serif;
  --pcn-accent: #fb6320;
  --pcn-today: rgba(251, 99, 32, 0.16);

  /* FullCalendar 共通変数（テーマで上書き） */
  --fc-event-bg-color: var(--pcn-accent);
  --fc-event-border-color: var(--pcn-accent);
  --fc-event-text-color: #fff;
  --fc-today-bg-color: var(--pcn-today);
  --fc-button-text-color: #fff;
  --fc-button-hover-bg-color: var(--pcn-accent);
  --fc-button-hover-border-color: var(--pcn-accent);
  --fc-button-active-bg-color: var(--pcn-accent);
  --fc-button-active-border-color: var(--pcn-accent);

  padding: 26px 30px 30px;
}

@media (max-width: 767px) {
  .pcn-eventcal { padding: 14px 12px 18px; }
}

/* ---- ツールバー ---- */
.pcn-eventcal .fc .fc-toolbar.fc-header-toolbar { margin-bottom: 20px; }
.pcn-eventcal .fc .fc-toolbar-title {
  font-family: var(--pcn-ff-jp);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.pcn-eventcal .fc .fc-button {
  padding: 4px 12px;
  font-size: 14px;
  font-weight: 700;
  text-transform: none;
  box-shadow: none !important;
}
.pcn-eventcal .fc .fc-button-primary:focus,
.pcn-eventcal .fc .fc-button-primary:not(:disabled):focus { box-shadow: none !important; }

@media (max-width: 767px) {
  .pcn-eventcal .fc .fc-toolbar.fc-header-toolbar { margin-bottom: 12px; flex-wrap: wrap; gap: 8px; }
  .pcn-eventcal .fc .fc-toolbar-title { font-size: 17px; }
}

/* ---- 曜日見出し・日付 ---- */
.pcn-eventcal .fc .fc-col-header-cell-cushion {
  padding: 8px 4px;
  font-family: var(--pcn-ff-en);
  font-size: 13px;
  letter-spacing: 0.06em;
}
.pcn-eventcal .fc .fc-daygrid-day-number {
  padding: 6px 8px;
  font-family: var(--pcn-ff-en);
  font-size: 13px;
}
.pcn-eventcal .fc .fc-day-other .fc-daygrid-day-top { opacity: 0.35; }

/* ---- イベント（チップ） ---- */
.pcn-eventcal .fc .fc-daygrid-event {
  padding: 2px 7px;
  margin: 1px 4px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: filter 0.2s ease;
}
.pcn-eventcal .fc .fc-daygrid-event:hover { filter: brightness(1.1); }
.pcn-eventcal .fc .fc-daygrid-more-link { font-size: 11px; font-weight: 700; color: var(--pcn-accent); }

/* ---- リスト表示 ---- */
.pcn-eventcal .fc .fc-list-event-title a { font-weight: 700; }
.pcn-eventcal .fc .fc-list-event-dot { border-color: var(--pcn-accent); }
.pcn-eventcal .fc .fc-list-event:hover td { filter: brightness(1.05); }

/* ============================================================================
 * ダークテーマ（既定）
 * ========================================================================== */
.pcn-eventcal--dark {
  --fc-border-color: rgba(255, 255, 255, 0.14);
  --fc-page-bg-color: #0e0e0e;
  --fc-neutral-bg-color: rgba(255, 255, 255, 0.04);
  --fc-list-event-hover-bg-color: rgba(255, 255, 255, 0.06);
  --fc-button-bg-color: rgba(255, 255, 255, 0.08);
  --fc-button-border-color: rgba(255, 255, 255, 0.22);

  background-color: #0e0e0e;
  color: #fff;
}
.pcn-eventcal--dark .fc .fc-col-header-cell { background-color: rgba(255, 255, 255, 0.04); }
.pcn-eventcal--dark .fc .fc-col-header-cell-cushion { color: rgba(255, 255, 255, 0.78); }
.pcn-eventcal--dark .fc .fc-daygrid-day-number { color: rgba(255, 255, 255, 0.85); }
.pcn-eventcal--dark .fc .fc-list-day-cushion { background-color: rgba(255, 255, 255, 0.06); }
.pcn-eventcal--dark .fc .fc-list,
.pcn-eventcal--dark .fc .fc-list-event-title a { color: #fff; }

/* ============================================================================
 * ライトテーマ
 * ========================================================================== */
.pcn-eventcal--light {
  --fc-border-color: #e2e2e2;
  --fc-page-bg-color: #ffffff;
  --fc-neutral-bg-color: #f5f5f5;
  --fc-list-event-hover-bg-color: #f5f5f5;
  --fc-button-bg-color: #f0f0f0;
  --fc-button-border-color: #cccccc;
  --fc-button-text-color: #333333;

  background-color: #ffffff;
  color: #1a1a1a;
  border: 1px solid #e2e2e2;
}
.pcn-eventcal--light .fc .fc-col-header-cell { background-color: #f5f5f5; }
.pcn-eventcal--light .fc .fc-col-header-cell-cushion { color: #555555; }
.pcn-eventcal--light .fc .fc-daygrid-day-number { color: #333333; }
.pcn-eventcal--light .fc .fc-list-day-cushion { background-color: #f5f5f5; }
.pcn-eventcal--light .fc .fc-list-event-title a { color: #1a1a1a; }
