
/* 表单页 */
.form-wrap { max-width:760px; margin:0 auto; }
.form-head { text-align:center; padding:34px 0 6px; }
.form-head h1 { font-size:26px; color:var(--wine); letter-spacing:1px; }
.form-head .f-sub { color:var(--ink3); font-size:13px; margin-top:6px; }
.track-banner {
  display:flex; align-items:center; gap:12px; background:linear-gradient(135deg,#eef6f8,#ddeeed);
  border-radius:14px; padding:14px 18px; margin:18px 0; border-left:4px solid var(--wine2);
}
.track-banner i { font-size:24px; color:var(--wine2); }
.track-banner .t-name { font-weight:700; color:var(--wine); font-size:15px; }
.track-banner .t-badge { display:inline-block; font-size:14px; font-weight:700; color:var(--wine); background:var(--gold-l); border:1px solid var(--gold); padding:3px 14px; border-radius:40px; margin-top:5px; letter-spacing:.5px; }
.form-tabs { display:flex; gap:6px; background:#ddeeed; border-radius:40px; padding:4px; max-width:300px; margin:0 auto 24px; }
.form-tabs button { flex:1; border:none; background:transparent; padding:9px 0; border-radius:40px; font-weight:600;
  font-size:14px; cursor:pointer; font-family:inherit; color:var(--ink2); transition:all .25s; }
.form-tabs button.active { background:var(--wine); color:#fff; box-shadow:0 2px 10px rgba(17,55,81,.3); }
.form-panel { display:none; animation:fadeUp .3s ease; }
.form-panel.active { display:block; }
@keyframes fadeUp { from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }
.form-group { margin-bottom:16px; }
.form-group > label { display:block; font-weight:600; color:#33454e; margin-bottom:5px; font-size:13.5px; }
.required { color:#b22222; margin-left:2px; }
.form-group input[type=text], .form-group input[type=tel], .form-group input[type=month],
.form-group input[type=number], .form-group select, .form-group textarea {
  width:100%; padding:10px 14px; border:1px solid #c5dbe3; border-radius:9px; font-size:14px;
  font-family:inherit; background:#fbfdfe; transition:border-color .25s, box-shadow .25s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
  outline:none; border-color:var(--wine2); box-shadow:0 0 0 3px rgba(32,98,131,.18);
}
.form-group textarea { resize:vertical; min-height:90px; }
.form-group .hint { font-size:11.5px; color:var(--ink3); margin-top:4px; line-height:1.5; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:600px){ .form-row { grid-template-columns:1fr; } }
.radio-line { display:flex; gap:22px; padding-top:4px; flex-wrap:wrap; }
.radio-line label { display:flex; align-items:center; gap:5px; font-weight:400; font-size:14px; cursor:pointer; }
.radio-line input { width:16px; height:16px; accent-color:var(--wine2); cursor:pointer; }
.file-hint { font-size:11.5px; color:var(--ink3); }
input[type=file] { width:100%; font-size:12.5px; }
input[type=file]::file-selector-button { background:#ddeeed; border:none; padding:7px 16px; border-radius:20px;
  font-family:inherit; font-size:12.5px; color:var(--wine); cursor:pointer; margin-right:12px; }
.member-box { background:#eef6f8; border-radius:12px; padding:16px; }
.member-row { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-bottom:10px; }
@media (max-width:820px){ .member-row { grid-template-columns:1fr 1fr; } }
.member-row input, .member-row select { padding:8px 10px; border:1px solid #c5dbe3; border-radius:8px;
  font-size:13px; font-family:inherit; background:#fff; width:100%; }
.add-member { background:none; border:1px dashed var(--wine2); padding:6px 18px; border-radius:24px;
  color:var(--wine); cursor:pointer; font-family:inherit; font-size:13px; }
.add-member:hover { background:rgba(32,98,131,.1); }
.agree-line { display:flex; align-items:flex-start; gap:8px; font-size:13.5px; cursor:pointer; }
.agree-line input { width:16px; height:16px; accent-color:var(--wine2); cursor:pointer; margin-top:3px; flex-shrink:0; }
.agree-line a { color:var(--wine); text-decoration:underline; }
details.commit { background:#f7fbfc; border:1px solid var(--line); border-radius:12px; padding:14px 18px; margin:6px 0 18px; }
details.commit summary { cursor:pointer; font-weight:600; color:var(--wine); font-size:14px; }
details.commit ol { margin:10px 0 0 20px; }
details.commit ol li { font-size:12.5px; color:var(--ink2); margin-bottom:8px; text-align:justify; }
details.commit .commit-to { font-size:12.5px; color:var(--ink2); margin:10px 0 0; font-weight:600; text-align:justify; }
.form-actions { display:flex; gap:12px; margin-top:20px; }
.form-actions button { flex:1; padding:13px 0; border-radius:50px; font-size:15px; font-weight:700;
  border:none; cursor:pointer; font-family:inherit; transition:all .25s; }
.btn-submit { background:linear-gradient(135deg,var(--wine2),var(--wine)); color:#fff; box-shadow:0 4px 16px rgba(17,55,81,.3); }
.btn-submit:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(17,55,81,.4); }
.btn-reset { background:#ddeeed; color:var(--ink2); }
.btn-reset:hover { background:#cfe6ec; }

/* 表单成员删除按钮 */
.del-member { background:none; border:1px dashed #b22222; color:#b22222; border-radius:20px; padding:4px 10px; cursor:pointer; font-size:12px; font-family:inherit; align-self:center; }

/* ================= 微信授权登录弹窗 ================= */
body.wx-locked { overflow:hidden; }
.wx-mask { position:fixed; top:0; left:0; right:0; bottom:0; z-index:2000;
  background:rgba(12,32,46,.62); display:flex; align-items:center; justify-content:center;
  padding:20px; animation:wxFade .25s ease; }
@keyframes wxFade { from { opacity:0; } to { opacity:1; } }
.wx-card { background:#fff; border-radius:18px; padding:36px 32px 28px; width:100%; max-width:380px;
  text-align:center; box-shadow:0 24px 60px rgba(0,0,0,.35); }
.wx-ic { width:64px; height:64px; border-radius:50%; background:#07c160; color:#fff; font-size:34px;
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.wx-card h3 { font-size:19px; color:#22333b; margin:0 0 10px; }
.wx-tip { font-size:13.5px; color:#728a94; line-height:1.7; margin:0 0 20px; }
.wx-btn { display:block; width:100%; padding:13px 0; border:none; border-radius:50px; cursor:pointer;
  background:#07c160; color:#fff; font-size:15px; font-weight:700; font-family:inherit;
  transition:all .25s; }
.wx-btn:hover { background:#06ad56; transform:translateY(-2px); box-shadow:0 8px 20px rgba(7,193,96,.35); }
.wx-sub { font-size:12px; color:#94aab2; margin:14px 0 0; min-height:16px; }
/* PC 扫码登录二维码容器 */
.wx-qr { background:#fff; border:1px solid #eee; border-radius:12px; width:240px;
  margin:0 auto 6px; padding:16px 12px 10px; text-align:center; }
.wx-qr svg { display:block; width:206px; height:206px; margin:0 auto; }
.wx-qr i { font-size:30px; color:#a9c3cd; margin:88px 0; }
.wx-qr button { margin-top:10px; width:auto; padding:9px 26px; font-size:13.5px; }
/* PC 弹窗免扫码通道（文字链接式按钮） */
.wx-alt { display:block; width:100%; margin:12px 0 0; padding:10px 6px; border:none; border-radius:8px;
  background:#f2f8fa; color:#4a7d95; font-size:12.5px; line-height:1.6; cursor:pointer; font-family:inherit;
  transition:background .2s; }
.wx-alt:hover { background:#e6f2f6; text-decoration:underline; }
/* 表单页「查看记录」按钮（与提交/重置三等分，登录后显示） */
.btn-my { display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:#ddeeed; color:#206283; text-decoration:none; border-radius:50px;
  padding:13px 0; font-size:15px; font-weight:700; white-space:nowrap; flex:1;
  transition:all .25s; font-family:inherit; }
.btn-my:hover { background:#cfe6ec; color:#113751; transform:translateY(-2px); box-shadow:0 6px 18px rgba(17,55,81,.18); }
@media (max-width:480px) { .wx-card { padding:30px 22px 22px; } }

/* ================= 提交成功弹窗（复用 wx-mask/wx-card 骨架） ================= */
.ok-no { font-size:21px; font-weight:700; color:#206283; letter-spacing:1.5px;
  margin:0 0 6px; font-family:Consolas, Menlo, monospace; }
.wx-btn.ok-btn { background:#206283; }
.wx-btn.ok-btn:hover { background:#1a5573; box-shadow:0 8px 20px rgba(32,98,131,.35); }

/* ================= 联系我们 · 咨询服务卡片 ================= */
.contact-card { background:linear-gradient(135deg,#eef6f8,#fbfdfe); border:1px solid var(--line);
  border-radius:12px; padding:18px 20px 16px; margin-top:22px; }
.contact-title { font-weight:700; color:var(--wine); font-size:15px; letter-spacing:1px; margin-bottom:12px; }
.contact-title i { color:var(--wine2); margin-right:7px; }
.contact-item { background:#fff; border:1px solid var(--line); border-left:4px solid var(--wine2); border-radius:12px;
  padding:12px 18px; display:flex; align-items:center; gap:14px; margin-bottom:10px; transition:box-shadow .2s, transform .2s; }
.contact-item:last-child { margin-bottom:0; }
.contact-item:hover { box-shadow:0 4px 14px rgba(32,98,131,.10); transform:translateX(2px); }
.c-ico { flex:0 0 auto; width:34px; height:34px; border-radius:50%; background:var(--wine2); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:14px; }
.c-label { font-size:12px; color:#206283; border:1px solid var(--wine2); border-radius:20px;
  padding:2px 10px; white-space:nowrap; }
.c-name { font-weight:600; color:#33454e; font-size:14px; white-space:nowrap; }
.c-tel { font-weight:700; color:var(--wine); font-size:16px; letter-spacing:.5px;
  text-decoration:none; transition:color .2s; }
.c-tel:hover { color:var(--wine2); text-decoration:underline; }
.c-tel i { font-size:13px; color:var(--wine2); margin-right:6px; }
.c-text { font-size:14.5px; color:#33454e; line-height:1.7; }
.contact-time { margin-top:12px; background:#fff; border:1px dashed var(--wine2); border-radius:10px;
  padding:10px 14px; text-align:center; font-size:13.5px; color:#33454e; }
.contact-time i { color:var(--wine2); margin-right:6px; }
@media (max-width:600px) {
  .c-tel { margin-left:auto; }
}
