/* Decorative miniature procession. No layout space, hit targets or accessibility-tree content. */
.bwv-footer-parade {
    --figure-size: 92px;
    position: fixed;
    inset: auto 0 0;
    height: 124px;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
    z-index: 40;
    contain: layout paint;
}
.bwv-footer-parade[hidden], .bwv-footer-parade-toggle[hidden] { display: none !important; }
.bwv-footer-parade__traveller {
    position: absolute;
    bottom: -2px;
    left: 0;
    display: block;
    width: var(--figure-size);
    height: var(--figure-size);
    will-change: transform;
}
.bwv-footer-parade[data-figure="cavalry"] { --figure-size: 116px; }
.bwv-footer-parade__sprite {
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: 400% 200%;
    animation: bwv-footer-walk var(--walk-cycle, .8s) steps(1, end) infinite;
}
.bwv-footer-parade[data-direction="left"] .bwv-footer-parade__sprite { transform: scaleX(-1); }
@keyframes bwv-footer-walk {
    0%    { background-position: 0% 0%; }
    12.5% { background-position: 33.333333% 0%; }
    25%   { background-position: 66.666667% 0%; }
    37.5% { background-position: 100% 0%; }
    50%   { background-position: 0% 100%; }
    62.5% { background-position: 33.333333% 100%; }
    75%   { background-position: 66.666667% 100%; }
    87.5% { background-position: 100% 100%; }
    100%  { background-position: 0% 0%; }
}
.site-footer .bwv-footer-parade-toggle {
    flex: 0 0 auto;
    padding: 4px 0;
    border: 0;
    background: transparent;
    color: #ccc;
    font: inherit;
    font-size: 16px;
    line-height: 1.5;
    text-align: left;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}
.site-footer .bwv-footer-parade-toggle:hover { color: #fff; }
.site-footer .bwv-footer-parade-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 767px) {
    .bwv-footer-parade { --figure-size: 72px; height: 100px; }
    .bwv-footer-parade[data-figure="cavalry"] { --figure-size: 92px; }
}
@media (prefers-reduced-motion: reduce), print {
    .bwv-footer-parade, .bwv-footer-parade-toggle { display: none !important; }
    .bwv-footer-parade__sprite { animation: none; }
}
