/* WPFlow Base - brand / partner logo strip (WPFlow > Logos). Shown only when WPFlow published logos to the site.
   Few logos: one centred row. More than fit: the row scrolls slowly (stops under the mouse; no scrolling with reduced motion). */
.wpf-logos { --wpf-logo-h: 64px; padding: 26px 0; overflow: hidden; }
.wpf-logos-title { text-align: center; margin: 0 0 16px; font-size: 1.1rem; }
.wpf-logos-view { overflow: hidden; }
.wpf-logos-track { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 18px 46px; margin: 0; padding: 0 16px; list-style: none; }
.wpf-logos-track li { flex: 0 0 auto; }
.wpf-logos-track a, .wpf-logos-track span { display: flex; align-items: center; justify-content: center; height: var(--wpf-logo-h); }
.wpf-logos-track img { display: block; max-height: var(--wpf-logo-h); max-width: 220px; width: auto; height: auto; object-fit: contain; transition: transform .2s ease, filter .2s ease; }
.wpf-logos-track a:hover img, .wpf-logos-track a:focus-visible img { transform: scale(1.06); }
.wpf-logos-track a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.wpf-logos.is-moving .wpf-logos-track { flex-wrap: nowrap; justify-content: flex-start; width: max-content; padding: 0; animation: wpfLogos var(--wpf-logo-dur, 40s) linear infinite; }
.wpf-logos.is-moving .wpf-logos-track li { margin-right: 46px; }
.wpf-logos.is-moving:hover .wpf-logos-track, .wpf-logos.is-moving:focus-within .wpf-logos-track { animation-play-state: paused; }
@keyframes wpfLogos { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 700px) { .wpf-logos { --wpf-logo-h: 48px; } .wpf-logos-track { gap: 14px 28px; } }
@media (prefers-reduced-motion: reduce) { .wpf-logos.is-moving .wpf-logos-track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; } .wpf-logos-track li[aria-hidden] { display: none; } }
