@charset "UTF-8";
/* 原生表单的聚焦滚动立即完成，避免连续填写后点击复选框或提交按钮时目标仍在移动。 */
html:has(form[data-hebang-form]:not([data-hebang-initialized])) { scroll-behavior: auto; }
/* 字段和提示共享状态样式，各表单保留自己的业务布局。 */
.hebang-form { min-width: 0; font: var(--hebang-fs-body)/var(--hebang-lh-base) var(--hebang-font-sans); color: var(--hebang-color-ink); }
.hebang-form [hidden] { display: none !important; }
.hebang-form-body { min-width: 0; margin: 0; padding: 0; border: 0; }
.hebang-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--hebang-space-6); }
.hebang-form-field { min-width: 0; display: flex; flex-direction: column; gap: var(--hebang-space-1); }
.hebang-form-field--wide { grid-column: 1 / -1; }
.hebang-form-label { color: inherit; font-weight: var(--hebang-weight-semibold); }
.hebang-form .hebang-form-control { box-sizing: border-box; width: 100%; min-width: 0; min-height: var(--hebang-control-h-lg); margin: 0; padding: var(--hebang-space-4) var(--hebang-space-5); border: var(--hebang-border-input); border-radius: var(--hebang-radius); background: var(--hebang-color-surface); color: var(--hebang-color-ink); font: inherit; line-height: var(--hebang-lh-base); }
.hebang-form select.hebang-form-control { appearance: auto; }
.hebang-form textarea.hebang-form-control { min-height: 140px; resize: vertical; }
.hebang-form-control::placeholder { color: var(--hebang-color-placeholder); opacity: 1; }
/* 错误边界与焦点外圈并存；字段提示紧贴控件，全局结果保留独立底色。 */
.hebang-form .hebang-form-control[aria-invalid="true"] { border: 2px solid var(--hebang-color-danger-border); }
.hebang-form-control:focus-visible, .hebang-form-submit:focus-visible, .hebang-form-again:focus-visible, .hebang-form-result:focus-visible { outline: 2px solid transparent; box-shadow: var(--hebang-focus-ring); }
.hebang-form-error { display: flex; align-items: flex-start; gap: var(--hebang-space-1); margin: 0; color: var(--hebang-color-danger-inline); font-size: var(--hebang-fs-body-sm); line-height: var(--hebang-lh-snug); overflow-wrap: anywhere; }
.hebang-form-error-icon { flex: 0 0 14px; margin-top: 2px; }
.hebang-form-result { margin: 0; padding: var(--hebang-space-3) var(--hebang-space-4); border-radius: var(--hebang-radius); background: var(--hebang-color-danger-surface); color: var(--hebang-color-danger-text); overflow-wrap: anywhere; }
.hebang-form-help { margin: 0; color: var(--hebang-color-text); font-size: var(--hebang-fs-body-sm); }
.hebang-form-result { margin-top: var(--hebang-space-6); }
.hebang-form[data-state="success"] .hebang-form-result { background: var(--hebang-color-success-surface); color: var(--hebang-color-success-text); }
.hebang-form[data-state="submitting"] .hebang-form-result { background: var(--hebang-color-warning-surface); color: var(--hebang-color-warning-text); }
.hebang-form-actions { margin-top: var(--hebang-space-6); }
.hebang-form-submit { min-height: var(--hebang-control-h-lg); min-width: var(--hebang-hit-min); padding: var(--hebang-space-4) var(--hebang-space-8); border: 0; border-radius: var(--hebang-radius); background: var(--hebang-color-primary); color: var(--hebang-color-primary-ink); font: inherit; font-weight: var(--hebang-weight-semibold); cursor: pointer; }
.hebang-form-submit:hover { background: var(--hebang-color-primary-hover); }
.hebang-form-body:disabled .hebang-form-control, .hebang-form-body:disabled .hebang-form-submit { background: var(--hebang-color-surface-mute); color: var(--hebang-color-text); cursor: wait; opacity: 1; }
.hebang-form-again { display: inline-flex; align-items: center; min-height: var(--hebang-hit-min); margin-top: var(--hebang-space-4); padding: var(--hebang-space-2) var(--hebang-space-4); border-radius: var(--hebang-radius); background: var(--hebang-color-surface); color: var(--hebang-color-primary-text); text-decoration: underline; }
.hebang-form--rfq { max-width: var(--hebang-container-text); }
.hebang-form--rfq .hebang-form-submit { display: inline-flex; justify-content: center; align-items: center; gap: var(--hebang-space-4); min-width: min(240px, 100%); min-height: 60px; padding: var(--hebang-space-5) var(--hebang-space-8); border-radius: var(--hebang-radius-pill); }
.hebang-form--rfq .hebang-form-submit-arrow { position: static; transform: none; flex: 0 0 auto; }
/* 原生组提供名称与错误焦点，标签扩大复选框的点击范围，窄屏按 DOM 顺序换行。 */
.hebang-form-choices { min-width: 0; margin: 0; padding: 0; border: 0; border-radius: var(--hebang-radius); }
.hebang-form-choices legend { margin: 0 0 var(--hebang-space-1); padding: 0; }
.hebang-form-choice-list { display: flex; flex-wrap: wrap; gap: var(--hebang-space-1) var(--hebang-space-8); }
.hebang-form-choice { display: inline-flex; align-items: center; gap: var(--hebang-space-3); min-height: var(--hebang-hit-min); cursor: pointer; }
.hebang-form-choice input { appearance: auto; flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--hebang-color-primary-text); }
.hebang-form-choice input:focus-visible, .hebang-form-choices:focus-visible { outline: 2px solid transparent; box-shadow: var(--hebang-focus-ring); }
.hebang-form-body:disabled .hebang-form-choice { cursor: wait; }
.hebang-form--contact .hebang-form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--hebang-space-8) 25.5px; }
.hebang-form--contact .hebang-form-control { min-height: 50px; padding: 10px var(--hebang-space-6); border-radius: var(--hebang-radius-xs); }
.hebang-form--contact textarea.hebang-form-control { height: 150px; }
.hebang-form--contact .hebang-form-actions { margin-top: var(--hebang-space-8); text-align: center; }
.hebang-form--contact .hebang-form-submit { position: relative; padding: 13px 53px 13px 24px; border-radius: var(--hebang-radius-xs); line-height: 26px; }
.hebang-form-submit-arrow { position: absolute; right: 22px; top: 50%; transform: translateY(-50%); fill: currentColor; }
/* 网格给按钮留出真实宽度，保留单行胶囊外观；错误信息只占邮箱列。 */
.hebang-form--subscribe .hebang-form-body { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.hebang-form--subscribe .hebang-form-grid, .hebang-form--subscribe .hebang-form-field { display: contents; }
.hebang-form--subscribe .hebang-form-control { grid-column: 1; grid-row: 1; height: 70px; padding: 0 20px 0 30px; border-radius: 50px 0 0 50px; border-color: transparent; background: var(--hebang-color-white); color: var(--hebang-color-primary-dark); }
.hebang-form--subscribe { --hebang-focus-ring: 0 0 0 2px var(--hebang-color-white), 0 0 0 4px var(--hebang-color-primary-deep); }
.hebang-form--subscribe .hebang-form-control::placeholder { color: var(--hebang-color-primary-dark); }
.hebang-form--subscribe .hebang-form-actions { grid-column: 2; grid-row: 1; margin: 0; padding: 7px 8px 7px 0; background: var(--hebang-color-white); border-radius: 0 50px 50px 0; }
.hebang-form--subscribe .hebang-form-submit { position: relative; height: 56px; min-height: 56px; padding: 0 60px 0 30px; border-radius: 40px; background: var(--hebang-color-success-surface); color: var(--hebang-color-primary-dark); line-height: normal; white-space: nowrap; }
.hebang-form--subscribe .hebang-form-submit:hover { background: var(--hebang-color-white); }
.hebang-form--subscribe .hebang-form-error { grid-column: 1; grid-row: 2; margin-top: var(--hebang-space-1); }
/* 订阅卡片的固定绿底使用浅色文字，无脚本回填页仍跟随页面语义色。 */
.hebang-footer-subscribe-box .hebang-form-error { color: var(--hebang-color-white); }
.hebang-footer-updates .hebang-form-error { color: var(--hebang-color-danger-border); }
.hebang-form--subscribe .hebang-form-control[aria-invalid="true"] { border-color: var(--hebang-color-danger); }
/* 窄屏改为单列；长译文与 200% 缩放不挤压控件。 */
@media (width < 768px) {
  .hebang-form-grid, .hebang-form--contact .hebang-form-grid { grid-template-columns: minmax(0, 1fr); }
  .hebang-form-submit { width: 100%; }
  .hebang-form:is(.hebang-form--contact, .hebang-form--rfq) .hebang-form-control { min-height: var(--hebang-mobile-control-h); padding: 12px 16px; border-radius: var(--hebang-radius); font-size: var(--hebang-fs-body); }
  .hebang-form:is(.hebang-form--contact, .hebang-form--rfq) textarea.hebang-form-control { min-height: 140px; }
  .hebang-form:is(.hebang-form--contact, .hebang-form--rfq) .hebang-form-submit { width: 100%; min-height: var(--hebang-mobile-control-h); padding-block: 13px; border-radius: var(--hebang-radius); }
  /* 手机标签参与布局，覆盖共享辅助技术类的强制定位。 */
  .hebang-form--contact .hebang-form-label.screen-reader-text { position: static !important; width: auto; height: auto; margin: 0; padding: 0; overflow: visible; clip: auto; clip-path: none; white-space: normal; }
  .hebang-form--subscribe .hebang-form-body { grid-template-columns: minmax(0, 1fr); }
  .hebang-form--subscribe .hebang-form-control { border-radius: 50px; }
  .hebang-form--subscribe .hebang-form-actions { grid-column: 1; grid-row: 3; padding: 0; margin-top: 12px; background: transparent; }
}
