/* RSS-15 shared river gallery: drag-to-scroll + lightbox.
   The auto-scroll is driven by gallery.js, not the CSS keyframe, so the
   track can be dragged and so the loop is seamless. */

/* Once JS takes over, the page's own keyframe must stop or the two fight. */

.rtrack.js-river{animation:none !important;will-change:transform;touch-action:pan-y;user-select:none;-webkit-user-select:none;-ms-user-select:none}
.rtrack.js-river .ri{cursor:none;-webkit-user-drag:none;user-drag:none}          /* keep the site's custom VIEW cursor */
.rtrack.js-river.dragging{cursor:grabbing}
.rtrack.js-river.dragging .ri{pointer-events:none}

.lb{position:fixed;inset:0;z-index:10000;display:none;background:rgba(0,0,0,.94);
    align-items:center;justify-content:center;padding:56px 16px;cursor:zoom-out}
.lb.open{display:flex}
.lb-img{max-width:100%;max-height:100%;object-fit:contain;cursor:default;
    box-shadow:0 24px 80px rgba(0,0,0,.6);opacity:0;transition:opacity .18s}
.lb-img.ready{opacity:1}
.lb-btn{position:absolute;background:none;border:0;color:#fff;cursor:pointer;
    font-family:inherit;line-height:1;opacity:.75;transition:opacity .2s;padding:12px}
.lb-btn:hover,.lb-btn:focus-visible{opacity:1}
.lb-btn:focus-visible{outline:2px solid #c00303;outline-offset:3px}
.lb-close{top:10px;right:12px;font-size:34px}
.lb-prev,.lb-next{top:50%;transform:translateY(-50%);font-size:44px}
.lb-prev{left:6px}.lb-next{right:6px}
.lb-count{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);
    color:rgba(255,255,255,.62);font-size:11px;letter-spacing:3px;text-transform:uppercase}

/* The site hides the native cursor and paints its own dot at z-index 9999.
   Inside the overlay we want a real, visible cursor - so hide the custom one
   and restore the native one for as long as the overlay is open. */
body.lb-lock{overflow:hidden;cursor:auto}
body.lb-lock .cur,body.lb-lock .cur-ring{display:none}

@media(max-width:700px){
  .lb{padding:48px 8px}
  .lb-prev,.lb-next{font-size:34px}
}
@media(prefers-reduced-motion:reduce){
  .lb-img{transition:none}
}

/* RSS-20: on a touch device there is no hover, so the hover-pause never
   fires and the strip scrolls forever while someone is trying to read it.
   Hand the job to the browser: native horizontal scrolling with momentum,
   no auto-scroll, no custom drag. gallery.js skips the rAF loop, the
   pointer handlers and the tile duplication under the same query. */
@media (hover: none) {
  .river{overflow:visible}
  .rtrack.js-river{
    width:100%;max-width:100%;
    overflow-x:auto;overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y !important;
    transform:none !important;
        scrollbar-width:none;-ms-overflow-style:none;
  }
  .rtrack.js-river::-webkit-scrollbar{display:none}
  .rtrack.js-river .ri{cursor:pointer}
  .rtrack.js-river.dragging .ri{pointer-events:auto}
}
