/*
 * 報名與匯款表單的錯誤與成功狀態（Form_Styles，audit／issue #31）。
 *
 * 兩張表單的 Forminator 設計樣式都是 None（form-style: none），Forminator 不載入欄位與訊息的樣式，
 * 錯誤訊息會變成和欄位說明一樣的灰字。這裡只補錯誤／成功狀態，不動表單其他外觀；
 * 只套用在 None 樣式的表單（.forminator-none），改用 Forminator 內建樣式的表單不受影響。
 */
.forminator-custom-form.forminator-none {
	--exi-form-error: #ef4444; /* 與必填星號（.forminator-required）同色 */
	--exi-form-error-bg: #fef2f2;
	--exi-form-success: #15803d;
	--exi-form-success-bg: #f0fdf4;
	--exi-form-radius: 11px; /* 與站台輸入框圓角一致 */
}

/*
 * 欄位下方的錯誤訊息：Forminator 的必填／格式錯誤與外掛的伺服器端錯誤（.forminator-error-message），
 * 以及外掛的即時提示（.exi-ce-field-hint，field-hints.js；不共用 Forminator 的 class，否則會在欄位失焦時被 Forminator 移除）。
 */
.forminator-custom-form .exi-ce-field-hint,
.forminator-custom-form.forminator-none .forminator-error-message {
	display: block;
	margin-top: 0.4em;
	color: var(--exi-form-error);
	font-size: 0.9em;
	font-weight: 600;
	line-height: 1.4;
}

/*
 * 有錯誤的欄位：輸入框紅框。
 * 匯款頁的 Bricks 元素（#brxe-remform）以 ID 選擇器設定 border: … var(--exi-field-border)，
 * 特異度高於這裡的規則，所以同時覆寫該變數；其他頁面走一般的 border-color。
 */
.forminator-custom-form.forminator-none .forminator-field.forminator-has_error {
	--exi-field-border: var(--exi-form-error);
}

.forminator-custom-form.forminator-none .forminator-field.forminator-has_error input,
.forminator-custom-form.forminator-none .forminator-field.forminator-has_error select,
.forminator-custom-form.forminator-none .forminator-field.forminator-has_error textarea,
.forminator-custom-form.forminator-none .forminator-field.forminator-has_error .select2-selection {
	border-color: var(--exi-form-error);
}

/* 表單頂端的整體訊息：送出後由 Forminator 加上 forminator-error 或 forminator-success */
.forminator-custom-form.forminator-none .forminator-response-message.forminator-error,
.forminator-custom-form.forminator-none .forminator-response-message.forminator-success {
	margin: 0 0 1.25em;
	padding: 0.85em 1.1em;
	border: 2px solid var(--exi-form-error);
	border-radius: var(--exi-form-radius);
	background: var(--exi-form-error-bg);
	color: var(--exi-form-error);
	font-weight: 600;
	line-height: 1.5;
}

.forminator-custom-form.forminator-none .forminator-response-message.forminator-success {
	border-color: var(--exi-form-success);
	background: var(--exi-form-success-bg);
	color: var(--exi-form-success);
}

/* Forminator 重送前會先清空內容但保留 class，避免出現空的紅框 */
.forminator-custom-form.forminator-none .forminator-response-message:empty {
	display: none;
}

/* Forminator 前端驗證失敗時，整體訊息是一個錯誤清單 */
.forminator-custom-form.forminator-none .forminator-response-message ul:not(.forminator-screen-reader-only) {
	margin: 0;
	padding-left: 1.2em;
	list-style: disc;
}

.forminator-custom-form.forminator-none .forminator-response-message ul:not(.forminator-screen-reader-only) li {
	margin: 0.15em 0;
}
