/* ==========================================================================
   Boklink — Fluent Forms 视觉还原补丁 v4
   基线：www.boklink.com Elementor 迁移前静态版实测几何（form-geometry-www.json）
   结构：form.frm-fluent-form > fieldset(无 class) > [技术节点] + .ff-el-group ×n
   三条铁律：
     1) 网格必须打在 fieldset 上（打在 form 上只会让 fieldset 变成唯一网格项）
     2) 通栏用 grid-column:1/-1（1/3 在单栏网格里会撑出隐式列）
     3) 通用规则必须 :not(.fluent_form_4)（/company/contact/ 是原生表单，保持原样）
   ========================================================================== */

/* ---------- 1. 通用骨架 ---------- */
.bl-scope form.frm-fluent-form:not(.fluent_form_4) {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}
.bl-scope form.frm-fluent-form:not(.fluent_form_4) > fieldset {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  column-gap: 14px !important;
  row-gap: 15px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  min-width: 0 !important;
  min-inline-size: 0 !important;
}
/* Fluent 插入的技术节点不参与网格 */
.bl-scope form.frm-fluent-form:not(.fluent_form_4) > fieldset > .ff_screen_reader_title,
.bl-scope form.frm-fluent-form:not(.fluent_form_4) > fieldset > .input {
  display: none !important;
}
.bl-scope form.frm-fluent-form:not(.fluent_form_4) > fieldset > .ff-el-group {
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}
/* 通栏：Message（倒数第 2 组）+ 提交按钮。用 1/-1 避免单栏时撑出隐式列 */
.bl-scope form.frm-fluent-form:not(.fluent_form_4) > fieldset > .ff-el-group:nth-last-of-type(2),
.bl-scope form.frm-fluent-form:not(.fluent_form_4) > fieldset > .ff_submit_btn_wrapper {
  grid-column: 1 / -1 !important;
}
/* 控件 */
.bl-scope form.frm-fluent-form:not(.fluent_form_4) .ff-el-form-control {
  width: 100% !important;
  margin-bottom: 0 !important;
}
.bl-scope form.frm-fluent-form:not(.fluent_form_4) textarea.ff-el-form-control {
  min-height: 0 !important;
  resize: vertical;
}
.bl-scope form.frm-fluent-form:not(.fluent_form_4) .ff-el-input--content {
  margin: 0 !important;
  padding: 0 !important;
}
/* 关键修复：站点 CSS 让 label{display:grid}，Fluent 的必填星号 ::after 会变成第二个
   网格项 → 标签被撑成两行（42px）。改成 inline-flex 让文字与星号同一行。 */
.bl-scope form.frm-fluent-form:not(.fluent_form_4) .ff-el-input--label {
  display: block !important;
  height: 22px !important;
  line-height: 22px !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
}
.bl-scope form.frm-fluent-form:not(.fluent_form_4) .ff-el-input--label label {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  align-items: center !important;
  gap: 3px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}
