/* Desktop footer spacing is measured from one heading edge to the next. */
@media (min-width: 1321px) {
  .footer__menus-final {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 0 80px !important;
  }

  .footer__menus-final .footer__col {
    flex: 0 0 auto !important;
    width: max-content !important;
    max-width: none !important;
  }

  .footer__menus-final .footer__col h4 {
    white-space: nowrap !important;
  }

  html[data-active-locale="en"] .footer__menus-final .footer__col h4 {
    letter-spacing: .08em !important;
  }

  html[data-active-locale="en"] .footer__menus-final {
    transform: translateX(-10px) !important;
  }

  /* Sub-links start at the heading edge but do not determine column spacing. */
  .footer__menus-final .footer__col a {
    width: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }
}

.footer .footer__col h4 .footer__heading-link {
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
  text-transform: inherit !important;
  white-space: inherit !important;
  text-decoration: none !important;
}

/* Shared mobile footer layout for every page. */
@media (max-width: 640px) {
  .footer.footer--dark { padding: 44px 16px 22px !important; }
  .footer.footer--dark > .wrap { width: 100% !important; max-width: 100% !important; padding: 0 !important; }
  .footer__main-final { display: grid !important; grid-template-columns: 1fr !important; gap: 32px !important; min-height: 0 !important; margin-bottom: 32px !important; }
  .footer__menus-final { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px 20px !important; width: 100% !important; }
  .footer__menus-final .footer__col { width: auto !important; min-width: 0 !important; }
  .footer__menus-final .footer__col h4 { margin-bottom: 9px !important; white-space: normal !important; font-size: 10px !important; line-height: 1.4 !important; }
  .footer__menus-final .footer__col a { width: auto !important; max-width: 100% !important; white-space: normal !important; overflow-wrap: anywhere !important; font-size: 11.5px !important; line-height: 1.55 !important; }
  .footer__social-row { justify-content: flex-start !important; margin-top: 0 !important; }
  .footer__bottom { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
  .footer__legal { justify-content: flex-start !important; gap: 10px 18px !important; }
}
@media (max-width: 460px) {
  .footer__menus-final { grid-template-columns: 1fr !important; gap: 24px !important; }
  .footer__signature { font-size: 9px !important; letter-spacing: 1px !important; }
}

/* Final mobile footer typography lock: every page uses the same footer type scale. */
@media (max-width: 640px) {
  .footer,
  .footer *:not(svg):not(path) {
    font-family: "Noto Sans", "Segoe UI", Arial, sans-serif !important;
    font-style: normal !important;
    font-stretch: normal !important;
    font-variant: normal !important;
    font-variation-settings: normal !important;
  }

  .footer__menus-final .footer__col h4,
  .footer__menus-final .footer__col h4 a,
  .footer__menus-final .footer__col .footer__heading-link {
    color: #f5f2ec !important;
    font: 500 10px/1.35 "Noto Sans", "Segoe UI", Arial, sans-serif !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
  }

  .footer__menus-final .footer__col a,
  .footer__bottom p,
  .footer__copy,
  .footer__legal a {
    color: rgba(255,255,255,.72) !important;
    font: 300 11.5px/1.5 "Noto Sans", "Segoe UI", Arial, sans-serif !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  .footer__signature {
    color: rgba(255,255,255,.5) !important;
    font: 400 11px/1.35 "Noto Sans", "Segoe UI", Arial, sans-serif !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
  }
}
