/* ------------------------------------------------------------------
   Sorashido — theme.json で表現できない装飾のみをここに置く
   色コードは直書きせず、必ず theme.json のCSS変数を参照すること
   ------------------------------------------------------------------ */

/* 英字サブタイトル：────── PRICE LIST ────── */
.is-style-en-subtitle {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--brown);
	letter-spacing: 0.12em;
	text-align: center;
	margin-block: var(--wp--preset--spacing--20) var(--wp--preset--spacing--50);
}

/* ページタイトル */
.is-style-sorashido-title {
	text-align: center;
	margin-block-start: var(--wp--preset--spacing--60);
	margin-block-end: var(--wp--preset--spacing--20);
}

/* 本文幅を絞る（読み物ページ用・オプション） */
.is-style-narrow > :where(*) {
	max-width: 880px;
	margin-inline: auto;
}

/* クリーム背景セクション */
.is-style-cream-section {
	background-color: var(--wp--preset--color--cream);
	padding-block: var(--wp--preset--spacing--60);
}

/* 理由カード（０１〜０４） */
.is-style-reason-card .wp-block-media-text__content > .wp-block-heading {
	color: var(--wp--preset--color--brown);
	margin-block-start: 0;
}

/* 区切り線をブランド色に */
.wp-block-separator {
	border: none;
	border-top: 1px solid var(--wp--preset--color--brown);
	opacity: 0.3;
	max-width: 1400px;
	margin-inline: auto;
}

/* テーブル（料金表）— Jimdo版の見た目に寄せる */
.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
}
.wp-block-table th,
.wp-block-table td {
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--brown) 40%, transparent);
	padding: 0.8em 1em;
	vertical-align: middle;
}
.wp-block-table thead th {
	background-color: var(--wp--preset--color--cream);
	color: var(--wp--preset--color--brown);
	font-weight: 700;
	text-align: center;
}
.wp-block-table td:last-child {
	text-align: right;
	white-space: nowrap;
}
/* スマホで料金表が溢れないように */
@media (max-width: 600px) {
	.wp-block-table {
		overflow-x: auto;
	}
	.wp-block-table table {
		min-width: 480px;
	}
}

/* FAQ（details ブロック） */
.wp-block-details {
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--brown) 30%, transparent);
}
.wp-block-details summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--wp--preset--color--brown);
	list-style-position: outside;
}

/* ご依頼の流れ（ステップ） */
.sorashido-step {
	position: relative;
	padding-inline-start: 3.2em;
}
.sorashido-step::before {
	content: attr(data-step);
	position: absolute;
	inset-inline-start: 0;
	top: 0;
	width: 2.4em;
	height: 2.4em;
	border-radius: 50%;
	background-color: var(--wp--preset--color--brown);
	color: var(--wp--preset--color--base);
	display: grid;
	place-items: center;
	font-weight: 700;
}

/* ヘッダー：スマホで電話ボタンを目立たせる */
.sorashido-header__tel {
	white-space: nowrap;
}

/* 画像は必ず枠内に収める */
.wp-block-image img {
	height: auto;
}

/* 状態チェックリスト（□つきリスト） */
.sorashido-checklist {
	list-style: none;
	padding-left: 0;
	max-width: 760px;
	margin-inline: auto;
}
.sorashido-checklist li {
	border-bottom: 1px dashed color-mix(in srgb, var(--wp--preset--color--brown) 45%, transparent);
	padding: 0.7em 0 0.7em 2.2em;
	position: relative;
}
.sorashido-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.05em;
	width: 1.1em;
	height: 1.1em;
	border: 1px solid var(--wp--preset--color--brown);
}

/* ご依頼の流れ（5ステップ） */
.sorashido-steps .wp-block-column {
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--brown) 50%, transparent);
	border-radius: 6px;
	padding: var(--wp--preset--spacing--30);
}

/* カード（ボタン下揃え）: 各カラムを縦flexにし、ボタンを下端へ */
.wp-block-columns.is-style-buttons-bottom > .wp-block-column {
	display: flex;
	flex-direction: column;
}
.wp-block-columns.is-style-buttons-bottom > .wp-block-column > .wp-block-buttons:last-child {
	margin-top: auto;
}

/* 自動: 最後がボタンのカラムは、ボタンを下端に揃える（ページ側の設定不要） */
.wp-block-columns > .wp-block-column:has(> .wp-block-buttons:last-child) {
	display: flex;
	flex-direction: column;
}
.wp-block-columns > .wp-block-column > .wp-block-buttons:last-child {
	margin-top: auto;
}
