/* Inline product-grid skeletons — subtle, matches .product-card */

.pl-skel-card {
  pointer-events: none;
  cursor: default;
  user-select: none;
}

.pl-skel-card:hover {
  transform: none;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
  border-color: #e8eaed;
}

.pl-skel-card .product-card__media {
  aspect-ratio: 1;
  max-height: 142px;
  width: 100%;
  min-height: 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fcfcfd;
}

.pl-skel-card .product-card__text {
  min-height: calc(var(--pc-title-block-h) + 8px + var(--pc-offers-block-h));
}

.pl-skel {
  display: block;
  background: #eceef1;
  border-radius: 6px;
}

.pl-skel--media {
  width: 40%;
  height: 40%;
  max-height: 100%;
  border-radius: 8px;
}

.pl-skel--title {
  width: 100%;
  height: var(--pc-title-block-h);
  margin: 0;
  border-radius: 6px;
}

.pl-skel-offers {
  display: flex;
  flex-direction: column;
  gap: var(--pc-offer-gap, 4px);
  flex: 0 0 auto;
  min-height: var(--pc-offers-block-h);
  margin-top: 8px;
  width: 100%;
}

.pl-skel--offer-row {
  height: var(--pc-offer-row-h, 26px);
  width: 100%;
  margin: 0;
  flex-shrink: 0;
  border-radius: 6px;
}

.pl-skel-card .pl-skel {
  animation: pl-skel-breathe 2.4s ease-in-out infinite;
}

.pl-skel-card:nth-child(2) .pl-skel {
  animation-delay: 0.12s;
}

.pl-skel-card:nth-child(3) .pl-skel {
  animation-delay: 0.22s;
}

@keyframes pl-skel-breathe {
  0%,
  100% {
    opacity: 0.82;
  }
  50% {
    opacity: 0.58;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pl-skel-card .pl-skel,
  .pl-skel-cat-pill .pl-skel {
    animation: none;
    opacity: 0.7;
  }
}

/* Header main-category carousel skeletons */
.pl-skel-cat-pill {
  pointer-events: none;
  cursor: default;
  user-select: none;
}

.pl-skel--cat-icon {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: var(--radius-md, 8px);
}

.pl-skel--cat-label {
  display: block;
  height: 9px;
  width: 72%;
  margin: 4px auto 0;
  border-radius: 4px;
}

.pl-skel-cat-pill .pl-skel {
  animation: pl-skel-breathe 2.4s ease-in-out infinite;
}

.pl-skel-cat-pill:nth-child(2) .pl-skel {
  animation-delay: 0.08s;
}

.pl-skel-cat-pill:nth-child(3) .pl-skel {
  animation-delay: 0.14s;
}

.pl-skel-cat-pill:nth-child(4) .pl-skel {
  animation-delay: 0.2s;
}

.pl-load-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(156px, 1fr));
  gap: 12px;
}

@media (min-width: 480px) {
  .pl-load-grid {
    grid-template-columns: repeat(auto-fill, minmax(172px, 1fr));
    gap: 14px;
  }
}
