.protected-photo-host {
  position: relative !important;
  isolation: isolate;
  -webkit-user-select: none;
  user-select: none;
}

.protected-photo-host > img {
  -webkit-user-drag: none;
  user-select: none;
}

.site-photo-watermark {
  position: absolute;
  z-index: 8;
  right: var(--photo-watermark-right, clamp(8px, 1.2vw, 18px));
  bottom: var(--photo-watermark-bottom, clamp(8px, 1.2vw, 18px));
  max-width: calc(100% - 24px);
  padding: 5px 9px 6px;
  color: rgba(255, 250, 238, 0.82);
  background: rgba(17, 15, 12, 0.34);
  border: 1px solid rgba(255, 247, 226, 0.18);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(3px);
  font-family: "Source Han Serif SC", "Songti SC", "STSong", serif;
  font-size: clamp(8px, 0.72vw, 12px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.12em;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0.82;
}

.community-photo-frame {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  max-height: 78vh;
}

.community-photo-frame > img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 78vh;
  object-fit: contain;
}

.community-photo-frame .site-photo-watermark,
.food-detail-media .site-photo-watermark,
.object-detail .site-photo-watermark,
.exhibit-visual .site-photo-watermark {
  right: 14px;
  bottom: 14px;
  font-size: 11px;
  opacity: 0.9;
}

@media print {
  .protected-photo-host > img,
  .protected-photo-host > picture,
  .protected-photo-host > canvas {
    visibility: hidden !important;
  }

  .protected-photo-host::before {
    content: "图片受保护，不提供打印";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #27231d;
    background: #e8e3d8;
  }
}
