/* Shared footer navigation, including compact three-column mobile layout. */
.page-footer .footer-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 48px;
}
.page-footer .footer-groups {
  display: grid;
  grid-template-columns: .85fr .85fr 1.3fr;
  align-items: start;
  gap: 24px;
  width: 480px;
  max-width: 100%;
  padding: 0;
}
.page-footer .footer-group { min-width: 0; }
.page-footer .footer-group h3 {
  margin: 0 0 8px;
  padding: 0;
  color: #242728;
  font: 600 13px/1.4 'Avenir Next', Avenir, 'Segoe UI', sans-serif;
  letter-spacing: normal;
  text-transform: none;
}
.page-footer .footer-group ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.page-footer .footer-group li { margin: 0; padding: 0; }
.page-footer .footer-group a {
  display: flex;
  align-items: center;
  min-height: 28px;
  padding: 3px 0;
  color: #656a70;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
  overflow-wrap: break-word;
}
.page-footer .footer-group a:hover { color: #242728; text-decoration: underline; }
.page-footer .footer-group a:focus-visible { outline: 2px solid #f58200; outline-offset: 3px; }
.page-footer .footer-bottom {
  border-top: 1px solid #eee;
  margin-top: 30px;
  padding-top: 20px;
}
@media (max-width: 760px) {
  .page-footer .footer-top { flex-direction: column; gap: 30px; }
  .page-footer .footer-identity { flex: 0 0 auto; }
  .page-footer .footer-groups { width: 100%; gap: 12px; }
  html[lang="fr"] .page-footer .footer-groups { grid-template-columns: 1.1fr .85fr 1.3fr; }
}
