/* ========================================
   高松公園：共通スタイル
   Snow Monkey / Snow Monkey Blocks
======================================== */

/* カラートークン・デザイン基準 */
:root {
  --color-primary: #286044;
  --color-secondary: #72a84f;
  --color-accent: #e8893a;
  --color-text: #333832;
  --color-text-light: #70756f;
  --color-border: #d9ded8;
  --color-bg-green: #f1f6ee;
  --color-bg-light: #fafaf7;
  --container-width: 1200px;
  --content-width: 880px;
  --radius-card: 12px;
  --radius-image: 16px;
  --radius-tag: 8px;
  --section-space: 110px;
}

/* ========================================
   固定ページ：ページタイトル（H1）
======================================== */
.page .c-entry__header {
  background-color: var(--color-bg-green);
  padding: 48px 40px;
  margin-bottom: 64px;
  border-radius: 12px;
}

.page .c-entry__title {
  color: var(--color-primary);
  font-size: clamp(30px, 3vw, 40px);
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

/* ========================================
   下層ページ：セクション間の余白
======================================== */
.page .c-entry__content>.smb-section {
  padding-top: 40px;
  padding-bottom: 40px;
}

/* ========================================
   セクション見出し（H2）
   Snow Monkey Blocks「装飾なしタイトル」
======================================== */
.smb-section.is-style-smb-section-undecorated-title .smb-section__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  text-align: left;
  padding-bottom: 20px;
  margin-bottom: 40px;
  border-bottom: 1px solid var(--color-border);
}

.smb-section.is-style-smb-section-undecorated-title .smb-section__title {
  order: 1;
  margin: 0;
  color: var(--color-primary);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.5;
}

.smb-section.is-style-smb-section-undecorated-title .smb-section__subtitle {
  order: 2;
  margin-top: 6px;
  color: var(--color-secondary);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
}

/* Snow Monkeyの装飾線を表示しない */
.smb-section.is-style-smb-section-undecorated-title .smb-section__header::after {
  content: none;
}

/* ========================================
   標準見出し（H3・H4）
======================================== */
.wp-block-heading.is-style-plain:is(h3) {
  color: var(--color-text);
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 700;
  line-height: 1.5;
  padding-left: 14px;
  border-left: 4px solid var(--color-secondary);
}

.wp-block-heading.is-style-plain:is(h4) {
  color: var(--color-text);
  font-size: clamp(18px, 1.8vw, 20px);
  font-weight: 700;
  line-height: 1.6;
}

/* ========================================
   情報ブロック
   追加CSSクラス：park-information-table
======================================== */
.park-information-table {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  overflow: hidden;
}

.park-information-table .smb-information__item {
  margin: 0;
  padding: 0;
}

.park-information-table .smb-information__item+.smb-information__item {
  border-top: 1px solid var(--color-border);
}

/* Snow Monkeyの行の隙間を解除 */
.park-information-table .smb-information__item>.c-row {
  --_gap: 0px;
  --_row-gap: 0px;
  --_column-gap: 0px;
  margin: 0;
}

.park-information-table .smb-information__item__label,
.park-information-table .smb-information__item__body {
  padding: 16px 20px;
  margin: 0;
}

.park-information-table .smb-information__item__label {
  background-color: var(--color-bg-green);
  color: var(--color-primary);
  font-weight: 700;
  height: 100%;
}

.park-information-table .smb-information__item__body {
  background-color: #fff;
  color: var(--color-text);
}

.park-information-table .smb-information__item__body>p {
  margin: 0;
}

/* Snow Monkeyの標準paddingより優先させる */
@media (min-width: 640px) {

  .park-information-table.smb-information:not([data-sm-split-column="true"]) .smb-information__item__label,
  .park-information-table.smb-information:not([data-sm-split-column="true"]) .smb-information__item__body {
    padding: 14px 20px;
    box-sizing: border-box;
  }
}

/* PC：背景を行の高さ全体に表示 */
@media (min-width: 768px) {
  .park-information-table .smb-information__item .c-row__col {
    padding-top: 0;
    padding-bottom: 0;
  }
}

/* スマホ：項目名と値を縦並びで表示 */
@media (max-width: 639px) {
  .park-information-table.smb-information .smb-information__item__label {
    padding: 10px 16px;
    box-sizing: border-box;
  }

  .park-information-table.smb-information .smb-information__item__body {
    padding: 12px 16px;
    box-sizing: border-box;
  }
}

/* ========================================
   関連リンク
   追加CSSクラス：park-related-links
======================================== */
.park-related-links {
  list-style: none;
  padding: 0;
  margin: 0;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  overflow: hidden;
}

.park-related-links>li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.park-related-links>li+li {
  border-top: 1px solid var(--color-border);
}

.park-related-links>li>a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 24px;
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.park-related-links>li>a::after {
  content: "→";
  flex-shrink: 0;
  font-size: 20px;
  line-height: 1;
}

.park-related-links>li>a:hover {
  background-color: var(--color-bg-green);
}

.park-related-links>li>a:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -3px;
}

/* ========================================
   スマートフォン共通調整
======================================== */
@media (max-width: 767px) {
  .page .c-entry__header {
    padding: 32px 24px;
    margin-bottom: 40px;
    border-radius: 8px;
  }

  .page .c-entry__content>.smb-section {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .smb-section.is-style-smb-section-undecorated-title .smb-section__header {
    padding-bottom: 16px;
    margin-bottom: 28px;
  }

  .smb-section.is-style-smb-section-undecorated-title .smb-section__subtitle {
    font-size: 12px;
  }

  .park-related-links>li>a {
    padding: 16px;
  }
}

/* ========================================
   園内スポット：共通レイアウト
   セクションの「追加CSSクラス」に設定

   park-spot-grid    ：自然・散策／広場・遊具・施設
   park-spot-history ：歴史・記念碑・彫刻
======================================== */

/* 2列カード：PCでの段と段の間隔 */
.park-spot-grid .smb-section__body>.wp-block-columns+.wp-block-columns {
  margin-top: 48px;
}

/* 歴史スポット：2件目以降の区切り線と余白 */
.park-spot-history .smb-section__body>.wp-block-columns+.wp-block-columns {
  margin-top: 48px;
  padding-top: 48px;
  border-top: 1px solid var(--color-border);
}

/* WordPress標準カラムが縦並びになる画面幅 */
@media (max-width: 781px) {

  /* 2列カード：同じ段の左右スポットの間隔 */
  .park-spot-grid .wp-block-columns {
    gap: 40px;
  }

  /* 2列カード：段と段の間隔 */
  .park-spot-grid .smb-section__body>.wp-block-columns+.wp-block-columns {
    margin-top: 40px;
  }

  /* 歴史スポット：スポット間の区切り */
  .park-spot-history .smb-section__body>.wp-block-columns+.wp-block-columns {
    margin-top: 40px;
    padding-top: 40px;
  }

  /* 歴史スポット：写真と解説文の間隔 */
  .park-spot-history .wp-block-columns {
    gap: 24px;
  }
}