/* ============================================================
   Contact Form 7 表单皮肤（CF7 6.1.6 内部 DOM 耦合 —— 升级插件需复测）
   ------------------------------------------------------------
   红线：联系表单的「功能 / 链路」（渲染 + 提交 + 存储）由 Contact Form 7 + Flamingo
   负责（功能优先成熟插件、不自建）；主题只做 **UI 套皮**——把 CF7 输出的 .wpcf7-*
   控件套上站点设计令牌 / 暗色 / 移动，使其与全站一致。仅本文件耦合 CF7 内部 class，
   通过 wpcf7_enqueue_scripts 钩子按需加载（见 inc/enqueue.php）。
   令牌全部复用 tokens.css；0 硬编码颜色（按钮白字 #fff 与 .b-button--primary 同口径）。
   ============================================================ */

.wpcf7 {
	margin-top: var(--s-5);   /* 批46:CF7 上方外距 40+32→20+20 */
	padding-top: var(--s-5);
	border-top: 1px solid var(--line);
}

/* CF7 默认把每个表单标签包进 <p>；统一字段间距。 */
.wpcf7 .wpcf7-form > p {
	margin: 0 0 var(--s-4);
}

/* 字段标签（表单里写的 <label class="b-cf7__field">）。 */
.b-cf7__field {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--ink-1);
}
.b-cf7__field .wpcf7-form-control-wrap {
	display: block;
	margin-top: var(--s-2);
}

/* 输入控件（镜像站点 .b-input）。 */
.wpcf7 .wpcf7-form-control {
	width: 100%;
	padding: var(--s-3);
	border: 1px solid var(--line-strong);
	border-radius: var(--r-3);
	background: var(--bg-0);
	color: var(--ink-1);
	font-size: 14px;
	font-family: inherit;
	font-weight: 400;
}
.wpcf7 textarea.wpcf7-form-control {
	resize: vertical;
	line-height: 1.6;
	min-height: 120px;
}
.wpcf7 .wpcf7-form-control:focus-visible {
	outline: 2px solid var(--brand);
	outline-offset: 1px;
	border-color: var(--brand);
}
.wpcf7 .wpcf7-form-control::placeholder {
	color: var(--ink-4);
}

/* 提交按钮（镜像 .b-button--primary：实心品牌底 + 白字恒达 AA）。 */
.wpcf7 .wpcf7-submit {
	width: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--s-2);
	min-height: 44px;
	padding: 0 var(--s-6);
	border: 1px solid var(--btn-primary-bg);
	border-radius: var(--r-pill);
	background: var(--btn-primary-bg);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	transition: background var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);
}
.wpcf7 .wpcf7-submit:hover {
	background: var(--btn-primary-bg-h);
	border-color: var(--btn-primary-bg-h);
}
.wpcf7 .wpcf7-submit:focus-visible {
	outline: 2px solid var(--brand);
	outline-offset: 2px;
}

/* 校验错误：内联提示 + 红框。 */
.wpcf7 .wpcf7-not-valid-tip {
	color: var(--danger-strong);
	font-size: 13px;
	font-weight: 400;
	margin-top: var(--s-1);
}
.wpcf7 .wpcf7-form-control.wpcf7-not-valid {
	border-color: var(--danger);
}

/* 响应消息（成功 / 失败 / 校验汇总）—— 镜像站点 notice 配色。 */
.wpcf7 .wpcf7-response-output {
	margin: var(--s-4) 0 0;
	padding: var(--s-3) var(--s-4);
	border: 1px solid var(--line);
	border-radius: var(--r-3);
	font-size: 14px;
	line-height: 1.6;
}
.wpcf7 form.sent .wpcf7-response-output {
	background: var(--success-50);
	border-color: var(--success);
	color: var(--success-strong);
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	background: var(--danger-50);
	border-color: var(--danger);
	color: var(--danger-strong);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	background: var(--warning-50);
	border-color: var(--warning);
	color: var(--warning-strong);
}

/* AJAX 提交 spinner（CF7 自带元素，调成品牌色）。 */
.wpcf7 .wpcf7-spinner {
	background-color: var(--brand-solid);
}

/* 移动端：按钮全宽更易点。 */
@media (max-width: 640px) {
	.wpcf7 .wpcf7-submit {
		width: 100%;
	}
}
