img[data-protected-photo] { -webkit-user-drag: none; -webkit-touch-callout: none; user-select: none; }
.photo-rights { max-width: 1180px; margin: 0 auto; padding: 0 24px 28px; font-size: .82rem; line-height: 1.6; opacity: .8; }
.photo-rights a { text-decoration: underline; }
#photo-viewer { width: min(960px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); padding: 16px; border: 0; border-radius: 12px; color: #202428; background: #fffaf6; overflow: auto; }
#photo-viewer::backdrop { background: rgb(16 19 21 / 88%); }
.photo-viewer-top, .photo-viewer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.photo-viewer-top h2 { margin: 0; font: inherit; font-weight: 600; }
.photo-viewer-top button { border: 1px solid #737373; border-radius: 6px; padding: 10px 14px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
#photo-viewer-image { display: block; width: 100%; height: auto; max-height: 70dvh; object-fit: contain; margin: 14px 0; }
.photo-viewer-bottom p { margin: 0; font-size: .9rem; }
.photo-viewer-bottom a { white-space: nowrap; text-decoration: underline; font-size: .9rem; }
#photo-viewer :focus-visible { outline: 3px solid #986b32; outline-offset: 3px; }
@media (max-width: 600px) { .photo-viewer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; } }
