/*
 * Historical conference photography, shared by native image/group blocks.
 * Content and captions remain editable in WordPress. Images retain their full
 * composition; core supplies responsive sources from media-library metadata.
 */
.wp-block-image.iac-conference-photo {
  min-width: 0;
  max-width: 100%;
  margin: 0;
}

.wp-block-image.iac-conference-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
}

.wp-block-image.iac-conference-photo figcaption {
  margin: calc(.85rem * var(--iac-ui-scale, 1)) 0 0;
  color: inherit;
  font-size: 1rem;
  line-height: 1.7;
  text-align: left;
  overflow-wrap: anywhere;
}

.iac-conference-photo figcaption a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.iac-conference-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, calc(22rem * var(--iac-ui-scale, 1))), 1fr));
  align-items: stretch;
  gap: calc(2rem * var(--iac-ui-scale, 1));
  margin-top: calc(2rem * var(--iac-ui-scale, 1));
}

/* Keep captions and frames aligned while retaining each photo's composition. */
.iac-conference-photo-grid > .iac-conference-photo {
  display: flex;
  flex-direction: column;
}

.iac-conference-photo-grid > .iac-conference-photo figcaption {
  margin-top: auto;
  padding-top: calc(.85rem * var(--iac-ui-scale, 1));
}

.iac-hero-texture .wp-block-column:has(> .iac-conference-photo) {
  align-self: center;
}

.iac-hero-texture .iac-conference-photo {
  padding: clamp(12px, 2vw, 24px);
  border: 1px solid var(--ast-global-color-7);
  border-radius: 5px;
  background: var(--ast-global-color-4);
}

/* A few historical scenes give information pages a visual pause. Keep their
 * captions alongside each image so the year travels with the photograph. */
.iac-photo-story {
  margin-block: calc(3rem * var(--iac-ui-scale, 1));
  padding-block: calc(2rem * var(--iac-ui-scale, 1));
  border-block: 1px solid var(--iac-tiac-line, var(--ast-global-color-7));
}

.iac-photo-story > h2 {
  margin: calc(.75rem * var(--iac-ui-scale, 1)) 0 calc(1rem * var(--iac-ui-scale, 1));
  font: 400 max(1.75rem, calc(clamp(2rem, 3.8vw, 3rem) * var(--iac-ui-scale, 1)))/1.15 'DM Serif Display', Georgia, serif;
  letter-spacing: -.025em;
}

.iac-photo-story > p {
  max-width: 65ch;
  margin: 0;
  font-size: var(--iac-type-reading, 1.125rem);
  line-height: 1.8;
}

.iac-photo-story > .iac-tiac-smallcaps {
  color: var(--iac-tiac-muted, var(--ast-global-color-3));
  font-size: 1rem;
}

.iac-photo-story .iac-conference-photo {
  padding: calc(.75rem * var(--iac-ui-scale, 1));
  border: 1px solid var(--iac-tiac-line, var(--ast-global-color-7));
  border-radius: 5px;
  background: var(--iac-paper-raised, var(--ast-global-color-4));
}

/* Editorial pairs keep an existing introduction or invitation beside a photo.
 * Native blocks stack in their reading order when there is less room. */
.iac-photo-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  align-items: center;
  gap: clamp(calc(1.5rem * var(--iac-ui-scale, 1)), calc(4vw * var(--iac-ui-scale, 1)), calc(3rem * var(--iac-ui-scale, 1)));
}

.iac-photo-feature > * { min-width: 0; }

.iac-resource-intro .iac-photo-feature-copy > p:not(.iac-resource-eyebrow) {
  max-width: 65ch;
  font-size: 1.25rem;
  line-height: 1.8;
}

@media (max-width: 900px) {
  .iac-photo-feature { grid-template-columns: minmax(0, 1fr); }
}

/* The About module resets group margins; retain breathing room for its photos. */
.iac-about-page .iac-conference-photo-grid {
  margin-top: calc(2rem * var(--iac-ui-scale, 1));
}

/* Preserve the whole scene beside the Home conference copy at all widths. */
.iac-home-conference-image {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: clamp(calc(24px * var(--iac-ui-scale, 1)), calc(4vw * var(--iac-ui-scale, 1)), calc(64px * var(--iac-ui-scale, 1)));
}

.iac-home-conference-meta .wp-block-column:first-child h2 {
  white-space: nowrap;
}

/* Stack this editorial pair before its inset copy becomes a narrow sidebar. */
@media (max-width: 1100px) {
  .wp-block-columns:has(> .iac-home-conference-image) {
    flex-wrap: wrap !important;
    gap: 0;
  }

  .wp-block-columns:has(> .iac-home-conference-image) > .wp-block-column {
    flex-basis: 100% !important;
  }

  .iac-home-conference-image {
    padding-bottom: 0;
  }
}

/* Core columns stay side by side at 782px; this narrow inset needs more room. */
@media (min-width: 782px) and (max-width: 1100px) {
  .iac-home-conference-meta {
    flex-wrap: wrap !important;
    gap: calc(1rem * var(--iac-ui-scale, 1));
  }

  .iac-home-conference-meta > .wp-block-column {
    flex-basis: 100% !important;
  }

  .iac-home-conference-meta > .wp-block-column:last-child {
    border-left: 0 !important;
    padding-left: 0 !important;
  }
}
