
.ipt-table-wrapper { margin: 20px 0; font-size: 15px; }
.ipt-controls { display: flex; justify-content: space-between; margin-bottom: 15px; align-items: center; }
.ipt-search { position: relative; }
.ipt-search-input { 
    padding: 8px 40px 8px 40px !important; 
    border: 1px solid #ddd; 
    border-radius: 4px; 
    width: 250px; 
    text-align: center !important; 
    box-sizing: border-box !important; 
}
.ipt-search-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #999; pointer-events: none; }
.ipt-search-icon svg { vertical-align: middle; }
.ipt-table { width: 100%; border-collapse: collapse; border: 1px solid #eee; background: #fff; }
.ipt-table th { 
    background: #f9f9f9; 
    font-weight: 600; 
    text-align: center !important; 
    padding: 18px; 
    border-bottom: 1px solid #eee; 
    vertical-align: middle !important; 
}
.ipt-table td { 
    padding: 18px; 
    text-align: left; 
    border-bottom: 1px solid #eee; 
    vertical-align: middle; 
}
.ipt-col-variations { min-width: 150px; }
.ipt-variation-wrapper { display: flex; flex-direction: column; gap: 5px; }
.ipt-var-select { width: 100%; max-width: none; padding: 5px; border: 1px solid #ddd; border-radius: 4px; font-size: 13px; }
.ipt-qty-wrap { display: flex; align-items: center; border: 1px solid #ddd; border-radius: 4px; width: fit-content; margin: 0 auto; }
.ipt-qty-btn { background: #fff; border: none; width: 30px; height: 35px; cursor: pointer; font-weight: bold; color: #333; padding: 0; }
.ipt-qty-btn:hover { background: #f5f5f5; }
.ipt-qty-input { width: 40px !important; height: 35px !important; border: none !important; border-left: 1px solid #ddd !important; border-right: 1px solid #ddd !important; text-align: center !important; padding: 0 !important; margin: 0 !important; -moz-appearance: textfield; }
.ipt-qty-input::-webkit-outer-spin-button, .ipt-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ipt-table .product-action .button,
.ipt-table .product-action .add_to_cart_button,
.ipt-table .ipt-btn-add-to-cart {
    display: inline-block !important; 
    text-align: center !important;
    padding: 10px 15px !important;
    width: auto !important; 
    height: auto !important;
    border-radius: 4px !important;
    line-height: 1.6 !important; 
    transition: opacity 0.2s !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
    border: 5px solid transparent !important; 
    text-decoration: none !important;
    cursor: pointer;
}
.ipt-table .ipt-btn-add-to-cart.disabled { opacity: 0.5; cursor: not-allowed; }
.ipt-table .product-action .button:hover { opacity: 0.8; }
.ipt-table .button::after, .ipt-table .add_to_cart_button::after { display: none !important; content: none !important; }
.ipt-col-image img { width: 50px; height: 50px; object-fit: cover; border-radius: 4px; display: block; margin: 0 auto; }
.ipt-footer { display: flex; justify-content: space-between; margin-top: 15px; align-items: center; }
.ipt-pagination button { background: #fff; border: 1px solid #ddd; padding: 5px 10px; margin: 0 2px; cursor: pointer; }
.ipt-pagination button.active { background: #000; color: #fff; border-color: #000; }
.ipt-spinner { width: 40px; height: 40px; border: 3px solid #f3f3f3; border-top: 3px solid #333; border-radius: 50%; animation: spin 1s linear infinite; margin: 20px auto; }
.ipt-stock.in { color: #27ae60; font-weight: 600; }
.ipt-stock.out { color: #c0392b; font-weight: 600; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
