/* =========================================================
   05-blocks.css
   ブロックエディタ出力の補正。最小限。
   ========================================================= */

.wp-block-image img {
	border-radius: var(--nt-radius-md);
}

.wp-block-image figcaption {
	color: var(--nt-color-muted);
	font-size: var(--nt-fs-sm);
	text-align: center;
	margin-top: 0.5em;
}

.wp-block-button__link {
	border-radius: var(--nt-radius-pill);
	font-weight: 600;
	padding: 0.45em 1.4em; /* slim vertical rhythm for a refined feel */
	line-height: 1.4;
}

/* Outline buttons feel heavy at WP core's default 2px border. Tighten
   to 1.5px so the stroke still reads as deliberate but the button no
   longer dominates the card or CTA visually. */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border-width: 1.5px;
}

.wp-block-quote,
.wp-block-pullquote {
	border-left: 4px solid var(--nt-color-primary);
	background: var(--nt-color-surface);
	padding: 1em 1.25em;
	margin: 1.5em 0;
	border-radius: 0 var(--nt-radius-md) var(--nt-radius-md) 0;
}

.wp-block-table table {
	border-radius: var(--nt-radius-sm);
	overflow: hidden;
	border: 1px solid var(--nt-color-border);
}

.wp-block-separator {
	border: 0;
	border-top: 1px solid var(--nt-color-border);
	opacity: 1;
	margin-block: 2em;
}

.wp-block-cover {
	border-radius: var(--nt-radius-lg);
	overflow: hidden;
}

/* alignwide / alignfull は theme.json + WP コア出力に任せる。
   テーマ側からは触らない。 */

.wp-block-gallery .wp-block-image img {
	border-radius: var(--nt-radius-md);
}

.wp-block-code {
	background: var(--nt-color-surface);
	border: 1px solid var(--nt-color-border);
	border-radius: var(--nt-radius-md);
	padding: 1em 1.25em;
}

.wp-block-pullquote cite,
.wp-block-quote cite {
	color: var(--nt-color-muted);
	font-size: var(--nt-fs-sm);
}

/* =========================================================
   Custom block styles (register_block_style, v0.5 〜)
   inc/setup.php の nt_register_block_styles() で登録した
   .is-style-nt-* バリエーション用のフロント / エディタ共通スタイル。
   既存トークンのみで実装し、4 プリセットで自然に馴染むようにする。
   ========================================================= */

/* core/group : Card Surface — 本文内で使うカード型の囲み */
.wp-block-group.is-style-nt-card-surface {
	background: var(--nt-card-bg);
	border: 1px solid var(--nt-card-border);
	border-radius: var(--nt-radius-lg);
	box-shadow: var(--nt-shadow-sm);
	padding: clamp(20px, 4vw, 32px);
}

/* core/group : Hero Surface — 固定ページ内の簡易ヒーロー / 強調セクション */
.wp-block-group.is-style-nt-hero-surface {
	background: var(--nt-bg-hero);
	color: var(--nt-color-text);
	border: 1px solid var(--nt-color-border);
	border-radius: var(--nt-radius-lg);
	padding: clamp(28px, 6vw, 64px);
	overflow: hidden;
}

/* core/quote : Highlight Quote — 強調引用 / お客様の声 */
.wp-block-quote.is-style-nt-highlight-quote {
	background: var(--nt-color-surface);
	border: 1px solid var(--nt-color-border);
	border-left: 4px solid var(--nt-color-primary);
	border-radius: var(--nt-radius-md);
	padding: clamp(16px, 3vw, 24px) clamp(20px, 4vw, 28px);
	margin: var(--nt-stack) 0;
}

.wp-block-quote.is-style-nt-highlight-quote p {
	font-size: var(--nt-fs-md);
	color: var(--nt-color-text);
}

.wp-block-quote.is-style-nt-highlight-quote cite {
	display: block;
	margin-top: 0.75em;
	color: var(--nt-color-muted);
	font-size: var(--nt-fs-sm);
	font-style: normal;
}

/* core/separator : Branded Separator — primary → accent のブランド区切り線 */
.wp-block-separator.is-style-nt-branded-separator {
	width: min(160px, 40%);
	height: 3px;
	margin: clamp(28px, 5vw, 48px) auto;
	border: 0;
	border-top: 0;
	border-radius: var(--nt-radius-pill);
	background: linear-gradient(90deg, var(--nt-color-primary) 0%, var(--nt-color-accent) 100%);
	opacity: 1;
}

/* core/list : Check List — 特徴 / メリット / チェック項目 */
.wp-block-list.is-style-nt-check-list,
ul.is-style-nt-check-list {
	list-style: none;
	padding-left: 0;
	color: var(--nt-color-text);
}

.wp-block-list.is-style-nt-check-list > li,
ul.is-style-nt-check-list > li {
	position: relative;
	padding-left: 1.75em;
	margin-bottom: 0.5em;
}

.wp-block-list.is-style-nt-check-list > li::before,
ul.is-style-nt-check-list > li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0.25em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.1em;
	height: 1.1em;
	border-radius: 50%;
	background: var(--nt-color-primary);
	color: var(--nt-color-primary-contrast);
	font-size: 0.7em;
	font-weight: 700;
	line-height: 1;
}

/* 入れ子リストはチェックスタイルを継承させない (元の list-style に戻す) */
.wp-block-list.is-style-nt-check-list ul,
.wp-block-list.is-style-nt-check-list ol,
ul.is-style-nt-check-list ul,
ul.is-style-nt-check-list ol {
	list-style: revert;
	padding-left: 1.5em;
}

.wp-block-list.is-style-nt-check-list ul > li::before,
.wp-block-list.is-style-nt-check-list ol > li::before,
ul.is-style-nt-check-list ul > li::before,
ul.is-style-nt-check-list ol > li::before {
	content: none;
}

.wp-block-list.is-style-nt-check-list ul > li,
.wp-block-list.is-style-nt-check-list ol > li,
ul.is-style-nt-check-list ul > li,
ul.is-style-nt-check-list ol > li {
	padding-left: 0;
}
