/* Real shop photography: full-frame viewing without leaving the gallery. */
.work-photo-link--viewer{position:relative;display:block;cursor:zoom-in}
.work-photo-link--viewer:focus-visible{outline:4px solid #64447a;outline-offset:4px}
.work-photo-link__hint{position:absolute;right:14px;bottom:14px;background:#0b0d10;color:#fff;border:1px solid #889079;border-radius:6px;padding:9px 13px;font-size:13px;font-weight:600;line-height:1.3}
.photo-viewer{width:min(1120px,calc(100vw - 32px));max-width:none;height:min(940px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #606b57;border-radius:12px;background:#101310;color:#fff;box-shadow:0 30px 90px #0009;overflow:auto}
.photo-viewer[open]{display:grid;grid-template-rows:auto minmax(100px,1fr) auto auto}
.photo-viewer::backdrop{background:#050705ed}
.photo-viewer__bar,.photo-viewer__footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 22px}
.photo-viewer__bar{border-bottom:1px solid #394336}
.photo-viewer__brand{font-size:11px;letter-spacing:.16em;font-weight:700;color:#b5f28e}
.photo-viewer button{cursor:pointer;color:#fff;background:#242b22;border:1px solid #7c8974;border-radius:6px;min-height:44px;min-width:44px}
.photo-viewer button:focus-visible{outline:3px solid #cdb2e2;outline-offset:3px}
.photo-viewer__close{padding:8px 14px;font-size:14px;font-weight:600}
.photo-viewer__stage{min-height:0;position:relative;display:flex;align-items:center;justify-content:center;padding:14px;background:#080a08;touch-action:pan-y pinch-zoom}
.photo-viewer__image{width:100%;height:100%;max-height:100%;object-fit:contain}
.photo-viewer [hidden]{display:none!important}
.photo-viewer__error{padding:20px;max-width:420px;text-align:center;color:#fff}
.photo-viewer__copy{min-width:0}
.photo-viewer__copy h2{font-size:24px;line-height:1.2;letter-spacing:-.02em;text-transform:none;margin:0 0 6px;color:#fff}
.photo-viewer__copy p{font-size:14px;line-height:1.5;margin:0;color:#d2dbcd}
.photo-viewer__controls{display:flex;gap:12px;align-items:center;flex-shrink:0}
.photo-viewer__arrow{font-size:24px;line-height:1}
.photo-viewer__count{font-size:13px;white-space:nowrap;min-width:42px;text-align:center}
.photo-viewer__thumbs{display:flex;gap:10px;padding:4px 22px 18px;overflow-x:auto}
.photo-viewer .photo-viewer__thumb{padding:3px;flex:0 0 58px;width:58px;height:58px;overflow:hidden;opacity:.75}
.photo-viewer__thumb img{width:100%;height:100%;object-fit:cover;border-radius:2px}
.photo-viewer .photo-viewer__thumb[aria-current=true]{border:2px solid #85fa31;opacity:1}
@media(max-width:680px){.photo-viewer{width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0}.photo-viewer__bar{padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top))}.photo-viewer__footer{align-items:flex-start;flex-direction:column;padding:14px 16px;gap:12px}.photo-viewer__copy h2{font-size:22px}.photo-viewer__controls{width:100%;justify-content:space-between}.photo-viewer__thumbs{padding:4px 16px max(14px,env(safe-area-inset-bottom))}.photo-viewer__stage{padding:8px}.photo-viewer .photo-viewer__thumb{width:48px;height:48px;flex-basis:48px}}

@media (min-width:600px) and (max-height:500px){
 .photo-viewer{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}
 .photo-viewer[open]{grid-template-columns:minmax(0,1fr) 250px;grid-template-rows:auto minmax(0,1fr) auto}
 .photo-viewer__bar{grid-column:1 / -1;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}
 .photo-viewer__stage{grid-column:1;grid-row:2 / 4;padding:8px}
 .photo-viewer__footer{grid-column:2;grid-row:2;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px 16px;gap:12px}
 .photo-viewer__copy h2{font-size:21px}
 .photo-viewer__controls{width:100%;justify-content:space-between}
 .photo-viewer__thumbs{grid-column:2;grid-row:3;flex-wrap:wrap;padding:4px 16px max(12px,env(safe-area-inset-bottom));gap:8px}
 .photo-viewer .photo-viewer__thumb{width:44px;height:44px;flex-basis:44px}
}

.photo-viewer__loading{padding:20px;text-align:center;color:#d2dbcd;font-size:15px}
