/* Live photo stack. The original gallery remains the no-script fallback. */
.ds-gallery[hidden] { display: none !important; }
.jv-live-stack { color: #33281a; margin-top: 20px; }
body.retro .jv-live-stack__title { margin: 0 0 12px; }
.jv-live-stack__hint { color: #625239; margin: 0 0 18px; }
.jv-live-stack__stage {
  position: relative; height: clamp(340px, 45vw, 560px); width: 100%;
  overflow: hidden; touch-action: pan-y; isolation: isolate;
}
.jv-live-stack__frame {
  position: absolute; margin: 0; box-sizing: border-box; padding: 10px 10px 30px;
  background: #fff8e9; box-shadow: 0 8px 22px rgba(64, 44, 23, .18);
  transition: transform 700ms cubic-bezier(.22,.8,.25,1), opacity 700ms ease;
}
.jv-live-stack__frame img {
  display: block; width: 100%; height: 100%; object-fit: contain;
}
.jv-live-stack__action {
  position: absolute; inset: 0; z-index: 10; width: 100%; height: 100%;
  border: 0; border-radius: 0; padding: 0; background: transparent; cursor: pointer;
}
.jv-live-stack__action:focus-visible { outline: 3px solid #a13c19; outline-offset: -5px; }
.jv-live-stack__controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; }
.jv-live-stack__buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.jv-live-stack__button {
  font: inherit; color: #33281a; background: transparent; border: 1px solid #88775d;
  border-radius: 3px; min-height: 46px; padding: 9px 16px; cursor: pointer;
  transition: background 180ms ease, transform 180ms ease;
}
.jv-live-stack__button:hover { background: #e6d6b6; }
.jv-live-stack__button:active { transform: translateY(1px); }
.jv-live-stack__button:focus-visible { outline: 3px solid #a13c19; outline-offset: 3px; }
.jv-live-stack__count { color: #625239; font-variant-numeric: tabular-nums; }
@media (max-width: 480px) {
  .jv-live-stack__controls { justify-content: center; }
  .jv-live-stack__buttons { justify-content: center; gap: 8px; }
  .jv-live-stack__button { padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .jv-live-stack__frame, .jv-live-stack__button { transition: none; }
}
