/*===== 修复代码 20260819 ===== 表单字段下方红字错误提示样式
 * 与 static/js/inquiry-form.js 配套使用
 * 入参约定：
 *   <form novalidate>
 *     <input id="xxx_name" data-required="true">
 *     <div class="field-error" id="xxx_name_err"></div>
 *   </form>
 *  error div 不挂 .field-error 也行（JS 里挂也行），CSS 给所有 .field-error 配红字样式
 */
.field-error{
  display:block;
  font-size:13px;
  line-height:18px;
  margin-top:4px;
  color:#e53935;
  font-weight:500;
  letter-spacing:0;
}
.field-error:empty{display:none;}

/* 输入框/textarea 在 has-error 时的红边（覆盖 template 默认边框色） */
.sep-form input.has-error,
.sep-form textarea.has-error,
.cols input.has-error,
.cols textarea.has-error,
.form-send-message input.has-error,
.form-send-message textarea.has-error{
  border-color:#e53935 !important;
  box-shadow:0 0 0 2px rgba(229,57,53,.10) !important;
}

/* 首页 IndexForm（用 cols/fieldset 布局）下，让 field-error 不挤压对齐 */
.form-send-message .cols .field-error{padding:0 14px;}

/* 提交按钮处于 disabled 状态时的视觉反馈（防用户以为页面没响应） */
.contact-form button.btn[disabled],
#index_submit[disabled]{
  opacity:.65;
  cursor:not-allowed;
  pointer-events:none;
}

/*===== 修复代码 20260819 ===== 页面内横幅提示（AJAX 提交结果） =====*/
.form-toast-container{
  position:fixed;
  top:60px;left:0;right:0;
  z-index:9999;
  pointer-events:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:16px;
}
.form-toast-container .form-toast{
  pointer-events:auto;
  max-width:560px;width:100%;
  padding:14px 22px;
  border-radius:6px;
  font-size:15px;line-height:22px;
  color:#fff;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
  animation:form-toast-in .3s ease-out;
  text-align:center;
  font-weight:500;
}
.form-toast.success{background:#43a047;}
.form-toast.error  {background:#e53935;}
@keyframes form-toast-in{
  from{opacity:0;transform:translateY(-20px);}
  to  {opacity:1;transform:translateY(0);}
}
