@charset "UTF-8";
/*
 * お問い合わせフォーム（/contact/ 専用）
 *
 * inc/enqueue.php で is_page( 'contact' ) の条件付き読み込み。
 * 色は theme.json のトークンに :root で張ったエイリアスのみを参照する（--wp-- を直書きしない）。
 * メディアクエリは 900px の一点のみ（ファイル末尾に1ブロック。price.css と同型）。
 *
 * 送信ボタンは既存の .c-btn を再利用する（CF7側で [submit class:c-btn] を付与）。
 * input[type=submit] 特有の最小補正だけをこのファイルで当てる（§6）。
 * 入力欄の背景 #fff は直書き（白はブランド色ではなくサーフェス。トークン化しない・2026-08-30 決定）。
 *
 * @package ishibashi
 */

/* =========================================================
   1. 行
   ========================================================= */

.c-form__row {
	margin: 0 0 30px;
}

.c-form__label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	color: var(--brown-ink);
	letter-spacing: .04em;
}

/* =========================================================
   2. 必須・任意のしるし
   ========================================================= */

.c-form__req,
.c-form__any {
	display: inline-block;
	padding: 4px 9px;
	font-size: 11px;
	line-height: 1;
	letter-spacing: .08em;
}

.c-form__req {
	color: var(--on-dark);          /* 紺地の上の文字は --on-dark（--kinari は背景トークンのため不可） */
	background: var(--navy);
}

.c-form__any {
	color: var(--brown-mute);
	background: transparent;
	border: 1px solid var(--line);
}

/* =========================================================
   3. 入力欄
   ========================================================= */

.c-form .wpcf7-form-control-wrap {
	display: block;
	position: relative;
}

.c-form input[type="text"],
.c-form input[type="email"],
.c-form input[type="tel"],
.c-form select,
.c-form textarea {
	width: 100%;
	padding: 14px 16px;
	font-family: inherit;
	/* 16px 未満にしないこと。iOS Safari が入力時に拡大する */
	font-size: 16px;
	line-height: 1.7;
	color: var(--brown-body);
	background: #fff;               /* 生成り地に白の入力欄。位置を分かりやすく（サーフェスの実値） */
	border: 1px solid var(--line);
	border-radius: 0;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.c-form textarea {
	min-height: 220px;
	resize: vertical;
}

.c-form ::placeholder {
	color: var(--brown-mute);
	opacity: .75;
}

/* フォーカス — 罫を紺の2本ぶんの太さに見せる（影は落とさず、線の始末で見せる） */
.c-form input[type="text"]:focus,
.c-form input[type="email"]:focus,
.c-form input[type="tel"]:focus,
.c-form select:focus,
.c-form textarea:focus {
	outline: none;
	border-color: var(--navy);
	box-shadow: inset 0 0 0 1px var(--navy);
}

/* セレクトの山形（appearance を切っているため自前で置く）。
   CF7 の選択フィールドは data-name で包まれる。下書きどおり [data-name="your-topic"] に当てる。
   ※ この山形は CF7 側の選択フィールド名 your-topic に結びつく（a.design が同名で作成する前提）。
   　 名前を変える場合はこのセレクタも合わせること。 */
.c-form .wpcf7-form-control-wrap[data-name="your-topic"]::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 18px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-right: 1px solid var(--brown-mute);
	border-bottom: 1px solid var(--brown-mute);
	transform: rotate(45deg);
	pointer-events: none;
}

.c-form select {
	padding-right: 44px;
	cursor: pointer;
}

/* =========================================================
   4. ラジオボタン
   ========================================================= */

.c-form .wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
}

.c-form .wpcf7-list-item {
	margin: 0;
}

.c-form .wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: 9px;
	cursor: pointer;
}

.c-form input[type="radio"] {
	position: relative;
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	margin: 0;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 50%;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: border-color .2s ease;
}

.c-form input[type="radio"]:checked {
	border-color: var(--navy);
}

.c-form input[type="radio"]:checked::after {
	content: "";
	position: absolute;
	inset: 4px;
	background: var(--navy);
	border-radius: 50%;
}

.c-form input[type="radio"]:focus-visible {
	outline: 1px solid var(--navy);
	outline-offset: 2px;
}

/* =========================================================
   5. 守秘義務の注記
   ========================================================= */

.c-form__note {
	margin: 34px 0 0;
	padding: 18px 20px;
	font-size: 14px;
	line-height: 1.9;
	color: var(--brown-mute);
	background: var(--kinari-deep);
	border-top: 1px solid var(--hair);
}

/* =========================================================
   6. 送信ボタン（既存 .c-btn を再利用。ここは input 特有の最小補正のみ）
   ========================================================= */

.c-form__submit {
	margin: 34px 0 0;
	text-align: center;
}

/* .c-btn は <a> 前提。input[type=submit] に付けたとき、iOS Safari の既定ボタン意匠と
   input 既定の角丸が .c-btn の意匠（角丸なし・紺ベタ）を上書きしてしまうため、その2点だけ打ち消す。 */
.c-form input[type="submit"] {
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
}

/* =========================================================
   7. Contact Form 7 の状態表示
   ========================================================= */

/* エラー時の入力欄 */
.c-form .wpcf7-not-valid {
	border-color: var(--form-error);
}

.wpcf7-not-valid-tip {
	display: block;
	margin-top: 8px;
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--form-error);
}

/* 送信後のメッセージ。CF7 側より詳細度を1つ上げて当てる（!important を使わない） */
.wpcf7 form.wpcf7-form .wpcf7-response-output {
	margin: 30px 0 0;
	padding: 16px 20px;
	font-size: 15px;
	line-height: 1.8;
	color: var(--brown-body);
	border: 1px solid var(--line);
	border-radius: 0;
}

.wpcf7 form.wpcf7-form.sent .wpcf7-response-output {
	border-color: var(--navy);
}

.wpcf7 form.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7 form.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7 form.wpcf7-form.failed .wpcf7-response-output,
.wpcf7 form.wpcf7-form.aborted .wpcf7-response-output {
	border-color: var(--form-error);
}

.wpcf7-spinner {
	margin: 0 0 0 14px;
}

/* =========================================================
   8. 900px 以下
   ========================================================= */

@media (max-width: 900px) {

	.c-form__row {
		margin-bottom: 24px;
	}

	.c-form textarea {
		min-height: 180px;
	}

	.c-form .wpcf7-radio {
		gap: 22px;
	}

	.c-form__submit {
		margin-top: 28px;
	}

	/* 送信ボタン（.c-btn）はSPで全幅に */
	.c-form input[type="submit"] {
		width: 100%;
	}
}
