/**
 * Theme Name:     Twenty Twenty-Five Child
 * Author:         the WordPress team
 * Template:       twentytwentyfive
 * Text Domain:    twenty-twenty-five-child
 * Description:    Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
 */

/* HTML5 hidden 属性を display:flex 等のレイアウト宣言に上書きされないよう強制 */
[hidden] { display: none !important; }

/* iOS Safari の type="search" のネイティブ装飾 (虫眼鏡/×) を消す */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { -webkit-appearance: none; }

/* モバイルでフォントを 2 回り大きく */
@media (max-width: 768px) {
	html { font-size: 17px; }
	.wp-block-post-content,
	.entry-content { font-size: 1.08rem; line-height: 1.85; }
	.wp-block-post-title,
	.entry-title { font-size: 1.6rem; line-height: 1.35; }
}

:root {
	--ok-coral: #FF6B6B;
	--ok-coral-dark: #E25555;
	--ok-turquoise: #06B6D4;
	--ok-turquoise-dark: #0891B2;
	--ok-banana: #FFE66D;
	--ok-deep-sea: #0E7490;
	--ok-ink: #1F2937;
	--ok-ink-soft: #475569;
	--ok-paper: #FFFCF5;
	--ok-sand: #FAF7F0;
	--ok-line: #E5E7EB;
	--ok-radius: 14px;
	--ok-radius-sm: 8px;
	--ok-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
	--ok-shadow-hover: 0 10px 28px rgba(15, 23, 42, 0.14);
}

body {
	background: var(--ok-paper);
	color: var(--ok-ink);
	-webkit-font-smoothing: antialiased;
}

/* ==========================================================================
   Single post: 投稿本文の装飾
   ========================================================================== */

/* 「ネット情報」バッジ — JS が h1/h2.entry-title 直下に挿入する */
.okispot-badge-survey {
	display: inline-block;
	background: var(--ok-banana);
	color: var(--ok-ink);
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.2em 0.7em;
	border-radius: 999px;
	margin-right: 0.6em;
	vertical-align: middle;
	letter-spacing: 0.05em;
}
.okispot-badge-visited {
	display: inline-block;
	background: var(--ok-coral);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.2em 0.7em;
	border-radius: 999px;
	margin-right: 0.6em;
	vertical-align: middle;
	letter-spacing: 0.05em;
}

/* h2 アクセント (左にコーラルバー) */
.entry-content h2,
.wp-block-post-content h2 {
	position: relative;
	padding-left: 0.7em;
	margin-top: 2.2em;
	border-bottom: 2px solid var(--ok-line);
	padding-bottom: 0.3em;
}
.entry-content h2::before,
.wp-block-post-content h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.15em;
	bottom: 0.4em;
	width: 5px;
	border-radius: 3px;
	background: linear-gradient(180deg, var(--ok-coral) 0%, var(--ok-turquoise) 100%);
}

/* 基本情報カード (the_content フィルタが <dl class="okispot-info"> を生成) */
.okispot-info {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 0.5em 1.2em;
	background: #fff;
	border: 1px solid var(--ok-line);
	border-left: 4px solid var(--ok-turquoise);
	border-radius: var(--ok-radius);
	padding: 1.2em 1.4em;
	margin: 1.5em 0;
	box-shadow: var(--ok-shadow);
}
.okispot-info dt {
	font-weight: 700;
	color: var(--ok-deep-sea);
	font-size: 0.9rem;
	padding-top: 0.2em;
}
.okispot-info dd {
	margin: 0;
	color: var(--ok-ink);
}
@media (max-width: 480px) {
	.okispot-info {
		grid-template-columns: 1fr;
		gap: 0.1em;
	}
	.okispot-info dt {
		margin-top: 0.6em;
	}
	.okispot-info dt:first-child {
		margin-top: 0;
	}
}

/* リンクボタン行 (公式 / 食べログ / Maps) */
.okispot-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6em;
	margin: 1.4em 0;
}
.okispot-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	background: var(--ok-turquoise);
	color: #fff !important;
	text-decoration: none !important;
	font-weight: 600;
	font-size: 0.9rem;
	padding: 0.55em 1.1em;
	border-radius: 999px;
	transition: background 0.15s ease, transform 0.15s ease;
}
.okispot-btn:hover {
	background: var(--ok-turquoise-dark);
	transform: translateY(-1px);
}
.okispot-btn::before {
	content: "→";
	font-weight: 800;
}

