/* 前台在线留言页样式（M09）· 规范 V1.0 token */
.qs-form { display:flex; flex-direction:column; gap:14px; }
.qs-field { display:flex; flex-direction:column; gap:8px; }
.qs-field label { font-size:14px; color:var(--ink2); font-weight:600; }
.qs-field label b { color:var(--red); }
.qs-field input[type=text],
.qs-field input[type=number],
.qs-field input[type=date],
.qs-field textarea,
.qs-field select {
  width:100%; padding:10px 12px; border:1px solid var(--line2); border-radius:8px;
  font-size:14px; font-family:inherit; background:#fff; outline:none; box-sizing:border-box;
  transition:border-color .2s, box-shadow .2s;
}
.qs-field input:focus, .qs-field textarea:focus, .qs-field select:focus { border-color:var(--gold2); box-shadow:0 0 0 3px rgba(200,169,97,.18); }
.qs-check { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink2); }
.qs-btn {
  display:inline-block; border:none; background:linear-gradient(145deg, var(--red2), var(--red-dark)); color:#fff; padding:10px 30px;
  border-radius:8px; font-size:15px; cursor:pointer; transition:opacity .2s; box-shadow:0 3px 8px rgba(122,36,24,.26);
}
.qs-btn:hover { opacity:.9; }
.qs-msg { font-size:13px; margin-left:12px; }
.qs-msg.ok { color:#2e7d32; }
.qs-msg.err { color:var(--red); }