/* One shared card layout for the home rail and catalog, loaded after page styles. */
.product-card.product-card--compact { border: 1px solid #e2e8f1; border-radius: 14px; background: #fff; box-shadow: none; }
.product-card--compact .product-card-media { position: relative; min-width: 0; }
.product-card--compact .product-image-link { padding: 8px 8px 0; }
.product-card--compact .product-image { height: 176px; border-radius: 9px; background: #f5f7fa; }
.product-card--compact .product-image img { width: 100%; height: 100%; object-fit: contain; }
.product-card--compact .product-placeholder .px-icon { width: 44px; height: 44px; }
.product-card--compact .product-card-compare {
  position: absolute; inset-block-start: 10px; inset-inline-end: 10px;
  display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px;
  padding: 11px; margin: 0; border: 1px solid #e1e8f1; border-radius: 10px;
  background: #fffffff2; color: #7890aa; box-shadow: 0 2px 6px #132c4506;
}
.product-card-compare > .px-icon { width: 18px; height: 18px; }
.product-card--compact .product-card-compare:hover { color: var(--blue); border-color: #b6cdec; }
.product-card--compact .product-card-compare[aria-pressed=true] { background: #eaf3ff; color: var(--blue); border-color: #8cb7ef; text-decoration: none; }
.product-card--compact .product-card-body { display: flex; flex-direction: column; padding: 10px 12px 12px; }
.product-card--compact .product-card-body h3 {
  font-size: 13px; line-height: 1.7; font-weight: 700; margin: 0;
  min-height: 3.4em; display: -webkit-box; -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere;
}
.product-card--compact .product-card-meta { display: flex; align-items: center; gap: 6px; min-height: 24px; margin-top: 3px; }
.product-card--compact .product-brand-link { display: block; flex: 1 1 0; min-width: 0; min-height: 0; margin: 0; font-size: 10px; line-height: 1.8; color: #8592a4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.product-card--compact .product-brand-link:hover { color: var(--blue); }
.product-card--compact .product-rating--compact { flex: 0 0 auto; display: inline-flex; align-items: center; flex-wrap: nowrap; gap: 3px; margin: 0; font-size: 10px; line-height: 1.5; color: #596c81; white-space: nowrap; }
.product-rating--compact .product-rating-star { color: #b18436; font-size: 13px; }
.product-rating--compact .product-rating-count { color: #8b99aa; font-size: 9px; }
.product-rating--compact .demo-review-label { font-size: 8px; line-height: 1.5; border: 0; border-radius: 4px; padding: 2px 4px; color: #977331; background: #fff5e5; }
.product-card--compact .product-card-purchase { margin-top: auto; padding-top: 8px; }
.product-card--compact .product-price { margin: 0; padding: 0; min-height: 40px; text-align: end; overflow-wrap: anywhere; }
.product-card--compact .product-price .text-xl { font-size: 17px; line-height: 1.5; }
.product-card--compact .product-price .text-xs { font-size: 9px; line-height: 1.6; margin-top: 2px; }
.product-card--compact .product-price .text-amber-700 { font-size: 12px; line-height: 1.7; }
.product-card--compact .product-price .bg-emerald-50 { padding: 5px 7px; margin-top: 4px; border-radius: 7px; }
.product-card--compact .product-price .text-base { font-size: 13px; line-height: 1.5; }
.product-card--compact .product-stock { font-size: 9px; line-height: 1.5; margin-top: 4px; }
.product-card--compact .product-add { display: flex; align-items: center; justify-content: center; flex-wrap: nowrap; min-height: 44px; padding: 8px 6px; margin-top: 8px; gap: 5px; font-size: 11px; line-height: 1.5; border-radius: 9px; }
.product-card--compact .product-add .px-icon { width: 15px; height: 15px; }
.product-card--compact .product-add > span { min-width: 0; }
@media (max-width: 767px) {
  .home-page .product-rail { grid-auto-columns: calc((100% - 10px) / 2); gap: 10px; padding: 3px 0 10px; margin-inline-end: 0; }
  .product-card--compact .product-image { height: clamp(112px, 34vw, 150px); aspect-ratio: auto; }
  .product-card--compact .product-card-body { padding: 9px; }
  .product-card--compact .product-card-body h3 { font-size: 12px; }
  .product-card--compact .product-price .text-xl { font-size: 15px; }
  .product-card--compact .product-add { font-size: 10px; }
  .product-card--compact .product-card-compare { inset-block-start: 9px; inset-inline-end: 9px; padding: 12px; }
  .product-card--compact .product-card-compare > .px-icon { width: 16px; height: 16px; }
  .home-page .product-card--compact:hover, .home-page .product-card--compact:focus-within { transform: none; }
}
@media (max-width: 359px) {
  .product-card--compact .product-card-meta { gap: 4px; }
  .product-card--compact .product-rating-count { display: none; }
}
