/**
 * Gutenberg gallery parity in journal posts (10.4.0).
 * Scoped to fg84 prose: no product, manufacturer or homepage gallery changes.
 * Preserves gallery blocks, image order, captions, and chosen columns/crop.
 */
.fg84-article-prose .wp-block-gallery.has-nested-images {
  --fg108-gap: clamp(8px, 1.25vw, 14px);
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch;
  gap: var(--fg108-gap);
  width: 100%;
  max-width: 980px;
  min-width: 0;
  margin: 26px auto 34px;
  padding: 0;
}
.fg84-article-prose .wp-block-gallery.has-nested-images.alignwide,
.fg84-article-prose .wp-block-gallery.has-nested-images.alignfull { max-width: 100%; }
.fg84-article-prose .wp-block-gallery.has-nested-images > figure.wp-block-image {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: calc((100% - 2 * var(--fg108-gap)) / 3);
  width: calc((100% - 2 * var(--fg108-gap)) / 3);
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
  position: relative;
}
.fg84-article-prose .wp-block-gallery.has-nested-images > figure.wp-block-image > a,
.fg84-article-prose .wp-block-gallery.has-nested-images > figure.wp-block-image > .wp-lightbox-container {
  display: block;
  width: 100%;
  min-width: 0;
}
.fg84-article-prose .wp-block-gallery.has-nested-images > figure.wp-block-image img {
  display: block;
  width: 100% !important;
  min-width: 0;
  height: auto !important;
  max-width: 100% !important;
  border-radius: 3px;
  cursor: zoom-in;
}
.fg84-article-prose .wp-block-gallery.has-nested-images.is-cropped > figure.wp-block-image img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
/* A final image in an incomplete row grows, as in the Gutenberg gallery editor. */
.fg84-article-prose .wp-block-gallery.has-nested-images.columns-1 > figure.wp-block-image { flex-basis: 100%; width: 100%; }
.fg84-article-prose .wp-block-gallery.has-nested-images.columns-2 > figure.wp-block-image { flex-basis: calc((100% - var(--fg108-gap))/2); width: calc((100% - var(--fg108-gap))/2); }
.fg84-article-prose .wp-block-gallery.has-nested-images.columns-3 > figure.wp-block-image { flex-basis: calc((100% - 2*var(--fg108-gap))/3); width: calc((100% - 2*var(--fg108-gap))/3); }
.fg84-article-prose .wp-block-gallery.has-nested-images.columns-4 > figure.wp-block-image { flex-basis: calc((100% - 3*var(--fg108-gap))/4); width: calc((100% - 3*var(--fg108-gap))/4); }
.fg84-article-prose .wp-block-gallery.has-nested-images.columns-5 > figure.wp-block-image { flex-basis: calc((100% - 4*var(--fg108-gap))/5); width: calc((100% - 4*var(--fg108-gap))/5); }
.fg84-article-prose .wp-block-gallery.has-nested-images.columns-6 > figure.wp-block-image { flex-basis: calc((100% - 5*var(--fg108-gap))/6); width: calc((100% - 5*var(--fg108-gap))/6); }
.fg84-article-prose .wp-block-gallery.has-nested-images.columns-7 > figure.wp-block-image { flex-basis: calc((100% - 6*var(--fg108-gap))/7); width: calc((100% - 6*var(--fg108-gap))/7); }
.fg84-article-prose .wp-block-gallery.has-nested-images.columns-8 > figure.wp-block-image { flex-basis: calc((100% - 7*var(--fg108-gap))/8); width: calc((100% - 7*var(--fg108-gap))/8); }
.fg84-article-prose .wp-block-gallery.has-nested-images > figure.wp-block-image figcaption {
  position: static;
  width: 100%;
  margin: 7px 0 0;
  padding: 0 4px;
  background: transparent;
  color: #515b51;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
  overflow-wrap: anywhere;
}
.fg84-article-prose .wp-block-gallery.has-nested-images > figcaption {
  flex: 0 0 100%;
  margin-top: 4px;
  font-size: 13px;
  color: #555e54;
  text-align: center;
}
/* Classic WordPress [gallery] and early Gutenberg gallery markup. */
.fg84-article-prose .gallery,
.fg84-article-prose .wp-block-gallery:not(.has-nested-images) .blocks-gallery-grid {
  --fg108-classic-cols: 3;
  display: grid !important;
  grid-template-columns: repeat(var(--fg108-classic-cols), minmax(0, 1fr));
  gap: 12px;
  max-width: 980px;
  margin: 25px auto 34px;
  padding: 0;
  list-style: none;
  min-width: 0;
}
.fg84-article-prose .gallery.gallery-columns-1,
.fg84-article-prose .wp-block-gallery.columns-1 .blocks-gallery-grid { --fg108-classic-cols: 1; }
.fg84-article-prose .gallery.gallery-columns-2,
.fg84-article-prose .wp-block-gallery.columns-2 .blocks-gallery-grid { --fg108-classic-cols: 2; }
.fg84-article-prose .gallery.gallery-columns-4,
.fg84-article-prose .wp-block-gallery.columns-4 .blocks-gallery-grid { --fg108-classic-cols: 4; }
.fg84-article-prose .gallery.gallery-columns-5,
.fg84-article-prose .wp-block-gallery.columns-5 .blocks-gallery-grid { --fg108-classic-cols: 5; }
.fg84-article-prose .gallery.gallery-columns-6,
.fg84-article-prose .wp-block-gallery.columns-6 .blocks-gallery-grid { --fg108-classic-cols: 6; }
.fg84-article-prose .gallery .gallery-item,
.fg84-article-prose .wp-block-gallery .blocks-gallery-item {
  width: auto !important;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
  float: none !important;
  list-style: none;
}
.fg84-article-prose .gallery .gallery-item img,
.fg84-article-prose .blocks-gallery-item img { display: block; width: 100%; height: auto; cursor: zoom-in; }
.fg84-article-prose .gallery .gallery-item figure,
.fg84-article-prose .blocks-gallery-item figure { margin: 0; width: 100%; }
/* WordPress native lightbox would open a different viewer; use product-style one. */
.fg84-article-prose .wp-block-gallery .wp-lightbox-container > button.lightbox-trigger { display: none !important; }
.fg84-article-prose .fg108-gallery-zoom:focus-visible { outline: 3px solid #aa7b41 !important; outline-offset: 4px; }
.fg108-gallery-modal.fg63-dialog[open] { z-index: 2147483645; }
.fg108-gallery-modal .fg63-dialog-top { letter-spacing: .08em; }
.fg108-gallery-modal .fg63-dialog-arrow { min-width: 44px; }
.fg108-gallery-modal .fg63-dialog-figure { padding: 8px; }
.fg108-gallery-modal .fg63-dialog-figure figcaption { max-width: 88vw; text-align:center; font-size: 13px; line-height: 1.4; }
.fg108-gallery-modal button:focus-visible { outline: 3px solid #e0bc83; outline-offset: -3px; }
@media(max-width: 680px) {
  .fg84-article-prose .wp-block-gallery.has-nested-images > figure.wp-block-image,
  .fg84-article-prose .wp-block-gallery.has-nested-images.columns-3 > figure.wp-block-image,
  .fg84-article-prose .wp-block-gallery.has-nested-images.columns-4 > figure.wp-block-image,
  .fg84-article-prose .wp-block-gallery.has-nested-images.columns-5 > figure.wp-block-image,
  .fg84-article-prose .wp-block-gallery.has-nested-images.columns-6 > figure.wp-block-image,
  .fg84-article-prose .wp-block-gallery.has-nested-images.columns-7 > figure.wp-block-image,
  .fg84-article-prose .wp-block-gallery.has-nested-images.columns-8 > figure.wp-block-image {
    flex-basis: calc((100% - var(--fg108-gap))/2);
    width: calc((100% - var(--fg108-gap))/2);
  }
  .fg84-article-prose .wp-block-gallery.has-nested-images.columns-1 > figure.wp-block-image { flex-basis: 100%; width: 100%; }
  .fg84-article-prose .gallery,
  .fg84-article-prose .wp-block-gallery:not(.has-nested-images) .blocks-gallery-grid { grid-template-columns: repeat(min(var(--fg108-classic-cols), 2), minmax(0,1fr)); }
  .fg108-gallery-modal .fg63-dialog-body { grid-template-columns: 44px minmax(0,1fr) 44px; }
  .fg108-gallery-modal .fg63-dialog-figure img { max-height: calc(100dvh - 165px); }
}
@media(max-width: 360px) {
  .fg84-article-prose .wp-block-gallery.has-nested-images { gap: 8px; }
  .fg108-gallery-modal .fg63-dialog-top { font-size: 10px; }
}
@media(prefers-reduced-motion:reduce) {
  .fg84-article-prose .wp-block-gallery img { transition: none !important; }
}
