/* Complete contact stylesheet: base + layout fixes */
.zr-contact-v3{box-sizing:border-box;width:100%;margin:0;color:#202936;font-family:"Microsoft YaHei","PingFang SC",sans-serif;--zrc-orange:#f56812}
.zr-contact-v3 *,.zr-contact-v3 *::before,.zr-contact-v3 *::after{box-sizing:border-box}
.zr-contact-v3 .zrc-panel{width:100%;margin:0 auto}
.zr-contact-v3 .zrc-heading{display:flex;align-items:center;gap:16px;padding:0!important;color:#18212d!important;font-weight:700}
.zr-contact-v3 .zrc-heading::before{content:"";border-radius:3px}
.zr-contact-v3 .zrc-group h3{padding:0!important;color:#263240!important;font-weight:600}
.zr-contact-v3 .zrc-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff!important;line-height:1}
.zr-contact-v3 .zrc-code-frame{position:relative;margin:0 auto;background:#fff}
.zr-contact-v3 .zrc-code-frame::before,.zr-contact-v3 .zrc-code-frame::after{content:"";position:absolute;width:17px;height:17px;border-color:#f56812;border-style:solid;pointer-events:none}
.zr-contact-v3 .zrc-code-frame::before{top:10px;left:10px;border-width:3px 0 0 3px}
.zr-contact-v3 .zrc-code-frame::after{right:10px;bottom:10px;border-width:0 3px 3px 0}
.zr-contact-v3 .zrc-code-frame img{display:block;max-width:100%;margin:0!important;padding:0;border:0!important;border-radius:0!important;box-shadow:none!important}
.zr-contact-v3 .zrc-codes figure{min-width:0;padding:0;text-align:center}
.zr-contact-v3 .zrc-codes figcaption{padding:0;color:#263240;font-weight:600;text-align:center}
.zr-contact-v3 .zrc-note{display:flex;align-items:center;justify-content:center;gap:16px;text-align:center}
.zr-contact-v3 .zrc-note::before,.zr-contact-v3 .zrc-note::after{content:"";flex:1;height:1px;background:#e9edf3}
.zr-contact-v3 .zrc-phones a:hover{color:#d95000!important}
.zr-contact-v3 .zrc-phones a:focus-visible{outline:2px solid #f56812;outline-offset:4px}
/* 清理 WordPress 自动插入的换行和空段落 */
.zr-contact-v3 .zrc-panel br,
.zr-contact-v3 .zrc-panel p:empty {
  display: none !important;
}

/* 页面和外层卡片 */
.zr-contact-v3 {
  padding: 56px 28px 64px !important;
  background: #f6f8fb;
}

.zr-contact-v3 .zrc-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 32px;
  max-width: 1400px;
  height: auto !important;
  min-height: 0 !important;
  padding: 32px !important;
  border: 1px solid #e7ecf2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 36px rgba(30, 50, 80, 0.04);
}

/* 左右标题、内容区域对齐 */
.zr-contact-v3 .zrc-contact {
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  min-width: 0;
}

.zr-contact-v3 .zrc-consult {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-left: 32px;
  border-left: 1px solid #e9edf3;
}

.zr-contact-v3 .zrc-heading {
  margin: 0 0 24px !important;
  font-size: 26px !important;
  line-height: 36px !important;
  letter-spacing: 1px;
}

.zr-contact-v3 .zrc-heading::before {
  height: 27px;
  flex-basis: 4px;
  background: #f56812;
}

/* 电话分组：公司电话一行，业务咨询两行 */
.zr-contact-v3 .zrc-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 20px !important;
  border: 1px solid #f0f2f5;
  border-radius: 9px;
  background: #f7f8fa;
}

.zr-contact-v3 .zrc-group h3 {
  margin: 0 0 14px !important;
  font-size: 18px !important;
  line-height: 26px !important;
}

.zr-contact-v3 .zrc-phones {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: center;
  gap: 16px 20px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 兼容编辑器给链接包上段落的情况 */
.zr-contact-v3 .zrc-phones > p {
  display: contents !important;
}

.zr-contact-v3 .zrc-phones a {
  display: flex !important;
  align-items: center;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  color: #344052 !important;
  font-size: 20px !important;
  font-weight: 500;
  line-height: 36px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.zr-contact-v3 .zrc-phones a > span:last-child {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.zr-contact-v3 .zrc-icon {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  font-size: 21px;
  background: #f56812;
}

.zr-contact-v3 .zrc-divider {
  height: 1px;
  margin: 16px 0 !important;
  background: #edf0f4;
}

/* 二维码保持同样大小，不裁切 */
.zr-contact-v3 .zrc-codes {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  margin: 0 !important;
}

.zr-contact-v3 .zrc-codes figure {
  margin: 0 !important;
}

.zr-contact-v3 .zrc-code-frame {
  width: 100%;
  max-width: 200px;
  padding: 18px;
  border: 1px solid #e9edf3;
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(30, 50, 80, 0.04);
}

.zr-contact-v3 .zrc-code-frame img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1;
  object-fit: contain;
}

.zr-contact-v3 .zrc-codes figcaption {
  margin-top: 12px !important;
  font-size: 18px;
  line-height: 26px;
}

/* 提示文字靠底，与左侧内容底部协调 */
.zr-contact-v3 .zrc-note {
  width: 100%;
  margin: auto 0 0 !important;
  padding-top: 22px;
  color: #87909e;
  font-size: 14px;
  line-height: 24px;
}

/* 中等屏幕：上下分区，电话仍保持两列 */
@media (max-width: 1100px) {
  .zr-contact-v3 .zrc-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .zr-contact-v3 .zrc-consult {
    padding: 28px 0 0;
    border-left: 0;
    border-top: 1px solid #e9edf3;
  }

  .zr-contact-v3 .zrc-codes {
    max-width: 480px;
    margin: 0 auto !important;
  }

  .zr-contact-v3 .zrc-note {
    max-width: 480px;
    margin: 20px auto 0 !important;
    padding-top: 0;
  }
}

/* 手机：号码整行显示，不拆开数字 */
@media (max-width: 600px) {
  .zr-contact-v3 {
    padding: 24px 14px 36px !important;
  }

  .zr-contact-v3 .zrc-panel {
    padding: 24px 18px !important;
  }

  .zr-contact-v3 .zrc-heading {
    font-size: 23px !important;
  }

  .zr-contact-v3 .zrc-group {
    padding: 16px !important;
  }

  .zr-contact-v3 .zrc-phones {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .zr-contact-v3 .zrc-phones a {
    font-size: 19px !important;
  }

  .zr-contact-v3 .zrc-codes {
    gap: 16px;
  }

  .zr-contact-v3 .zrc-code-frame {
    padding: 14px;
  }
}

/* 桌面端：整个联系区域放大 */
@media (min-width: 1101px) {
  .zr-contact-v3 {
    padding: 70px 28px 80px !important;
  }

  .zr-contact-v3 .zrc-panel {
    min-height: 760px !important;
    padding: 56px 40px !important;
    gap: 36px;
  }

  .zr-contact-v3 .zrc-contact {
    grid-template-rows: auto 1fr auto 1.4fr;
  }

  .zr-contact-v3 .zrc-consult {
    padding-left: 36px;
  }

  /* 标题 */
  .zr-contact-v3 .zrc-heading {
    margin-bottom: 38px !important;
    font-size: 34px !important;
    line-height: 46px !important;
  }

  .zr-contact-v3 .zrc-heading::before {
    height: 34px;
    flex-basis: 5px;
  }

  /* 电话分组 */
  .zr-contact-v3 .zrc-group {
    padding: 32px 22px !important;
  }

  .zr-contact-v3 .zrc-group h3 {
    margin-bottom: 24px !important;
    font-size: 24px !important;
    line-height: 32px !important;
  }

  .zr-contact-v3 .zrc-phones {
    gap: 30px 18px !important;
  }

  .zr-contact-v3 .zrc-phones a {
    gap: 12px !important;
    font-size: clamp(20px, 1.5vw, 26px) !important;
    line-height: 46px !important;
  }

  .zr-contact-v3 .zrc-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    font-size: 27px;
  }

  .zr-contact-v3 .zrc-divider {
    margin: 24px 0 !important;
  }

  /* 二维码及说明 */
  .zr-contact-v3 .zrc-codes {
    gap: 20px;
    margin-top: 20px !important;
  }

  .zr-contact-v3 .zrc-code-frame {
    max-width: 240px;
    padding: 16px;
  }

  .zr-contact-v3 .zrc-codes figcaption {
    margin-top: 20px !important;
    font-size: 24px;
    line-height: 34px;
  }

  .zr-contact-v3 .zrc-note {
    padding-top: 36px;
    font-size: 18px;
    line-height: 28px;
  }
}

.zr-contact-v3 {
  --zrc-orange: #3978f6;
}

/* 标题竖线、电话图标 */
.zr-contact-v3 .zrc-heading::before,
.zr-contact-v3 .zrc-icon {
  background: #3978f6 !important;
}

.zr-contact-v3 .zrc-icon {
  color: #fff !important;
}

/* 二维码装饰角 */
.zr-contact-v3 .zrc-code-frame::before,
.zr-contact-v3 .zrc-code-frame::after {
  border-color: #3978f6 !important;
}

/* 电话悬停及键盘选中 */
.zr-contact-v3 .zrc-phones a:hover {
  color: #2563eb !important;
}

.zr-contact-v3 .zrc-phones a:focus-visible {
  outline-color: #3978f6 !important;
}