/* Fixed thumbnail space prevents reflow as cached images arrive. */
.product-search-thumb {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
}
.product-search-thumb img { width: 100%; height: 100%; object-fit: contain; }
.product-search-thumb [hidden] { display: none !important; }
.product-catalog-thumb { display: flex; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: #f8fafc; flex-shrink: 0; align-items: center; justify-content: center; }
.product-catalog-thumb img { width: 100%; height: 100%; object-fit: cover; }
.product-catalog-thumb [hidden] { display: none !important; }
.product-catalog-thumb .product-search-placeholder { font-size: 32px; }
.purchase-sidebar-root .product-catalog-thumb { aspect-ratio: 4 / 3; }
.product-search-placeholder { font-size: 23px; line-height: 1; }
.search-result-item { gap: 10px; }
.search-result-item .product-info { min-width: 0; overflow-wrap: anywhere; }
.search-result-item .product-result-prices { flex: 0 0 auto; text-align: right; }
.product-variation-result { display: flex; align-items: center; gap: 10px; }
.product-variation-result .product-variation-info { min-width: 0; overflow-wrap: anywhere; }
.purchase-product-result { display: flex; align-items: center; gap: 10px; }
.purchase-product-result .product-result-info { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.purchase-product-result .product-result-name { font-size: 13px; font-weight: 600; color: #1f2937; }
.purchase-product-result .product-result-prices { text-align: right; flex: 0 0 auto; line-height: 1.75; }
body.dark-mode .product-search-thumb { background: #1e293b; border-color: #475569; }
body.dark-mode .product-catalog-thumb { background: #1e293b; }
@media (max-width: 480px) {
    .product-search-thumb { width: 40px; height: 40px; flex-basis: 40px; border-radius: 8px; }
    .search-result-item, .purchase-product-result { gap: 8px; }
    .search-result-item { padding: 9px 10px; }
    .purchase-product-result .product-result-name { font-size: 12px; }
    .purchase-product-result .product-result-prices { max-width: 100px; overflow-wrap: anywhere; }
}
