/**
 * Project Marquee widget (class PL_Project_Marquee_Widget).
 * Lifted from the prior hand-coded homepage HTML-widget marquee, with two
 * parameterizations: scroll speed via --pl-marquee-duration and an optional
 * pause-on-hover modifier. Square corners are intentional (brand).
 */

.pl-marquee-wrap { position: relative; overflow: hidden; }

.pl-marquee-fade-left,
.pl-marquee-fade-right { position: absolute; top: 0; bottom: 0; width: 120px; z-index: 2; pointer-events: none; }
.pl-marquee-fade-left  { left: 0;  background: linear-gradient(to right, #F5F5F4 0%, rgba(245,245,244,0) 100%); }
.pl-marquee-fade-right { right: 0; background: linear-gradient(to left,  #F5F5F4 0%, rgba(245,245,244,0) 100%); }

.pl-marquee-track {
    display: flex;
    gap: 16px;
    width: max-content;
    animation: pl-marquee var(--pl-marquee-duration, 40s) linear infinite;
}
.pl-marquee--pause-hover .pl-marquee-track:hover { animation-play-state: paused; }

@keyframes pl-marquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.pl-marquee-pill {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 0;
    padding: 4px 20px 4px 4px;
    text-decoration: none;
    transition: border-color .15s;
    flex-shrink: 0;
}
.pl-marquee-pill:hover { border-color: #40A3A1; }
.pl-marquee-pill img {
    width: 48px;
    height: 48px;
    border-radius: 0;
    object-fit: cover;
    flex-shrink: 0;
    display: block;
}
.pl-marquee-pill span { font-weight: 600; color: #1a1a1a; white-space: nowrap; font-size: 15px; }

@media (prefers-reduced-motion: reduce) {
    .pl-marquee-track { animation: none; }
}
