/* core/query block styles — Query Loop + Post Template カードレイアウト */

/* ================================================================
   Post Template グリッド
   ================================================================ */

/* グリッドの gap をインラインスタイルなしで管理 */
.kw-query-card.wp-block-post-template {
	gap: var(--wp--preset--spacing--size-32);
}

/* ================================================================
   記事カード (.is-style-card)
   構造: article.wp-block-group.is-style-card
         > wp:post-featured-image
         > .kw-card-body（wp:group）
             > wp:post-date
             > wp:post-title
             > wp:post-terms
   ================================================================ */


.kw-query-card .wp-block-post:has(.is-style-card) {
	background-color: var(--wp--preset--color--white);
	border-radius: var(--wp--preset--border-radius--radius-2-xl);
	box-shadow: 0 0 var(--wp--preset--spacing--size-8) 0 rgba(73, 185, 208, 0.30);
	overflow: hidden;
	transition: box-shadow var(--duration-base) var(--ease-base);
}

/* ホバー: シャドウ強調 */
.kw-query-card .wp-block-post:has(a:hover) {
	box-shadow: 0 0 var(--wp--preset--spacing--size-24) 0 rgba(73, 185, 208, 0.70);
}

/* ── サムネイル画像エリア ──────────────────────── */

.kw-query-card .wp-block-group.is-style-card .wp-block-post-featured-image {
	overflow: hidden;
}

.kw-query-card .wp-block-group.is-style-card .wp-block-post-featured-image img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
	display: block;
	transition: transform var(--duration-base) var(--ease-base);
}

/* ホバー: 画像ズームイン */
.kw-query-card a:has(.wp-block-group.is-style-card):hover .wp-block-post-featured-image img {
	transform: scale(1.03);
}

/* ── カード本文エリア (.kw-card-body) ────────────── */

.kw-query-card .kw-card-body {
	padding: var(--wp--preset--spacing--size-24);
	padding-bottom: var(--wp--preset--spacing--size-12);
	margin: 0;
}

/* ── 投稿日付 ────────────────────────────────────── */

.kw-query-card .kw-card-body .wp-block-post-date {
	font-family: var(--wp--preset--font-family--poppins), sans-serif;
	font-weight: 300;
	font-size: var(--wp--preset--font-size--font-16);
	line-height: 1;
	color: var(--wp--preset--color--text-primary);
	margin: 0;
}

/* ── 投稿タイトル ─────────────────────────────────── */

.kw-query-card .kw-card-body .wp-block-post-title {
	font-size: var(--wp--preset--font-size--font-20);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.03em;
	color: var(--wp--preset--color--base-text);
	margin-top: var(--wp--preset--spacing--size-8);
	margin-bottom: 4px;
}

/* ── カテゴリタグ (wp:post-terms) ──────────────────── */
.kw-query-card .wp-block-post-terms {
	padding: var(--wp--preset--spacing--size-24);
	padding-top: 0;
	margin-right: var(--wp--preset--spacing--size-80);
	list-style: none;
	margin: 0;
}

/* 各タグ (<a> タグ) */
.kw-query-card .wp-block-post-terms a {
	display: inline-block;
	color: var(--wp--preset--color--text-primary);
	font-size: var(--wp--preset--font-size--font-14);
	font-weight: 400;
	padding: 2px var(--wp--preset--spacing--size-8);
	border-radius: var(--wp--preset--border-radius--radius-sm);
	background-color: var(--wp--preset--color--primary-bg);
	text-decoration: none;
	transition: var(--duration-base) var(--ease-base);
	white-space: nowrap;
}

.kw-query-card .wp-block-post-terms a:hover {
	filter: brightness(95%);
}

/* ── カード全体をフレックスコンテナにして、タグを下部に配置 ──────────────────── */
.kw-query-card .wp-block-post {
	display: flex;
	flex-direction: column;
}

.kw-query-card .wp-block-post-terms {
	margin-top: auto;
}

/* ── アイコン円: カード右下に絶対配置 ───────────────── */
.kw-query-card .wp-block-post {
	position: relative;
}

.kw-query-card .wp-block-post .kw-icon-circle {
	position: absolute;
	bottom: var(--wp--preset--spacing--size-16);
	right: var(--wp--preset--spacing--size-16);
}

/* ── リンクの下線削除 ───────────────── */
.kw-query-card .wp-block-tiptip-hyperlink-group-block {
	text-decoration: none;
}