/* 必填星号 ::after 被站点 CSS 设成 display:block 会另起一行，压回 inline */
.bl-scope form.frm-fluent-form:not(.fluent_form_4) .ff-el-input--label.asterisk-right label::after {
  display: inline !important;
}
/* 提交按钮容器 */
.bl-scope form.frm-fluent-form:not(.fluent_form_4) .ff_submit_btn_wrapper {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* ---------- 2. cx-form：/free-trial/ /book-demo/（含 accounting 版）---------- */
.bl-scope .cx-form form.frm-fluent-form { padding: 0 !important; }
.bl-scope .cx-form form.frm-fluent-form > fieldset { grid-template-columns: 1fr 1fr !important; column-gap: 18px !important; row-gap: 18px !important;  }
.bl-scope .cx-form form.frm-fluent-form .ff-el-form-control { height: 48px !important; }
.bl-scope .cx-form form.frm-fluent-form textarea.ff-el-form-control { height: 128px !important; }
.bl-scope .cx-form form.frm-fluent-form .ff_submit_btn_wrapper .ff-btn,
.bl-scope .cx-form form.frm-fluent-form .ff_submit_btn_wrapper button { width: 100% !important; margin-top: 4px !important; }

/* ---------- 3. lead-form：/accounting/ ---------- */
.bl-scope .lead-form form.frm-fluent-form { padding: 40px 42px 42px 13px !important; }
.bl-scope .lead-form form.frm-fluent-form > fieldset { column-gap: 14px !important; row-gap: 15px !important;  }
.bl-scope .lead-form form.frm-fluent-form .ff-el-form-control { height: 44px !important; }
.bl-scope .lead-form form.frm-fluent-form textarea.ff-el-form-control { height: 104px !important; }
.bl-scope .lead-form form.frm-fluent-form .ff_submit_btn_wrapper .ff-btn,
.bl-scope .lead-form form.frm-fluent-form .ff_submit_btn_wrapper button { width: 100% !important; margin-top: 4px !important; }

/* ---------- 4. customer-demo-form：/accounting/customers/ ---------- */
.bl-scope .customer-demo-form form.frm-fluent-form { padding: 40px 42px !important; }
.bl-scope .customer-demo-form form.frm-fluent-form > fieldset { column-gap: 12px !important; row-gap: 15px !important;  }
.bl-scope .customer-demo-form form.frm-fluent-form .ff-el-form-control { height: 45px !important; }
.bl-scope .customer-demo-form form.frm-fluent-form textarea.ff-el-form-control { height: 104px !important; }
.bl-scope .customer-demo-form form.frm-fluent-form .ff_submit_btn_wrapper .ff-btn,
.bl-scope .customer-demo-form form.frm-fluent-form .ff_submit_btn_wrapper button { margin-top: 0 !important; }

/* ---------- 5. df-demo-form：ai-in-accounting / document-management / expense-management / online-payments / reports ---------- */
.bl-scope .df-demo-form form.frm-fluent-form { padding: 28px !important; }
.bl-scope .df-demo-form form.frm-fluent-form > fieldset { column-gap: 14px !important; row-gap: 14px !important;  }
.bl-scope .df-demo-form form.frm-fluent-form .ff-el-form-control { height: 45px !important; }
.bl-scope .df-demo-form form.frm-fluent-form textarea.ff-el-form-control { height: 102px !important; }
.bl-scope .df-demo-form form.frm-fluent-form .ff_submit_btn_wrapper .ff-btn,
.bl-scope .df-demo-form form.frm-fluent-form .ff_submit_btn_wrapper button { margin-top: 18px !important; }

/* ---------- 6. banking-demo-form：/accounting/features/banking/（单栏） ---------- */
.bl-scope .banking-demo-form form.frm-fluent-form { padding: 0 27px !important; }
.bl-scope .banking-demo-form form.frm-fluent-form > fieldset { grid-template-columns: 1fr !important; row-gap: 11px !important;  }
.bl-scope .banking-demo-form form.frm-fluent-form .ff-el-form-control { height: 40px !important; }
.bl-scope .banking-demo-form form.frm-fluent-form textarea.ff-el-form-control { height: 106px !important; }
.bl-scope .banking-demo-form form.frm-fluent-form .ff_submit_btn_wrapper .ff-btn,
.bl-scope .banking-demo-form form.frm-fluent-form .ff_submit_btn_wrapper button { margin-top: 18px !important; }

/* ---------- 7. bills-demo-form：/accounting/features/bills/ ---------- */
.bl-scope .bills-demo-form form.frm-fluent-form { padding: 42px !important; }
.bl-scope .bills-demo-form form.frm-fluent-form > fieldset { column-gap: 12px !important; row-gap: 15px !important;  }
.bl-scope .bills-demo-form form.frm-fluent-form .ff-el-form-control { height: 44px !important; }
.bl-scope .bills-demo-form form.frm-fluent-form textarea.ff-el-form-control { height: 104px !important; }
.bl-scope .bills-demo-form form.frm-fluent-form .ff_submit_btn_wrapper .ff-btn,
.bl-scope .bills-demo-form form.frm-fluent-form .ff_submit_btn_wrapper button { margin-top: 0 !important; }

/* ---------- 8. aip-demo-form：/accounting/features/inventory/ ---------- */
.bl-scope .aip-demo-form form.frm-fluent-form { padding: 35px 48px 36px 48px !important; }
.bl-scope .aip-demo-form form.frm-fluent-form > fieldset { column-gap: 12px !important; row-gap: 15px !important;  }
.bl-scope .aip-demo-form form.frm-fluent-form .ff-el-form-control { height: 45px !important; }
.bl-scope .aip-demo-form form.frm-fluent-form textarea.ff-el-form-control { height: 104px !important; }
.bl-scope .aip-demo-form form.frm-fluent-form .ff_submit_btn_wrapper .ff-btn,
.bl-scope .aip-demo-form form.frm-fluent-form .ff_submit_btn_wrapper button { margin-top: 19px !important; }

/* ---------- 9. inv-demo-form：/accounting/features/invoicing/ ---------- */
.bl-scope .inv-demo-form form.frm-fluent-form { padding: 28px 48px 28px 48px !important; }
.bl-scope .inv-demo-form form.frm-fluent-form > fieldset { column-gap: 12px !important; row-gap: 15px !important;  }
.bl-scope .inv-demo-form form.frm-fluent-form .ff-el-form-control { height: 45px !important; }
.bl-scope .inv-demo-form form.frm-fluent-form textarea.ff-el-form-control { height: 104px !important; }
.bl-scope .inv-demo-form form.frm-fluent-form .ff_submit_btn_wrapper .ff-btn,
.bl-scope .inv-demo-form form.frm-fluent-form .ff_submit_btn_wrapper button { margin-top: 19px !important; }

/* ---------- 10. projects-demo-form：/accounting/features/projects/ ---------- */
.bl-scope .projects-demo-form form.frm-fluent-form { padding: 27px 42px 27px 13px !important; }
.bl-scope .projects-demo-form form.frm-fluent-form > fieldset { column-gap: 14px !important; row-gap: 15px !important;  }
.bl-scope .projects-demo-form form.frm-fluent-form .ff-el-form-control { height: 44px !important; }
.bl-scope .projects-demo-form form.frm-fluent-form textarea.ff-el-form-control { height: 104px !important; }
.bl-scope .projects-demo-form form.frm-fluent-form .ff_submit_btn_wrapper .ff-btn,
.bl-scope .projects-demo-form form.frm-fluent-form .ff_submit_btn_wrapper button { margin-top: 16px !important; }

/* ---------- 11. so-demo-form：/accounting/features/sales-orders/ ---------- */
.bl-scope .so-demo-form form.frm-fluent-form { padding: 28px 48px 28px 48px !important; }
.bl-scope .so-demo-form form.frm-fluent-form > fieldset { column-gap: 12px !important; row-gap: 15px !important;  }
.bl-scope .so-demo-form form.frm-fluent-form .ff-el-form-control { height: 45px !important; }
.bl-scope .so-demo-form form.frm-fluent-form textarea.ff-el-form-control { height: 104px !important; }
.bl-scope .so-demo-form form.frm-fluent-form .ff_submit_btn_wrapper .ff-btn,
.bl-scope .so-demo-form form.frm-fluent-form .ff_submit_btn_wrapper button { margin-top: 19px !important; }

/* ---------- 12. partner-form：/accounting/partners/ ---------- */
.bl-scope .partner-form form.frm-fluent-form { padding: 41px 42px 43px 42px !important; }
.bl-scope .partner-form form.frm-fluent-form > fieldset { column-gap: 13px !important; row-gap: 15px !important;  }
.bl-scope .partner-form form.frm-fluent-form .ff-el-form-control { height: 45px !important; }
.bl-scope .partner-form form.frm-fluent-form textarea.ff-el-form-control { height: 124px !important; }
/* partner：Message（倒数第 3）+ 同意条款（倒数第 2）通栏 */
.bl-scope .partner-form form.frm-fluent-form > fieldset > .ff-el-group:nth-last-of-type(3) { grid-column: 1 / -1 !important; }
/* 同意条款：标签压回单行，避免多出约 40px */
.bl-scope .partner-form form.frm-fluent-form > fieldset > .ff-el-group:nth-last-of-type(2) .ff-el-input--label { display: none !important; }
.bl-scope .partner-form form.frm-fluent-form > fieldset > .ff-el-group:nth-last-of-type(2) .ff-el-form-check-label { height: 24px !important;  display: flex !important; align-items: flex-start !important; gap: 8px !important; }
.bl-scope .partner-form form.frm-fluent-form > fieldset > .ff-el-group:nth-last-of-type(2) label,
.bl-scope .partner-form form.frm-fluent-form > fieldset > .ff-el-group:nth-last-of-type(2) .ff-el-form-check {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
}
.bl-scope .partner-form form.frm-fluent-form input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  flex: 0 0 17px !important;
}
.bl-scope .partner-form form.frm-fluent-form .ff_submit_btn_wrapper .ff-btn,
.bl-scope .partner-form form.frm-fluent-form .ff_submit_btn_wrapper button { margin-top: 12px !important; }

