/* Shared public footer, aligned with the landing page palette. */
body.site-layout { display:flex; flex-direction:column; min-height:100vh; min-height:100svh; }
body.site-layout > main { flex:1 0 auto; width:100%; min-width:0; box-sizing:border-box; }
body.site-layout > .admin-page-shell { min-height:0; }
body.site-layout > :is(#view-landing, #view-engine, #view-workspace, #view-suppliers, #view-community, #view-products, #view-share) { flex:1 0 auto; min-height:0; }
body footer.site-footer { display:block; flex:none; width:100%; max-width:none; margin:0; margin-top:auto; padding:24px 0; border:0; border-top:1px solid #46616a30; background:#9fbac4; color:#294b58; text-align:center; font-size:12px; line-height:1.8; box-sizing:border-box; }
body footer.site-footer .footer-inner { width:100%; max-width:1120px; margin:0 auto; padding:0 24px; box-sizing:border-box; }
body footer.site-footer .fl { display:flex; justify-content:center; flex-wrap:wrap; gap:4px 24px; margin:0 0 12px; }
body footer.site-footer .fl a { display:inline-flex; align-items:center; min-height:44px; padding:0; color:inherit; font-size:12px; text-decoration:none; border:0; border-radius:0; background:none; }
body footer.site-footer .fl a:hover { color:#102d3b; text-decoration:underline; }
body footer.site-footer .fl a:focus-visible { outline:2px solid #07545d; outline-offset:4px; }
body footer.site-footer .disclaim { max-width:none; margin:0; color:inherit; font-size:11px; line-height:1.9; }
/* Insights has a legacy all-footer flex rule; shared footer must stay stacked and centered. */
body footer.site-footer.insights-site-footer { display:block; }
body footer.site-footer.insights-site-footer .fl { display:flex; }
@media(max-width:760px) { body footer.site-footer .footer-inner { padding:0 16px; } body footer.site-footer .fl { gap:4px 20px; } }
@media print { body footer.site-footer { background:transparent; color:#333; } }
