/* ==========================================================================
   Gutenberg Gallery + LightGallery integration (drop-in)
   - Galleries use a responsive CSS grid
   - Gallery images are forced to 4:3 with object-fit: cover
   - Standalone images keep natural aspect ratio
   - All wp-block images have border-radius: 0
   - Optional spanning tile: add class "gallery-span-2" to a figure in a gallery
   ========================================================================== */

/* Zero roundness on ALL Gutenberg image blocks (single or gallery) */
.wp-block-image img{
    border-radius: 0 !important;
  }
.wp-block-gallery figure {
    padding: 0;
}
.wp-block-gallery figure figcaption {
    padding: 0 0 1em 0;
}
  /* -----------------------------
     Gallery grid
     ----------------------------- */
  .wp-block-gallery{
    display: grid;
    gap: var(--wp--style--block-gap, 1rem); /* x and y gaps match */
    grid-auto-flow: dense;                  /* tighter packing when items span */
    align-items: start;
  }
  
  /* Column mappings from WP's Gallery block */
  .wp-block-gallery.columns-1{ grid-template-columns: 1fr; }
  
  .wp-block-gallery.columns-2,
  .wp-block-gallery.columns-default{ grid-template-columns: repeat(2, 1fr); }
  
  .wp-block-gallery.columns-3{ grid-template-columns: repeat(3, 1fr); }
  
  /* Collapse to single column on narrow screens */
  @media (max-width: 700px){
    .wp-block-gallery{ grid-template-columns: 1fr; }
  }
  
  /* Ensure figures don’t clip captions */
  .wp-block-gallery .wp-block-image{
    margin: 0;
    display: grid;
    overflow: visible;
  }
  
  /* -----------------------------
     Images inside galleries only
     ----------------------------- */
  .wp-block-gallery .wp-block-image img,
  .blocks-gallery-grid .blocks-gallery-item img{   /* legacy gallery support */
    width: 100%;
    aspect-ratio: 4 / 3;          /* force 4:3 tiles in galleries */
    object-fit: cover;
    object-position: 50% 50%;
    border-radius: 0 !important;
    cursor: pointer;              /* indicates LightGallery */
    display: block;
  }
  
  /* Captions (centered) */
  .wp-block-gallery .wp-block-image .wp-element-caption,
  .blocks-gallery-grid .blocks-gallery-item figcaption{
    margin-top: .5rem;
    line-height: 1.3;
    text-align: center;
  }
  
  /* If a gallery has NO captions at all, remove extra vertical space */
  .wp-block-gallery:not(:has(.wp-element-caption)) .wp-block-image .wp-element-caption{
    display: none;
    margin: 0;
    min-height: 0;
  }
  
  /* -----------------------------
     Spanning tile helper
     Add "gallery-span-2" on a figure.wp-block-image inside a gallery
     ----------------------------- */
  /* 2-col galleries: span full width (both columns) */
  .wp-block-gallery.columns-2 .wp-block-image.gallery-span-2,
  .wp-block-gallery.columns-default .wp-block-image.gallery-span-2{
    grid-column: 1 / -1;
  }
  
  /* 3-col galleries: span exactly 2 columns for balance */
  .wp-block-gallery.columns-3 .wp-block-image.gallery-span-2{
    grid-column: span 2;
  }
  
  /* -----------------------------
     Legacy .blocks-gallery-grid fallback (pre-Gutenberg/old markup)
     ----------------------------- */
  .blocks-gallery-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--wp--style--block-gap, 1rem);
  }
  @media (min-width: 900px){
    .blocks-gallery-grid{ grid-template-columns: repeat(3, 1fr); }
  }
  .blocks-gallery-grid .blocks-gallery-item{ margin: 0; }