/* マップページ ([okispot_map] ショートコード) */
.okispot-map-all-wrap {
	margin: 1.5rem 0;
}
#okispot-map-all {
	border-radius: var(--ok-radius);
	box-shadow: var(--ok-shadow);
	overflow: hidden;
	background: var(--ok-line);
}
.okispot-map-all-count {
	margin: 0.6rem 0 0;
	color: var(--ok-ink-soft);
	font-size: 0.9rem;
	text-align: right;
}
.okispot-map-all-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.8rem;
}
.okispot-mapfilter {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45em 0.95em;
	background: #fff;
	border: 2px solid var(--c, #94a3b8);
	border-radius: 999px;
	font: inherit;
	font-size: 0.85rem;
	font-weight: 700;
	color: #1F2937;
	cursor: pointer;
	transition: all 0.15s ease;
}
.okispot-mapfilter:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08);
}
.okispot-mapfilter.is-on {
	background: var(--c);
	color: #fff;
}
.okispot-mapfilter.is-off {
	background: #fff;
	color: #94a3b8;
	border-color: #e5e7eb;
	opacity: 0.7;
}
.okispot-mapfilter__emoji {
	font-size: 1.05em;
	line-height: 1;
}
.okispot-mapfilter__count {
	font-size: 0.75em;
	font-weight: 600;
	opacity: 0.85;
}

/* ============================================================
   マップページ全画面レイアウト (body.okispot-map-page)
   - 既存ヘッダ (グローバルナビ) の下を全部マップに
   - コントロールパネルとカウンタはマップ上に absolute オーバーレイ
   ============================================================ */
/* グローバルナビを sticky で常時表示 (iOS では完全な no-scroll は不可なので
   スクロールしてもナビは消えないようにするアプローチ) */
body.okispot-map-page header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 252, 245, 0.95);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
/* WP admin bar が表示されている場合は admin bar の下にスティック */
body.okispot-map-page.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) {
	body.okispot-map-page.admin-bar header.wp-block-template-part { top: 46px; }
}
body.okispot-map-page .wp-block-post-title,
body.okispot-map-page .entry-title,
body.okispot-map-page .okispot-hero {
	display: none !important;
}
body.okispot-map-page .wp-block-post-content,
body.okispot-map-page .entry-content,
body.okispot-map-page main {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.okispot-map-page .okispot-map-all-wrap {
	position: relative;
	margin: 0;
}
body.okispot-map-page #okispot-map-all {
	/* 高さは JS で window.innerHeight - rect.top に動的セット (admin bar / header に依存しない) */
	border-radius: 0 !important;
	box-shadow: none !important;
	width: 100% !important;
}

/* コントロールパネルをマップ上に floating */
body.okispot-map-page .okispot-map-controls {
	position: absolute;
	top: 0.7rem;
	left: 0.7rem;
	right: 0.7rem;
	z-index: 10;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	pointer-events: none; /* 子要素のみクリック可 */
}
body.okispot-map-page .okispot-map-controls > * {
	pointer-events: auto;
}
body.okispot-map-page .okispot-map-search-toggle,
body.okispot-map-page .okispot-map-search-wrap,
body.okispot-map-page .okispot-mapfilter {
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	background-color: rgba(255, 255, 255, 0.94);
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
body.okispot-map-page .okispot-mapfilter.is-on {
	background-color: var(--c) !important; /* 選択時はカテゴリ色を維持 */
}

/* カウンタもオーバーレイ */
body.okispot-map-page .okispot-map-all-count {
	position: absolute;
	bottom: 0.8rem;
	right: 0.8rem;
	margin: 0;
	padding: 0.32rem 0.85rem;
	background: rgba(255, 255, 255, 0.94);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border-radius: 999px;
	font-size: 0.78rem;
	z-index: 10;
	box-shadow: 0 2px 6px rgba(0,0,0,0.18);
}

/* マップページではフッタを隠す (スクロール無し) */
body.okispot-map-page footer.wp-block-template-part,
body.okispot-map-page .wp-site-blocks > footer {
	display: none !important;
}

/* マップ コントロールパネル (新: 一行に search トグル + フィルタ chips) */
.okispot-map-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.6rem;
}

