/* ============================================================
   乡建院官网 · 联系咨询组件样式（2026-09-23 蓝图工程版）
   桌面：右侧悬浮按钮 + 页面内联联系卡；手机：底部固定联系条
   颜色沿用蓝图工程体系（深墨蓝底 + 赭橙标线），数值来自后端设置（contact.js 注入）
   注意：本文件为共享组件，8 个页面 + 原型稿均引用；
        色值统一使用蓝图令牌，避免在浅色页面上不可读
   ============================================================ */

/* ---------- 页面内联联系卡 ---------- */
.swz-ct-box{max-width:1240px;margin:40px auto;padding:0 40px}
.swz-ct-card{
  background:rgba(20,46,79,.72);
  border:1px solid rgba(43,82,133,.55);border-radius:2px;
  padding:28px 30px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;
  box-shadow:0 6px 24px rgba(3,10,20,.35);
  position:relative;overflow:hidden;
}
/* 左侧赭橙标线：与 .svc 一致的蓝图语言 */
.swz-ct-card::before{
  content:"";position:absolute;top:0;left:0;width:2px;height:100%;background:#E8B24A;
}
.swz-ct-card .swz-ct-info{flex:1 1 300px;min-width:0}
.swz-ct-card h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#F2F6FB;letter-spacing:.03em}
.swz-ct-card p{margin:0;font-size:13.5px;line-height:1.85;color:#8FA9C6}
.swz-ct-card p b{color:#E8B24A}
.swz-ct-card .swz-ct-btns{display:flex;gap:12px;flex-wrap:wrap;flex:0 0 auto}
.swz-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;padding:0 22px;border-radius:2px;border:1px solid transparent;
  font-family:var(--mono,"SFMono-Regular",Consolas,monospace);
  font-size:13px;font-weight:600;letter-spacing:.1em;cursor:pointer;text-decoration:none;
  transition:transform .15s,box-shadow .15s,background .15s;line-height:1;
}
.swz-btn:active{transform:translateY(1px)}
.swz-btn-phone{background:#E8B24A;color:#0B1D33;box-shadow:0 4px 14px rgba(232,178,74,.2)}
.swz-btn-phone:hover{background:#F2CB80}
.swz-btn-wx{background:transparent;color:#D9E4F0;border-color:rgba(43,82,133,.75)}
.swz-btn-wx:hover{background:rgba(31,63,107,.6);border-color:#E8B24A;color:#E8B24A}
.swz-btn .swz-ic{font-size:16px}

/* ---------- 桌面右侧悬浮按钮 ---------- */
.swz-ct-float{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:8px}
.swz-ct-float button{
  display:flex;align-items:center;gap:8px;width:auto;min-width:52px;height:52px;padding:0 14px;
  background:#E8B24A;color:#0B1D33;border:none;border-radius:2px 0 0 2px;cursor:pointer;
  font-family:var(--mono,"SFMono-Regular",Consolas,monospace);
  font-size:13px;font-weight:600;letter-spacing:.06em;
  box-shadow:-3px 3px 14px rgba(3,10,20,.45);white-space:nowrap;
}
.swz-ct-float button.swz-wx{background:#142E4F;color:#D9E4F0;border:1px solid rgba(43,82,133,.65)}
.swz-ct-float button:hover{transform:translateX(-3px)}
.swz-ct-float .swz-lab{display:inline}

/* ---------- 手机端底部固定联系条 ---------- */
.swz-ct-bar{display:none}

/* ---------- 二维码弹窗 ---------- */
.swz-qr-mask{
  position:fixed;inset:0;background:rgba(3,10,20,.78);z-index:9999;display:none;
  align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px);
}
.swz-qr-mask.on{display:flex}
.swz-qr-card{
  background:#142E4F;border:1px solid rgba(43,82,133,.6);border-radius:2px;
  padding:26px;width:min(360px,92vw);text-align:center;
  box-shadow:0 22px 60px rgba(0,0,0,.55);position:relative;max-height:92vh;overflow:auto;
}
.swz-qr-card .swz-qr-x{
  position:absolute;right:12px;top:10px;width:34px;height:34px;border:none;background:transparent;
  font-size:20px;color:#8FA9C6;cursor:pointer;border-radius:2px;line-height:1;
}
.swz-qr-card .swz-qr-x:hover{background:rgba(31,63,107,.8);color:#F2F6FB}
.swz-qr-card h4{margin:0 0 6px;font-size:17px;color:#F2F6FB;font-weight:600}
.swz-qr-card .swz-qr-sub{font-size:12.5px;color:#8FA9C6;margin-bottom:16px}
.swz-qr-box{
  width:220px;height:220px;margin:0 auto 14px;border-radius:2px;background:#fff;
  border:1px solid rgba(232,178,74,.35);display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.swz-qr-box img{width:100%;height:100%;object-fit:contain;display:block}
.swz-qr-ph{font-size:12.5px;color:#5B7A9E;padding:16px;line-height:1.8}
.swz-qr-id{
  display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 0 14px;
  font-size:14px;color:#D9E4F0;
}
.swz-qr-id b{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.5px;color:#E8B24A}
.swz-qr-id button{
  border:1px solid rgba(43,82,133,.7);background:transparent;color:#D9E4F0;border-radius:2px;
  padding:4px 10px;font-size:12.5px;cursor:pointer;
}
.swz-qr-id button:hover{border-color:#E8B24A;color:#E8B24A}
.swz-qr-tip{font-size:12px;color:#5B7A9E;line-height:1.8}
.swz-qr-call{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:46px;
  margin-top:14px;background:#E8B24A;color:#0B1D33;border-radius:2px;text-decoration:none;
  font-weight:600;font-size:14px;letter-spacing:.08em;
}

/* ---------- 响应式 ---------- */
@media (max-width:900px){
  .swz-ct-float{display:none !important}
  .swz-ct-box{margin:26px auto;padding:0 14px}
  .swz-ct-card{padding:20px;gap:16px;border-radius:2px}
  .swz-ct-card h3{font-size:17.5px}
  .swz-ct-card .swz-ct-btns{width:100%}
  .swz-ct-card .swz-btn{flex:1 1 0;min-width:0;padding:0 12px}
  /* 底部固定条 */
  .swz-ct-bar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:900;
    background:rgba(11,29,51,.97);border-top:1px solid rgba(43,82,133,.55);
    padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));
    gap:10px;box-shadow:0 -4px 18px rgba(3,10,20,.5);backdrop-filter:blur(8px);
  }
  .swz-ct-bar a,.swz-ct-bar button{
    flex:1 1 0;min-height:46px;border-radius:2px;display:flex;align-items:center;justify-content:center;
    gap:6px;font-size:15px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;
  }
  .swz-ct-bar .b-phone{background:#E8B24A;color:#0B1D33}
  .swz-ct-bar .b-wx{background:transparent;color:#D9E4F0;border-color:rgba(43,82,133,.7)}
  body.swz-has-ctbar{padding-bottom:76px !important}
  /* 手机端避免与页面自带底部条重叠 */
  .swz-ct-bar + .swz-ct-fix{display:none}
}

/* ===== 电脑端号码醒目显示 + 电话弹窗 ===== */
.swz-ct-card .swz-ct-tel{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}
.swz-ct-card .swz-ct-tel .lbl{font-family:var(--mono,monospace);font-size:11px;color:#5B7A9E;letter-spacing:.14em}
.swz-ct-card .swz-ct-tel .num{
  font-size:21px;font-weight:700;color:#E8B24A;letter-spacing:.06em;
  font-family:ui-monospace,Menlo,Consolas,"PingFang SC",monospace;
}
.swz-ct-card .swz-ct-tel .wxid{font-size:12.5px;color:#8FA9C6}
.swz-copy{
  border:1px solid rgba(43,82,133,.7);background:transparent;color:#D9E4F0;border-radius:2px;
  padding:4px 12px;font-size:12.5px;cursor:pointer;min-height:30px;
}
.swz-copy:hover{border-color:#E8B24A;color:#E8B24A}
.swz-tel-big{
  font-size:30px;font-weight:700;color:#E8B24A;letter-spacing:1.2px;margin:18px 0 20px;
  font-family:ui-monospace,Menlo,Consolas,"PingFang SC",monospace;word-break:break-all;user-select:all;
}
.swz-tel-acts{display:flex;gap:10px;justify-content:center;margin-bottom:14px}
.swz-tel-acts .swz-btn{min-width:150px}
.swz-wx-alt{background:#142E4F !important;color:#D9E4F0 !important;border:1px solid rgba(43,82,133,.65) !important}
.swz-ct-float .swz-lab em{display:block;font-style:normal;font-size:11px;opacity:.9;margin-top:2px;letter-spacing:.4px}
@media (max-width:900px){
  .swz-tel-big{font-size:24px}
  .swz-tel-acts .swz-btn{min-width:0;flex:1}
}
