/* 全站 PC 内容宽度与导航分布 */
.footer-info{display:flex;align-items:center;gap:32px;min-height:150px;padding-left:0;background:none}
.footer-brand{display:flex;flex:0 0 235px;align-items:center;justify-content:center;min-height:90px;padding:12px;background:#fff;box-sizing:border-box}
.footer-brand img{display:block;width:100%;max-height:78px;object-fit:contain}
.footer-details{min-width:0}
@media screen and (max-width:767px){.footer-info{display:block;min-height:0}.footer-brand{display:none}}
body { min-width: 0; }
@media screen and (min-width: 992px) {
  .container {
    width: 93%;
    max-width: 1360px;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }
  .header > .container.clearfix {
    display: flex;
    align-items: center;
  }
  .header .logo { flex: 0 0 auto; float: none; }
  .header .text {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex: 1 1 auto;
    min-width: 0;
    float: none;
    margin: 0 22px;
    padding: 5px 0 5px 20px;
    font-size: 16px;
    line-height: 1.45;
  }
  .header-slogan { min-width: 0; }
  .header .text strong {
    font-size: clamp(20px, 1.3vw, 25px);
    line-height: 1.22;
    margin-bottom: 4px;
  }
  .header-benefits { display: flex; flex: 0 0 254px; flex-direction: column; align-items: flex-start; gap: 8px; }
  .header-benefits img { display: block; width: 254px; height: 36px; object-fit: contain; }
  .header .tel { position: relative; flex: 0 0 auto; float: none; margin: 0 0 0 38px; }
  .header .tel::before { content: ""; position: absolute; left: -27px; top: 50%; width: 1px; height: 70px; background: #d9dde4; transform: translateY(-50%); }
  .header .nav ul { display: flex; width: 100%; }
  .header .nav li {
    flex: 1 1 0;
    min-width: 0;
    padding-right: 0;
    background: none;
    border-right: 1px solid rgba(255,255,255,.2);
    text-align: center;
  }
  .header .nav li:last-child { border-right: 0; }
  .header .nav li a {
    padding: 0 8px;
    white-space: nowrap;
    font-size: clamp(16px, 1.05vw, 19px);
    font-weight: 600;
    line-height: 68px;
  }
  .ct2-sd { width: 22%; }
  .ct2-mn { width: 76%; }
}
@media screen and (min-width: 992px) and (max-width: 1279px) {
  .header .text { gap: 10px; margin: 0 14px; padding-left: 14px; font-size: 13px; }
  .header .text strong { font-size: 18px; }
  .header-benefits { flex-basis: 190px; gap: 6px; }
  .header-benefits img { width: 190px; height: auto; }
  .header .tel { margin-left: 18px; }
  .header .tel::before { left: -14px; }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  .container { width: 100%; box-sizing: border-box; padding: 0 15px; }
  .header .text { display: none; }
  .header .nav ul { display: flex; flex-wrap: wrap; }
  .header .nav li { display: flex; position: relative; background: none; }
  .header .nav li a { line-height: 46px; padding: 0 12px; font-size: 14px; }
  .header .nav li .arr { display: block; order: 2; width: 24px; height: 46px; }
  .header .nav li.dropdown:before { display: none; }
  .ct2-sd { display: none; }
  .ct2-mn { float: none; width: 100%; }
}
@media screen and (max-width: 767px) {
  .container { width: 100%; box-sizing: border-box; padding: 0 15px; }
}

/* 全站右侧快捷联系 */
.site-contact-float {
  position: fixed;
  z-index: 1200;
  top: 50%;
  right: 18px;
  width: 82px;
  transform: translateY(-50%);
  color: #686868;
}
.site-contact-item { position: relative; }
.site-contact-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 82px;
  height: 84px;
  box-sizing: border-box;
  border: 1px solid #d9e0e8;
  border-bottom: 0;
  background: #fff;
  color: #686868;
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}
.site-contact-item:first-child .site-contact-tab { border-radius: 12px 12px 0 0; }
.site-contact-item:nth-child(3) .site-contact-tab {
  border-bottom: 1px solid #d9e0e8;
  border-radius: 0 0 12px 12px;
}
.site-contact-tab svg {
  display: block;
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.site-contact-item:hover .site-contact-tab,
.site-contact-item:focus-within .site-contact-tab {
  color: #214d98;
  background: #f8faff;
}
.site-contact-popover {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: calc(100% - 1px);
  width: 240px;
  max-height: calc(100vh - 24px);
  box-sizing: border-box;
  overflow: visible;
  padding: 24px 18px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(0, 0, 0, .18);
  text-align: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(8px, -50%);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.site-contact-popover:after {
  content: '';
  position: absolute;
  top: calc(50% - 9px);
  right: -9px;
  width: 18px;
  height: 18px;
  background: #fff;
  transform: rotate(45deg);
}
.site-contact-item:hover .site-contact-popover,
.site-contact-item:focus-within .site-contact-popover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(0, -50%);
}
.site-contact-popover img {
  display: block;
  width: min(190px, 100%);
  max-height: 30vh;
  object-fit: contain;
  margin: 0 auto 14px;
}
.site-contact-popover strong { display: block; color: #333; font-size: 20px; }
.site-contact-popover small { display: block; color: #666; font-size: 15px; }
.site-contact-popover a { display: block; margin-top: 7px; color: #214d98; font-size: 24px; font-weight: 700; overflow-wrap: anywhere; }
.site-contact-top {
  display: block;
  width: 52px;
  height: 52px;
  margin: 14px auto 0;
  border: 1px solid #e3e7ed;
  border-radius: 50%;
  background: #fff;
  color: #999;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 3px 15px rgba(0, 0, 0, .1);
}
.site-contact-top:hover { color: #214d98; }
@media screen and (max-width: 767px) {
  .site-contact-float { top: auto; right: 10px; bottom: 66px; width: 52px; transform: none; }
  .site-contact-tab { width: 52px; height: 54px; }
  .site-contact-tab span { display: none; }
  .site-contact-tab svg { width: 25px; height: 25px; }
  .site-contact-popover { width: min(230px, calc(100vw - 80px)); right: calc(100% - 1px); }
  .site-contact-top { width: 44px; height: 44px; font-size: 26px; margin-top: 8px; }
}
