.footer {
  padding: 54px 0 52px;
  color: #fff;
  background: #383838;
}

.footer .footer-v2 {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(450px, .9fr);
  gap: clamp(70px, 6vw, 96px);
  min-height: 360px;
}

.footer-left {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: flex-start;
}

.footer .footer-links {
  display: grid;
  grid-template-columns: .9fr 1.45fr .9fr .8fr;
  gap: 28px 26px;
  margin: 0;
  font: 17px/1.3 WorkSans, Arial, sans-serif;
  font-weight: 400;
}

.footer .footer-brand {
  align-self: flex-start;
  margin-top: 143px;
}

.footer-qr-list {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-top: 54px;
}

.footer-qr {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  color: #fff;
  font-size: 14px;
  line-height: 1;
}

.footer-qr img {
  display: block;
  width: 96px;
  height: 96px;
  padding: 4px;
  background: transparent;
  border: 1px solid #b5b1ac;
  border-radius: 10px;
  object-fit: cover;
}

.footer-brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: clamp(24px, 3vw, 54px);
  margin-top: 48px;
}

.footer-brand-row .footer-brand {
  margin-top: 0;
}

.footer-share-list {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-left: auto;
  margin-right: clamp(0px, 3vw, 46px);
}

.footer-share-list img {
  display: block;
  width: 36px;
  height: 36px;
}

.footer .footer-brand img {
  height: 44px !important;
  filter: brightness(0) invert(1);
}

.footer-contact h2 {
  margin: 0 0 20px;
  font: 40px/1.08 DMSerif, Georgia, serif;
  font-weight: 400;
}

.footer-contact p {
  max-width: 450px;
  margin: 0;
  font: 17px/1.45 DMSerif, Georgia, serif;
  font-weight: 400;
}

.footer-contact-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 34px;
  padding: 13px 18px;
  border-radius: 11px;
  color: #0b2d1d;
  background: #78f36e;
  font: 17px/1 WorkSans, Arial, sans-serif;
}

.footer-contact-btn img {
  width: 19px;
  height: 19px;
  filter: brightness(0) saturate(100%) invert(13%) sepia(22%) saturate(1280%) hue-rotate(100deg) brightness(91%);
}

/* 「联系我们」与「在线咨询」两个入口并排；窄屏自动换行，不做横向滚动 */
.footer-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

/* 间距交给按钮组，组内按钮不再各自带 margin-top */
.footer-contact-actions .footer-contact-btn {
  margin-top: 0;
}

/* 次级按钮（在线咨询）：描边样式，与绿色实心主按钮形成层级。
   padding 各减 1px 以抵消 1px 描边，保证两个按钮高度完全对齐。 */
.footer-contact-btn--chat {
  padding: 12px 17px;
  color: #fff;
  background: transparent;
  border: 1px solid #ffffff59;
}

.footer-contact-btn--chat img {
  filter: brightness(0) invert(1);
}

.footer-contact-btn--chat:hover {
  background: #ffffff1a;
}

@media (max-width: 1150px) {
  .footer .footer-v2 {
    grid-template-columns: 1fr;
    gap: 70px;
  }

  .footer-contact { order: -1; }

  .footer .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-brand-row { margin-top: 44px; }
}

@media (max-width: 520px) {
  .footer { padding: 58px 0; }
  .footer .footer-links { font-size: 15px; }
  .footer-contact h2 { font-size: 34px; }
  .footer-contact p { font-size: 15px; }
  .footer .footer-brand img { height: 40px !important; }
  .footer-brand-row { align-items: center; gap: 22px; }
  .footer-qr-list { gap: 10px; }
  .footer-qr img { width: 82px; height: 82px; }
  .footer-share-list { gap: 14px; }
  .footer-share-list img { width: 32px; height: 32px; }
}
