/* 华球通询价单：两步式弹窗（补信息 → 成功）
   颜色优先取主题变量，取不到用兜底值，保证插件独立可用 */
.hqtq-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.hqtq-modal[hidden] { display: none; }
.hqtq-mask { position: absolute; inset: 0; background: rgba(6, 15, 35, .55); }

.hqtq-box {
  position: relative;
  width: min(480px, 100%);
  max-height: 88vh;
  overflow-y: auto;
  background: #fff;
  border-radius: 14px;
  padding: 26px 24px 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
  font-family: var(--f-body, system-ui, -apple-system, "Segoe UI", "Microsoft YaHei", sans-serif);
  color: var(--ink, #10233f);
}

.hqtq-x {
  position: absolute; top: 10px; right: 12px;
  width: 28px; height: 28px; line-height: 1;
  border: 0; border-radius: 50%;
  background: #eef2f8; color: #64748b;
  font-size: 18px; cursor: pointer;
}
.hqtq-x:hover { background: #e2e8f0; }

.hqtq-box h3 { margin: 0 0 6px; font-size: 18px; font-weight: 700; line-height: 1.4; }
.hqtq-sub { margin: 0 0 14px; font-size: 12px; color: #78889e; }
.hqtq-sub b { color: var(--brand, #2271b1); }

/* ---- 表单 ---- */
.hqtq-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.hqtq-f { display: flex; flex-direction: column; gap: 4px; min-width: 0; margin-bottom: 10px; }
.hqtq-f > label { font-size: 12px; font-weight: 600; color: #52627a; }
.hqtq-f > label em { color: #d33; font-style: normal; }

.hqtq-f input,
.hqtq-f select,
.hqtq-f textarea {
  width: 100%; box-sizing: border-box;
  border: 1px solid var(--line, #dbe3ee);
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 14px;
  font-family: inherit;
  color: var(--t, #10233f);
  background: #fff;
  min-height: 40px;
}
.hqtq-f textarea { min-height: 58px; resize: vertical; line-height: 1.5; }
.hqtq-f input:focus,
.hqtq-f select:focus,
.hqtq-f textarea:focus { border-color: var(--brand, #2271b1); outline: 0; box-shadow: 0 0 0 3px rgba(34, 113, 177, .12); }

.hqtq-3 { display: flex; gap: 6px; }
.hqtq-3 input { flex: 1; min-width: 0; }

.hqtq-check { flex-direction: row; gap: 18px; align-items: center; flex-wrap: wrap; }
.hqtq-check label { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 400; color: var(--t, #10233f); }
.hqtq-check input[type=checkbox] { width: 16px; height: 16px; min-height: 16px; flex: 0 0 auto; }

/* 折叠补充信息 */
.hqtq-more { border: 1px dashed var(--line, #dbe3ee); border-radius: 10px; padding: 8px 12px; margin-bottom: 10px; background: #fafcff; }
.hqtq-more summary { cursor: pointer; font-size: 13px; font-weight: 600; color: #52627a; list-style: none; min-height: 30px; display: flex; align-items: center; gap: 6px; }
.hqtq-more summary::-webkit-details-marker { display: none; }
.hqtq-more summary::before { content: "+"; color: var(--brand, #2271b1); font-weight: 700; }
.hqtq-more[open] summary::before { content: "-"; }
.hqtq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }

.hqtq-err {
  margin: 4px 0 8px; padding: 8px 10px;
  background: #fdecec; color: #b42318;
  border-radius: 8px; font-size: 13px;
}
.hqtq-err[hidden] { display: none; }

/* ---- 按钮 ---- */
.hqtq-btn {
  width: 100%; padding: 11px; margin-top: 4px;
  border: 0; border-radius: 9px;
  background: var(--brand, #2271b1); color: #fff;
  font-size: 14px; font-weight: 600; cursor: pointer;
}
.hqtq-btn:hover { filter: brightness(1.08); }
.hqtq-btn:disabled { opacity: .7; cursor: progress; }
.hqtq-tip { margin: 8px 0 0; font-size: 11px; color: #8894a7; text-align: center; }

/* ---- 成功态 ---- */
.hqtq-step-done { text-align: center; }
.hqtq-step-done[hidden] { display: none; }
.hqtq-ok {
  width: 52px; height: 52px; margin: 4px auto 14px;
  border-radius: 50%;
  background: #e8f7ee; color: #1a9c52;
  font-size: 28px; line-height: 52px; font-weight: 700;
}
.hqtq-notice { margin: 0 0 12px; font-size: 13px; line-height: 1.7; color: #52627a; }
.hqtq-code {
  display: inline-block; margin: 0 0 14px;
  padding: 5px 12px; border-radius: 999px;
  background: #f1f5fb; color: #64748b; font-size: 12px;
}
.hqtq-code b { color: var(--brand, #2271b1); font-size: 13px; }
.hqtq-qr { margin: 4px 0 16px; }
.hqtq-qr[hidden] { display: none; }
.hqtq-qr img {
  width: 168px; height: 168px; max-width: 70vw;
  object-fit: contain; border-radius: 10px;
  border: 1px solid var(--line, #dbe3ee);
  background: #fff;
}
.hqtq-qr span { display: block; margin-top: 8px; font-size: 12px; color: #52627a; }

body.hqtq-lock { overflow: hidden; }
.price-submit.is-busy { opacity: .7; cursor: progress; }

@media (max-width: 480px) {
  .hqtq-box { padding: 22px 16px 16px; }
  .hqtq-row2, .hqtq-grid { grid-template-columns: 1fr; }
  .hqtq-qr img { width: 150px; height: 150px; }
}
