/* Scoped footer-only proposal; load after the existing V4/footer styles. */
.site-footer .vffs-footer-brand .vffs-footer-company { margin: 18px 0 0; font-weight: 700; color: #fff; }
.site-footer .vffs-footer-brand .vffs-footer-description { margin: 10px 0 0; max-width: 31ch; }
.site-footer .vffs-footer-contact address { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.site-footer .vffs-footer-contact address a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: 6px 0; color: #d2e6d9; font-weight: 400; line-height: 1.45; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; }
.site-footer .vffs-footer-contact__wechat { display: block; padding: 8px 0; line-height: 1.45; }
.site-footer .vffs-footer-contact__address { display: block; padding-top: 12px; max-width: 34ch; }
.site-footer nav:not(.footer-social) a { min-height: 44px; display: inline-flex; align-items: center; padding: 6px 0; }
.site-footer a:focus-visible { outline: 3px solid #b7ead1; outline-offset: 3px; }
.site-footer .vffs-footer-legal { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; border-top: 1px solid rgba(210, 230, 217, .3); padding-top: 16px; }
.site-footer .vffs-footer-legal p { margin: 0; }
.site-footer .vffs-footer-legal__nav { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px 24px; }
@media (max-width: 767px) {
  .site-footer .vffs-footer-legal { align-items: flex-start; flex-direction: column; }
}
/* Keep the desktop fixed WhatsApp button clear of legal links at page bottom. */
@media (min-width: 768px) {
  .site-footer .vffs-footer-legal { padding-right: 180px; }
}
