.person-avatar,
.tree-avatar,
.detail-avatar,
.drawer-avatar,
.detail-relative-avatar,
.photo-preview,
.sheet-avatar {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}

.person-avatar,
.tree-avatar,
.detail-avatar,
.drawer-avatar,
.detail-relative-avatar,
.photo-preview {
  border-radius: 50%;
}

.person-avatar > img,
.person-avatar .avatar-photo,
.tree-avatar > img,
.detail-avatar > img,
.drawer-avatar > img,
.detail-relative-avatar > img,
.photo-preview > img,
.sheet-avatar > img,
.person-photo-preview img {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
  pointer-events: none;
}

.avatar-initials,
.person-avatar-fallback,
.photo-preview-placeholder {
  position: relative;
  z-index: 1;
}

.person-avatar-fallback,
.photo-preview-placeholder {
  display: grid;
  place-items: center;
}

.person-avatar-fallback {
  position: absolute;
  inset: 0;
}

.photo-preview {
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  border: 3px solid rgba(201, 169, 110, 0.55);
  color: var(--accent-burgundy, #7b2d3b);
  background: linear-gradient(135deg, rgba(201, 169, 110, 0.22), rgba(255, 255, 255, 0.9));
  box-shadow: 0 12px 28px rgba(44, 24, 16, 0.10);
  font-weight: 850;
}

.person-photo-preview {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.person-photo-preview img {
  position: static;
  width: 80px;
  height: 80px;
  min-width: 80px;
  min-height: 80px;
  border-radius: 50%;
  border: 2px solid rgba(44, 24, 16, 0.08);
}
