.pcwf-edition-gallery {
    display: grid;
    grid-template-columns: repeat(var(--pcwf-gallery-columns, 4), minmax(0, 1fr));
    gap: clamp(10px, 1.4vw, 20px);
}

.pcwf-edition-gallery__item {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.pcwf-edition-gallery__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 220ms ease;
}

.pcwf-edition-gallery__item:hover img,
.pcwf-edition-gallery__item:focus-visible img {
    transform: scale(1.025);
}

@media (max-width: 1024px) {
    .pcwf-edition-gallery {
        grid-template-columns: repeat(min(3, var(--pcwf-gallery-columns, 4)), minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .pcwf-edition-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
