/**
 * Photo sequence stage (P4.2).
 *
 * Embed box is the original HTML size (295×249 / 283×218 / 305×217).
 * Cross-fade keyframes live in sequence-anim.css (built from P2.3 JSON).
 * prefers-reduced-motion: stills; JS adds .photo-seq--manual + next/prev.
 */

.photo-seq-figure {
  margin: 0;
}

.photo-seq {
  --photo-seq-w: 295;
  --photo-seq-h: 249;
}

.photo-seq-stage {
  position: relative;
  width: calc(var(--photo-seq-w) * 1px);
  max-width: 100%;
  aspect-ratio: var(--photo-seq-w) / var(--photo-seq-h);
  background: var(--color-bg, #000);
  overflow: hidden;
}

.photo-seq-img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  opacity: 0;
}

.photo-seq-img:first-child {
  opacity: 1;
}

.photo-seq-controls {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2, 10px);
  margin-top: var(--space-1, 5px);
}

.photo-seq--manual .photo-seq-controls {
  display: flex;
}

.photo-seq-btn {
  font-family: var(--font-body, Geneva, "Helvetica Neue", Arial, sans-serif);
  font-size: var(--font-size-2, 13px);
  color: var(--color-link, #ff0000);
  background: transparent;
  border: 1px solid var(--color-link, #ff0000);
  padding: var(--space-1, 5px) var(--space-2, 10px);
  cursor: pointer;
}

.photo-seq-btn:focus-visible {
  outline: var(--focus-ring, 2px solid #ff0000);
  outline-color: var(--color-text, #ffcc99);
  outline-offset: 2px;
}

.photo-seq-status {
  margin: 0;
  font-family: var(--font-body, Geneva, "Helvetica Neue", Arial, sans-serif);
  font-size: var(--font-size-1, 10px);
  color: var(--color-text, #ffcc99);
}

.photo-seq-caption {
  margin-top: var(--space-1, 5px);
  font-family: var(--font-body, Geneva, "Helvetica Neue", Arial, sans-serif);
  font-size: var(--font-size-2, 13px);
}

@media (prefers-reduced-motion: reduce) {
  .photo-seq-img {
    animation: none !important;
    opacity: 0;
  }

  .photo-seq-img:first-child,
  .photo-seq--manual .photo-seq-img.is-current {
    opacity: 1;
  }

  .photo-seq--manual .photo-seq-img:first-child:not(.is-current) {
    opacity: 0;
  }
}
