.product-grid, .catalog-product-grid, .trending-product-grid, .new-arrivals-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; align-items: stretch; }
.product-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #dce7e1 !important; border-radius: 18px !important; background: #fff; box-shadow: 0 8px 20px rgba(25, 45, 61, .09) !important; transition: transform .2s ease, box-shadow .2s ease; }
.product-card:hover { transform: translateY(-4px) !important; box-shadow: 0 15px 30px rgba(25, 45, 61, .15) !important; }
.product-card .product-image { flex: 0 0 270px; height: 270px !important; border-radius: 0 !important; background: #f0f6f2; }
.product-card .product-image img { display: block; width: 100%; height: 100%; padding: 10px; object-fit: contain; object-position: center; }
.product-card .product-image > span { display: grid; place-items: center; width: 100%; height: 100%; color: #7aa588; font-size: 90px; }
.product-card .product-info { display: flex; flex: 1; flex-direction: column; min-height: 0; padding: 16px 18px 17px; }
.product-card .product-info h3 { width: 100%; height: 23px; min-height: 0; overflow: hidden; margin: 0 0 12px; color: var(--navy); font-size: 19px; line-height: 1.2; white-space: nowrap; text-overflow: ellipsis; }
.product-card .product-info h3 a { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.product-card .product-info h3 a:hover { color: #2f8b57; }
.product-card-sales { display: flex; align-items: center; min-height: 21px; gap: 6px; margin-bottom: 12px; color: #d94b45; font-size: 12px; font-weight: 700; line-height: 1.3; }
.product-card-fire { display: inline-flex; color: #ef4f35; font-size: 16px; line-height: 1; }
.product-card-sales-text { color: #d94b45; }
.product-card .price-row { align-items: baseline; min-height: 24px; gap: 9px; }
.product-card .price-row strong { color: var(--navy); font-size: 16px; }
.product-card .price-row del { color: #9aa8b3; font-size: 12px; }
.product-card-stock { min-height: 22px; margin-top: 7px; color: #3c8b5c; font-size: 12px; font-weight: 700; }
.product-card-stock > span { margin-right: 4px; color: #2f9b63; font-size: 11px; }
.product-card-stock-out { color: #b96862; }
.product-card .card-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 14px; }
.product-card .quick-add { white-space: nowrap; }
.product-card .card-actions .text-link { white-space: nowrap; }
@media (max-width: 800px) {
    .product-grid, .catalog-product-grid, .trending-product-grid, .new-arrivals-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 15px; }
    .product-card { border-radius: 15px !important; }
    .product-card .product-image { flex-basis: 220px; height: 220px !important; }
    .product-card .product-image img { padding: 8px; }
    .product-card .product-info { padding: 14px 13px 15px; }
    .product-card .product-info h3 { height: 20px; margin-bottom: 10px; font-size: 16px; }
    .product-card-sales { gap: 4px; min-height: 19px; margin-bottom: 9px; font-size: 10px; }
    .product-card-fire { font-size: 14px; }
    .product-card .price-row { min-height: 21px; }
    .product-card .price-row strong { font-size: 14px; }
    .product-card-stock { min-height: 20px; margin-top: 5px; font-size: 11px; }
    .product-card .card-actions { gap: 5px; padding-top: 12px; }
    .product-card .quick-add { padding-inline: 9px; font-size: 11px; }
    .product-card .card-actions .text-link { font-size: 11px; }
}
@media (max-width: 480px) {
    .product-card .product-image { flex-basis: 190px; height: 190px !important; }
}
