/* Footer commun aux pages React et PHP. Les règles restent dans ce composant. */
.site-footer{margin-top:48px;padding:36px 20px 24px;border-top:1px solid var(--border,var(--line,#e2e8f0));background:var(--card-bg,var(--card,#fff));color:var(--text-muted,var(--muted,#64748b));font-size:14px;line-height:1.5;text-align:left}
.site-footer *{box-sizing:border-box}
.site-footer__inner{max-width:1280px;margin:0 auto;min-width:0}
.site-footer__brand{margin-bottom:28px}
.site-footer__brand p{margin:8px 0 0;font-size:13px}
.site-footer__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.site-footer__group{min-width:0}
.site-footer__group--fiches{grid-column:1/-1;padding-top:24px;border-top:1px solid var(--border,var(--line,#e2e8f0))}
.site-footer__group--fiches .site-footer__links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 24px;align-items:start}
.site-footer .site-footer__heading{margin:0 0 14px;font-size:15px;font-weight:700;color:var(--heading,var(--ink,#1e293b));line-height:1.4}
.site-footer__links{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin:0;padding:0;list-style:none}
.site-footer__links li{margin:0;min-width:0}
.site-footer__links a{color:inherit;text-decoration:none;overflow-wrap:anywhere}
.site-footer__links a:hover{color:var(--primary,var(--violet,#7c3aed));text-decoration:underline}
.site-footer__links a:focus-visible{outline:2px solid var(--primary,#7c3aed);outline-offset:4px;border-radius:2px}
.site-footer__admin{margin-top:28px;padding:18px;border:1px dashed var(--primary,#7c3aed);border-radius:12px}
.site-footer__admin .site-footer__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px}
.site-footer__copy{display:block;margin-top:28px;padding-top:20px;border-top:1px solid var(--border,var(--line,#e2e8f0));font-size:12px;text-align:center}
@media(max-width:1050px){.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__group--fiches .site-footer__links{grid-template-columns:repeat(3,minmax(0,1fr))}.site-footer__admin .site-footer__links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.site-footer{padding:28px 16px 20px}.site-footer__grid{gap:24px 20px}.site-footer__group--fiches .site-footer__links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.site-footer__admin .site-footer__links{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){.site-footer__grid,.site-footer__group--fiches .site-footer__links{grid-template-columns:minmax(0,1fr)}}
