/* Limit image saving gestures without blocking text selection or gallery controls. */
img, a:has(img), .photo-link { -webkit-touch-callout:none; }
img { -webkit-user-drag:none; -webkit-user-select:none; user-select:none; }
.protected-photo-viewer { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:70px 24px 24px; border:0; background:#101214; color:#fff; }
.protected-photo-viewer[open] { display:flex; align-items:center; justify-content:center; }
.protected-photo-viewer::backdrop { background:#101214; }
.protected-photo-viewer img { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }
.protected-photo-viewer button { position:absolute; top:16px; right:24px; min-height:44px; padding:10px 16px; border:1px solid #ffffff66; background:transparent; color:inherit; font:14px/1.4 sans-serif; cursor:pointer; }
.protected-photo-viewer button:focus-visible { outline:2px solid #fff; outline-offset:4px; }
html:has(.protected-photo-viewer[open]) { overflow:hidden; }
