/* Product detail page — loaded only on /product/* with filemtime cache bust */
.product__lead { font-size: 16.5px; line-height: 1.55; color: var(--muted); margin-bottom: 0; }
.product__lead-wrap { margin-bottom: 22px; }
.product__lead-wrap .product__lead {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product__rating { display: flex; align-items: center; margin-bottom: 18px; }
.product-rating { display: inline-flex; align-items: center; gap: 2px; }
.product-rating__star { line-height: 1; letter-spacing: 1px; }
.product-rating__star--full { color: #F7B924; }
.product-rating__star--empty { color: #ccc; }
.product-rating__star--partial {
  background: linear-gradient(90deg, #F7B924 var(--fill, 40%), #ccc var(--fill, 40%));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.product-rating__score { font-size: 14px; font-weight: 700; color: var(--muted-2); margin-left: 8px; }
.product-perks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  list-style: none;
  padding: 16px 18px;
  margin: 0 0 22px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}
.product-perks li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.35;
}
.product-perks__icon {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1.5px solid var(--border-2);
  background: var(--paper);
  font-size: 16px;
  line-height: 1;
}
@media (max-width: 560px) {
  .product-perks { grid-template-columns: 1fr; }
}
