.quality-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 2rem 1.25rem;
    background: #fff;
    border: 1px solid var(--sumurca-border);
    border-radius: 18px;
    text-align: center;
    color: var(--sumurca-dark);
    transition: border-color .2s, box-shadow .2s;
}
.quality-card:hover { border-color: var(--sumurca-red); box-shadow: 0 12px 30px #1118270d; }
.quality-card img { max-width: 100%; object-fit: contain; margin-bottom: 1.5rem; }
.supplier-viewport { overflow-x: auto; padding: 8px; }
.supplier-track { display: flex; width: max-content; }
.supplier-group { display: flex; align-items: center; gap: 24px; padding-right: 24px; flex-shrink: 0; }
.supplier-logo { display: flex; align-items: center; justify-content: center; width: 220px; height: 126px; background: #fff; border: 1px solid var(--sumurca-border); border-radius: 12px; }
.supplier-logo:hover { border-color: var(--sumurca-red); }
.supplier-logo img { object-fit: contain; max-width: 82%; }
.supplier-viewport.is-animated { overflow: hidden; }
.is-animated .supplier-track { animation: supplier-scroll var(--supplier-duration, 35s) linear infinite; }
.supplier-viewport:hover .supplier-track,
.supplier-viewport:focus-within .supplier-track,
.supplier-viewport.is-paused .supplier-track { animation-play-state: paused; }
/* Al navegar con teclado, todos los enlaces originales quedan accesibles. */
.supplier-viewport:focus-within { overflow-x: auto; }
.supplier-viewport:focus-within .supplier-track { animation: none; }
@keyframes supplier-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
    .is-animated .supplier-track { animation: none; }
    .supplier-viewport.is-animated { overflow-x: auto; }
    [data-supplier-clone] { display: none !important; }
    .supplier-pause { display: none; }
}
