.photo-gallery {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 16px 0;
}
.photo-open {
  padding: 4px;
  background: transparent;
  border: 2px solid transparent;
  border-radius: 12px;
  min-width: 48px;
  min-height: 48px;
}
.photo-open img {
  object-fit: cover;
  border-radius: 8px;
}
.photo-open:focus-visible {
  border-color: #167c80;
  outline: 3px solid #167c80;
}
.photo-choice {
  border: 1px solid #cbb8a7;
  border-radius: 12px;
  padding: 12px;
  margin: 12px 0;
}
.photo-choice img {
  width: 140px;
  height: 110px;
  object-fit: contain;
}
.photo-choice button {
  margin: 4px;
  min-height: 44px;
}
.photo-choice progress {
  width: 100%;
}
.photo-viewer {
  max-width: 95vw;
  width: 900px;
  background: #fff9f1;
  border: 0;
  border-radius: 16px;
  padding: 16px;
}
.photo-viewer::backdrop {
  background: #000b;
}
.photo-viewer img {
  display: block;
  max-height: 70vh;
  max-width: 100%;
  object-fit: contain;
  margin: auto;
}
.photo-viewer .actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.photo-viewer button {
  min-height: 44px;
}
.photo-error {
  color: #9f281e;
}
#review-photos {
  margin: 20px 0;
}
#review-photos input[type="file"]:focus-visible + span {
  outline: 3px solid #167c80;
}