.okispot-map-search-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 0;
	background: #fff;
	color: var(--ok-deep, #0E7490);
	box-shadow: 0 2px 6px rgba(0,0,0,0.12);
	cursor: pointer;
	flex-shrink: 0;
	transition: all 0.15s ease;
}
.okispot-map-search-toggle:hover {
	background: linear-gradient(135deg, #06B6D4 0%, #0E7490 100%);
	color: #fff;
	transform: translateY(-1px);
}

.okispot-map-search-wrap {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45em 1em;
	background: #fff;
	border: 1px solid var(--ok-line);
	border-radius: 999px;
	color: #94a3b8;
	flex: 1 1 220px;
	min-width: 0;
	transition: all 0.15s ease;
	box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.okispot-map-search-wrap:focus-within {
	border-color: var(--ok-tide, #06B6D4);
	box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.18);
	color: var(--ok-deep, #0E7490);
}
.okispot-map-search-wrap input {
	flex: 1;
	font: inherit;
	font-size: 16px;
	border: 0;
	background: transparent;
	outline: none;
	color: var(--ok-ink, #1F2937);
	padding: 0.2em 0;
	min-width: 0;
}
.okispot-map-search-close {
	width: 26px;
	height: 26px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #94a3b8;
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.okispot-map-search-close:hover { background: #F3F4F6; color: #1F2937; }

/* ====================================
   フローティングナビ (検索 FAB + マップ FAB) + 検索オーバーレイ
   ==================================== */

.okispot-floatnav {
	position: fixed;
	z-index: 9000;
	top: max(1.1rem, env(safe-area-inset-top));
	right: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	align-items: flex-end;
	pointer-events: none; /* 子要素だけクリック可 */
}

.okispot-fab {
	pointer-events: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 0;
	background: rgba(255, 255, 255, 0.95);
	color: #0E7490;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.14), 0 1px 3px rgba(15, 23, 42, 0.08);
	cursor: pointer;
	text-decoration: none;
	transition: all 0.18s ease;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.okispot-fab:hover,
.okispot-fab:focus-visible {
	background: linear-gradient(135deg, #06B6D4 0%, #0E7490 100%);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(6, 182, 212, 0.35);
	outline: none;
}
.okispot-fab svg { display: block; }

/* 検索ボタンは1段目、マップは2段目 = ハンバーガーの「下」に来る位置関係。
   モバイルでハンバーガーが top-right ~16px のとき、検索が左、マップが下になるよう
   検索だけ右にオフセットせず、列方向で並べる。 */
.okispot-floatnav .okispot-fab--search {
	/* ハンバーガーの左側に置きたいので絶対位置にする */
	position: absolute;
	top: 0;
	right: 4rem; /* ハンバーガー幅 + マージン */
}
.okispot-floatnav .okispot-fab--map {
	/* ハンバーガーの下 */
	margin-top: 3.4rem;
}

/* 検索オーバーレイ */
.okispot-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 9500;
	background: rgba(15, 23, 42, 0.55);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: max(20vh, env(safe-area-inset-top)) 1rem 1rem;
	animation: okispot-fade-in 0.15s ease;
}
@keyframes okispot-fade-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}
.okispot-search-form {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	max-width: 560px;
	padding: 0.7em 1em;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
	color: #94a3b8;
}
.okispot-search-form__icon {
	flex-shrink: 0;
	color: var(--ok-deep);
}
.okispot-search-form input[type="search"] {
	flex: 1;
	font: inherit;
	font-size: 16px;
	border: 0;
	background: transparent;
	outline: none;
	color: var(--ok-ink);
	padding: 0.4em 0;
}
.okispot-search-form__submit {
	font: inherit;
	font-weight: 700;
	font-size: 0.9rem;
	padding: 0.45em 1.1em;
	background: linear-gradient(135deg, #06B6D4 0%, #0E7490 100%);
	color: #fff;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
}
.okispot-search-form__submit:hover { transform: translateY(-1px); box-shadow: 0 4px 10px rgba(6, 182, 212, 0.3); }
.okispot-search-form__close {
	font: inherit;
	font-size: 1.4rem;
	line-height: 1;
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #94a3b8;
	cursor: pointer;
}
.okispot-search-form__close:hover { background: #F3F4F6; color: #1F2937; }

body.okispot-search-open { overflow: hidden; }

/* 投稿末尾の地図 */
.okispot-map {
	width: 100%;
	height: 380px;
	margin: 2.4em 0 0.6em;
	border-radius: var(--ok-radius);
	box-shadow: var(--ok-shadow);
	overflow: hidden;
}
.okispot-map-caption {
	color: var(--ok-ink-soft);
	font-size: 0.85rem;
	margin: 0 0 1.5em;
	text-align: center;
}

/* レンタカー CTA を控えめに装飾 */
.entry-content h2:has(+ p:first-of-type strong),
.wp-block-post-content h2:has(+ p:first-of-type strong) {
	/* 適用は限定的、他で十分 */
}

/* ==========================================================================
   Archive / Home: カードグリッド (Twenty Twenty-Five の Query/Post block)
   ========================================================================== */

/* Query Loop の中の各 Post を画像メインのカード化
   - 画像がカード全面、タイトルは下部にオーバーレイ表示 */
.wp-block-query .wp-block-post {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	background: #fff;
	border: 1px solid var(--ok-line);
	border-radius: var(--ok-radius);
	overflow: hidden;
	box-shadow: var(--ok-shadow);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.wp-block-query .wp-block-post:hover {
	transform: translateY(-3px);
	box-shadow: var(--ok-shadow-hover);
}

/* グリッド */
.wp-block-query > ul.wp-block-post-template,
.wp-block-query > ul.is-layout-flow {
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1.2rem;
}

/* カード直下の要素は左右マージン無し (旧ルールを打ち消す) */
.wp-block-query .wp-block-post > * {
	margin: 0;
}

/* カテゴリ/アーカイブの Query Loop では post-content (記事本文) や excerpt 等が
   カード内に展開されてしまい、内側のラッパ wp-block-group.alignfull が
   position:relative + 巨大な高さを持つことで、配下の絶対配置 figure が
   カードでなくこのラッパに docking してしまう問題があった。
   - 本文系は非表示
   - 内側ラッパの positioning コンテキストを解除 → figure はカード(LI) に dock */
.wp-block-query .wp-block-post .wp-block-post-content,
.wp-block-query .wp-block-post .wp-block-post-excerpt,
.wp-block-query .wp-block-post .wp-block-post-date,
.wp-block-query .wp-block-post .wp-block-post-author {
	display: none !important;
}
.wp-block-query .wp-block-post > .wp-block-group {
	position: static !important;
	height: 100% !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* アイキャッチ画像 = カード全面に絶対配置 (親テーマの height:auto/aspect-ratio/inline aspect-ratio を上書き) */
.wp-block-query .wp-block-post .wp-block-post-featured-image {
	position: absolute !important;
	inset: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	height: auto !important;
	aspect-ratio: auto !important;
	display: block !important;
	overflow: hidden !important;
}
.wp-block-query .wp-block-post .wp-block-post-featured-image a,
.wp-block-query .wp-block-post .wp-block-post-featured-image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
}
.wp-block-query .wp-block-post .wp-block-post-featured-image img {
	aspect-ratio: auto !important;
	object-fit: cover !important;
	object-position: center center;
}

/* アイキャッチがない投稿のフォールバック (カード全面にハイビスカス) */
.wp-block-query .wp-block-post:not(:has(.wp-block-post-featured-image img))::before {
	content: "🌺";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 4.5rem;
	background: linear-gradient(135deg, var(--ok-banana) 0%, var(--ok-coral) 100%);
}

/* タイトル = 下部にグラデーション付きオーバーレイ */
.wp-block-query .wp-block-post .wp-block-post-title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	margin: 0;
	padding: 2.4rem 0.95rem 0.9rem;
	background: linear-gradient(to top, rgba(15, 23, 42, 0.9) 0%, rgba(15, 23, 42, 0.55) 50%, transparent 100%);
	color: #fff;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.4;
}
.wp-block-query .wp-block-post .wp-block-post-title a {
	color: #fff;
	text-decoration: none;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}
.wp-block-query .wp-block-post .wp-block-post-title a:hover {
	color: var(--ok-banana);
}

/* 抜粋・日付・著者はカードでは非表示 (画像優先デザイン) */
.wp-block-query .wp-block-post .wp-block-post-excerpt,
.wp-block-query .wp-block-post .wp-block-post-date,
.wp-block-query .wp-block-post .wp-block-post-author {
	display: none;
}

/* ネット情報バッジ = カード左上に絶対配置 (画像の上に乗る) */
.wp-block-query .wp-block-post > .okispot-badge-survey,
.wp-block-query .wp-block-post > .okispot-badge-visited {
	position: absolute;
	top: 0.55rem;
	left: 0.55rem;
	z-index: 3;
	margin: 0;
	display: inline-block;
	width: auto;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

/* ==========================================================================
   Front page: Hero + ジャンル別セクション
   ========================================================================== */

.wp-block-group.okispot-hero,
main .okispot-hero {
	background: linear-gradient(135deg, var(--ok-turquoise) 0%, var(--ok-coral) 100%) !important;
	padding: 3.5rem 1.5rem 3rem !important;
	margin: 0 0 2.5rem !important;
	border-radius: var(--ok-radius);
	color: #fff !important;
	max-width: none !important;
}
.okispot-hero .okispot-hero__title,
.okispot-hero h1 {
	color: #fff !important;
	font-size: clamp(2rem, 5vw, 3rem) !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em !important;
	margin: 0 auto 0.4em !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
	max-width: 720px;
}
.okispot-hero .okispot-hero__sub,
.okispot-hero p {
	color: #fff !important;
	font-size: 1.05rem !important;
	opacity: 0.95;
	margin: 0 auto !important;
	letter-spacing: 0.08em;
	max-width: 720px;
}

.okispot-section {
	margin-top: 3rem !important;
	margin-bottom: 1.5rem !important;
}
.okispot-section__title {
	display: flex;
	align-items: center;
	gap: 0.4em;
	font-size: 1.5rem !important;
	font-weight: 800 !important;
	margin-bottom: 1.2rem !important;
	padding-bottom: 0.5rem;
	border-bottom: 3px solid;
	border-image: linear-gradient(90deg, var(--ok-coral) 0%, var(--ok-turquoise) 50%, var(--ok-banana) 100%) 1;
}
.okispot-section__title::before {
	content: none; /* h2 の左バー装飾を打ち消し */
}
.okispot-section .wp-block-query {
	margin-bottom: 0.8rem;
}
.okispot-section__more {
	margin-top: 0.5rem !important;
}
.okispot-section__more a {
	display: inline-block;
	font-weight: 700;
	color: var(--ok-deep-sea);
	text-decoration: none;
	padding: 0.5em 1em;
	border-radius: 999px;
	background: var(--ok-sand);
	transition: background 0.15s ease;
}
.okispot-section__more a:hover {
	background: var(--ok-banana);
}

/* セクション内の Query Loop グリッドを 3列 → 2列 → 1列 に */
.okispot-section .wp-block-post-template.is-layout-grid {
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 1.6rem !important;
}
@media (max-width: 900px) {
	.okispot-section .wp-block-post-template.is-layout-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (max-width: 560px) {
	.okispot-section .wp-block-post-template.is-layout-grid {
		grid-template-columns: 1fr !important;
	}
}

/* 各セクションのカードを一回り大きく */
.okispot-section .wp-block-query .wp-block-post .wp-block-post-title {
	font-size: 1.2rem !important;
	line-height: 1.4 !important;
	margin-top: 1.25rem !important;
	margin-bottom: 0.75rem !important;
	padding: 0 1.25rem !important;
}
.okispot-section .wp-block-query .wp-block-post > .wp-block-post-featured-image {
	margin: 0 !important;
}
.okispot-section .wp-block-query .wp-block-post:last-child > *:last-child,
.okispot-section .wp-block-query .wp-block-post > *:last-child {
	margin-bottom: 1.4rem !important;
}
.okispot-section .wp-block-query .wp-block-post:not(:has(.wp-block-post-featured-image img))::before {
	font-size: 5rem;
}

/* h2 の左バー装飾は entry-content 配下だけに限定する */
.okispot-section__title::before {
	display: none;
}

/* ==========================================================================
   Header / Site Title
   ========================================================================== */

.wp-block-site-title a {
	color: var(--ok-deep-sea);
	font-weight: 800;
	text-decoration: none;
}

/* ==========================================================================
   Misc cleanup
   ========================================================================== */

/* Markdown の `**xxx**` が <strong> に変換されるので、見栄えだけ整える */
.entry-content strong,
.wp-block-post-content strong {
	color: var(--ok-deep-sea);
}

/* ページネーションをコンパクトに */
.wp-block-query-pagination {
	margin-top: 2rem;
}
.wp-block-query-pagination a,
.wp-block-query-pagination span {
	border-radius: var(--ok-radius-sm);
}
