/* Shared layout for every enlarged image and exhibition slideshow. */
.photo-viewer-open{overflow:hidden}
/* Main is a programmatic focus destination, not an outlined control. */
#main:focus,.photo-viewer:focus,.photo-viewer button:focus,.image-button:focus,[data-live-gallery]:focus{outline:none}
.photo-viewer button:focus-visible{background:#193b3b}
[data-live-gallery]:focus-visible strong{text-decoration:underline;text-underline-offset:4px}
.photo-viewer{width:min(94vw,1320px);height:min(92vh,1000px);height:min(92dvh,1000px);max-width:none;max-height:none;padding:0;border:1px solid #75b7bf80;border-radius:12px;background:#081819;color:#d7e2e2;overflow:hidden}
.photo-viewer:not([open]){display:none}
.photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.photo-viewer::backdrop{background:#000d}
.photo-viewer-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid #75b7bf40}
.photo-viewer-heading h2{font-size:20px;line-height:1.4;letter-spacing:0;margin:0}
.photo-viewer .photo-viewer-close{position:static;color:#d7e2e2;border:1px solid #75b7bf80;background:transparent;border-radius:6px;cursor:pointer;padding:9px 13px;white-space:nowrap;font-size:13px;text-decoration:none}
.photo-viewer .photo-viewer-close:hover,.photo-viewer .photo-viewer-close:focus-visible{background:#193b3b}
.photo-viewer-image-area{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:20px 76px}
.photo-viewer .photo-viewer-photo{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;touch-action:pan-y;user-select:none}
.photo-viewer-bottom{padding:12px 24px 18px;border-top:1px solid #75b7bf40;min-width:0;max-height:30vh;max-height:30dvh;overflow-y:auto}
.photo-viewer .photo-viewer-caption{font-size:13px;line-height:1.5;text-align:left;margin:0}
@media(max-width:780px){
 .photo-viewer{width:96vw;height:92vh;height:92dvh}
 .photo-viewer-heading{padding:14px 12px;gap:10px}
 .photo-viewer-heading h2{font-size:15px}
 .photo-viewer .photo-viewer-close{font-size:12px;padding:8px}
 .photo-viewer-image-area{padding:12px 44px}
 .photo-viewer-bottom{padding:10px 12px 14px}
}

/* Single-image overlays keep only Close in the heading row. */
#image-viewer .photo-viewer-heading{justify-content:flex-end}

/* Response slideshow controls follow the exhibition gallery. */
.viewer-gallery[hidden],.viewer-step[hidden]{display:none}
.viewer-step{color:#d7e2e2;border:1px solid #75b7bf80;background:transparent;border-radius:6px;cursor:pointer;position:absolute;top:50%;transform:translateY(-50%);width:44px;height:52px;font-size:28px}
.viewer-step[data-viewer-step="-1"]{left:16px}
.viewer-step[data-viewer-step="1"]{right:16px}
.viewer-step:hover{background:#193b3b}
.viewer-status{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:10px 0;font-size:12px}
.viewer-help{font-size:12px;color:#9cbbb8}
.viewer-thumbs{display:flex;gap:10px;overflow-x:auto;padding:4px;scrollbar-width:thin}
.viewer-thumb{flex:0 0 68px;height:66px;border:1px solid #75b7bf80;border-radius:5px;background:transparent;padding:3px;cursor:pointer}
.viewer-thumb img{width:100%;height:100%;object-fit:contain}
.viewer-thumb[aria-pressed="true"]{border:2px solid #e0ae24}
@media(max-width:780px){
 .viewer-step{width:32px;height:44px;font-size:24px}
 .viewer-step[data-viewer-step="-1"]{left:5px}
 .viewer-step[data-viewer-step="1"]{right:5px}
 .viewer-thumb{flex-basis:56px;height:56px}
}
