/* Natural image proportions, shared by old embeds and new Gallery blocks. */
.entry-content .wp-block-gallery.rdi-simple-gallery.has-nested-images {
  display:block; columns:3; column-gap:20px;
}
.entry-content .wp-block-gallery.rdi-simple-gallery.has-nested-images > figure.wp-block-image {
  display:inline-block; break-inside:avoid; width:100%!important;
  margin:0 0 20px!important; vertical-align:top;
}
.entry-content .wp-block-gallery.rdi-simple-gallery.has-nested-images > figure.wp-block-image img {
  display:block; width:100%; height:auto; object-fit:contain;
}
.entry-content .wp-block-gallery.rdi-simple-gallery.has-nested-images figcaption {
  position:static; max-height:none; background:none; color:inherit;
  padding:8px 0 0; overflow:visible; font-size:14px;
}
body.rdi-gallery-page #content { display:block; width:calc(100% - 32px); max-width:1140px; margin-left:auto; margin-right:auto; }
body.rdi-gallery-page #primary { width:100%; max-width:none; float:none; flex:1 1 100%; }
body.rdi-gallery-page #secondary { display:none; }
body.rdi-gallery-page .entry-header { max-width:800px; margin:0 auto 24px; text-align:center; }
body.rdi-gallery-page .entry-title { font-size:clamp(30px,4vw,48px); line-height:1.15; }
body.rdi-gallery-page .entry-meta { display:none; }
.rdi-gallery-intro { max-width:760px; margin:0 auto 18px!important; text-align:center; font-size:20px; line-height:1.7; }
.rdi-gallery-note { max-width:760px; margin:0 auto 48px!important; text-align:center; font-size:14px; line-height:1.8; color:#666; }
@media(max-width:900px) { .entry-content .wp-block-gallery.rdi-simple-gallery.has-nested-images { columns:2; } }
@media(max-width:540px) {
  .entry-content .wp-block-gallery.rdi-simple-gallery.has-nested-images { columns:1; }
  .rdi-gallery-intro { font-size:18px; }
  .rdi-gallery-note { margin-bottom:30px!important; }
}

/* Native WordPress lightbox: replace the source block's thumbnail-sized
   geometry with a responsive viewport-sized stage. */
.wp-lightbox-overlay {
  height: 100vh;
  height: 100dvh;
}

.wp-lightbox-overlay .lightbox-image-container {
  width: calc(100vw - 112px - env(safe-area-inset-left) - env(safe-area-inset-right)) !important;
  height: calc(100vh - 112px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  height: calc(100dvh - 112px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  max-width: none !important;
  max-height: none !important;
  overflow: visible !important;
}

.wp-lightbox-overlay .lightbox-image-container > figure.wp-block-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
}

.wp-lightbox-overlay .lightbox-image-container > figure.wp-block-image > img {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

@media (max-width: 782px) {
  .wp-lightbox-overlay .lightbox-image-container {
    width: calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)) !important;
    height: calc(100vh - 104px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    height: calc(100dvh - 104px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }
}
