/* Footer commun, sobre et ergonomique */
:root{
  --footer-bg:#ffffff;
  --footer-border:#e5e7eb;
  --footer-fg:#0f172a;
  --footer-muted:#6b7280;
  --footer-accent:#1abc9c;
}

/* role="contentinfo" ajouté sur les footers pour l'accessibilité */

.footer-pro{
  background:var(--footer-bg);
  border-top:1px solid var(--footer-border);
  padding:18px 12px 12px;
  margin-top:32px;
}
.footer-content{
  display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:center; gap:24px;
  max-width:960px; margin:0 auto; text-align:center;
}
.footer-col{ flex:1 1 160px; min-width:160px; display:flex; flex-direction:column; align-items:center; gap:6px; }
.footer-title{ font-size:1.05rem; font-weight:700; color:var(--footer-fg); letter-spacing:.2px; }
.footer-label{ font-size:.9rem; font-weight:600; color:var(--footer-accent); }
.footer-mail-text{ color:var(--footer-fg); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.footer-socials{ display:flex; gap:10px; }
.footer-social{ width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:#f8fafc; color:#334155; transition:background .2s ease,color .2s ease; text-decoration:none; }
.footer-social:hover{ background:#eef2f7; color:#0f172a; }
.footer-pro svg{ display:block; }
.footer-pro a{ color:inherit; }
.footer-pro a:focus-visible{ outline:2px solid var(--footer-accent); outline-offset:2px; border-radius:6px; }
.footer-pro a.footer-social.mail{ background:transparent; width:auto; height:auto; border-radius:0; padding:0; gap:8px; color:var(--footer-accent); font-weight:600; text-decoration:none; }
.footer-pro a.footer-social.mail:hover .footer-mail-text{ color:#15967d; }
.footer-pro .footer-copyright{ font-size:.85rem; color:var(--footer-muted); margin-top:2px; }

@media (max-width:640px){
  .footer-content{ flex-direction:column; gap:12px; }
}
