/* ============================================================
   墅望者官网 · 联系咨询组件样式（2026-09-13）
   桌面：右侧悬浮按钮 + 页面内联联系卡；手机：底部固定联系条
   颜色沿用官网宣纸/墨绿体系，数值来自后端设置（contact.js 注入）
   ============================================================ */

/* ---------- 页面内联联系卡 ---------- */
.swz-ct-box{max-width:1180px;margin:38px auto;padding:0 20px}
.swz-ct-card{
  background:linear-gradient(140deg,#FBF7EE 0%,#F3EDE0 100%);
  border:1px solid rgba(176,141,87,.28);border-radius:14px;
  padding:26px 28px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  box-shadow:0 6px 24px rgba(28,28,26,.05);
}
.swz-ct-card .swz-ct-info{flex:1 1 300px;min-width:0}
.swz-ct-card h3{margin:0 0 6px;font-size:20px;font-weight:600;color:#1C1C1A;letter-spacing:.02em}
.swz-ct-card p{margin:0;font-size:13.5px;line-height:1.85;color:#6B6558}
.swz-ct-card p b{color:#0A4D3A}
.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:48px;padding:0 22px;border-radius:10px;border:1px solid transparent;
  font-size:15px;font-weight:600;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:#0A4D3A;color:#fff;box-shadow:0 4px 14px rgba(10,77,58,.22)}
.swz-btn-phone:hover{background:#053427}
.swz-btn-wx{background:#fff;color:#0A4D3A;border-color:rgba(10,77,58,.35)}
.swz-btn-wx:hover{background:#F0F5F2}
.swz-btn .swz-ic{font-size:17px}

/* ---------- 桌面右侧悬浮按钮 ---------- */
.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:#0A4D3A;color:#fff;border:none;border-radius:12px 0 0 12px;cursor:pointer;
  font-size:14px;font-weight:600;box-shadow:-3px 3px 14px rgba(10,77,58,.22);white-space:nowrap;
}
.swz-ct-float button.swz-wx{background:#8A6B22}
.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(17,23,19,.62);z-index:9999;display:none;
  align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(2px);
}
.swz-qr-mask.on{display:flex}
.swz-qr-card{
  background:#FBF7EE;border-radius:16px;padding:24px;width:min(360px,92vw);text-align:center;
  box-shadow:0 22px 60px rgba(0,0,0,.32);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:#8C8778;cursor:pointer;border-radius:8px;line-height:1;
}
.swz-qr-card .swz-qr-x:hover{background:#EFE7D6;color:#1C1C1A}
.swz-qr-card h4{margin:0 0 4px;font-size:17px;color:#1C1C1A}
.swz-qr-card .swz-qr-sub{font-size:12.5px;color:#7C7565;margin-bottom:14px}
.swz-qr-box{
  width:220px;height:220px;margin:0 auto 12px;border-radius:12px;background:#fff;
  border:1px solid rgba(176,141,87,.3);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:#A9A292;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:#1C1C1A;
}
.swz-qr-id b{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.5px}
.swz-qr-id button{
  border:1px solid rgba(10,77,58,.3);background:#fff;color:#0A4D3A;border-radius:8px;
  padding:4px 10px;font-size:12.5px;cursor:pointer;
}
.swz-qr-tip{font-size:12px;color:#8C8778;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:12px;background:#0A4D3A;color:#fff;border-radius:10px;text-decoration:none;font-weight:600;font-size:15px;
}

/* ---------- 响应式 ---------- */
@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:12px}
  .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(251,247,238,.97);border-top:1px solid rgba(176,141,87,.3);
    padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));
    gap:10px;box-shadow:0 -4px 18px rgba(28,28,26,.10);backdrop-filter:blur(6px);
  }
  .swz-ct-bar a,.swz-ct-bar button{
    flex:1 1 0;min-height:46px;border-radius:10px;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:#0A4D3A;color:#fff}
  .swz-ct-bar .b-wx{background:#fff;color:#0A4D3A;border-color:rgba(10,77,58,.35)}
  body.swz-has-ctbar{padding-bottom:76px !important}
  /* 手机端避免与页面自带底部条重叠 */
  .swz-ct-bar + .swz-ct-fix{display:none}
}

/* ===== 2026-09-13 补充：电脑端号码醒目显示 + 电话弹窗 ===== */
.swz-ct-card .swz-ct-tel{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px}
.swz-ct-card .swz-ct-tel .lbl{font-size:12.5px;color:#8C8778}
.swz-ct-card .swz-ct-tel .num{
  font-size:20px;font-weight:700;color:#0A4D3A;letter-spacing:.6px;
  font-family:ui-monospace,Menlo,Consolas,"PingFang SC",monospace;
}
.swz-ct-card .swz-ct-tel .wxid{font-size:12.5px;color:#6B6558}
.swz-copy{
  border:1px solid rgba(10,77,58,.3);background:#fff;color:#0A4D3A;border-radius:8px;
  padding:4px 12px;font-size:12.5px;cursor:pointer;min-height:30px;
}
.swz-copy:hover{background:#F0F5F2}
.swz-tel-big{
  font-size:30px;font-weight:700;color:#0A4D3A;letter-spacing:1.2px;margin:16px 0 18px;
  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:#8A6B22 !important}
.swz-ct-float .swz-lab em{display:block;font-style:normal;font-size:11.5px;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}
}
