/**
 * 2024 Change Vivienne - Product Table CSS
 */
.product-table-container { margin-bottom: 2rem; }
.product-table { width: 100%; border-collapse: collapse; }
.product-table th { background-color: #f5f5f5; padding: 10px; font-weight: bold; text-align: center; }
.product-table td { padding: 10px; vertical-align: middle; border: 1px solid #ddd; }
.product-row:hover { background-color: #f9f9f9; }
.product-image { width: 80px; text-align: center; }
.product-image img { max-width: 70px; max-height: 70px; object-fit: contain; }
.product-name { font-weight: 500; }
.product-link { color: #333; text-decoration: none; }
.product-link:hover { color: #2fb5d2; text-decoration: underline; }
.product-sell .sell-controls, .product-buy .buy-controls { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; justify-content: center; }
.qty-btn { background: #fff; border: 1px solid #ccc; border-radius: 3px; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-weight: bold; }
.qty-btn:hover { background: #f0f0f0; }
.qty-btn.plus { color: #28a745; }
.qty-btn.minus { color: #dc3545; }
.rp-qty-box { width: 50px; height: 30px; text-align: center; border: 1px solid #ddd; border-radius: 3px; }
.product-buy .price-btn { background: #fff; color: #dc3545; border: 1px solid #dc3545; padding: 5px 10px; border-radius: 3px; cursor: pointer; }
.product-buy .price-btn:hover { background-color: #dc3545; color: #fff; }
.product-sell .price-btn { background: #fff; color: #28a745; border: 1px solid #28a745; padding: 5px 10px; border-radius: 3px; cursor: pointer; }
.product-sell .price-btn:hover { background-color: #28a745; color: #fff; }
.price-btn.rp-processing { pointer-events: none; opacity: 0.7; }
@media (max-width: 767px) { .product-table th, .product-table td { padding: 5px; font-size: 14px; } .product-image { width: 50px; } .product-image img { max-width: 40px; max-height: 40px; } }
