/* Shared listing fixes apply after the active theme's stylesheet. */
.streetfx-search-results .hit-image-container {
    position: relative;
}

.streetfx-search-results .hit-image-container > .badge-danger {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    pointer-events: none;
}

.streetfx-search-results .product-sale-list-label {
    display: none;
}

.product-listing[data-product-view="list"] .streetfx-search-results .product-sale-list-label {
    position: static;
    display: inline-flex;
    grid-column: 1 / -1;
    justify-self: start;
}

@media (max-width: 720px) {
    .product-grid,
    .product-listing[data-product-view="gallery"] .streetfx-search-results .ais-Hits-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .product-card,
    .streetfx-search-results .ais-Hits-item {
        min-width: 0;
    }

    .product-card__body {
        padding: 10px;
        overflow-wrap: anywhere;
    }

    .product-card__image,
    .streetfx-search-results .hit-image-container {
        min-height: 0;
        max-height: none;
        max-width: none;
        aspect-ratio: 1;
    }

    .streetfx-search-results .hit-image-container > a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        min-width: 0;
    }

    .streetfx-search-results .hit-image {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}
