/* define css constants */

:root {
  --custom-color: #445E01;
}


.woocommerce ul.products li.product .custom-shop-button {
    width: 100%;
    text-align: center;
    background-color: var(--custom-color) !important;
    color: #fff !important;
    border-radius: 12px !important;
    padding-top: 3px;
    padding-bottom: 3px;
    margin-bottom: 0px !important;
    margin-top: auto !important;
}

.woocommerce ul.products li.product .custom-shop-button:hover {
    background-color: #035E01 !important;
    border-radius: 20px !important;
}

.cart-icon {
    display: inline-flex;
    align-items: center;
    margin-right: 6px;
}

.cart-icon svg {
    width: 18px;
    height: 18px;
}

.out-of-stock-label {
    width: 100%;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    color: red !important;
    border: 1px solid red;
    border-radius: 5px !important;
    padding: 2px 5px;
}

/* Shop & Product Category page heading CSS*/
.my-shop-header {
    color: var(--custom-color);
}

/* Product card */
.woocommerce ul.products li.product {
    background: #fff;
    border: 1px solid var(--custom-color);
    border-radius: 12px;
    padding: 0px 0px;
    overflow: hidden;
    transition: all 0.3s ease;
}

/* Hover effect */
.woocommerce ul.products li.product:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.10);
    transform: translateY(-3px);
}

.woocommerce ul.products li.product img {
    border-radius: 12px 12px 0 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .review-rating,
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .product-rating {
    padding-left: 5px;
    line-height: 1.4;
    min-height: 20px;
}

/*for display none and preserve space for rating to maintain card layout/height*/

.woocommerce ul.products li.product .astra-shop-summary-wrap:not(:has(.review-rating)) .price::after {
    content: "";
    display: block;
    height: 27px;
}


/* review css */
/* Make "No Review" occupy the same rating area */
.ng-no-review {
    width: auto;
    height: auto;
    margin: 0 0 0 0;
    padding: 0;
    padding-left: 5px;
    display: block;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.4;
    color: red;
}



/* Related Products heading */
.single-product .related.products > h2 {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    background-color: var(--custom-color);
    text-align: left;
    margin: 0 0 25px;
    line-height: 1.3;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    border-radius: 5px;
}