/* Article-only adapters for WordPress media, not maps or slideshow blocks. */
body.iv-article-page .iv-article-content .wp-block-table {
  margin-inline: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}
body.iv-article-page .iv-article-content .wp-block-table table {
  display: table;
  width: 100%;
  overflow: visible;
}
body.iv-article-page .iv-article-content :is(.wp-block-gallery, .blocks-gallery-grid, .wp-block-jetpack-tiled-gallery) {
  margin-inline: 0;
}
body.iv-article-page .iv-article-content :is(.wp-block-gallery, .blocks-gallery-grid, .wp-block-jetpack-tiled-gallery) figure {
  margin-inline: 0;
  min-width: 0;
}
body.iv-article-page .iv-article-content :is(.wp-block-gallery, .blocks-gallery-grid, .wp-block-jetpack-tiled-gallery) img {
  width: 100%;
  height: auto;
  min-height: 0;
  object-fit: contain;
}
body.iv-article-page .iv-article-content .tiled-gallery__row { display: flex; gap: 12px; }
body.iv-article-page .iv-article-content .tiled-gallery__col { min-width: 0; }
body.iv-article-page .iv-article-content .iv-media-trigger {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}
body.iv-article-page .iv-article-content .iv-media-trigger img { width: 100%; height: auto; }
body.iv-article-page .iv-article-content iframe[src^="https://videopress.com/embed/"],
body.iv-article-page .iv-article-content iframe[src^="https://www.videopress.com/embed/"] {
  min-height: 0;
  height: auto;
  aspect-ratio: 16 / 9;
}
/* The original Northern Panhandle dot-map video is 912 by 912 pixels. */
body.iv-article-page .iv-article-content iframe[src*="videopress.com/embed/Yl4kmSQe"] { aspect-ratio: 1; }

dialog.iv-media-dialog {
  box-sizing: border-box;
  width: min(1440px, calc(100vw - 24px));
  height: calc(100dvh - 24px);
  max-width: none;
  max-height: none;
  padding: 16px;
  border: 1px solid var(--iv-rule-strong);
  background: var(--iv-page-bg);
  color: var(--iv-page-text);
}
dialog.iv-media-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 12px; }
dialog.iv-media-dialog::backdrop { background: rgb(0 0 0 / 85%); }
.iv-media-toolbar, .iv-media-footer { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.iv-media-toolbar button {
  min-height: 44px;
  min-width: 44px;
  padding: 8px 12px;
  border: 1px solid var(--iv-rule-strong);
  border-radius: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
  font: 13px/1.3 var(--iv-font-mono);
}
.iv-media-toolbar button:disabled { opacity: .35; cursor: default; }
.iv-media-toolbar .iv-media-close { margin-left: auto; }
.iv-media-stage { display: flex; align-items: center; justify-content: center; overflow: auto; min-height: 0; }
dialog.iv-media-dialog .iv-media-image { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.iv-media-dialog[data-zoomed="true"] .iv-media-stage { display: block; }
dialog.iv-media-dialog[data-zoomed="true"] .iv-media-image { max-width: none; max-height: none; margin: 0 auto; }
.iv-media-counter, .iv-media-caption, .iv-media-original, .iv-media-error { margin: 0; font: 13px/1.5 var(--iv-font-mono); }
.iv-media-caption { flex: 1; }
.iv-media-original { color: inherit; text-underline-offset: 3px; }

.iv-media-dialog [hidden] { display: none !important; }
@media (max-width: 600px) {
  dialog.iv-media-dialog { width: 100vw; height: 100dvh; padding: 12px; border: 0; }
  .iv-media-toolbar { gap: 6px; }
  .iv-media-toolbar button { padding-inline: 8px; }
}
