/* Keep complete brand cards between arrow gutters at every resting position. */
.zf-storefront .zf-brand-carousel { --zf-brand-gap: clamp(1rem, 2vw, 2rem); box-sizing: border-box; padding-inline: 4.25rem; }
.zf-storefront .zf-brand-carousel-track { box-sizing: border-box; width: 100%; gap: var(--zf-brand-gap); padding-inline: 0; scroll-padding-inline: 0; }
.zf-storefront .zf-brand-carousel-track > li { flex: 0 0 calc((100% - 5 * var(--zf-brand-gap)) / 6); min-width: 0; }
.zf-storefront .zf-brand-arrow-prev { left: 0; right: auto; }
.zf-storefront .zf-brand-arrow-next { right: 0; left: auto; }
.zf-storefront .zf-brand-carousel-track .zf-brand-logo__image { width: 82%; height: 82%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; }
@media (max-width: 1199px) {
    .zf-storefront .zf-brand-carousel-track > li { flex-basis: calc((100% - 3 * var(--zf-brand-gap)) / 4); }
}
@media (max-width: 767px) {
    .zf-storefront .zf-brand-carousel { --zf-brand-gap: 0.7rem; padding-inline: 0; }
    .zf-storefront .zf-brand-carousel-track > li { flex-basis: calc((100% - 2 * var(--zf-brand-gap)) / 3); }
    .zf-storefront .zf-brand-arrow { display: none; }
}

/* Small hover accents; card dimensions and native rail interaction stay stable. */
/* Keep vertical wheel/swipe chaining available over either horizontal rail.
   Clone replacement must not become the document's scroll anchor. */
.zf-storefront .zf-brand-carousel-track,
.zf-storefront .zf-catalogue-cover-track {
    touch-action: auto;
    overflow-y: hidden;
    overscroll-behavior-y: auto;
    overflow-anchor: none;
}

.zf-brand-carousel-track .zf-brand-carousel-card,
.zf-catalogue-cover-track .zf-catalogue-cover-card,
.zf-brand-carousel-track .zf-brand-logo__image,
.zf-catalogue-cover-track .zf-catalogue-cover img {
    transition: transform 300ms cubic-bezier(.2, .65, .3, 1);
    transform-origin: center;
}
.zf-brand-carousel-track .zf-brand-carousel-card:hover .zf-brand-logo {
    transform: none;
    box-shadow: none;
}
@media (hover: hover) and (pointer: fine) {
    .zf-brand-carousel-track .zf-brand-carousel-card:hover,
    .zf-catalogue-cover-track .zf-catalogue-cover-card:hover { transform: translateY(-3px); }
    .zf-brand-carousel-track .zf-brand-carousel-card:hover .zf-brand-logo__image { transform: scale(1.025); }
    .zf-catalogue-cover-track .zf-catalogue-cover-card:hover .zf-catalogue-cover img { transform: scale(1.015); }
}
@media (prefers-reduced-motion: reduce) {
    .zf-brand-carousel-track,
    .zf-catalogue-cover-track { scroll-behavior: auto !important; }
    .zf-brand-carousel-track .zf-brand-carousel-card,
    .zf-catalogue-cover-track .zf-catalogue-cover-card,
    .zf-brand-carousel-track .zf-brand-logo,
    .zf-brand-carousel-track .zf-brand-logo__image,
    .zf-catalogue-cover-track .zf-catalogue-cover img { transition: none !important; transform: none !important; }
}
