.detail-photos[role="region"]:focus-visible{outline:3px solid #277bb0;outline-offset:5px}
.photo-stage{position:relative}
.photo-stage .detail-photo{display:block;touch-action:pan-y}
.gallery-nav{position:absolute;top:50%;display:grid;place-items:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;border:1px solid #b4c0c8;background:#fffffff2;color:var(--ink);font:700 2rem/1 var(--display);transform:translateY(-50%);box-shadow:0 2px 12px #17232b24}
.gallery-nav:hover{background:#fff;border-color:var(--ink)}
.gallery-nav:focus-visible{outline:3px solid #277bb0;outline-offset:3px}
.gallery-prev{left:12px}.gallery-next{right:12px}
.gallery-counter{position:absolute;right:12px;bottom:12px;padding:6px 10px;background:#17232be8;color:#fff;font-size:.875rem;font-weight:700;line-height:1.2}
.gallery-help{margin:8px 0 0;color:var(--muted);font-size:.875rem;line-height:1.5}
.photo-thumbs button[aria-pressed="true"]{border-color:var(--gold);box-shadow:inset 0 0 0 1px #7a5908}
.photo-thumbs button:focus-visible{outline:3px solid #277bb0;outline-offset:2px}
@media(max-width:560px){
 .gallery-nav{width:46px;min-width:46px;height:46px;min-height:46px}
 .gallery-prev{left:8px}.gallery-next{right:8px}
 .gallery-counter{right:8px;bottom:8px}
 .photo-thumbs{scroll-snap-type:x proximity;padding-bottom:4px}
 .photo-thumbs button{width:72px;min-width:72px;height:58px;scroll-snap-align:start}
}
