/* ADI Product Loop cards (matches mobile list screenshot) */

.adi-product-grid{
  display:grid;
  grid-template-columns: repeat(var(--adi-pl-cols, 2), minmax(0, 1fr));
  gap: var(--adi-pl-gap, 14px);
  list-style:none;
  margin:0;
  padding:0;
}

.adi-product-card{
  background:#fff;
  border-radius: var(--adi-pl-card-r, 0px);
}

.adi-product-card__media{
  position:relative;
  /* Clip corner elements (SALE ribbon, wishlist) to the same rounded corner as the image */
  overflow:hidden;
  border-radius: var(--adi-pl-img-r, 14px);
}

.adi-product-card__img{
  display:block;
  overflow:hidden;
  border-radius: var(--adi-pl-img-r, 14px);
  line-height:0;
}

.adi-product-card__img-tag{
  width: var(--adi-pl-img-w, 100%);
  height: var(--adi-pl-img-h, 140px);
  object-fit: cover;
  display:block;
}

.adi-product-card__wl{
  position:absolute;
  top:10px;
  left:10px;
  width: var(--adi-wl-btn-size, 36px);
  height: var(--adi-wl-btn-size, 36px);
  border-radius:999px;
  background: var(--adi-wl-bg, rgba(255,255,255,.85));
  border:1px solid var(--adi-wl-border, rgba(0,0,0,.08));
  display:grid;
  place-items:center;
  cursor:pointer;
  padding:0;
}

