@charset "UTF-8";

/*!
Theme Name: Twenty Twenty-Five Child
Template:   twentytwentyfive
Version:    0.0.5
*/

/************************************
** 子テーマ用のスタイルを書く
** 2026-09: 白基調・ミニマルなリニューアル
************************************/

:root {
	--uedax-ink: #14161a;
	--uedax-sub: #6b7078;
	--uedax-line: #e7e6e2;
	--uedax-surface: #fafaf8;
	--uedax-accent: #2b6cff;
	--uedax-radius: 14px;
}

/* ---------- 基本タイポグラフィ ---------- */

body {
	font-family: var(--wp--preset--font-family--manrope), "Noto Sans JP", sans-serif;
	font-weight: 350;
	color: var(--uedax-ink);
	letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--wp--preset--font-family--manrope), "Noto Sans JP", sans-serif;
	font-weight: 500;
	letter-spacing: -0.01em;
}

p, li {
	line-height: 1.85;
}

a:where(:not(.wp-element-button)) {
	transition: color .15s ease, opacity .15s ease;
}

/* ---------- ヘッダー ---------- */

header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 40;
	background: rgba(255, 255, 255, .88);
	backdrop-filter: saturate(180%) blur(10px);
	-webkit-backdrop-filter: saturate(180%) blur(10px);
	border-bottom: 1px solid var(--uedax-line);
}

.wp-block-site-title a {
	font-weight: 800 !important;
	font-size: 1.25rem;
	letter-spacing: .06em !important;
}

header .wp-block-navigation-item__label {
	font-size: .78rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--uedax-sub);
}

header .wp-block-navigation-item__content:hover .wp-block-navigation-item__label {
	color: var(--uedax-ink);
}

.wc-block-customer-account__link,
.wc-block-mini-cart__button {
	color: var(--uedax-sub) !important;
}

/* ---------- 記事一覧(トップページ) ---------- */

.wp-block-post-template.is-layout-grid {
	gap: 2.4rem 1.6rem !important;
}

.wp-block-post-template > li.wp-block-post {
	background: #fff;
	border: 1px solid var(--uedax-line);
	border-radius: var(--uedax-radius);
	overflow: hidden;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
	padding: 0 !important;
}

.wp-block-post-template > li.wp-block-post:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px -22px rgba(20, 22, 26, .28);
	border-color: transparent;
}

.wp-block-post-template > li.wp-block-post > .wp-block-group {
	padding: 0 !important;
}

.wp-block-post-featured-image {
	margin: 0 !important;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--uedax-surface);
}

.wp-block-post-featured-image img {
	height: 100% !important;
	aspect-ratio: 16 / 10;
	transition: transform .35s ease;
}

.wp-block-post-template > li.wp-block-post:hover .wp-block-post-featured-image img {
	transform: scale(1.045);
}

.wp-block-post-template h2.wp-block-post-title {
	font-size: 1.02rem !important;
	font-weight: 500;
	line-height: 1.5;
	margin: 1.1rem 1.2rem 0 !important;
}

.wp-block-post-template h2.wp-block-post-title a {
	color: var(--uedax-ink);
}

.wp-block-post-template h2.wp-block-post-title a:hover {
	color: var(--uedax-accent);
}

.wp-block-post-template .wp-block-post-terms {
	margin: .7rem 1.2rem 1.2rem !important;
	font-size: .7rem !important;
}

.wp-block-post-template .wp-block-post-terms a {
	display: inline-block;
	padding: .3em .85em;
	border-radius: 999px;
	background: var(--uedax-surface);
	color: var(--uedax-sub) !important;
	text-decoration: none !important;
	letter-spacing: .04em;
}

/* ---------- ページネーション ---------- */

.wp-block-query-pagination-numbers {
	letter-spacing: 0 !important;
	display: inline-flex;
	gap: .3rem;
}

.wp-block-query-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.1rem;
	height: 2.1rem;
	border-radius: 999px;
	font-size: .85rem;
	color: var(--uedax-sub);
	text-decoration: none !important;
}

.wp-block-query-pagination .page-numbers.current {
	background: var(--uedax-ink);
	color: #fff;
}

.wp-block-query-pagination-next,
.wp-block-query-pagination-previous {
	font-size: .82rem !important;
	color: var(--uedax-ink) !important;
}

/* ---------- 個別記事ページ ---------- */

.single .wp-block-post-title {
	font-weight: 600 !important;
	line-height: 1.4 !important;
	max-width: var(--wp--style--global--content-size);
	margin-left: auto !important;
	margin-right: auto !important;
}

.single .entry-content {
	font-size: 1.02rem !important;
}

.single .entry-content h2 {
	font-size: 1.3rem;
	font-weight: 600;
	margin-top: 2.6rem;
	padding-top: 1.6rem;
	border-top: 1px solid var(--uedax-line);
}

.single .taxonomy-category.wp-block-post-terms {
	max-width: var(--wp--style--global--content-size);
	margin-left: auto !important;
	margin-right: auto !important;
}

.single .taxonomy-category.wp-block-post-terms a {
	display: inline-block;
	padding: .35em .9em;
	border-radius: 999px;
	background: var(--uedax-surface);
	color: var(--uedax-sub) !important;
	font-size: .78rem !important;
	text-decoration: none !important;
	letter-spacing: .04em;
}

/* 動画埋め込み */
.uedax-yt-embed {
	border-radius: var(--uedax-radius);
	overflow: hidden;
	box-shadow: 0 20px 45px -28px rgba(20, 22, 26, .45);
}

/* AI要約セクション(見出しの直後の段落をカード風に) */
.single .entry-content h2 + p {
	background: var(--uedax-surface);
	border: 1px solid var(--uedax-line);
	border-radius: var(--uedax-radius);
	padding: 1.2rem 1.4rem;
	font-size: .96rem;
	line-height: 1.9;
}

/* 文字起こしの折りたたみ */
.uedax-yt-transcript {
	border: 1px solid var(--uedax-line);
	border-radius: var(--uedax-radius);
	padding: 1rem 1.3rem;
	background: #fff;
}

.uedax-yt-transcript summary {
	cursor: pointer;
	font-size: .88rem;
	font-weight: 500;
	color: var(--uedax-sub);
	list-style: none;
}

.uedax-yt-transcript summary::-webkit-details-marker {
	display: none;
}

.uedax-yt-transcript summary::before {
	content: "▸";
	display: inline-block;
	margin-right: .5em;
	transition: transform .15s ease;
}

.uedax-yt-transcript[open] summary::before {
	transform: rotate(90deg);
}

.uedax-yt-transcript summary:hover {
	color: var(--uedax-ink);
}

.uedax-yt-transcript p {
	font-size: .88rem;
	color: var(--uedax-sub);
	line-height: 1.9;
}

/* ---------- フッター ---------- */

footer.wp-block-template-part,
footer.wp-block-template-part .wp-block-navigation-item__label {
	color: var(--uedax-sub);
	font-size: .8rem;
}

footer.wp-block-template-part {
	border-top: 1px solid var(--uedax-line);
}

/* ---------- モバイル ---------- */

@media (max-width: 600px) {
	.wp-block-post-template.is-layout-grid {
		gap: 1.6rem !important;
	}
}
