/* A V1.41 photo viewer, enabled for the five VILLA PRINCE images on PC/SP. */
.photo-viewer-frame{position:relative}
.photo-viewer-trigger{display:block;position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;touch-action:manipulation}
.photo-viewer-trigger:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.photo-page-locked{position:fixed;top:var(--map-scroll-top);left:0;width:100%}
.photo-viewer{position:fixed;inset:0;margin:0;box-sizing:border-box;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;padding:64px max(16px,env(safe-area-inset-right)) 64px max(16px,env(safe-area-inset-left));border:0;background:transparent;overflow:hidden;overscroll-behavior:contain;touch-action:pinch-zoom;color:#fff}
.photo-viewer[open]{display:grid;place-items:center}
.photo-viewer::backdrop{background:rgba(15,19,16,.88);backdrop-filter:none}
.photo-viewer__image{cursor:zoom-out;display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 128px);max-height:calc(100dvh - 128px);object-fit:contain;user-select:none;-webkit-user-drag:none}
.photo-viewer__close{position:absolute;z-index:1;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;background:transparent;color:#fff;font:300 34px/1 Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.photo-viewer__close:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.photo-viewer__status{position:absolute;bottom:18px;left:20px;right:20px;text-align:center;font:14px/1.6 var(--sans);color:#fff}
.photo-viewer__status:empty{display:none}
.photo-viewer.has-photo-motion[open],.photo-viewer.has-photo-motion[open]::backdrop{opacity:0}
.photo-viewer.has-photo-motion.is-visible[open],.photo-viewer.has-photo-motion.is-visible[open]::backdrop{opacity:1}
.photo-viewer.has-photo-motion .photo-viewer__image{transform:translateY(8px) scale(.985)}
.photo-viewer.has-photo-motion.is-visible .photo-viewer__image{transform:none}
@media(prefers-reduced-motion:no-preference){
 .photo-viewer.has-photo-motion[open],.photo-viewer.has-photo-motion[open]::backdrop{transition:opacity 320ms ease-in-out}
 .photo-viewer.has-photo-motion.is-visible[open],.photo-viewer.has-photo-motion.is-visible[open]::backdrop{transition-duration:520ms;transition-timing-function:cubic-bezier(.22,.61,.36,1)}
 .photo-viewer.has-photo-motion .photo-viewer__image{transition:transform 320ms ease-in-out}
 .photo-viewer.has-photo-motion.is-visible .photo-viewer__image{transition-duration:520ms;transition-timing-function:cubic-bezier(.22,.61,.36,1)}
 /* Match A's VILLA dismissal: image and backdrop linger and fade together. */
 .photo-viewer.has-photo-motion.is-closing[open],
 .photo-viewer.has-photo-motion.is-closing[open]::backdrop{transition-duration:950ms;transition-timing-function:cubic-bezier(.33,0,.2,1)}
 .photo-viewer.has-photo-motion.is-closing .photo-viewer__image{transition-duration:950ms;transition-timing-function:cubic-bezier(.33,0,.2,1)}
}
