/* 
 * Zero Price Display Fix
 * Replaces $0.00 pricing with "No Price" text across the site
 * While maintaining underlying calculations as 0
 */

/* Hide $0.00 text and show "No Price" instead */
.product-price:has(span:contains("$0.00")),
.main-price:has(*:contains("$0.00")),
.price:has(*:contains("$0.00")),
span:contains("$0.00") {
    font-size: 0 !important;
}

.product-price:has(span:contains("$0.00"))::after,
.main-price:has(*:contains("$0.00"))::after,
.price:has(*:contains("$0.00"))::after,
span:contains("$0.00")::after {
    content: "No Price";
    font-size: 1rem;
    color: inherit;
}

/* Alternative approach using JavaScript detection classes */
.zero-price-item .product-price,
.zero-price-item .main-price,
.zero-price-item .price {
    font-size: 0 !important;
}

.zero-price-item .product-price::after,
.zero-price-item .main-price::after,
.zero-price-item .price::after {
    content: "No Price";
    font-size: 1rem;
    color: #007bff;
}

/* Cart page specific selectors */
.cart-items-container .main-price:has(*:contains("$0.00")) {
    font-size: 0 !important;
}

.cart-items-container .main-price:has(*:contains("$0.00"))::after {
    content: "No Price";
    font-size: 1rem;
    color: #007bff;
}

/* Store page specific selectors */
.store-product-item .product-price:has(*:contains("$0.00")) {
    font-size: 0 !important;
}

.store-product-item .product-price:has(*:contains("$0.00"))::after {
    content: "No Price";
    font-size: 1rem;
    color: #007bff;
}
