/* ============================================================
   Project: Contact Form 7 ブランドスタイル
   ============================================================
   /contact/ ページに埋め込んだ Contact Form 7 を、テーマの
   ブランド（navy-500 / pink-500 / Zen Maru Gothic）に合わせて整える。

   方針:
   ・CF7 の DOM をいじらず、CF7 標準クラス（.wpcf7, .wpcf7-form,
     .wpcf7-form-control, .wpcf7-not-valid-tip, .wpcf7-response-output）を
     ターゲットにする。
   ・!important は使わない。CF7 標準スタイルより詳細度を確保するため
     ラッパー `.wpcf7` を頭に付ける。
   ・「ブロック内部を狙う CSS は `>` を避ける」のルールに従い、
     構造に依存しない子孫セレクタを使う。
   ・iOS のオートズーム回避のため input/textarea は 16px 固定。
   ・/contact/ ページのみで読み込むので、TOPや他ページに影響しない。
   ============================================================ */

/* --- 1. ラベル ---------------------------------------------- */

.wpcf7 .wpcf7-form label {
	display: block;
	margin-bottom: 20px;
	color: var(--color-navy-500);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.6;
}

/* --- 2. 入力欄（text / email / tel / textarea） ------------- */

.wpcf7 .wpcf7-form input[type="text"],
.wpcf7 .wpcf7-form input[type="email"],
.wpcf7 .wpcf7-form input[type="tel"],
.wpcf7 .wpcf7-form textarea {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 12px 14px;

	background: var(--color-white);
	border: 1px solid var(--color-navy-500);
	border-radius: 10px;

	color: var(--color-text);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.6;

	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	appearance: none;
}

.wpcf7 .wpcf7-form textarea {
	min-height: 160px;
	resize: vertical;
}

/* フォーカスリング（navy 系の淡いリング） */
.wpcf7 .wpcf7-form input[type="text"]:focus,
.wpcf7 .wpcf7-form input[type="email"]:focus,
.wpcf7 .wpcf7-form input[type="tel"]:focus,
.wpcf7 .wpcf7-form textarea:focus {
	outline: none;
	border-color: var(--color-navy-500);
	box-shadow: 0 0 0 3px rgba(49, 64, 129, 0.15);
}

/* プレースホルダーは控えめなグレー */
.wpcf7 .wpcf7-form input::placeholder,
.wpcf7 .wpcf7-form textarea::placeholder {
	color: var(--color-gray-500);
}

/* --- 3. エラー時の入力欄（赤系） ---------------------------- */

.wpcf7 .wpcf7-form input.wpcf7-not-valid,
.wpcf7 .wpcf7-form textarea.wpcf7-not-valid {
	border-color: #c0392b;
}

.wpcf7 .wpcf7-form input.wpcf7-not-valid:focus,
.wpcf7 .wpcf7-form textarea.wpcf7-not-valid:focus {
	box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.18);
}

/* インラインのエラー文言 */
.wpcf7 .wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	color: #c0392b;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}

/* --- 4. レスポンスメッセージ（送信後・全体エラー） --------- */

.wpcf7 .wpcf7-response-output {
	margin: 24px 0 0;
	padding: 14px 16px;
	border: 1px solid var(--color-gray-300);
	border-radius: 10px;
	background: var(--color-white);
	color: var(--color-text);
	font-size: 15px;
	line-height: 1.6;
}

/* 送信失敗 / バリデーションエラー */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #c0392b;
	background: #fcefee;
	color: #7a2017;
}

/* 送信成功 */
.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--color-navy-500);
	background: var(--color-navy-100);
	color: var(--color-navy-500);
}

/* スピナー位置の微調整（送信ボタンの右隣に来るときの余白） */
.wpcf7 .wpcf7-spinner {
	margin-left: 12px;
	vertical-align: middle;
}

/* --- 5. 送信ボタン（[submit "送信する"]） ------------------- */

/*
 * CF7 の送信ボタンはサイトの主要 CTA（ピンク・pill・矢印付）に合わせる。
 * .c-button のクラスを直接当てるとブロックエディタ側の選択肢が増えてしまうため、
 * ここでは <input type="submit"> をボタン CTA スタイルで上書きする。
 */
.wpcf7 .wpcf7-form input[type="submit"].wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	margin-top: 16px;
	padding: 14px 36px;

	background: var(--color-pink-500);
	border: 1px solid var(--color-pink-500);
	border-radius: 9999px;

	color: var(--color-white);
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;

	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
	appearance: none;
}

@media (hover: hover) and (min-width: 768px) {
	.wpcf7 .wpcf7-form input[type="submit"].wpcf7-submit:hover {
		background: var(--color-pink-600);
		border-color: var(--color-pink-600);
	}
}

.wpcf7 .wpcf7-form input[type="submit"].wpcf7-submit:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(224, 119, 148, 0.35);
}

.wpcf7 .wpcf7-form input[type="submit"].wpcf7-submit:disabled,
.wpcf7 .wpcf7-form input[type="submit"].wpcf7-submit[aria-disabled="true"] {
	background: var(--color-gray-400);
	border-color: var(--color-gray-400);
	cursor: not-allowed;
}

/* 送信ボタン行をフォームの中央寄せに */
.wpcf7 .wpcf7-form p:last-of-type {
	text-align: center;
}

/* --- 6. SP（〜767px）の微調整 -------------------------------- */

@media (max-width: 767.98px) {

	.wpcf7 .wpcf7-form label {
		font-size: 15px;
	}

	.wpcf7 .wpcf7-form input[type="submit"].wpcf7-submit {
		width: 100%;
		min-width: 0;
		padding: 16px 24px;
	}
}
