/* ============================================================
 * 翎合致官方商城 · 品牌服务组件样式 lhv-tools v1.0
 * 依赖 lhv-refresh 的设计变量：暖纸底 / 深黑头部 / 绛红点缀
 * ============================================================ */

/* ---------- 浮动工具条 ---------- */
.lhv-dock{position:fixed;right:18px;bottom:16px;z-index:95;display:flex;flex-direction:column;gap:8px}
.lhv-dock button{width:46px;height:46px;border-radius:50%;border:1px solid var(--lhv-line,#d8d4cb);background:var(--lhv-ink,#161616);
  color:#f5f2ec;font-size:12px;letter-spacing:1px;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.18);transition:background .15s}
.lhv-dock button:hover{background:var(--lhv-accent,#c8102e);border-color:var(--lhv-accent,#c8102e)}

/* ---------- 遮罩 + 弹窗 ---------- */
.lhv-mask{position:fixed;inset:0;z-index:120;background:rgba(22,22,22,.55);display:flex;align-items:center;justify-content:center;padding:18px}
.lhv-modal{width:100%;max-width:420px;background:var(--lhv-warm,#f5f2ec);border:1px solid var(--lhv-line,#d8d4cb);
  border-radius:var(--lhv-radius,4px);overflow:hidden;box-shadow:0 18px 48px rgba(0,0,0,.28)}
.lhv-m-head{display:flex;align-items:center;justify-content:space-between;background:var(--lhv-ink,#161616);padding:13px 18px}
.lhv-m-head span{color:#fff;font-size:15px;letter-spacing:2px}
.lhv-m-x{background:none;border:none;color:#8f8a80;font-size:20px;line-height:1;cursor:pointer;padding:0 2px}
.lhv-m-x:hover{color:#fff}
.lhv-m-body{padding:18px}

/* ---------- 弹窗内部元素 ---------- */
.lhv-m-tip{font-size:13px;line-height:1.8;color:#4c4840;margin:0 0 12px}
.lhv-m-row{display:flex;gap:8px}
.lhv-m-row input{flex:1;min-width:0;border:1px solid var(--lhv-line,#d8d4cb);background:#fff;border-radius:3px;
  padding:9px 12px;font-size:14px;color:var(--lhv-ink,#161616);outline:none}
.lhv-m-row input:focus{border-color:var(--lhv-accent,#c8102e)}
.lhv-btn{background:var(--lhv-accent,#c8102e);color:#fff;border:none;border-radius:3px;padding:9px 18px;
  font-size:14px;letter-spacing:2px;cursor:pointer;white-space:nowrap}
.lhv-btn:hover{background:#a80d26}

.lhv-verify-out{margin-top:14px}
.lhv-verify-out:empty{margin-top:0}
.lhv-r-ok,.lhv-r-bad,.lhv-r-part,.lhv-r-warn{border-radius:3px;padding:12px 14px;font-size:13px;line-height:1.85;color:#4c4840}
.lhv-r-ok{background:#eef4ea;border:1px solid #c4d6bb}
.lhv-r-ok b{display:block;color:#2f6b23;font-size:14px;margin-bottom:2px}
.lhv-r-ok span{display:block;font-size:15px;color:var(--lhv-ink,#161616);font-weight:600;margin-top:2px}
.lhv-r-ok a{display:inline-block;margin-top:8px;color:var(--lhv-accent,#c8102e);font-size:13px}
.lhv-r-bad{background:#f7ece6;border:1px solid #e0c3b3}
.lhv-r-bad b{display:block;color:#a4431f;font-size:14px;margin-bottom:2px}
.lhv-r-part{background:#f4f1f7;border:1px solid #d4cde0}
.lhv-r-part b{display:block;color:#4d3f6b;font-size:14px;margin-bottom:2px}
.lhv-r-warn{background:#f7f3e8;border:1px solid #ded2ad;color:#6d5f2e;margin:12px 0 0}

/* ---------- 选型助手 ---------- */
.lhv-q{font-size:14px;color:var(--lhv-ink,#161616);font-weight:600;margin:2px 0 12px}
.lhv-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lhv-opts button{border:1px solid var(--lhv-line,#d8d4cb);background:#fff;border-radius:3px;padding:11px 8px;
  font-size:13.5px;color:#3c382f;cursor:pointer;transition:border-color .12s}
.lhv-opts button:hover{border-color:var(--lhv-accent,#c8102e);color:var(--lhv-accent,#c8102e)}
.lhv-picks{display:flex;flex-direction:column;gap:8px}
.lhv-pick{display:block;background:#fff;border:1px solid var(--lhv-line,#d8d4cb);border-radius:3px;padding:12px 14px;text-decoration:none}
.lhv-pick:hover{border-color:var(--lhv-accent,#c8102e)}
.lhv-pick b{display:block;font-size:14px;color:var(--lhv-ink,#161616)}
.lhv-pick span{display:block;font-size:12.5px;color:#6f6a60;margin-top:3px}

/* ---------- 非官方站点警示条 ---------- */
body.lhv-offbrand .lhv-dock button{background:#6f6a60}
.lhv-guard{position:relative;z-index:130;background:#8f1010;color:#fff}
.lhv-guard-in{padding:9px 0;font-size:13px;line-height:1.7}
.lhv-guard-in b{display:inline-block;background:#fff;color:#8f1010;font-size:11px;padding:1px 8px;margin-right:8px;border-radius:2px;letter-spacing:2px}
.lhv-guard-in button{float:right;background:none;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:2px;
  font-size:12px;padding:2px 10px;cursor:pointer;margin-top:2px}
.lhv-guard-in button:hover{background:rgba(255,255,255,.12)}

@media (max-width:640px){
  .lhv-dock{right:12px;bottom:12px}
  .lhv-modal{max-width:100%}
  .lhv-opts{grid-template-columns:1fr}
}
