/* R10.1 WeChat footer
   A direct official-account entry: visible on desktop/tablet, compact and stacked on mobile.
*/
.footer-in{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:42px;
  width:min(var(--r10-max,1200px),calc(100% - (var(--pad) * 2)));
  min-height:0;
  padding:28px 0 calc(28px + var(--safe-bottom));
  margin:auto;
}
.footer-copy{
  display:grid;
  gap:8px;
  min-width:0;
}
.footer-copy span{
  color:#EBDDD3;
  font-size:var(--type-meta);
  line-height:var(--lh-meta);
}
.footer-copy b{color:#fff}
.footer-media{
  display:flex;
  align-items:center;
  min-width:0;
}
.footer-media a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  color:#EBDDD3;
  font-size:var(--type-ui);
  font-weight:var(--weight-ui);
}
.footer-media a:hover,
.footer-media a:focus-visible{
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.06);
  color:#fff;
}
.footer-wechat{
  display:grid;
  grid-template-columns:auto;
  justify-items:center;
  gap:8px;
  min-width:158px;
  padding:13px 13px 11px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:rgba(255,255,255,.06);
}
.footer-wechat-qr{
  position:relative;
  display:block;
  width:136px;
  height:136px;
}
.footer-wechat-qr-image,
.footer-wechat-qr-logo{
  display:block;
}
.footer-wechat-qr-image{
  width:100%;
  height:100%;
  object-fit:contain;
}
.footer-wechat-qr-logo{
  position:absolute;
  left:50%;
  top:50%;
  width:40px;
  height:40px;
  transform:translate(-50%,-50%);
  object-fit:cover;
  border:3px solid #fff;
  border-radius:13px;
  box-shadow:0 2px 7px rgba(0,0,0,.14);
}
.footer-wechat-link{
  display:block;
  width:136px;
  height:136px;
  padding:0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.10);
}
.footer-wechat-link:focus-visible{
  outline-color:#FFC99E;
  outline-offset:3px;
}
.footer-wechat-copy{
  display:grid;
  justify-items:center;
  gap:2px;
  text-align:center;
}
.footer-wechat-copy strong{
  color:#fff;
  font-size:var(--type-ui);
  font-weight:var(--weight-ui);
}
.footer-wechat-copy span{
  color:#EBDDD3;
  font-size:var(--type-meta);
  line-height:var(--lh-meta);
}

@media(max-width:760px){
  .footer-in{
    grid-template-columns:1fr;
    gap:18px;
    width:calc(100% - (var(--mobile-pad) * 2) - var(--safe-left) - var(--safe-right));
    padding:22px 0 calc(22px + var(--safe-bottom));
  }
  .footer-wechat{
    width:100%;
    grid-template-columns:112px 1fr;
    align-items:center;
    justify-items:start;
    column-gap:16px;
    padding:12px;
  }
  .footer-wechat-link{
    width:112px;
    height:112px;
  }
  .footer-wechat-qr{
    width:112px;
    height:112px;
  }
  .footer-wechat-qr-logo{
    width:34px;
    height:34px;
    border-width:2px;
    border-radius:11px;
  }
  .footer-wechat-copy{
    justify-items:start;
    text-align:left;
  }
}
@media(max-width:420px){
  .footer-wechat{
    grid-template-columns:1fr;
    justify-items:center;
    row-gap:8px;
  }
  .footer-wechat-copy{
    justify-items:center;
    text-align:center;
  }
}
