.icon-badge {
  width: 44px; height: 44px;
  border-radius: var(--radius-sm);
  background: var(--color-primary-050);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-secondary);
}
.icon-badge svg { width: 22px; height: 22px; }
.icon-badge.on-dark { background: rgba(255,255,255,0.1); color: var(--color-saffron); }

/* Generic placeholder for imagery not yet supplied by CMS/admin */
.placeholder-img {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    repeating-linear-gradient(135deg, var(--color-primary-050) 0 10px, #fff 10px 20px);
  color: var(--color-text-muted);
  font-family: var(--font-display);
  font-size: var(--small);
  font-weight: 500;
  text-align: center;
  padding: var(--space-3);
  position: relative;
}
.placeholder-img::before {
  content: attr(data-label);
}

.card-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--small);
  font-weight: 600;
  padding: 0.25rem 0.7rem;
  border-radius: 100px;
}
.card-badge.pending { background: #FFF3D6; color: #92600C; }
.card-badge.approved { background: #E3F5E1; color: var(--color-green); }
