/* ============================================================
   联系我们（卡片式，方案A：MOK 那套版式的主题蓝重绘版）
   v1.3.45：卡片分两种——业务员卡 .ct-person（多行号 + 二维码）与通用卡 .bk-ct-value（Email／地址）
   仅在联系页加载（functions.php → bkgop_assets()）
   令牌来自 main.css :root：--brand #007bff / --brand-dark #0062cc
                     --ink #1A1A1A / --sec #666 / --line #E8E8E8 / --hover #F0F6FF
   对比度（白底，实测）：标签 #6B7683 4.6:1｜正文 #1A1A1A 17.4:1｜说明 #666 5.7:1
                        复制钮 #0062cc on #F0F6FF 5.3:1｜已复制 #15683A on #E7F6EC 6.1:1
   ============================================================ */

.bk-contact-intro{
  max-width:760px;font-size:16px;line-height:1.65;color:var(--sec);margin:0 0 34px
}

/* ---------- 卡片网格 ---------- */
.bk-contact-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch
}
@media (max-width:1023px){.bk-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.bk-contact-grid{grid-template-columns:minmax(0,1fr);gap:16px}}

.bk-contact-card{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 24px;
  display:flex;flex-direction:column;
  transition:box-shadow .3s var(--ease),transform .3s var(--ease),border-color .3s var(--ease)
}
.bk-contact-card:hover{
  box-shadow:0 10px 28px rgba(16,24,40,.10);transform:translateY(-3px);border-color:#CFE4FF
}

.bk-ct-ic{
  width:46px;height:46px;border-radius:13px;background:var(--hover);color:var(--brand);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;flex:none
}
.bk-ct-svg{display:block}

.bk-ct-label{
  font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#6B7683;margin:0 0 8px;line-height:1.4
}
.bk-ct-value{
  font-size:17px;font-weight:700;line-height:1.45;color:var(--ink);
  margin:0 0 10px;word-break:break-word;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px
}
.bk-ct-value a{color:var(--ink);transition:color .2s}
.bk-ct-value a:hover{color:var(--brand-dark)}
.bk-ct-note{font-size:13.5px;color:var(--sec);line-height:1.55;margin:auto 0 0}
.bk-ct-map{
  display:inline-block;font-size:13px;font-weight:700;color:var(--brand-dark);
  margin-top:12px;border-bottom:1px solid transparent;transition:border-color .2s,color .2s
}
.bk-ct-map:hover{color:var(--brand);border-bottom-color:var(--brand)}

/* ---------- Copy / Copied 按钮 ----------
   图标 + 文字（跟参考站 MOK 的 copy-icon/check-icon 一致），三态共用同一 min-width，
   切换时宽度不跳（实测 Copy / Copied 都锁在 92px；失败态文案长，放开 min-width 让它自然变宽）。 */
