/* Compiled from LESS. Edit this CSS going forward. */
/* Modern layout tokens — html { font-size: 10px } in site.less → 1rem = 10px */
/* 1200px content */
/* Homepage section shell — single visual column */
/* Homepage */
/* between major sections */
/* section title → main content */
/* carousel → Learn More button */
/* last section → footer */
/* Inner pages (About, etc.) */
/* Toolbox / forpros marketing page — type scale */
/* 3.2rem — page-level headings */
/* 2.4rem */
/* 1.8rem — intro copy (e.g. above search) */
/* 1.6rem — section descriptions */
/* 1.4rem */
/* 2.4rem — nested card titles */
/* 1.8rem */
/* bottom-content product name (.big-title) vs block headings (.card-title) */
/* product-library.html 品类入口卡：名称略大于素材列表标题 */
/* 手机端品类卡：图片区统一高度，便于同行标题/按钮对齐 */
/* 1.8rem */
/* 1.4rem */
/* 1.3rem */
/* Toolbox floating actions (cart, back-to-top, back, home) */
/* Mobile stack: base → back-top → goto → back-home → cart */
/* Toolbox 桌面侧栏：filter-nav / slider-bar（高于主内容，低于弹层） */
/* Form / lookup / registration pages — type scale */
/* Marketing / product toolkit (.page-toolbox) — light banner, dark text */
/* product-library-list 等：两列素材卡片 + 紧凑操作钮 */
/* 两列品类卡：等高图片区 + 标题弹性区 + 按钮贴底 */
/* product-library.html：品类网格 + 长 CTA 文案 */
/* product-library-one 等：bottom-content 内各类素材列表 */
/* gifts-detail.html / props-detail.html：详情 + You May Also Like */
/* Inner page hero — mobile (legacy mpx @ 414px design → rem) */
/* Leads / inquiries (info.html) — overrides bundled /info/css/index14a4fa2c.css */
#main {
  min-height: 100vh;
  background: #f4f6f8;
  box-sizing: border-box;
}
.info_form {
  width: 100%;
  max-width: 64rem;
  margin: 0 auto;
  margin-top: 0 !important;
  /* #main already offsets the fixed header via layout-header-footer */
  padding: 2.4rem 1.6rem 9.6rem;
  box-sizing: border-box;
  overflow: visible;
}
.info_form .form_content {
  width: 100%;
  margin: 0;
  overflow: visible;
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: 0 0.4rem 2.4rem rgba(15, 23, 42, 0.07);
  border: 1px solid rgba(15, 23, 42, 0.06);
  box-sizing: border-box;
  padding: 2.4rem 2.8rem 2rem;
}
.info_form .form_main {
  margin-top: 0;
  overflow: visible;
}
.info_form .form_main .subtitle {
  font-family: 'Gotham-pro-reg', sans-serif;
  font-size: 1.8rem;
  line-height: 1.6;
  color: #121212;
  margin-bottom: 2.4rem;
}
.info_form .form_main .form-group {
  position: relative;
  margin-bottom: 1.6rem;
  padding-right: 1.4rem;
  box-sizing: border-box;
}
.info_form .form_main .form-group .form-control {
  display: block;
  width: 100%;
  height: auto;
  min-height: 4.8rem;
  padding: 1rem 1.6rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
  border-radius: 0.8rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #fff;
  font-family: 'Gotham-pro-reg', sans-serif;
  color: #121212;
  transition: border-color 0.18s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.18s cubic-bezier(0.22, 1, 0.36, 1);
}
.info_form .form_main .form-group .form-control::placeholder {
  color: rgba(18, 18, 18, 0.38);
}
.info_form .form_main .form-group .form-control:focus {
  outline: none;
  border-color: #1f94d2;
  box-shadow: 0 0 0 0.3rem rgba(31, 148, 210, 0.14);
}
.info_form .form_main .form-group .leaveMessage {
  height: auto !important;
  min-height: 12rem;
  line-height: 1.55;
  padding: 1.2rem 1.6rem;
  resize: vertical;
}
.info_form .form_main .form-group .select-view {
  position: relative;
  width: 100%;
}
.info_form .form_main .form-group .select-view .form-control {
  padding-right: 3.2rem;
  /* Gotham lacks U+00B3 (³); use system fonts so EVOX G³ renders in <select>/<option> */
  font-family: Arial, Helvetica, "Segoe UI", sans-serif;
}
.info_form .form_main .form-group .select-view:after {
  top: 50%;
  right: 1.4rem;
  transform: translateY(-50%);
  pointer-events: none;
}
.info_form .form_main .form-group .form-text {
  display: block;
  height: auto;
  min-height: 0;
  margin: 0.5rem 0 0;
  padding: 0;
  font-size: 1.3rem;
  line-height: 1.45;
  color: rgba(18, 18, 18, 0.62);
  opacity: 1;
}
.info_form .form_main .form-group .form-require {
  position: absolute;
  right: 0;
  top: 0;
  width: 1.2rem;
  height: 4.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
  color: #d21c1c;
  pointer-events: none;
}
.info_form .form_main .form-group:has(.leaveMessage) .form-require {
  height: 4.8rem;
  align-items: center;
  padding-top: 0;
}
.btn_container {
  left: 0;
  right: 0;
  width: 100%;
  padding: 1.2rem 1.6rem;
  padding-bottom: max(1.2rem, env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -0.2rem 1.2rem rgba(15, 23, 42, 0.08);
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  z-index: 20;
  box-sizing: border-box;
}
.btn_container .btn {
  width: 100%;
  max-width: 64rem;
  height: auto;
  min-height: 5.2rem;
  margin: 0 auto;
  padding: 1.2rem 2rem;
  line-height: 1.3;
  font-family: 'Gotham-med', sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  background: #1f94d2;
  color: #fff;
  border: 1px solid #1f94d2;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.18s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.18s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.18s cubic-bezier(0.22, 1, 0.36, 1);
}
.btn_container .btn:hover {
  background: #79bfe4 !important;
  border-color: #79bfe4 !important;
  box-shadow: 0 0.4rem 1.2rem rgba(31, 148, 210, 0.28);
}
.btn_container .btn:disabled {
  background: rgba(31, 148, 210, 0.45);
  border-color: transparent;
  opacity: 1;
}
.alert {
  width: min(52rem, calc(100% - 3.2rem));
  max-width: 52rem;
  height: auto;
  max-height: min(90vh, 100%);
  margin: 0;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  padding: 2.4rem 1.6rem 2rem;
  border-radius: 1.2rem;
  box-shadow: 0 1.2rem 4rem rgba(15, 23, 42, 0.18);
  overflow-y: auto;
  box-sizing: border-box;
  font-size: 1.8rem;
  line-height: 1.5;
}
.alert p {
  width: 100%;
  max-width: 40rem;
  margin: 0 auto;
  color: #1f94d2;
  font-size: 1.8rem;
  line-height: 1.55;
}
.alert .btn_group {
  width: 100%;
  max-width: 40rem;
  height: auto;
  margin: 1.6rem auto 0;
  gap: 0.8rem;
  justify-content: flex-start;
}
.alert .btn_group a {
  display: block;
  width: 100%;
  text-decoration: none;
}
.alert .btn_group .btn {
  width: 100%;
  height: auto;
  min-height: 4.4rem;
  padding: 1rem 1.4rem;
  font-size: 1.6rem;
  line-height: 1.35;
  white-space: normal;
  font-family: 'Gotham-med', sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  background: #1f94d2;
  color: #fff;
  border: 1px solid #1f94d2;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.18s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.18s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.18s cubic-bezier(0.22, 1, 0.36, 1);
}
.alert .btn_group .btn:hover {
  background: #79bfe4 !important;
  border-color: #79bfe4 !important;
  box-shadow: 0 0.4rem 1.2rem rgba(31, 148, 210, 0.28);
}
.alert .alert-close-button {
  width: 4.4rem;
  height: 4.4rem;
  font-size: 1.8rem;
  top: 0.8rem;
  right: 0.8rem;
}
.alert_show {
  transform: translate(-50%, -50%) scale(1, 1);
}
.alert_hide {
  transform: translate(-50%, -50%) scale(0.92, 0.92);
}
/* 手机端（≤990px） */
@media screen and (max-width: 990px) {
  .info_form {
    width: 100%;
    max-width: 100%;
    padding: 1.6rem 1.6rem 8.8rem;
  }
  .info_form .form_content {
    padding: 1.6rem 1.4rem 1.2rem;
    border-radius: 1.2rem;
  }
  .info_form .form_main .subtitle {
    font-size: 1.6rem;
    line-height: 1.55;
    margin-bottom: 1.6rem;
  }
  .info_form .form_main .form-group {
    margin-bottom: 1.2rem;
    padding-right: 1.2rem;
  }
  .info_form .form_main .form-group .form-control {
    min-height: 4.4rem;
    padding: 1rem 1.2rem;
    font-size: 1.6rem;
  }
  .info_form .form_main .form-group .leaveMessage {
    min-height: 10rem;
    padding: 1rem 1.2rem;
  }
  .info_form .form_main .form-group .form-require {
    height: 4.4rem;
    right: 0;
    font-size: 1.3rem;
  }
  .info_form .form_main .form-group:has(.leaveMessage) .form-require {
    height: 4.4rem;
    padding-top: 0;
  }
  .info_form .form_main .form-group .form-text {
    font-size: 1.2rem;
  }
  .btn_container {
    padding: 1rem 1.6rem;
    padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
  }
  .btn_container .btn {
    min-height: 4.8rem;
    font-size: 1.6rem;
  }
  .alert {
    width: min(100%, calc(100vw - 2.4rem));
    padding: 2rem 1.4rem 1.6rem;
    font-size: 1.6rem;
  }
  .alert p {
    font-size: 1.6rem;
  }
  .alert .btn_group .btn {
    min-height: 4.4rem;
    font-size: 1.4rem;
    padding: 0.9rem 1.2rem;
  }
}
