/* One owner for catalogue cards, including the fixed three-line title. */
.woocommerce ul.products li.product:not(.product-category) {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.woocommerce ul.products li.product:not(.product-category) > .woocommerce-loop-product__link {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}
.woocommerce ul.products li.product:not(.product-category) a img,
.woocommerce ul.products li.product .psu-prod-faux-thumb {
    width: 100%;
    aspect-ratio: 1;
    height: auto;
    object-fit: contain;
    box-sizing: border-box;
    margin: 0 0 6px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title.compact-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    overflow-wrap: anywhere;
    font-size: 16px;
    line-height: 1.25;
    height: 3.75em;
    min-height: 3.75em;
    max-height: 3.75em;
    padding: 0;
    margin: 6px 0 !important;
}
.woocommerce ul.products li.product .psu-loop-sku {
    display: block;
    min-height: 1.725em;
    margin: 0 0 1.5px;
    font-size: 11px;
    line-height: 1.15;
    color: #444;
    overflow-wrap: anywhere;
}
.woocommerce ul.products li.product .price {
    min-height: 1.5em;
    margin-bottom: 4px;
}
.woocommerce ul.products li.product .loop-buy-row {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    margin-top: 8px;
    gap: 4px;
}
.woocommerce ul.products li.product .loop-buy-row .loop-qty-wrap { flex: 0 1 auto; gap: 2px; margin: 0; min-width: 0; }
.woocommerce ul.products li.product .loop-buy-row .loop-qty { flex: 1 1 40px; min-width: 0; max-width: 40px; padding: 0; }
.woocommerce ul.products li.product .loop-buy-row .button { flex: 0 0 auto; margin: 0; padding: 0 6px !important; font-size: 14px; gap: 4px; }
.woocommerce ul.products li.product .loop-buy-row .button::before { width: 18px; height: 18px; flex-shrink: 0; }
.psu-catalog .site-main .inside-article {
    padding: 13.333px;
}
.psu-catalog.woocommerce ul.products {
    gap: 16px 7px;
}
@media (max-width: 768px) {
    .psu-catalog .site-main .inside-article { padding: 5px; }
    .psu-catalog.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 3.5px; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title.compact-title { font-size: 13px; }
    .woocommerce ul.products li.product .psu-loop-sku { font-size: 10px; }
    /* Three columns reduce the old two-column image by about 30%. */
    .woocommerce ul.products li.product:not(.product-category) a img,
    .woocommerce ul.products li.product .psu-prod-faux-thumb { width: 92%; margin: 0 auto 4px; }
    .woocommerce ul.products li.product .loop-buy-row { gap: 3px; }
    .woocommerce ul.products li.product .loop-buy-row .loop-qty-wrap { flex-shrink: 0; gap: 1px; }
    .woocommerce ul.products li.product .loop-buy-row .loop-qty-btn {
        width: clamp(17px, 17cqi, 24px);
        height: 32px;
        padding: 0;
        flex-shrink: 0;
        font-size: 18px;
    }
    .woocommerce ul.products li.product .loop-buy-row .loop-qty {
        flex-basis: 32px;
        max-width: 32px;
        height: 28px;
        line-height: 28px;
        font-size: 14px;
    }
    .woocommerce ul.products li.product .loop-buy-row .loop-qty-view {
        box-sizing: border-box;
        min-width: 16px;
        height: 28px;
        line-height: 26px;
        font-size: 14px;
    }
    .woocommerce ul.products li.product .loop-buy-row .button {
        /* Long counts can sit below the icon inside the button, never over +. */
        flex: 0 1 auto;
        flex-wrap: wrap;
        min-width: 30px;
        min-height: 32px;
        height: auto !important;
        padding: 0 2px !important;
        gap: 2px;
        font-size: clamp(10px, 11cqi, 14px);
    }
}
