/* Oct 30 2026 (Jase, Jeremy): the full-screen photo viewer (js/photo-fullscreen.js), the one of build 121's feed
   carousel on its own. A deer photo opens big when tapped or clicked. */

/* What opens it: a photo button looks like the photo it was. */
[data-pv-open] { cursor: zoom-in; }
.gb-thumb-open { display: block; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; background: none; color: inherit; font: inherit; }
.gb-thumb-open:focus-visible { outline: 3px solid var(--ga-blaze, #E26B2B); outline-offset: -3px; }
button.gb-buck-photo:focus-visible { outline: 3px solid var(--ga-blaze, #E26B2B); outline-offset: -3px; }

/* Trophy Room: the photo opens big; the name (and the details under it) open the buck's sheet. */
.pv-details { position: relative; }
.pv-open-name { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.pv-open-name::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.pv-open-name:focus-visible { outline: 3px solid var(--ga-blaze, #E26B2B); outline-offset: 2px; }

/* The viewer. */
.pv-lb { position: fixed; inset: 0; z-index: 10000; background: rgba(8,10,9,.96); color: #fff; }
.pv-lb[hidden] { display: none; }
html.pv-lb-open, html.pv-lb-open body { overflow: hidden; }
.pv-lb-stage { position: absolute; inset: 0; overflow: hidden; touch-action: none; cursor: zoom-in; }
.pv-lb-stage:focus { outline: none; }
.pv-lb.zoomed .pv-lb-stage { cursor: grab; }
.pv-lb-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transform-origin: 50% 50%; transition: transform .18s ease-out; user-select: none; -webkit-user-drag: none; }
.pv-lb-close, .pv-lb-nav {
    position: absolute; z-index: 2; border: 0; border-radius: 50%; width: 44px; height: 44px; background: rgba(255,255,255,.16);
    color: #fff; font-size: 28px; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
.pv-lb-close { top: max(12px, env(safe-area-inset-top)); right: 12px; }
.pv-lb-nav { top: 50%; transform: translateY(-50%); }
.pv-lb-prev { left: 12px; }
.pv-lb-next { right: 12px; }
.pv-lb-nav[hidden] { display: none; }
.pv-lb-close:focus-visible, .pv-lb-nav:focus-visible { outline: 3px solid var(--ga-blaze, #E26B2B); }
.pv-lb-count { position: absolute; z-index: 2; left: 50%; transform: translateX(-50%); bottom: max(16px, env(safe-area-inset-bottom)); font-size: 14px; background: rgba(0,0,0,.45); padding: 4px 10px; border-radius: 12px; }
@media (prefers-reduced-motion: reduce) { .pv-lb-img { transition: none; } }
