/* Native historical photos remain a readable stack without JavaScript. */
.iac-conference-carousel {
  --iac-rotation-ink: var(--iac-tiac-ink);
  --iac-rotation-muted: var(--iac-tiac-muted);
  --iac-rotation-paper: var(--iac-paper-raised);
}
/* Keep the archive action with the heading, inside the panel's padded edge. */
.iac-conference-carousel > .iac-tiac-chapter-heading { display: flex; align-items: flex-end; flex-wrap: wrap; gap: calc(1.5rem * var(--iac-ui-scale, 1)); }
.iac-carousel-heading-copy { flex: 1 1 25rem; min-width: 0; }
.iac-conference-carousel-actions { justify-content: flex-start; max-width: 100%; margin: 0 !important; }
.iac-conference-carousel-actions .wp-block-button { max-width: 100%; }

/* A centred preview leaves the full albums as the place for larger viewing.
   Apply the same width before enhancement so responsive sources stay stable. */
.iac-conference-carousel-body {
  box-sizing: border-box;
  width: 100%;
  max-width: calc(52rem * var(--iac-ui-scale, 1));
  margin: 0 auto !important;
  padding: 0 clamp(calc(1.5rem * var(--iac-ui-scale, 1)), calc(4vw * var(--iac-ui-scale, 1)), calc(2.5rem * var(--iac-ui-scale, 1))) clamp(calc(1.5rem * var(--iac-ui-scale, 1)), calc(4vw * var(--iac-ui-scale, 1)), calc(2.5rem * var(--iac-ui-scale, 1)));
}
/* Match enhanced image widths from first paint to avoid fetching two sizes. */
.iac-conference-carousel-track { display: grid; grid-template-columns: minmax(0, 1fr); gap: calc(1.5rem * var(--iac-ui-scale, 1)); margin: 0 !important; }
.iac-conference-carousel-track > .iac-conference-photo { margin: 0 !important; }
.iac-conference-carousel .iac-conference-photo img { aspect-ratio: 16 / 9; object-fit: contain; background: var(--iac-paper-inset); }
.iac-conference-carousel .iac-conference-photo figcaption { margin: calc(.85rem * var(--iac-ui-scale, 1)) 0 0 !important; color: var(--iac-tiac-muted); }

/* Shared grid placement reserves the full image and longest caption's height. */
.iac-photos--carousel .iac-conference-carousel-track { gap: 0; }
.iac-photos--carousel .iac-photos-slide { grid-area: 1 / 1; min-width: 0; margin: 0; visibility: hidden; pointer-events: none; }
.iac-photos--carousel .iac-photos-slide.is-active { visibility: visible; pointer-events: auto; }
.iac-photos-slide > .iac-conference-photo { margin: 0 !important; }

@keyframes iac-photo-arrive { from { opacity: .25; } to { opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  .iac-photos-slide.is-active { animation: iac-photo-arrive 600ms ease-in-out; }
}
@media print {
  .iac-photos--carousel .iac-photos-slide { grid-area: auto; visibility: visible; }
}
