/* Base: all even layouts behave consistently */
.arcs-flex-region--two_even,
.arcs-flex-region--three_even,
.arcs-flex-region--four_even {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 1rem !important;
}

/* Widths for any direct child block */
.arcs-flex-region--two_even > * {
  width: calc((100% - 1rem) / 2) !important;
}

.arcs-flex-region--three_even > * {
  width: calc((100% - 2rem) / 3) !important;
}

.arcs-flex-region--four_even > * {
  width: calc((100% - 3rem) / 4) !important;
}

/* Each direct child block stretches */
.arcs-flex-region--two_even > *:not(.layout__region-info):not(.block-placeholder),
.arcs-flex-region--three_even > *:not(.layout__region-info):not(.block-placeholder),
.arcs-flex-region--four_even > *:not(.layout__region-info):not(.block-placeholder) {
  display: flex !important;
  align-items: stretch !important;
  margin: 0 !important;
}

/* First inner wrapper inside each block */
.arcs-flex-region--two_even > * > *:not(.contextual),
.arcs-flex-region--three_even > * > *:not(.contextual),
.arcs-flex-region--four_even > * > *:not(.contextual) {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
}

/* One more nested wrapper level, common in Drupal block/field output */
.arcs-flex-region--two_even > * > * > *,
.arcs-flex-region--three_even > * > * > *,
.arcs-flex-region--four_even > * > * > * {
  width: 100% !important;
}

/* Generic media handling */
.arcs-flex-region--two_even img,
.arcs-flex-region--three_even img,
.arcs-flex-region--four_even img {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Optional: if the item itself is a flex card, let it fill height */
.arcs-flex-region--two_even a,
.arcs-flex-region--three_even a,
.arcs-flex-region--four_even a {
  box-sizing: border-box !important;
}

/* Keep image-callout support */
.arcs-flex-region--two_even .featured-news-img-callout,
.arcs-flex-region--three_even .featured-news-img-callout,
.arcs-flex-region--four_even .featured-news-img-callout {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  text-decoration: none !important;
}

.arcs-flex-region--two_even .fet-news-content,
.arcs-flex-region--three_even .fet-news-content,
.arcs-flex-region--four_even .fet-news-content {
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: stretch !important;
}

.arcs-flex-region--two_even .image-callout-pane__copy-wrapper,
.arcs-flex-region--three_even .image-callout-pane__copy-wrapper,
.arcs-flex-region--four_even .image-callout-pane__copy-wrapper {
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

/* Optional square image behavior only for image-callout cards */
.arcs-flex-region--two_even .fet-news-img img,
.arcs-flex-region--three_even .fet-news-img img,
.arcs-flex-region--four_even .fet-news-img img {
  width: 100% !important;
  /* aspect-ratio: 1 / 1 !important; */
  object-fit: cover !important;
}

/* Mobile */
@media (max-width: 768px) {
  .arcs-flex-region--two_even > *,
  .arcs-flex-region--three_even > *,
  .arcs-flex-region--four_even > * {
    width: 100% !important;
  }
}