/* ===================================================
   schedule.css  ― スケジュールページ
   15〜21 対応
   =================================================== */

.schedule-page-wrap { padding: 48px 0 80px; }

/* ===== 17: 表示切り替えボタン ===== */
.schedule-view-toggle {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.schedule-toggle-btn {
  padding: 9px 20px;
  border-radius: 9999px;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .06em;
  border: 2px solid var(--group-primary, #FF6B9D);
  background: transparent;
  color: var(--group-primary, #FF6B9D);
  cursor: pointer;
  transition: all .2s;
}
.schedule-toggle-btn.active,
.schedule-toggle-btn:hover {
  background: var(--group-primary, #FF6B9D);
  color: #fff;
}

/* ===== 20: 月ヘッダー「●年●月」===== */
.schedule-month-header {
  margin: 40px 0 12px;
  padding-bottom: 10px;
  border-bottom: 3px solid var(--group-primary, #FF6B9D);
}
.schedule-month-header:first-child { margin-top: 0; }
.schedule-month-title {
  font-family: var(--group-font-en, 'Playfair Display', serif);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--group-primary, #FF6B9D);
  letter-spacing: .06em;
}

/* ===== 16: schedule-item をリンク要素として統一 ===== */
a.schedule-item,
.schedule-item {
  display: grid;
  grid-template-columns: 72px 1fr 32px;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  background: var(--group-white, #fff);
  border: 2px solid var(--group-border, #F4C6DB);
  border-radius: 14px;
  margin-bottom: 10px;
  transition: all .22s ease;
  cursor: pointer;
  color: var(--group-text, #3D2040);
}
a.schedule-item:hover,
.schedule-item:hover {
  border-color: var(--group-primary, #FF6B9D);
  box-shadow: 0 6px 20px rgba(0,0,0,.09);
  transform: translateY(-2px);
  opacity: 1;
}

/* ===== 18: 過去イベントは塗り潰しなし ===== */
a.schedule-item.is-past,
.schedule-item.is-past {
  opacity: .6;
  background: var(--group-white, #fff); /* 塗り潰しなし */
}
a.schedule-item.is-past .schedule-item-date {
  background: transparent;
  border: 2px solid var(--group-primary, #FF6B9D);
}
a.schedule-item.is-past .schedule-item-month,
a.schedule-item.is-past .schedule-item-day,
a.schedule-item.is-past .schedule-item-dow {
  color: var(--group-primary, #FF6B9D);
}

/* 日付ブロック */
.schedule-item-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--group-primary, #FF6B9D);
  border-radius: 10px;
  padding: 8px 6px;
  min-width: 64px;
  flex-shrink: 0;
  height: 68px;
}
.schedule-item-month {
  font-size: .65rem;
  color: rgba(255,255,255,.9);
  font-weight: 700;
}
.schedule-item-day {
  font-size: 1.9rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.05;
}
.schedule-item-dow {
  font-size: .65rem;
  color: rgba(255,255,255,.9);
  font-weight: 700;
}

/* 内容 */
.schedule-item-body { flex: 1; min-width: 0; }
.schedule-item-title {
  font-size: .98rem;
  font-weight: 700;
  color: var(--group-text, #3D2040);
  margin-bottom: 5px;
  line-height: 1.45;
}
.schedule-item-time,
.schedule-item-venue {
  font-size: .8rem;
  color: var(--group-text-light, #9E7AA5);
  margin-bottom: 3px;
}
.schedule-item-desc {
  font-size: .78rem;
  color: var(--group-text-light, #9E7AA5);
  margin-top: 4px;
  line-height: 1.55;
}

/* 矢印（16: 詳細ボタン削除 → 矢印のみ） */
.schedule-item-arrow {
  font-size: 1.4rem;
  color: var(--group-primary, #FF6B9D);
  font-weight: 700;
  text-align: right;
  flex-shrink: 0;
}

/* ===== 21: グループ別カラー ===== */

/* パピプペポ */
body.page-template-template-papipupepo .schedule-month-title,
body.page-template-template-papipupepo .schedule-month-header { border-color: #e91e8c; }
body.page-template-template-papipupepo .schedule-item-date   { background: #e91e8c; }
body.page-template-template-papipupepo .schedule-toggle-btn  { border-color: #e91e8c; color: #e91e8c; }
body.page-template-template-papipupepo .schedule-toggle-btn.active,
body.page-template-template-papipupepo .schedule-toggle-btn:hover { background: #e91e8c; color: #fff; }
body.page-template-template-papipupepo a.schedule-item:hover,
body.page-template-template-papipupepo .schedule-item:hover   { border-color: #e91e8c; }
body.page-template-template-papipupepo a.schedule-item.is-past .schedule-item-date { border-color: #e91e8c; }
body.page-template-template-papipupepo a.schedule-item.is-past .schedule-item-month,
body.page-template-template-papipupepo a.schedule-item.is-past .schedule-item-day,
body.page-template-template-papipupepo a.schedule-item.is-past .schedule-item-dow  { color: #e91e8c; }

/* KACHIDOKI */
body.page-template-template-kachidoki .schedule-month-title,
body.page-template-template-kachidoki .schedule-month-header { border-color: #FF6B9D; }
body.page-template-template-kachidoki .schedule-item-date   { background: #FF6B9D; }
body.page-template-template-kachidoki .schedule-toggle-btn  { border-color: #FF6B9D; color: #FF6B9D; }
body.page-template-template-kachidoki .schedule-toggle-btn.active,
body.page-template-template-kachidoki .schedule-toggle-btn:hover { background: #FF6B9D; color: #fff; }
body.page-template-template-kachidoki a.schedule-item:hover,
body.page-template-template-kachidoki .schedule-item:hover   { border-color: #FF6B9D; }

/* Corporate */
body.page-template-template-corporate .schedule-month-title,
body.page-template-template-corporate .schedule-month-header { border-color: #7e2bc9; }
body.page-template-template-corporate .schedule-item-date   { background: #7e2bc9; }
body.page-template-template-corporate .schedule-toggle-btn  { border-color: #7e2bc9; color: #7e2bc9; }
body.page-template-template-corporate .schedule-toggle-btn.active,
body.page-template-template-corporate .schedule-toggle-btn:hover { background: #7e2bc9; color: #fff; }

/* Pcycle */
body.page-template-template-pcycle .schedule-month-title,
body.page-template-template-pcycle .schedule-month-header { border-color: #7c3aed; }
body.page-template-template-pcycle .schedule-item-date   { background: #7c3aed; }
body.page-template-template-pcycle .schedule-toggle-btn  { border-color: #7c3aed; color: #7c3aed; }
body.page-template-template-pcycle .schedule-toggle-btn.active,
body.page-template-template-pcycle .schedule-toggle-btn:hover { background: #7c3aed; color: #fff; }

/* ===== SP ===== */
@media (max-width: 600px) {
  a.schedule-item, .schedule-item {
    grid-template-columns: 60px 1fr 24px;
    gap: 12px; padding: 14px 16px;
  }
  .schedule-item-date { min-width: 52px; height: 60px; }
  .schedule-item-day  { font-size: 1.5rem; }
  .schedule-toggle-btn { font-size: .78rem; padding: 7px 14px; }
}