.bk-ct-copy{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  min-width:92px;height:28px;padding:0 12px;
  border:1px solid #CFE4FF;border-radius:999px;background:var(--hover);color:var(--brand-dark);
  font-family:inherit;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  line-height:1;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s
}
.bk-ct-copy svg{flex:none;display:block}
.bk-ct-copy .t-copy,.bk-ct-copy .t-done,.bk-ct-copy .t-fail{display:none;align-items:center;gap:5px}
.bk-ct-copy .t-copy{display:inline-flex}
.bk-ct-copy:hover{background:#E3EFFF;border-color:#9FC8FF}
.bk-ct-copy:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.bk-ct-copy.is-done{background:#E7F6EC;border-color:#BFE6CE;color:#15683A}
.bk-ct-copy.is-done .t-copy{display:none}
.bk-ct-copy.is-done .t-done{display:inline-flex}
/* 站点是 HTTP 明文，非安全上下文里剪贴板 API 可能被浏览器直接拒掉：
   这种时候只提示「Press Ctrl+C」并把内容选中，不显示「已复制」骗人 */
.bk-ct-copy.is-fail{background:#FFF4E5;border-color:#F0D8B0;color:#8A5200;min-width:0}
.bk-ct-copy.is-fail .t-copy{display:none}
.bk-ct-copy.is-fail .t-fail{display:inline-flex}

/* ---------- 二维码（业务员卡内）---------- */
.bk-ct-qr{
  width:100%;display:flex;align-items:center;justify-content:center;
  background:#fff;border-radius:12px;padding:18px;margin:14px 0 0
}
.bk-ct-qr img{width:180px;height:180px;object-fit:contain;background:#fff;border-radius:8px}

/* ---------- 业务员卡（v1.3.45：WhatsApp／直线电话／微信／二维码）---------- */
.bk-ct-person-name{
  font-size:17px;font-weight:800;line-height:1.35;color:var(--ink);margin:0 0 12px;word-break:break-word
}
.bk-ct-rows{display:flex;flex-direction:column;margin-bottom:auto}
.bk-ct-row{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 9px;
  padding:9px 0;border-top:1px solid var(--line)
}
.bk-ct-row:first-child{padding-top:0;border-top:0}
.bk-ct-row-ic{flex:none;color:var(--brand);align-self:center;display:flex}
.bk-ct-row-label{
  flex:none;min-width:76px;font-size:11px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:#6B7683
}
.bk-ct-row-val{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;
  font-size:15px;font-weight:700;line-height:1.45;color:var(--ink);word-break:break-word
}
.bk-ct-row-val a{color:var(--ink);transition:color .2s}
.bk-ct-row-val a:hover{color:var(--brand-dark)}
/* 行内空间比通用卡窄，复制钮收到 78px（Copy / Copied 仍锁同一宽度，切换不跳）*/
.bk-ct-row .bk-ct-copy{min-width:78px;height:24px;padding:0 9px;font-size:10px;letter-spacing:.04em}
.ct-person .bk-ct-note{margin-top:12px}
@media (max-width:639px){
  .bk-ct-row-label{min-width:0}
}

/* ---------- 页面正文（编辑器里有内容才出现）---------- */
.bk-contact-entry{
  max-width:820px;margin-top:40px;padding-top:34px;border-top:1px solid var(--line)
}

/* ---------- 页尾 CTA 条（底色/圆角复用 main.css 的 .bk-cta-band）---------- */
.bk-contact-cta{margin-top:52px}
.bk-contact-cta .bk-cta-band>div:first-child{max-width:640px}   /* 文案收到 640，按钮组才能留在同一行 */
.bk-contact-cta .bk-cta-band>div:last-child{margin-left:auto}   /* 换行后按钮组仍靠右 */
.bk-contact-cta-btns{display:flex;flex-wrap:wrap;gap:14px}
.bk-btn-line{
  display:inline-flex;align-items:center;justify-content:center;
  padding:13px 28px;border-radius:10px;border:2px solid rgba(255,255,255,.55);
  color:#fff;font-size:14px;font-weight:700;background:transparent;transition:border-color .2s,background-color .2s
}
.bk-btn-line:hover{color:#fff;border-color:#fff;background:rgba(255,255,255,.10)}

@media (max-width:1023px){
  /* 标题变两行后卡片与按钮组会换行挨在一起：窄屏把描边按钮改成蓝色实心，跟左边的主按钮区分开 */
  .bk-contact-cta .bk-btn-line{background:var(--brand);border-color:var(--brand)}
  .bk-contact-cta .bk-btn-line:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
}

@media (max-width:767px){
  .bk-cta-band{padding:32px 24px;border-radius:16px}
  .bk-cta-band h2{font-size:23px}
  .bk-contact-cta-btns{width:100%}
  .bk-contact-cta-btns a{flex:1 1 auto;text-align:center}
}

@media (prefers-reduced-motion:reduce){
  .bk-contact-card,.bk-ct-copy,.bk-ct-value a,.bk-ct-row-val a,.bk-ct-map,.bk-btn-line{transition:none}
  .bk-contact-card:hover{transform:none}
}

/* ============================================================
   v1.3.48 留言表单（左表单 + 右快捷联系方式，参考 gateopenerfactory.com/contact）
   令牌同上：--brand #007bff / --ink #1A1A1A / --sec #666 / --line #E8E8E8 / --hover #F0F6FF
   对比度（浅底 #F7F9FC，实测）：标签 #6B7683 4.5:1｜正文 #1A1A1A 16.9:1
                                错误 #B3261E 5.4:1｜成功 #15683A on #E7F6EC 6.1:1
   ============================================================ */
.bk-inquiry{
  margin-top:52px;background:#F7F9FC;border:1px solid var(--line);
  border-radius:20px;padding:38px 34px
}
.bk-inq-in{
  display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);
  gap:26px 40px;align-items:start
}
.bk-inq-head,.bk-inq-note{grid-column:1 / -1}
/* 表单和右栏都是 grid 子项：不给 min-width:0，长邮箱/长地址会把列撑破 */
.bk-inq-form{min-width:0}
.bk-inq-head h2{font-size:26px;font-weight:800;line-height:1.3;color:var(--ink);margin:0 0 8px}
.bk-inq-head p{font-size:15.5px;line-height:1.6;color:var(--sec);margin:0;max-width:760px}

.bk-inq-note{font-size:14.5px;font-weight:600;line-height:1.55;padding:14px 16px;border-radius:12px}
.bk-inq-note.is-ok{background:#E7F6EC;border:1px solid #BFE6CE;color:#15683A}
.bk-inq-note.is-err{background:#FFF4E5;border:1px solid #F0D8B0;color:#8A5200}

/* ---------- 字段网格 ---------- */
.bk-inq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.bk-inq-cell--wide{grid-column:1 / -1}
.bk-inq-label{
  display:block;margin:0 0 7px;font-size:12px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:#6B7683
}
.bk-inq-req{color:#B3261E;margin-left:3px}
.bk-inq-input{
  box-sizing:border-box;width:100%;font-family:inherit;font-size:15px;line-height:1.5;color:var(--ink);
  background:#fff;border:1px solid #D9E1EA;border-radius:10px;padding:12px 14px;
  transition:border-color .2s,box-shadow .2s
}
.bk-inq-input::placeholder{color:#9AA5B1}
.bk-inq-input:hover{border-color:#BFD3E6}
.bk-inq-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,123,255,.14);outline:0}
.bk-inq-input.is-err{border-color:#B3261E}
textarea.bk-inq-input{min-height:150px;resize:vertical}
select.bk-inq-input{cursor:pointer}
.bk-inq-err{margin:6px 0 0;font-size:12.5px;font-weight:700;line-height:1.45;color:#B3261E}

/* 蜜罐：视觉隐藏 + 从可聚焦顺序里踢出去，真人不会碰到 */
.bk-inq-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;margin:0}

.bk-inq-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:22px}
.bk-inq-priv{margin:0;font-size:12.5px;line-height:1.5;color:var(--sec)}
.bk-inq-star{font-weight:700;color:#6B7683}

/* ---------- 右侧快捷联系方式 ---------- */
.bk-inq-side{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 22px}
.bk-inq-side h3{font-size:17px;font-weight:800;line-height:1.4;color:var(--ink);margin:0}
.bk-inq-side-sub{font-size:13.5px;line-height:1.6;color:var(--sec);margin:8px 0 14px}
.bk-inq-side-list{list-style:none;margin:0;padding:0}
.bk-inq-side-list li{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.bk-inq-side-ic{
  flex:none;width:34px;height:34px;border-radius:10px;background:var(--hover);color:var(--brand);
  display:flex;align-items:center;justify-content:center
}
.bk-inq-side-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.bk-inq-side-label{
  font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6B7683
}
.bk-inq-side-val{font-size:15px;font-weight:700;line-height:1.45;color:var(--ink);word-break:break-word}
a.bk-inq-side-val{transition:color .2s}
a.bk-inq-side-val:hover{color:var(--brand-dark)}
.bk-inq-side-link{
  align-self:flex-start;margin-top:3px;font-size:12.5px;font-weight:700;color:var(--brand-dark);
  border-bottom:1px solid transparent;transition:color .2s,border-color .2s
}
.bk-inq-side-link:hover{color:var(--brand);border-bottom-color:var(--brand)}
.bk-inq-side-qr{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:center}
.bk-inq-side-qr img{width:150px;height:150px;object-fit:contain;background:#fff;border-radius:8px}

@media (max-width:1023px){
  .bk-inq-in{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:639px){
  .bk-inquiry{padding:24px 18px;border-radius:16px}
  .bk-inq-head h2{font-size:22px}
  .bk-inq-grid{grid-template-columns:minmax(0,1fr)}
  .bk-inq-foot .bk-btn-primary{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .bk-inq-input,.bk-inq-side-val,.bk-inq-side-link{transition:none}
}
