/* Structured page sections use the site's wide container. Prose keeps its reading width. */
.entry-content > :is(section, .gb-element):not(.alignfull):not(.rnmg-section) {
  max-width: var(--container);
}

/* All legacy service pages share the sidebar column marked cards-css. */
.rnmg-service-page .entry-content > :is(div[class*="gb-element-"], section):not(.alignfull):not(.rnmg-section) {
  max-width: var(--container);
}

/* Group blocks inherit WordPress layout rules that can collapse card grids. */
.wp-block-group.rnmg-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: none;
}

.wp-block-group.rnmg-card-grid:has(> :nth-child(4)) {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wp-block-group.rnmg-card-grid > .wp-block-group.rnmg-card {
  min-width: 0;
  max-width: none !important;
  margin: 0 !important;
}

@media (max-width: 1023px) {
  .wp-block-group.rnmg-card-grid,
  .wp-block-group.rnmg-card-grid:has(> :nth-child(4)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .wp-block-group.rnmg-card-grid,
  .wp-block-group.rnmg-card-grid:has(> :nth-child(4)) {
    grid-template-columns: minmax(0, 1fr);
  }
}
