/* Keep source photos intact: white surrounds cannot remove a photo's own background. */
.woocommerce ul.products li.product,
.pf-card,
.pf-img-wrap,
.pf-main-img,
.pf-thumb {
    background: #fff !important;
}

.woocommerce ul.products li.product a img,
.product .product-block .product-content .block-inner figure a img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain !important;
    object-position: center;
    background: #fff;
}

.woocommerce div.product div.images img {
    object-fit: contain;
    background: #fff;
}

.fh-restored-catalog {
    max-width: 1140px;
    margin: 0 auto;
    padding: 24px 0 48px;
    color: #222;
}

.fh-restored-catalog > p {
    line-height: 1.8;
}

.fh-restored-catalog .gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 28px 0 !important;
}

.fh-restored-catalog .gallery .gallery-item {
    float: none !important;
    width: auto !important;
    max-width: none;
    min-width: 0;
    margin: 0 !important;
    padding: 12px;
    border: 1px solid #e5e5e5;
    background: #fff;
    text-align: center;
}

.fh-restored-catalog .gallery br {
    display: none;
}

.fh-restored-catalog .gallery img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    border: 0 !important;
}

.fh-restored-catalog .gallery-caption {
    margin: 12px 0 0;
    padding: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #222;
}

.fh-restored-catalog a:focus-visible {
    outline: 3px solid #8b6b00;
    outline-offset: 4px;
}

@media (max-width: 767px) {
    .fh-restored-catalog .gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .fh-restored-catalog .gallery {
        grid-template-columns: minmax(0, 1fr);
    }
}
