/* Footer */
.footer { background: var(--ink-2); color: #fff; padding-block: 80px 40px; }
.footer__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 48px; }
.footer__brand { flex: none; display: block; }
.footer__brand img { width: 150px; height: auto; }
.footer__cols { display: flex; align-items: flex-start; gap: 48px; }
.footer__col { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.footer__col ul { display: flex; flex-direction: column; gap: 12px; }
.footer__heading { color: #b4ada3; }
.footer__link { color: rgba(255,255,255,.88); white-space: nowrap; }
a.footer__link { transition: color .2s ease; }
a.footer__link:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.footer__link:focus-visible, .footer__brand:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.footer__bottom { margin-top: 64px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); }
.footer__signature { color: #fff; }
.footer__signature-muted { color: #b4ada3; }
/* Zones et informations légales */
.footer__legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; margin-top: 32px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08); }
.footer__zones, .footer__docs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
.footer__zones .t-label { color: #b4ada3; margin-right: 4px; }
.footer__legal a { color: rgba(255,255,255,.62); transition: color .2s ease; }
.footer__legal a:hover { color: #fff; }
.footer__legal a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

@media (max-width: 1200px) {
  .footer__top { flex-direction: column; gap: 48px; }
  .footer__cols { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
}
@media (max-width: 640px) {
  .footer { padding-block: 48px 40px; }
  .footer__top { gap: 40px; }
  .footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 24px; }
  .footer__link { white-space: normal; overflow-wrap: anywhere; }
  .footer__col--contact { grid-column: 1 / -1; }
  .footer__bottom { margin-top: 48px; }
  .footer__legal { flex-direction: column; align-items: flex-start; }
  .footer__zones .t-label { flex-basis: 100%; }
  .footer__legal a { padding-block: 6px; }
}
