/* ========== 二维码弹窗 ========== */
.modal-overlay { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(15,23,42,.6); backdrop-filter:blur(4px); z-index:10000; align-items:center; justify-content:center; opacity:0; transition:opacity .3s ease; }
.modal-overlay.active { opacity:1; }
.qr-modal-box { background:#fff; border-radius:20px; max-width:780px; width:90%; position:relative; overflow:hidden; box-shadow:0 25px 80px rgba(15,23,42,.2),0 8px 24px rgba(26,86,219,.12); }
.qr-modal-box::before { content:''; position:absolute; top:0; right:0; width:180px; height:140px; background:linear-gradient(135deg,#1a56db,#3b82f6 50%,transparent 100%); border-radius:0 20px 0 80px; opacity:.10; pointer-events:none; z-index:0; }
.qr-modal-header { display:flex; align-items:center; padding:2rem 2rem 1rem; position:relative; z-index:1; }
.qr-modal-title-group { display:flex; align-items:center; gap:.75rem; }
.qr-modal-icon { width:40px; height:40px; background:linear-gradient(135deg,#f97316,#fb923c); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1.35rem; color:#fff; }
.qr-modal-title-text h3 { font-size:1.5rem; margin:0; color:#0f172a; font-weight:800; letter-spacing:-.02em; }
.qr-modal-title-text h3::before { content:''; display:inline-block; width:4px; height:1.15em; background:linear-gradient(180deg,#1a56db,#3b82f6); border-radius:2px; margin-right:.6rem; vertical-align:middle; }
.qr-modal-close-btn { position:absolute; top:1.25rem; right:1.25rem; width:38px; height:38px; background:#1a56db; color:#fff; border:none; border-radius:50%; font-size:1.2rem; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:2; transition:all .25s ease; box-shadow:0 3px 10px rgba(26,86,219,.3); }
.qr-modal-close-btn:hover { background:#0f3a9e; transform:scale(1.08); }
.qr-modal-tip { padding:0 2rem .9rem; position:relative; z-index:1; display:flex; align-items:center; gap:.6rem; color:#475569; font-size:.9rem; line-height:1.6; }
.qr-modal-tip .tip-icon { font-size:1.15rem; flex-shrink:0; }
.qr-cards-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.35rem; padding:0 2rem 1.5rem; position:relative; z-index:1; }
.qr-card { border-radius:16px; padding:1.4rem 1.2rem; text-align:center; position:relative; overflow:hidden; border:1.5px solid #e8ecf1; background:#fff; box-shadow:0 2px 12px rgba(15,23,42,.05); }
.qr-card.personal { border-color:rgba(249,115,22,.22); }
.qr-card-tag { display:inline-flex; align-items:center; gap:.4rem; padding:.4rem 1.15rem; border-radius:999px; font-size:.875rem; font-weight:700; color:#fff; margin-bottom:.9rem; }
.qr-card.personal .qr-card-tag { background:linear-gradient(135deg,#f97316,#fb923c); box-shadow:0 2px 8px rgba(249,115,22,.3); }
.qr-card.business .qr-card-tag,
.qr-card.crossborder .qr-card-tag { background:linear-gradient(135deg,#1a56db,#3b82f6); box-shadow:0 2px 8px rgba(26,86,219,.3); }
.qr-code-wrap { width:210px; margin:0 auto .65rem; border-radius:14px; background:#fafbfc; border:1.5px solid #e8ecf1; box-shadow:0 2px 10px rgba(15,23,42,.06); padding:.4rem; }
.qr-code-wrap img, .qr-code-img { width:100%; height:auto; display:block; border-radius:10px; }
.qr-action-hint { font-size:.7875rem; color:#64748b; margin-bottom:.75rem; display:flex; align-items:center; justify-content:center; gap:.35rem; }
.qr-action-hint .hint-icon { font-size:.95rem; }
.qr-card-scene { font-size:.8rem; color:#334155; line-height:1.7; text-align:left; display:block; width:100%; padding:.85rem 1rem; border-radius:12px; margin:0; position:relative; }
.qr-card.personal .qr-card-scene { background:rgba(249,115,22,.06); border:1.5px solid rgba(249,115,22,.18); }
.qr-card.personal .qr-card-scene::before { content:'✅'; position:absolute; top:.7rem; left:.85rem; font-size:.95rem; }
.qr-card.personal .qr-card-scene { padding-left:2.2rem; }
.qr-card.business .qr-card-scene,
.qr-card.crossborder .qr-card-scene { background:rgba(26,86,219,.05); border:1.5px solid rgba(26,86,219,.15); }
.qr-card.business .qr-card-scene::before,
.qr-card.crossborder .qr-card-scene::before { content:'✅'; position:absolute; top:.7rem; left:.85rem; font-size:.95rem; }
.qr-card.business .qr-card-scene,
.qr-card.crossborder .qr-card-scene { padding-left:2.2rem; }
.qr-modal-footer-bar { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:1rem 2rem 1.5rem; position:relative; z-index:1; gap:.4rem; }
.qr-footer-logo-img { height:36px; width:auto; }
.qr-trust-line { font-size:.75rem; color:#94a3b8; font-weight:500; letter-spacing:.02em; line-height:1.5; }

/* ========== 立即留资弹窗（现代设计） ========== */
.form-modal-modern { background:#fff; border-radius:16px; max-width:480px; width:90%; position:relative; overflow:hidden; box-shadow:0 25px 80px rgba(15,23,42,.25); }
.form-modal-modern .modal-close-x { position:absolute; top:1.25rem; right:1.25rem; width:32px; height:32px; background:none; color:#94a3b8; border:none; font-size:1.5rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:color .2s; line-height:1; z-index:2; }
.form-modal-modern .modal-close-x:hover { color:#0f172a; }
.form-modal-header { padding:2rem 2rem 0; text-align:center; }
.form-modal-header h3 { font-size:1.5rem; color:#0f172a; font-weight:700; margin:0 0 .25rem; }
.form-modal-header p { font-size:.875rem; color:#64748b; margin:0; }
.form-modal-modern .modal-body { padding:1.5rem 2rem 2rem; }
.form-modal-modern .form-group { margin-bottom:1.25rem; }
.form-modal-modern .form-group label { display:block; font-size:.875rem; font-weight:500; color:#334155; margin-bottom:.5rem; }
.form-input-wrap { position:relative; }
.form-input-wrap input { width:100%; padding:.75rem 1rem .75rem 2.5rem; border:1.5px solid #e2e8f0; border-radius:10px; font-size:.9375rem; color:#0f172a; background:#fff; transition:all .2s ease; font-family:inherit; }
.form-input-wrap input:focus { outline:none; border-color:#3b82f6; box-shadow:0 0 0 3px rgba(59,130,246,.1); }
.form-input-wrap input::placeholder { color:#94a3b8; }
.form-input-icon { position:absolute; left:.875rem; top:50%; transform:translateY(-50%); font-size:1rem; color:#94a3b8; pointer-events:none; }
.form-tags { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.75rem; }
.form-tag { padding:.35rem .75rem; background:#eff6ff; color:#2563eb; border:1px solid #dbeafe; border-radius:6px; font-size:.8125rem; cursor:pointer; transition:all .2s; }
.form-tag:hover { background:#2563eb; color:#fff; border-color:#2563eb; }
.form-agree { margin:1rem 0 1.5rem; }
.form-checkbox { display:flex; align-items:flex-start; gap:.5rem; cursor:pointer; }
.form-checkbox input { position:absolute; opacity:0; width:0; height:0; }
.checkmark { width:16px; height:16px; min-width:16px; border:1.5px solid #cbd5e1; border-radius:4px; margin-top:2px; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.form-checkbox input:checked + .checkmark { background:#2563eb; border-color:#2563eb; }
.form-checkbox input:checked + .checkmark::after { content:'✓'; color:#fff; font-size:.75rem; font-weight:700; }
.form-agree-text { font-size:.8125rem; color:#64748b; line-height:1.5; }
.form-actions { display:flex; gap:.75rem; }
.form-btn-cancel { flex:1; padding:.75rem 1.5rem; background:#fff; color:#2563eb; border:1.5px solid #2563eb; border-radius:10px; font-size:.9375rem; font-weight:600; cursor:pointer; transition:all .2s; }
.form-btn-cancel:hover { background:rgba(37,99,235,.04); }
.form-btn-submit { flex:1; padding:.75rem 1.5rem; background:linear-gradient(135deg,#1a56db,#3b82f6); color:#fff; border:none; border-radius:10px; font-size:.9375rem; font-weight:600; cursor:pointer; transition:all .2s; }
.form-btn-submit:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(26,86,219,.35); }
.form-btn-submit:disabled { opacity:.7; cursor:not-allowed; transform:none; }
.form-result { padding:2.5rem 2rem; text-align:center; }

/* ========== 移动端 QR 弹窗 ========== */
@media (max-width: 768px) {
  .qr-modal-box { max-width: 94%; width: 94%; border-radius: 14px; max-height: 90vh; overflow-y: auto; }
  .qr-modal-header { padding: 1.25rem .75rem .5rem; flex-direction: column; text-align: center; }
  .qr-modal-title-group { flex-direction: column; gap: .4rem; }
  .qr-modal-title-text h3 { font-size: 1.1rem; }
  .qr-modal-title-text h3::before { display: none; }
  .qr-modal-title-line { font-size: .8rem; }
  .qr-modal-close-btn { top: .5rem; right: .5rem; width: 30px; height: 30px; font-size: .9rem; }
  .qr-modal-tip { padding: 0 .75rem .5rem; font-size: .8rem; flex-wrap: wrap; text-align: center; justify-content: center; }
  .qr-cards-grid { grid-template-columns: 1fr; gap: .8rem; padding: 0 .75rem 1rem; }
  .qr-card { padding: 1rem .75rem; }
  .qr-card-tag { font-size: .8rem; padding: .3rem .8rem; margin-bottom: .6rem; }
  .qr-code-wrap { width: 160px; margin: 0 auto .5rem; }
  .qr-action-hint { font-size: .75rem; margin-bottom: .5rem; }
  .qr-card-scene { font-size: .75rem; padding: .65rem .75rem .65rem 1.8rem; }
  .qr-card.personal .qr-card-scene { padding-left: 1.8rem; }
  .qr-card.business .qr-card-scene,
  .qr-card.crossborder .qr-card-scene { padding-left: 1.8rem; }
  .qr-modal-footer-bar { padding: .6rem .75rem .8rem; }
  .qr-footer-logo-img { height: 26px; }
  .qr-trust-line { font-size: .65rem; }
}

/* ========== 移动端 留资弹窗 ========== */
@media (max-width: 768px) {
  .form-modal-modern { max-width: 94%; width: 94%; border-radius: 12px; max-height: 90vh; overflow-y: auto; }
  .form-modal-header { padding: 1.25rem .75rem 0; }
  .form-modal-header h3 { font-size: 1.15rem; }
  .form-modal-header p { font-size: .8rem; }
  .form-modal-modern .modal-close-x { top: .5rem; right: .5rem; }
  .form-modal-modern .modal-body { padding: .75rem .75rem 1rem; }
  .form-input-wrap input { padding: .6rem .75rem .6rem 2rem; font-size: .875rem; }
  .form-tags { gap: .35rem; }
  .form-tag { padding: .3rem .6rem; font-size: .75rem; }
  .form-actions { flex-direction: column; gap: .5rem; }
  .form-btn-cancel, .form-btn-submit { width: 100%; padding: .65rem; font-size: .875rem; }
  .form-result { padding: 1.5rem .75rem; }
}
