/* Only explicitly marked card media participates; its existing box owns size. */
[data-etari-card-media] { position: relative; }
[data-etari-card-media] [data-card-image-skeleton],
[data-etari-card-media] [data-card-image-fallback] {
  position: absolute;
  inset: 0;
  pointer-events: none;
  visibility: hidden;
}
[data-etari-card-media] [data-card-image-skeleton] {
  background: #e9ebee;
}
[data-etari-card-media] [data-card-image-fallback] {
  align-items: center;
  justify-content: center;
  display: flex;
  background: #e9ebee;
  color: #555;
  font: 14px/1.4 sans-serif;
  text-align: center;
  padding: 12px;
}
[data-etari-card-media][data-image-state="pending"] img,
[data-etari-card-media][data-image-state="error"] img,
[data-etari-card-media][data-image-state="pending"] [data-card-image-caption] { visibility: hidden; }
[data-etari-card-media][data-image-state="pending"] [data-card-image-skeleton] {
  visibility: visible;
  animation: etari-card-image-pulse 1.8s ease-in-out infinite alternate;
}
[data-etari-card-media][data-image-state="error"] [data-card-image-fallback] { visibility: visible; }
@keyframes etari-card-image-pulse { from { opacity: 1; } to { opacity: .55; } }
@media (prefers-reduced-motion: reduce) {
  [data-etari-card-media][data-image-state="pending"] [data-card-image-skeleton] { animation: none; }
}

/* Existing category media boxes keep their geometry; titles may be siblings. */
[data-etari-card-media] > em,
[data-etari-card-media] > .catalog-subcategory-image { position: relative; }
[data-etari-card-media] [data-card-image-skeleton],
[data-etari-card-media] [data-card-image-fallback] {
  box-sizing: border-box;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
}
[data-etari-card-media] [data-card-image-skeleton] { display: block !important; padding: 0 !important; background: #e9ebee !important; }
[data-etari-card-media] [data-card-image-fallback] { display: flex !important; background: #e9ebee !important; font: 14px/1.4 sans-serif !important; color: #555 !important; }
[data-etari-card-media] img { transition: none !important; font-size: 14px; }
/* Decorative neutral photo icon; the adjacent text supplies the accessible name. */
[data-etari-card-media] [data-card-image-fallback] { flex-direction: column; gap: 6px; }
[data-etari-card-media] [data-card-image-fallback]::before {
  content: "";
  display: block;
  flex: 0 0 20px;
  width: 26px;
  height: 20px;
  box-sizing: border-box;
  border: 1.5px solid #777;
  border-radius: 3px;
  background: radial-gradient(circle at 72% 28%, #777 0 2px, transparent 2.5px),
    linear-gradient(140deg, transparent 48%, #777 49% 53%, transparent 54%) 0 7px / 17px 12px no-repeat,
    linear-gradient(40deg, transparent 44%, #777 45% 50%, transparent 51%) 10px 9px / 14px 10px no-repeat;
}
