/**
 * Schedule ページ専用 CSS
 * slug: schedule
 * body class: .page-id-XXX または .page-template-page-schedule
 *
 * ルール追加時は必ずページスコープを付けること。
 * 例: body.page-template-page-schedule .ms-schedule { ... }
 *     body[class*="page-id-"] .ms-schedule { ... }
 *
 * 注意: .ms-calendar 系は join/about と共有のため、ここには含めない
 */

/* ===== Schedule ページ ベーススタイル ===== */
body.page-template-page-schedule .ms-schedule,
body[class*="page-id-"] .ms-schedule {
  line-height: 1.85;
}

body.page-template-page-schedule .ms-schedule__lead,
body[class*="page-id-"] .ms-schedule__lead {
  background: #fff7ee;
  border: 1px solid #ffe0bf;
  border-radius: 12px;
  padding: .9em 1em;
  margin: .6em 0 1.2em;
}

body.page-template-page-schedule .ms-schedule h2,
body[class*="page-id-"] .ms-schedule h2 {
  border-left: 6px solid var(--ms-orange);
  padding-left: .6em;
  margin: 1.4em 0 .6em;
  font-size: clamp(18px, 3.2vw, 24px);
}

/* ===== 次回の予定ボックス ===== */
body.page-template-page-schedule .ms-next,
body[class*="page-id-"] .ms-next {
  display: flex;
  align-items: center;
  gap: .6em;
  background: #fff7ee;
  border: 1px solid #ffd9b3;
  border-radius: 12px;
  padding: .7em .9em;
  margin: .6em 0 1em;
}

body.page-template-page-schedule .ms-badge,
body[class*="page-id-"] .ms-badge {
  background: #f39800;
  color: #fff;
  font-weight: 700;
  border-radius: 999px;
  padding: .2em .7em;
  font-size: .9em;
}

body.page-template-page-schedule .ms-next__body strong,
body[class*="page-id-"] .ms-next__body strong {
  color: #b45309;
}

/* ===== 表示切替タブ ===== */
body.page-template-page-schedule .ms-switch,
body[class*="page-id-"] .ms-switch {
  display: flex;
  gap: .5em;
  margin: .4em 0 8px;
  flex-wrap: wrap;
}

body.page-template-page-schedule .ms-tab,
body[class*="page-id-"] .ms-tab {
  padding: .38em .8em;
  border: 1px solid #eee;
  border-radius: 999px;
  text-decoration: none;
}

body.page-template-page-schedule .ms-tab:hover,
body[class*="page-id-"] .ms-tab:hover {
  background: #fff7ee;
  border-color: #ffd9b3;
}

body.page-template-page-schedule .ms-tab.is-active,
body[class*="page-id-"] .ms-tab.is-active {
  background: #f39800;
  color: #fff;
  border-color: #f39800;
}

/* ===== 凡例（表示の見方） ===== */
body.page-template-page-schedule .ms-legend,
body[class*="page-id-"] .ms-legend {
  text-align: center;
}

body.page-template-page-schedule .ms-legend strong,
body[class*="page-id-"] .ms-legend strong {
  display: block;
  margin-bottom: 8px;
  font-size: 1.1em;
}

body.page-template-page-schedule .ms-legend ul,
body[class*="page-id-"] .ms-legend ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-left: 0;
  justify-content: center;
  list-style: none;
}

body.page-template-page-schedule .ms-legend li,
body[class*="page-id-"] .ms-legend li {
  margin: 0;
}

/* ===== ページレイアウト ===== */
body.page-template-page-schedule .l-container.ms-schedule,
body[class*="page-id-"] .l-container.ms-schedule {
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 16px;
}

@media (min-width: 1025px) {
  body.page-template-page-schedule .l-container.ms-schedule > *,
  body[class*="page-id-"] .l-container.ms-schedule > * {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 1024px) {
  body.page-template-page-schedule .l-container.ms-schedule > *,
  body[class*="page-id-"] .l-container.ms-schedule > * {
    width: 100%;
  }
}

/* タブレット幅上書き */
@media (min-width: 769px) and (max-width: 1024px) {
  body.page-template-page-schedule .l-container.ms-schedule > *,
  body[class*="page-id-"] .l-container.ms-schedule > * {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 768px) {
  body.page-template-page-schedule .l-container.ms-schedule > *,
  body[class*="page-id-"] .l-container.ms-schedule > * {
    width: 100%;
  }
}

/* ===== 次回予定：2行レイアウト詳細 ===== */
body.page-template-page-schedule .ms-next__date,
body[class*="page-id-"] .ms-next__date {
  line-height: 1.45;
  color: #b45309;
}

body.page-template-page-schedule .ms-next__title,
body[class*="page-id-"] .ms-next__title {
  margin-top: .15em;
  line-height: 1.6;
}

body.page-template-page-schedule .ms-next__loc,
body[class*="page-id-"] .ms-next__loc {
  color: #555;
  font-weight: 400;
}

body.page-template-page-schedule .ms-next__row1,
body[class*="page-id-"] .ms-next__row1 {
  line-height: 1.5;
}

body.page-template-page-schedule .ms-next__row2,
body[class*="page-id-"] .ms-next__row2 {
  margin-top: .15em;
  line-height: 1.6;
  color: #555;
  font-size: .95em;
}
