:is(
  .dc-detail-header .dc-cast-card__photo,
  .dc-detail-header .char__photo,
  .dc-leaf-people .char__photo,
  .dc-leaf-people .tmdb-cast-ph,
  .ms-tmdb-people .tmdb-cast-ph,
  .dc-person-card__photo,
  .dc-person .dc-person__photo
):not(:has(img)) {
  --dc-actor-placeholder-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='21' r='11'/%3E%3Cpath d='M12 57v-5c0-11 8-19 20-19s20 8 20 19v5z'/%3E%3C/svg%3E");
  position: relative;
  overflow: hidden;
  background: var(--surface-2);
  box-shadow: inset 0 0 0 1px var(--border);
}

:is(
  .dc-detail-header .dc-cast-card__photo,
  .dc-detail-header .char__photo,
  .dc-leaf-people .char__photo,
  .dc-leaf-people .tmdb-cast-ph,
  .ms-tmdb-people .tmdb-cast-ph,
  .dc-person-card__photo,
  .dc-person .dc-person__photo
):not(:has(img))::before {
  content: "";
  position: absolute;
  top: 40%;
  left: 50%;
  width: 56%;
  height: 52%;
  max-width: 128px;
  max-height: 128px;
  transform: translate(-50%, -50%);
  background: var(--text-dim);
  opacity: .55;
  -webkit-mask: var(--dc-actor-placeholder-mask) center / contain no-repeat;
  mask: var(--dc-actor-placeholder-mask) center / contain no-repeat;
  pointer-events: none;
}

:is(
  .dc-detail-header .dc-cast-card__photo,
  .dc-detail-header .char__photo,
  .dc-leaf-people .char__photo,
  .dc-leaf-people .tmdb-cast-ph,
  .ms-tmdb-people .tmdb-cast-ph,
  .dc-person-card__photo,
  .dc-person .dc-person__photo
):not(:has(img))::after {
  content: "Нет фото";
  position: absolute;
  top: 72%;
  right: 4px;
  left: 4px;
  margin: 0;
  padding: 0;
  color: var(--text-dim);
  font-family: inherit;
  font-size: clamp(10px, .75rem, 13px);
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  pointer-events: none;
}
