/* Footer de l’application — aligné visuellement sur le footer de la page d’accueil. */
/* Desktop : le footer est une vraie troisième ligne de la grille et occupe les deux colonnes. */
.app-shell{grid-template-rows:68px minmax(0,1fr) auto;grid-template-areas:"top top" "side main" "foot foot"}
.site-footer{grid-area:foot;min-width:0;display:flex;align-items:center;justify-content:center;gap:15px 24px;flex-wrap:wrap;border-top:1px solid #dce3da;padding:24px 30px;background:#faf9f5;color:#66776d;font-size:12px;line-height:1.55;text-align:center}
.site-footer-brand{font-weight:700;color:#173f46}.site-footer-brand small{display:block;font-weight:400;color:#66776d;margin-top:1px}.site-footer-author{white-space:nowrap}
.site-footer nav{display:flex;gap:12px 22px;justify-content:center;align-items:center;flex-wrap:wrap}.site-footer a{color:#173f46;text-underline-offset:4px}.site-footer a:hover{color:#287a72}.site-footer a:focus-visible{outline:3px solid #2b7a78;outline-offset:3px}
@media(max-width:900px){.app-shell{grid-template-columns:1fr;grid-template-rows:64px minmax(0,1fr) auto;grid-template-areas:"top" "main" "foot"}.site-footer{padding:22px 18px calc(88px + env(safe-area-inset-bottom));gap:10px 18px}#pwa-status{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}
@media(max-width:560px){.site-footer{flex-direction:column;font-size:12px;gap:10px;padding-inline:16px}.site-footer nav{gap:8px 16px}.site-footer-author{white-space:normal}}
@media print{.site-footer,#pwa-status{display:none}}
