/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   固定ページ (page.php) 専用スタイル
   Stripe × POP デザイン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━ ページヒーロー（共通） ━━━ */
/*
 * ライト系: 白〜薄ラベンダー〜薄ブルーの淡いグラデーション。
 * ドットパターンは極薄インジゴで品よくアクセント。
 * タイトルはブランドカラーのダーク文字で可読性を確保する。
 */
.page-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient( 135deg, #f0f4ff 0%, #ede9fe 50%, #fdf2f8 100% );
	padding: clamp( 1.5rem, 4vw, 2.5rem ) 0 clamp( 1.25rem, 3.5vw, 2rem );
	isolation: isolate;
	border-bottom: 1px solid rgba( 99, 102, 241, .15 );
}

/* 薄いドットパターン */
.page-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient( circle, rgba(99,102,241,.12) 1.5px, transparent 1.5px );
	background-size: 22px 22px;
	pointer-events: none;
	z-index: 0;
}

/* 右下: ソフトなピンクのグロー */
.page-hero::after {
	content: '';
	position: absolute;
	width: 260px; height: 260px;
	bottom: -100px; right: -60px;
	border-radius: 50%;
	background: radial-gradient( circle, rgba(236,72,153,.18) 0%, transparent 70% );
	filter: blur( 40px );
	pointer-events: none;
	z-index: 0;
}

/* アイキャッチあり: 背景画像モード */
.page-hero--has-eyecatch {
	background: none;
	background-size: cover;
	background-position: center top;
	background-color: #ede9fe;
}
.page-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		135deg,
		rgba( 240, 244, 255, .82 ) 0%,
		rgba( 237, 233, 254, .70 ) 50%,
		rgba( 253, 242, 248, .78 ) 100%
	);
	z-index: 0;
}

.page-hero__inner {
	position: relative;
	z-index: 1;
}

.page-hero__title {
	font-size: clamp( 1.4rem, 3.5vw, 2rem );
	font-weight: 900;
	letter-spacing: -.02em;
	line-height: 1.2;
	margin: 0;
	background: linear-gradient( 135deg, #4f46e5 0%, #7c3aed 50%, #db2777 100% );
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* ━━━ コンテンツ本体 ━━━ */
.page-body {
	background: var( --c-white );
	border-radius: 24px;
	box-shadow: 0 8px 48px rgba( 0,0,0,.1 );
	overflow: hidden;
	border: 1px solid var( --c-border );
}
.page-body__content {
	padding: clamp( 2rem, 5vw, 3rem );
}

/* ━━━ 段落 ━━━ */
.page-body__content > p {
	line-height: 1.9;
	margin-bottom: 1rem;
	font-size: .95rem;
	color: var( --c-text );
}

/* ━━━ レスポンシブ ━━━ */
@media ( max-width: 640px ) {
	.page-body__content { padding: 1.5rem 1.1rem; }
	.page-body__content .wp-block-list {
		grid-template-columns: 1fr;
	}
	.page-body__content .wp-block-table tbody th {
		width: 38%;
		font-size: .78rem;
		padding: .75rem .9rem;
		white-space: normal;
	}
	.page-body__content .wp-block-table tbody td {
		padding: .75rem .9rem;
	}
	.page-hero__title {
		font-size: clamp( 1.2rem, 5vw, 1.5rem );
	}
	.page-body__content { padding: 1.5rem 1.1rem; }
}