/* ---------- 13. asp-demo-form：5 个 solutions 页（单栏） ---------- */
.bl-scope .asp-demo-form form.frm-fluent-form { padding: 29px !important; }
.bl-scope .asp-demo-form form.frm-fluent-form > fieldset { grid-template-columns: 1fr !important; row-gap: 14px !important;  }
.bl-scope .asp-demo-form form.frm-fluent-form .ff-el-form-control { height: 45px !important; }
.bl-scope .asp-demo-form form.frm-fluent-form select.ff-el-form-control { height: 40px !important; }
.bl-scope .asp-demo-form form.frm-fluent-form textarea.ff-el-form-control { height: 102px !important; }
.bl-scope .asp-demo-form form.frm-fluent-form .ff_submit_btn_wrapper .ff-btn,
.bl-scope .asp-demo-form form.frm-fluent-form .ff_submit_btn_wrapper button { margin-top: 0 !important; }


/* ---------- 14. 还原基线中 Message 组与提交按钮之间的间距 ---------- */
.bl-scope .lead-form form.frm-fluent-form > fieldset > .ff-el-group:nth-last-of-type(2) { margin-bottom: 36px !important; }
.bl-scope .customer-demo-form form.frm-fluent-form > fieldset > .ff-el-group:nth-last-of-type(2) { margin-bottom: 37px !important; }
.bl-scope .bills-demo-form form.frm-fluent-form > fieldset > .ff-el-group:nth-last-of-type(2) { margin-bottom: 36px !important; }
.bl-scope .df-demo-form form.frm-fluent-form > fieldset > .ff-el-group:nth-last-of-type(2) { margin-bottom: -14px !important; }

/* ---------- 15. 响应式：≤1023px 内边距交给站点 CSS 的 wrapper（避免叠加），≤700px 转单栏 ---------- */
@media (max-width: 1023px) {
  .bl-scope form.frm-fluent-form:not(.fluent_form_4) { padding: 0 !important; }
  .bl-scope form.frm-fluent-form:not(.fluent_form_4) > fieldset > .ff-el-group:nth-last-of-type(2) { margin-bottom: 0 !important; }
}
@media (max-width: 700px) {
  .bl-scope form.frm-fluent-form:not(.fluent_form_4) > fieldset { grid-template-columns: 1fr !important; }
  .bl-scope form.frm-fluent-form:not(.fluent_form_4) { padding: 0 !important; }
  .bl-scope form.frm-fluent-form:not(.fluent_form_4) .ff_submit_btn_wrapper .ff-btn,
  .bl-scope form.frm-fluent-form:not(.fluent_form_4) .ff_submit_btn_wrapper button { width: 100% !important; }
}
