/* 北海道八十八ヶ所霊場 札所管理 共通スタイル */

/* ---- 地図 ---- */
.fudasho-map-wrap { margin: 1.5em 0; }
#fudasho-map { width: 100%; border-radius: 8px; z-index: 0; }
.fudasho-map-note { font-size: 0.85em; color: #666; margin-top: 0.5em; }

.fudasho-map-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.fudasho-filter {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 6px 14px; border: 1px solid #ccc; border-radius: 999px;
	background: #fff; cursor: pointer; font-size: 0.9em; line-height: 1.4;
}
.fudasho-filter.is-active { background: #333; color: #fff; border-color: #333; }

.fudasho-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; }
.fudasho-dot--hosshin { background: #2e7d32; }
.fudasho-dot--shugyo  { background: #1565c0; }
.fudasho-dot--bodai   { background: #6a1b9a; }
.fudasho-dot--nehan   { background: #e65100; }

.fudasho-popup p { margin: 0.2em 0; }
.fudasho-popup-no { font-weight: bold; }
.fudasho-popup-city { color: #666; font-size: 0.85em; }

/* ---- 一覧 ---- */
.fudasho-jump { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 1.5em 0; }
.fudasho-jump a {
	display: flex; flex-direction: column; align-items: center; gap: 2px;
	padding: 12px 8px; border: 1px solid #ddd; border-radius: 8px;
	text-decoration: none; color: inherit; text-align: center;
}
.fudasho-jump a:hover { background: #f7f7f7; }
.fudasho-jump small { color: #777; }

.fudasho-section { margin: 2.5em 0; }
.fudasho-section h2 { border-left: 6px solid #999; padding-left: 0.5em; }
.fudasho-section--hosshin h2 { border-color: #2e7d32; }
.fudasho-section--shugyo  h2 { border-color: #1565c0; }
.fudasho-section--bodai   h2 { border-color: #6a1b9a; }
.fudasho-section--nehan   h2 { border-color: #e65100; }
.fudasho-range { font-size: 0.7em; color: #777; font-weight: normal; margin-left: 0.8em; }

.fudasho-cards {
	list-style: none; margin: 1em 0 0; padding: 0;
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
}
.fudasho-card a {
	display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center;
	padding: 10px 12px; border: 1px solid #e0e0e0; border-radius: 8px;
	text-decoration: none; color: inherit;
}
.fudasho-card a:hover { background: #fafafa; border-color: #bbb; }
.fudasho-card-no { font-weight: bold; white-space: nowrap; }
.fudasho-card-city { color: #777; font-size: 0.85em; white-space: nowrap; }

@media (max-width: 900px) { .fudasho-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
	.fudasho-cards { grid-template-columns: 1fr; }
	.fudasho-jump { grid-template-columns: repeat(2, 1fr); }
}

/* 道場アーカイブ(tax-dojo)のカードから投稿日を非表示にする。
   カードタイトルはtime要素ではないため、time要素と__date系を狙えば日付だけ消える。 */
.tax-dojo .p-postList__body time,
.tax-dojo .p-postList__meta,
.tax-dojo .p-postList time,
.tax-dojo [class*="postList__date"],
.tax-dojo [class*="postList__meta"] {
	display: none !important;
}

/* ---- 詳細ページ ---- */
.single-fudasho .fudasho-single { margin-top: 1.5em; }
.fudasho-single-badge { display: flex; gap: 8px; }
.fudasho-single-badge span {
	background: #f0ede6; border-radius: 4px; padding: 2px 10px; font-size: 0.9em;
}

/* 山号＋寺号(扁額風の見出し・中央寄せ・下罫線) */
.single-fudasho .fudasho-nameplate {
	text-align: center;
	margin: 1.2em 0 0;
	padding: 0 0 0.9em;
	border-bottom: 1px solid #d8d2c4;
	background: none;
}
.single-fudasho .fudasho-nameplate .fudasho-sango {
	margin: 0 0 0.1em; padding: 0;
	color: #6b6b5e; font-size: 1em; letter-spacing: 0.15em; line-height: 1.4;
	background: none; border: none;
	font-family: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
}
.single-fudasho .fudasho-nameplate .fudasho-temple-name {
	margin: 0; padding: 0; border: none; background: none;
	font-size: 1.9em; line-height: 1.3; letter-spacing: 0.1em; color: #3a3a34;
	font-family: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
}
.single-fudasho .fudasho-nameplate .fudasho-kana {
	margin: 0.2em 0 0; padding: 0; background: none; border: none;
	color: #8a8577; font-size: 0.8em; letter-spacing: 0.1em;
}
/* SWELLが見出しに付ける疑似要素(縦帯・下線など)を確実に打ち消す */
.single-fudasho .fudasho-nameplate .fudasho-temple-name::before,
.single-fudasho .fudasho-nameplate .fudasho-temple-name::after,
.single-fudasho .fudasho-nameplate .fudasho-sango::before,
.single-fudasho .fudasho-nameplate .fudasho-sango::after {
	display: none !important;
	content: none !important;
	border: none !important;
	background: none !important;
}

@media (max-width: 600px) {
	.single-fudasho .fudasho-nameplate .fudasho-temple-name { font-size: 1.6em; }
}

/* 御詠歌(表の手前・大きめ・清朝/明朝系フォント) */
.fudasho-goeika {
	margin: 1.2em 0 1.5em; padding: 1.4em 1em; text-align: center;
	background: #f8f6f0; border: 1px solid #e5e0d5; border-radius: 10px;
}
/* アイキャッチ写真(扁額直下・御詠歌の上) */
.fudasho-photo {
	margin: 1.4em 0; text-align: center;
}
.fudasho-photo img {
	max-width: 100%; height: auto; border-radius: 10px;
}
/* 本文欄(ブロックエディタ)は前半と後半のあいだに入る。
   本文はSWELLの標準スタイルがそのまま効くよう、余白だけを前後で確保する。 */
.single-fudasho .fudasho-single--head { margin-bottom: 2.2em; }
.single-fudasho .fudasho-single--foot { margin-top: 2.2em; }

/* 「歴史」見出し — 本文欄の直前にプラグインが自動出力する */
.fudasho-history-title {
	text-align: center; margin: 0 0 1.2em; padding: 0; border: none; background: none;
	font-size: 1.4em; letter-spacing: 0.3em; color: #3a3a34;
	font-family: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
}
.fudasho-history-title::after {
	content: ""; display: block; width: 2em; height: 2px;
	background: #c9a84a; margin: 0.4em auto 0;
}
.single-fudasho .fudasho-history-title::before {
	display: none !important; content: none !important;
}
/* 旧「解説(歴史)」メタを表示する場合の本文スタイル(移行後は使われない) */
.fudasho-history,
.fudasho-history-body {
	line-height: 1.9; color: #444;
}
.fudasho-history-body p { margin: 0 0 1em; }
.fudasho-goeika-label {
	margin: 0 0 0.6em; font-size: 0.8em; color: #8a8577; letter-spacing: 0.2em;
}
.fudasho-goeika-text {
	margin: 0; line-height: 2;
	/* OS標準の明朝で表示(Webフォント非依存でFOIT遅延を防ぐ) */
	font-family: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
	font-size: 1.5em; color: #3a3a34;
}
/* 各句: 途中で折り返さない。句と句の間に余白 */
.fudasho-goeika-text .fudasho-ku {
	display: inline-block;
	white-space: nowrap;
	margin: 0 0.4em;
}
/* 上の句・下の句のまとまり: PCでは横並び(1行に流す) */
.fudasho-goeika-text .fudasho-goeika-line {
	display: inline;
}

@media (max-width: 600px) {
	.fudasho-goeika { padding: 1.1em 0.6em; }
	.fudasho-goeika-text { font-size: 1.2em; line-height: 1.9; }
	/* スマホ: 上の句・下の句を別々の行にする */
	.fudasho-goeika-text .fudasho-goeika-line {
		display: block;
	}
	.fudasho-goeika-text .fudasho-ku { margin: 0 0.25em; }
}

.fudasho-info { width: 100%; border-collapse: collapse; margin: 1em 0; }
.fudasho-info th, .fudasho-info td { border: 1px solid #e0e0e0; padding: 8px 12px; text-align: left; vertical-align: top; }
.fudasho-info th { width: 9em; background: #f8f7f4; font-weight: 600; }

.fudasho-map-links { display: flex; gap: 10px; flex-wrap: wrap; }
.fudasho-btn {
	display: inline-block; padding: 8px 16px; border-radius: 6px;
	background: #4a5d4a; color: #fff !important; text-decoration: none; font-size: 0.9em;
}
.fudasho-btn:hover { opacity: 0.85; }

.fudasho-prevnext { display: flex; justify-content: space-between; margin: 2em 0 0; padding-top: 1em; border-top: 1px solid #e0e0e0; }
.fudasho-prevnext a { text-decoration: none; }

@media (max-width: 600px) {
	.fudasho-info th { width: 7em; }
}