.adi-product-card__wl svg{ width: var(--adi-wl-icon-size, 18px); height: var(--adi-wl-icon-size, 18px); fill: var(--adi-wl-icon-fill-empty, transparent); stroke: var(--adi-wl-icon-stroke-empty, rgba(0,0,0,.75)); stroke-width:1.7; }
.adi-product-card__wl i{ font-size: var(--adi-wl-icon-size, 18px); color: var(--adi-wl-icon-color-empty, var(--adi-wl-icon-stroke-empty, rgba(0,0,0,.75))); line-height:1; }
.adi-wishlist-btn.is-active svg{ fill: var(--adi-wl-icon-fill-active, var(--adi-wl-fill, #F07711)); stroke: var(--adi-wl-icon-stroke-active, var(--adi-wl-fill, #F07711)); }
.adi-wishlist-btn.is-active i{ color: var(--adi-wl-icon-color-active, var(--adi-wl-icon-stroke-active, var(--adi-wl-fill, #F07711))); }

/* Corner SALE ribbon (matches the reference screenshot)
   Small diagonal strip anchored to the top-right corner.
*/
.adi-product-card__badge{
  position:absolute;
  top: var(--adi-badge-top, 10px);
  right: var(--adi-badge-right, -26px);
  z-index:5;
  pointer-events:none;
}

.adi-product-card__badge-text{
  display:block;
  width: var(--adi-badge-width, 86px);
  text-align:center;
  background: var(--adi-badge-bg, #FFD200);
  color: var(--adi-badge-color, #111);
  font-weight: var(--adi-badge-weight, 800);
  font-size: var(--adi-badge-size, 12px);
  line-height:1;
  padding: var(--adi-badge-pad, 6px 0);
  letter-spacing:.3px;
  border-radius: var(--adi-badge-radius, 0px);
  transform: rotate(var(--adi-badge-rot, 45deg));
  transform-origin: center;
}

.adi-product-card__body{ padding: var(--adi-body-pad, 10px 2px 0 2px); }

.adi-product-card__rating{
  flex-direction: row !important;
  direction: ltr;

  padding: var(--adi-pad-rating, 0);
  display:flex;
  align-items:center;
  gap: var(--adi-stars-reviews-gap, 8px);
  margin-bottom: var(--adi-sp-rating-b, 6px);
  font-size: var(--adi-rating-text-size, 13px);
}

/* Fallback rating stars when WooCommerce returns empty rating HTML */
.adi-rating{ display:inline-flex; align-items:center; }
.adi-rating__stars{
  position:relative;
  display:inline-flex;
  align-items:center;
  font-size: var(--adi-rating-size, 14px);
  line-height: 1;
  /* Avoid glyph clipping when users increase spacing/size */
  padding: 2px 0;
}
.adi-rating__stars{ letter-spacing: var(--adi-star-spacing, 2px); }
.adi-rating__stars::before{ content:"★★★★★"; color: var(--adi-rating-empty, rgba(0,0,0,.22)); }
.adi-rating__fill{ position:absolute; left:0; top:0; height:100%; overflow:hidden; white-space:nowrap; }
.adi-rating__fill::before{ content:"★★★★★"; color: var(--adi-rating-fill, #F5A623); }

.adi-product-card__reviews{ opacity:.7; }

.adi-product-card__title{
  padding: var(--adi-pad-title, 0);
  display:block;
  font-weight: var(--adi-product-title-weight, 700);
  font-size: var(--adi-product-title-size, 16px);
  line-height:1.25;
  margin: var(--adi-title-mt, 0px) 0 var(--adi-title-mb, 8px);
  color:inherit;
  text-decoration:none;
}

.adi-product-card__price{
  padding: var(--adi-pad-price, 0);
  font-size: var(--adi-price-size, 14px);
  color: var(--adi-price-color, inherit);
  margin-bottom: var(--adi-sp-price-b, 8px);
}

.adi-pl-from{ opacity:.75; margin-right: var(--adi-from-mr, 4px); }
.adi-pl-per{
  opacity:.7;
  margin-left: var(--adi-per-ml, 4px);
  font-size: var(--adi-rating-text-size, 13px);
  color: var(--adi-per-color, inherit);
}

.adi-product-card__meta{
  padding: var(--adi-pad-meta, 0);
  display:flex;
  flex-direction:column;
  gap: var(--adi-meta-gap, 6px);
  font-size: var(--adi-rating-text-size, 13px);
  opacity:.9;
}

.adi-meta-item{ display:flex; align-items:center; gap:8px; }
.adi-meta-item i{ font-size: var(--adi-meta-icon-size, 14px); color: var(--adi-meta-icon-color, inherit); opacity:.85; }
.adi-meta-dot{ width:14px; height:14px; border-radius:999px; background:rgba(0,0,0,.12); display:inline-block; }

.adi-pl-empty{
  padding:16px;
  opacity:.75;
}


/* WooCommerce star-rating styling inside ADI cards */
.adi-product-card__rating .star-rating{
  position: relative;
  display:inline-block;
  font-size: var(--adi-rating-size, 14px);
  letter-spacing: var(--adi-star-spacing, 2px);
  line-height: 1.2;
  height: 1.2em;
  overflow: hidden;
  vertical-align: middle;
}
/* Ensure the accessible "Rated X" text never becomes visible */
.adi-product-card__rating .star-rating span{
  position:absolute;
  left:0;
  top:0;
  height:100%;
  overflow:hidden;
  text-indent: -9999px;
  white-space: nowrap;
}
/* Provide star glyphs even if theme Woo styles are missing */
.adi-product-card__rating .star-rating::before{
  content: "★★★★★";
  color: var(--adi-rating-empty, rgba(0,0,0,.22));
}
.adi-product-card__rating .star-rating span::before{
  content: "★★★★★";
  position:absolute;
  left:0;
  top:0;
  color: var(--adi-rating-fill, #F5A623);
  text-indent: 0;
  white-space: nowrap;
}

/* Pagination */
.adi-pl-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 6px;
  padding: 12px 0 0;
}

.adi-pl-page{
  appearance:none;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  color:inherit;
  padding: 6px 10px;
  border-radius: 10px;
  cursor:pointer;
  line-height:1;
  font-size: 13px;
}

.adi-pl-page.is-active{
  border-color: rgba(0,0,0,.3);
  font-weight:700;
}

.adi-pl-page:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.adi-pl-ellipsis{ opacity:.6; padding: 0 2px; }
.adi-pl-pageinfo{ opacity:.65; font-size: 12px; padding-left: 6px; }

.adi-meta-text{ color: var(--adi-meta-text-color, inherit); }

.adi-product-grid > li.product{
  list-style:none;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  width:auto !important;
}

.adi-product-grid > li.product::before,
.adi-product-grid > li.product::after{
  content:none !important;
}

/* Ensure rating order stays: stars then review count (theme-safe) */
.adi-product-card__rating{ flex-direction: row !important; direction: ltr; }
.adi-product-card__rating .star-rating{ float: none !important; order: 1; }
.adi-product-card__rating .adi-product-card__reviews{ order: 2; white-space: nowrap; }
