/* Loaded only by the exact-tag results controller. */
#js-product-list .product-miniature,
#js-product-list .product-miniature__inner,
#js-product-list .thumbnail-container {
    width: 100% !important;
    max-width: 320px !important;
}

#js-product-list .product-miniature__top,
#js-product-list .product-miniature__image-container,
#js-product-list .product-miniature__image-link,
#js-product-list .thumbnail-container .product-thumbnail {
    display: block !important;
    width: 100% !important;
    max-width: 300px !important;
}

#js-product-list .product-miniature__image,
#js-product-list .thumbnail-container .product-thumbnail img,
#js-product-list article.product-miniature img:not(.product-flag) {
    display: block !important;
    width: 100% !important;
    max-width: 300px !important;
    height: 260px !important;
    object-fit: contain !important;
}

#js-product-list .product-miniature__title,
#js-product-list .product-title,
#js-product-list .product-title a {
    display: block !important;
    width: 100% !important;
    max-width: 300px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
}

@media (max-width: 767px) {
    #js-product-list .product-miniature,
    #js-product-list .product-miniature__inner,
    #js-product-list .thumbnail-container,
    #js-product-list .product-miniature__top,
    #js-product-list .product-miniature__image-container,
    #js-product-list .product-miniature__image-link,
    #js-product-list .thumbnail-container .product-thumbnail {
        max-width: 100% !important;
    }

    #js-product-list .product-miniature__image,
    #js-product-list .thumbnail-container .product-thumbnail img,
    #js-product-list article.product-miniature img:not(.product-flag) {
        max-width: 100% !important;
        height: 210px !important;
    }
}

/* Expand the complete CE miniature hierarchy, not only its image widget. */
#js-product-list > .products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 32px 24px !important;
}

#js-product-list > .products > .elementor[data-elementor-type="product-miniature"] {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

#js-product-list .elementor-4170101 > article,
#js-product-list .elementor-4170101 .elementor-top-section,
#js-product-list .elementor-4170101 .elementor-container,
#js-product-list .elementor-4170101 .elementor-row,
#js-product-list .elementor-4170101 .elementor-top-column,
#js-product-list .elementor-4170101 .elementor-column-wrap,
#js-product-list .elementor-4170101 .elementor-widget-wrap {
    width: 100% !important;
    max-width: none !important;
}

#js-product-list .elementor-4170101
    .elementor-widget-product-miniature-image:not(.elementor-absolute),
#js-product-list .elementor-4170101
    .elementor-widget-product-miniature-image:not(.elementor-absolute) .elementor-widget-container,
#js-product-list .elementor-4170101
    .elementor-widget-product-miniature-image:not(.elementor-absolute) .ce-product-image,
#js-product-list .elementor-4170101
    .elementor-widget-product-miniature-image:not(.elementor-absolute) .elementor-image,
#js-product-list .elementor-4170101
    .elementor-widget-product-miniature-image:not(.elementor-absolute) a,
#js-product-list .elementor-4170101 .elementor-widget-product-miniature-name,
#js-product-list .elementor-4170101 .elementor-widget-product-miniature-name .elementor-widget-container,
#js-product-list .elementor-4170101 .ce-product-name,
#js-product-list .elementor-4170101 .ce-product-name a {
    width: 100% !important;
    max-width: none !important;
}

#js-product-list .elementor-4170101
    .elementor-widget-product-miniature-image:not(.elementor-absolute) img {
    width: 100% !important;
    max-width: none !important;
    height: 280px !important;
    object-fit: contain !important;
}

@media (max-width: 1024px) {
    #js-product-list > .products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 479px) {
    #js-product-list > .products {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 28px !important;
    }

    #js-product-list .elementor-4170101
        .elementor-widget-product-miniature-image:not(.elementor-absolute) img {
        height: 240px !important;
    }
}

/* Creative Elements product miniature 4170101 used by this shop. */
#js-product-list .elementor[data-elementor-type="product-miniature"] {
    min-width: 0;
}

#js-product-list .elementor[data-elementor-type="product-miniature"]
    .elementor-widget-product-miniature-image:not(.elementor-absolute),
#js-product-list .elementor[data-elementor-type="product-miniature"]
    .elementor-widget-product-miniature-image:not(.elementor-absolute) .elementor-widget-container,
#js-product-list .elementor[data-elementor-type="product-miniature"]
    .elementor-widget-product-miniature-image:not(.elementor-absolute) .ce-product-image,
#js-product-list .elementor[data-elementor-type="product-miniature"]
    .elementor-widget-product-miniature-image:not(.elementor-absolute) .elementor-image,
#js-product-list .elementor[data-elementor-type="product-miniature"]
    .elementor-widget-product-miniature-image:not(.elementor-absolute) a {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
}

#js-product-list .elementor[data-elementor-type="product-miniature"]
    .elementor-widget-product-miniature-image:not(.elementor-absolute) img {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    height: 280px !important;
    object-fit: contain !important;
}

#js-product-list .elementor[data-elementor-type="product-miniature"]
    .elementor-widget-product-miniature-name,
#js-product-list .elementor[data-elementor-type="product-miniature"]
    .elementor-widget-product-miniature-name .elementor-widget-container,
#js-product-list .elementor[data-elementor-type="product-miniature"] .ce-product-name,
#js-product-list .elementor[data-elementor-type="product-miniature"] .ce-product-name a {
    width: 100% !important;
    max-width: 320px !important;
    height: auto !important;
    max-height: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
}

@media (max-width: 767px) {
    #js-product-list .elementor[data-elementor-type="product-miniature"]
        .elementor-widget-product-miniature-image:not(.elementor-absolute),
    #js-product-list .elementor[data-elementor-type="product-miniature"]
        .elementor-widget-product-miniature-image:not(.elementor-absolute) .elementor-widget-container,
    #js-product-list .elementor[data-elementor-type="product-miniature"]
        .elementor-widget-product-miniature-image:not(.elementor-absolute) .ce-product-image,
    #js-product-list .elementor[data-elementor-type="product-miniature"]
        .elementor-widget-product-miniature-image:not(.elementor-absolute) .elementor-image,
    #js-product-list .elementor[data-elementor-type="product-miniature"]
        .elementor-widget-product-miniature-image:not(.elementor-absolute) a,
    #js-product-list .elementor[data-elementor-type="product-miniature"]
        .elementor-widget-product-miniature-image:not(.elementor-absolute) img {
        max-width: 100% !important;
    }

    #js-product-list .elementor[data-elementor-type="product-miniature"]
        .elementor-widget-product-miniature-image:not(.elementor-absolute) img {
        height: 210px !important;
    }
}
