/* Shared public and authenticated footer. */
.site-footer, .public-footer { box-sizing: border-box; min-height: 100px; padding: 25px clamp(20px,4vw,64px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; border-top: 1px solid #dde6f2; background: rgba(255,255,255,.7); color: #637087; font-size: 12px; }
.site-footer a, .public-footer a { color: #154db0; text-decoration: none; transition: color .18s ease; }
.site-footer a:hover, .public-footer a:hover { color: #0e3fc2; text-decoration: underline; }
.site-footer .footer-language-switcher, .public-footer .footer-language-switcher { display:flex; gap: 16px; align-items:center; justify-content:flex-start; }
.site-footer .footer-language-switcher span, .public-footer .footer-language-switcher span { color:#637087; font-weight:600; }
.site-footer .footer-legal, .public-footer .footer-legal { text-align:center; }
.site-footer .footer-copyright, .public-footer .footer-copyright { margin:0; text-align:right; font-weight:400; }
@media (max-width: 640px) { .site-footer, .public-footer { grid-template-columns:1fr; justify-items:center; gap:16px; } .site-footer .footer-copyright, .public-footer .footer-copyright { text-align:center; } }

.site-footer a, .public-footer a { margin-left:0; font-weight:750; }
.site-footer .footer-language-switcher, .public-footer .footer-language-switcher { margin-left:0; }
.site-footer .footer-legal, .public-footer .footer-legal { justify-self:center; }
.site-footer .footer-copyright, .public-footer .footer-copyright { justify-self:end; }
@media (max-width:640px) { .site-footer .footer-copyright, .public-footer .footer-copyright { justify-self:center; } }
