/* Footer grid: brand + 3 link columns (style AOT) */
.site-footer .footer-grid {
  grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(120px, 1fr));
}
@media (max-width: 1024px) {
  .site-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.75rem;
  }
  .site-footer .footer-brand-col { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 640px) {
  .site-footer .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 480px) {
  .site-footer .footer-inner { padding: 2rem 0 1.25rem; }
  .site-footer .footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* Pages légales — alignées tokens / hubs (9.7) */
.legal-page { max-width: 820px; margin: 0 auto 2rem; }
.legal-page-header {
  margin-bottom: 1.75rem;
  padding: 1.5rem 1.35rem 1.25rem;
  border-radius: var(--radius);
  background: linear-gradient(155deg, rgba(26, 35, 50, .95) 0%, rgba(15, 20, 25, .55) 100%);
  border: 1px solid var(--border-accent);
  box-shadow: var(--shadow-sm);
}
.legal-page-header h1 { margin: 0 0 .5rem; font-size: clamp(1.35rem, 3vw, 1.65rem); }
.legal-updated { margin: 0 0 1rem; font-size: .88rem; }
.legal-nav { display: flex; flex-wrap: wrap; gap: .45rem; }
.legal-nav-link {
  display: inline-block; padding: .35rem .75rem; border-radius: var(--radius-pill);
  border: 1px solid var(--border); color: var(--muted); font-size: .85rem;
  transition: border-color .15s, color .15s, background .15s;
}
.legal-nav-link:hover { border-color: var(--border-accent); color: var(--accent); }
.legal-nav-link.is-active {
  border-color: var(--border-accent); color: var(--accent); background: var(--accent-soft);
}
.legal-body { display: flex; flex-direction: column; gap: 1rem; }
.legal-section {
  background: linear-gradient(160deg, rgba(26, 35, 50, .92) 0%, rgba(18, 24, 34, .88) 100%);
  border: 1px solid rgba(154, 168, 188, .15);
  border-radius: var(--radius); padding: 1.25rem 1.5rem; box-shadow: var(--shadow-sm);
}
.legal-section h2 { margin: 0 0 .75rem; font-size: 1.02rem; color: var(--text); }
.legal-section p { margin: 0 0 .75rem; line-height: 1.55; color: var(--text); }
.legal-section p:last-child { margin-bottom: 0; }
.legal-section ul { margin: 0 0 .75rem; padding-left: 1.25rem; line-height: 1.55; }
.legal-section a { color: var(--accent); }
.legal-table { width: 100%; border-collapse: collapse; font-size: .9rem; margin: .5rem 0; }
.legal-table th, .legal-table td { border: 1px solid var(--border); padding: .5rem .65rem; text-align: left; }
.legal-table th { background: rgba(255,255,255,.03); color: var(--muted); font-weight: 600; }
.cookie-consent {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999;
  background: rgba(10, 14, 20, .97); border-top: 1px solid var(--border-accent);
  padding: 1rem; box-shadow: 0 -8px 32px rgba(0,0,0,.35); backdrop-filter: blur(8px);
}
.cookie-consent-inner {
  max-width: 960px; margin: 0 auto;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
}
.cookie-consent-text { margin: 0; flex: 1 1 280px; font-size: .9rem; color: var(--muted); line-height: 1.45; }
.cookie-consent-text a { color: var(--accent); }
.cookie-consent-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
@media (max-width: 560px) {
  .cookie-consent-inner { flex-direction: column; align-items: stretch; }
  .cookie-consent-actions .btn { width: 100%; }
}
