/*
Theme Name: Shifa Child
Theme URI: https://wpastra.com/
Description: This is a custom child theme for Astra Theme
Author: Your Name
Author URI: https://desiutility.com
Template: astra
Version: 1.0.0
Text Domain: shifa-child
*/

/* Enhanced ShifaShining Product Description Styling - More Visible */

/* Container */
.shifa-desc {
  font-family: 'Helvetica Neue', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  color: #4a4a4a;
  background: linear-gradient(135deg, #fff0f5 0%, #ffe6f0 100%);
  padding: 40px 30px;
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(214, 51, 132, 0.3);
  max-width: 950px;
  margin: 30px auto;
  line-height: 1.75;
}

/* Section */
.shifa-desc .section {
  background: #fff;
  padding: 25px 30px;
  border-left: 10px solid #e91e63;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(233, 30, 99, 0.25);
  margin-bottom: 40px;
  transition: border-color 0.4s ease, box-shadow 0.4s ease;
  position: relative;
}

/* Section hover effect */
.shifa-desc .section:hover {
  border-color: #ad1457;
  box-shadow: 0 8px 24px rgba(173, 20, 87, 0.4);
}

/* Headings */
.shifa-desc h3 {
  color: #ad1457;
  font-weight: 800;
  font-size: 26px;
  margin-bottom: 20px;
  border-bottom: 3px solid #f06292;
  padding-bottom: 10px;
  letter-spacing: 0.04em;
  font-family: 'Poppins', sans-serif;
  text-transform: uppercase;
}

/* Lists */
.shifa-desc ul li,
.shifa-desc ol li {
  font-size: 17px;
  color: #555;
  padding-left: 10px;
  margin-bottom: 14px;
  position: relative;
}

/* Checkmark bullets for ul */
.shifa-desc ul li::before {
  content: "✔️";
  position: absolute;
  left: -32px;
  top: 3px;
  font-size: 18px;
  color: #e91e63;
}

/* Numbered list style */
.shifa-desc ol {
  counter-reset: item;
  padding-left: 28px;
}

.shifa-desc ol li {
  counter-increment: item;
  margin-left: 20px;
}

.shifa-desc ol li::before {
  content: counter(item) ".";
  position: absolute;
  left: -32px;
  color: #e91e63;
  font-weight: 700;
  font-size: 18px;
  top: 0;
}

/* Two columns layout */
.shifa-desc .two-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.shifa-desc .two-columns > div {
  flex: 1 1 48%;
  background: #fff0f5;
  padding: 20px 25px;
  border-radius: 14px;
  box-shadow: inset 0 0 14px rgba(224, 130, 169, 0.15);
  font-size: 16px;
  color: #6a4a64;
  line-height: 1.6;
  transition: background 0.3s ease, color 0.3s ease;
}

.shifa-desc .two-columns > div:hover {
  background: #e91e63;
  color: #fff;
  box-shadow: 0 6px 16px rgba(173, 20, 87, 0.45);
}

/* Paragraph text */
.shifa-desc p {
  font-size: 16px;
  color: #555;
  margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
  .shifa-desc .two-columns {
    flex-direction: column;
  }
  .shifa-desc .two-columns > div {
    flex-basis: 100%;
  }
}

/* ============================================== */
/* Equal Height for ALL WooCommerce Product Grids  */
/* ============================================== */
.woocommerce ul.products li.product, 
.woocommerce-page ul.products li.product,
.related.products li.product,          /* Related Products */
.upsells.products li.product,          /* Upsells */
.cross-sells li.product,               /* Cart Cross-sells */
.widget_recently_viewed_products li.product {  /* Recently Viewed */
    display: flex;
    flex-direction: column;
    height: 100%; 
}

/* Prevent content stretching */
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.related.products li.product .woocommerce-loop-product__title,
.upsells.products li.product .woocommerce-loop-product__title,
.cross-sells li.product .woocommerce-loop-product__title,
.widget_recently_viewed_products li.product .woocommerce-loop-product__title {
    flex: 0 0 auto;
}

/* Bottom-align "Add to Cart" buttons everywhere */
.woocommerce ul.products li.product .button,
.related.products li.product .button,
.upsells.products li.product .button,
.cross-sells li.product .button,
.widget_recently_viewed_products li.product .button {
    margin-top: auto;
    align-self: flex-start; /* Or 'stretch' for full-width */
}

/* ============================================== */
/* 2-Line Title Truncation for ALL Product Grids   */
/* ============================================== */
.woocommerce-loop-product__title,
.related.products .woocommerce-loop-product__title,
.upsells.products .woocommerce-loop-product__title,
.cross-sells .woocommerce-loop-product__title,
.widget_recently_viewed_products .woocommerce-loop-product__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.8em;      /* Fallback for consistent spacing */
    line-height: 1.4;       /* Adjust based on your font */
    margin-bottom: 10px;    /* Space before price/button */
}

/* Optional: Consistent Image Heights */
.woocommerce ul.products li.product img,
.related.products li.product img,
.upsells.products li.product img,
.cross-sells li.product img,
.widget_recently_viewed_products li.product img {
    height: 250px;          /* Adjust to your needs */
    width: auto;
    object-fit: cover;      /* Prevents distortion */
}