.ddc-ticker-wrap {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.ddc-ticker {
    display: flex;
    align-items: center;
    width: max-content;
    animation: ddc-ticker-scroll linear infinite;
    will-change: transform;
}

.ddc-ticker__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    gap: 8px;
}

.ddc-ticker__title {
    font-size: 0.875rem;
    line-height: 1.2;
    color: #555;
    text-align: center;
    white-space: nowrap;
}

/* Name-only item (no logo image) — shows the item's text at a readable
   size in place of a logo. `line-height` is set inline from the ticker's
   Logo Height setting so a name row lines up with the logo rows. */
.ddc-ticker__name {
    font-size: clamp(1rem, 0.9rem + 0.6vw, 1.5rem);
    font-weight: 600;
    white-space: nowrap;
    color: #555;
}

.ddc-ticker__name-link {
    text-decoration: none;
    color: inherit;
}

.ddc-ticker__item img {
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.85;
    transition: filter 0.3s ease, opacity 0.3s ease;
    display: block;
}

.ddc-ticker__item:hover img,
.ddc-ticker__item a:hover img {
    filter: grayscale(0%);
    opacity: 1;
}

.ddc-ticker__item a {
    display: flex;
    align-items: center;
    line-height: 0;
}

@keyframes ddc-ticker-scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(calc(-1 * var(--ddc-scroll, 50%)));
    }
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    .ddc-ticker {
        animation: none;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        gap: 32px !important;
    }
}