/* #151 + #277: THE footer stylesheet. It is loaded in every page's <head>
 * BEFORE the page-local styles (cascade contract, FooterContrastTest), and
 * since #277 it is the only place the footer is styled: the markup is the one
 * shared partial data/partials/footer.html and the page-local .footer /
 * .site-footer rule sets that used to override it (home, impressum, teams,
 * exercise.css, trainer-setup.css) are deleted, not overridden.
 *
 * Contrast: #E5CCB1 on #2a2a2a = 9.30:1 (AAA), on #545454 = 4.91:1 (AA);
 * hover #FFFFFF on #2a2a2a = 14.35:1.
 *
 * The .footer selector is kept alongside .site-footer: the shared partial emits
 * .site-footer, and .footer costs nothing while any third-party-ish page (the
 * Swagger shell) could still carry the older class. */
.footer,
.site-footer {
    background: #2a2a2a;
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
    padding: 2rem 0;
    font-size: 0.85rem;
}
.footer a,
.site-footer a {
    color: #E5CCB1;
    text-decoration: none;
    transition: color 0.2s;
}
.footer a:hover,
.footer a:focus,
.site-footer a:hover,
.site-footer a:focus {
    color: #FFFFFF;
    text-decoration: underline;
}

/* #277: the three rows of the shared partial. Deliberately minimal — the whole
 * point of the unification is that there is nothing per-page left to tune. */
.site-footer .footer-title { margin: 0 0 0.4rem; }
.site-footer .footer-nav { margin: 0 0 0.4rem; }
.site-footer .footer-legal { margin: 0; opacity: 0.75; font-size: 0.8rem; }
