/* Dedicated home-category promotion layout; separate asset provides browser cache busting. */
#cpcmsbanner3 .allevet-home-promo {
  position: relative;
  display: block;
  width: 100%;
  height: 218px;
  overflow: hidden;
}

@media (min-width: 768px) {
  #cpcmsbanner3_block1 {
    align-items: stretch;
  }

  #cpcmsbanner3_block1 > .main-content {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
  }
}

#cpcmsbanner3 .allevet-home-promo-image {
  display: block;
  width: 100%;
  height: 218px !important;
  object-fit: cover;
  object-position: center;
}

#cpcmsbanner3 .left-side.main-content .allevet-home-promo .cms-block,
#cpcmsbanner3 .right-side.main-content .allevet-home-promo .cms-block {
  color: #273a31 !important;
  z-index: 1;
  max-width: 58%;
}

#cpcmsbanner3 .allevet-home-promo .offer-text2 {
  font-size: 27px;
  line-height: 1.14;
}

#cpcmsbanner3 .left-side.main-content .allevet-home-promo .offer-button a,
#cpcmsbanner3 .right-side.main-content .allevet-home-promo .offer-button a {
  color: #273a31 !important;
}

#cpcmsbanner3 .allevet-home-promo .offer-button a::after {
  background-color: #0b7047;
}

@media (max-width: 767px) {
  #cpcmsbanner3 .allevet-home-promo,
  #cpcmsbanner3 .allevet-home-promo-image {
    height: 178px !important;
  }

  #cpcmsbanner3 .left-side.main-content .allevet-home-promo .cms-block,
  #cpcmsbanner3 .right-side.main-content .allevet-home-promo .cms-block {
    max-width: 64%;
  }
}

/* Product ratings: keep verified, product-specific feedback visible on every
 * product card. The score itself remains supplied by productcomments. */
article.product-miniature .product-list-reviews {
  position: static;
  top: auto;
  left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  gap: 7px;
  min-height: 24px;
  margin: 8px 0 5px;
  padding: 0;
  background: transparent;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

article.product-miniature .product-list-reviews .grade-stars {
  flex: 0 0 auto;
  line-height: 1;
}

article.product-miniature .product-list-reviews .comments-nb {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 8px;
  border: 1px solid #d8e5dd;
  border-radius: 999px;
  background: #f4f8f5;
  color: #52675d;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

/* Desktop: reveal the rating only when the visitor intentionally explores a
 * card. The reserved space prevents the product grid from jumping. */
@media (hover: hover) and (pointer: fine) {
  article.product-miniature .product-list-reviews {
    visibility: hidden !important;
    opacity: 0 !important;
    transform: translateY(3px) !important;
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms step-end;
  }

  article.product-miniature:hover .product-list-reviews,
  article.product-miniature:focus-within .product-list-reviews {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: opacity 160ms ease, transform 160ms ease;
  }
}

@media (max-width: 575px) {
  article.product-miniature .product-list-reviews {
    margin-top: 6px;
  }
}

/* Product page: product-specific review summary directly below the name. */
.allevet-pdp-heading .allevet-product-rating-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 0;
  color: #52675d;
  font-size: 14px;
  line-height: 1.25;
}

.allevet-product-rating-summary__label {
  color: #273a31;
  font-weight: 700;
}

.allevet-product-rating-summary__stars {
  position: relative;
  display: inline-block;
  width: 94px;
  height: 20px;
  color: #d6e1db;
  font-family: Arial, sans-serif;
  font-size: 21px;
  letter-spacing: 1px;
  line-height: 20px;
  vertical-align: middle;
}

.allevet-product-rating-summary__stars-base,
.allevet-product-rating-summary__stars-fill {
  position: absolute;
  inset: 0;
  overflow: hidden;
  white-space: nowrap;
}

.allevet-product-rating-summary__stars-fill {
  width: calc((var(--rating) / 5) * 100%);
  color: #f4a261;
}

.allevet-product-rating-summary__score {
  color: #273a31;
  font-weight: 700;
}

.allevet-product-rating-summary__link {
  color: #176f48;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.allevet-product-rating-summary__link:hover,
.allevet-product-rating-summary__link:focus {
  color: #0d4e31;
}

@media (max-width: 575px) {
  .allevet-pdp-heading .allevet-product-rating-summary {
    gap: 6px;
    margin-top: 10px;
  }
}
