div.queryloop:has(ul.columns-3) .width-column {
  width: calc((100% - 48px) / 3);
}

div.queryloop:has(ul.columns-2) > * {
  width: calc((100% - 24px) / 2);
}

div.queryloop {
  container-type: inline-size;
  container-name: querygrid;
}

div.queryloop .columns-image-text {
  flex-direction: column;
}

div.queryloop-leadpost-3 > ul.columns-3 > li:nth-child(1) {
  grid-column: 1 / 4;
  grid-row: 1 / 4;
}

div.queryloop-leadpost-2 > ul > li:nth-child(1) {
  grid-column: 1 / 3;
  grid-row: 1 / 3;
}

div.queryloop-leadpost-2 > ul > li:nth-child(1) .columns-image-text,
div.queryloop-leadpost-3 > ul > li:nth-child(1) .columns-image-text {
  flex-direction: row-reverse;
}

div.queryloop-leadpost-2 > ul.columns-3 > li:nth-child(2),
div.queryloop-leadpost-2 > ul.columns-3 > li:nth-child(3) {
  grid-column: 3 / 4;
}

div.queryloop-leadpost-2 > ul.columns-3 > li:nth-child(2) .column-item-image,
div.queryloop-leadpost-2 > ul.columns-3 > li:nth-child(3) .column-item-image {
  display: none;
}

div.queryloop-leadpost-2.columns-3 > ul > li:nth-child(2) .wp-block-post-excerpt,
div.queryloop-leadpost-2.columns-3 > ul > li:nth-child(3) .wp-block-post-excerpt {
  display: none;
}

div.queryloop-leadpost-2 > ul.columns-3 > li:nth-child(2) .column-item-text,
div.queryloop-leadpost-2 > ul.columns-3 > li:nth-child(3) .column-item-text {
  flex-basis: 100%;
}

.post-text-meta {
  margin-top: auto !important;
}

@media (max-width: 781px) {
  .columns-image-text:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: auto !important;
  }
}

@media (min-width: 782px) {
  div.queryloop-leadpost-2 > ul > li:nth-child(1) .columns-image-text > .wp-block-column {
    height: 100%;
  }

  div.queryloop-leadpost-2 > ul > li:nth-child(1) .wp-block-post-featured-image {
    height: 100%;
    max-width: 100%;
  }
}

@container querygrid (max-width: 948px) {
  div.queryloop:has(ul.columns-3) .width-column {
    width: calc((100% - 24px) / 2);
  }
  
  div.queryloop:has(ul.columns-2) .width-column {
    width: calc((100% - 24px) / 2);
  }

  div.queryloop .query-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  div.queryloop-leadpost-2 > ul > li:nth-child(1),
  div.queryloop-leadpost-3 > ul.columns-3 > li:nth-child(1) {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
  }

  div.queryloop-leadpost-2 > ul > li:nth-child(2),
  div.queryloop-leadpost-2 > ul > li:nth-child(3) {
    grid-column: unset !important;
  }
}

@media (max-width: 781px) {
  div.queryloop:has(ul.columns-3) .width-column {
    width: calc((100% - 24px) / 2);
  }
  
  div.queryloop:has(ul.columns-2) .width-column {
    width: calc((100% - 24px) / 2);
  }

  div.queryloop .query-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  div.queryloop-leadpost-2 > ul > li:nth-child(1) div.queryloop-leadpost-3 > ul.columns-3 > li:nth-child(1) {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
  }

  div.queryloop-leadpost-2 > ul > li:nth-child(2),
  div.queryloop-leadpost-2 > ul > li:nth-child(3) {
    grid-column: unset !important;
  }
}

@container querygrid (max-width: 624px) {
  div.queryloop:has(ul.columns-3) .width-column {
    width: 100%;
  }
  
  div.queryloop:has(ul.columns-2) .width-column {
    width: 100%;
  }

  div.queryloop .query-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  div.queryloop-leadpost-2 > ul > li:nth-child(1),
  div.queryloop-leadpost-3 > ul.columns-3 > li:nth-child(1) {
    grid-column: unset !important;
    grid-row: unset !important;
  }

  div.queryloop-leadpost-2 > ul > li:nth-child(1) .columns-image-text,
  div.queryloop-leadpost-3 > ul.columns-3 > li:nth-child(1) .columns-image-text {
    flex-direction: column;
  }

  div.queryloop-leadpost-2 > ul > li:nth-child(2),
  div.queryloop-leadpost-2 > ul > li:nth-child(3) {
    grid-column: unset !important;
  }
}
