/* === JM 4.1.9 layout lock: gutters + hero === */

/* Beat WP flex layout on the split hero */
body .jm-hero .wp-block-columns.jm-hero__grid.is-layout-flex,
body .jm-hero .wp-block-columns.jm-hero__grid,
.jm-hero .wp-block-columns.jm-hero__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
@media (min-width: 960px) {
  body .jm-hero .wp-block-columns.jm-hero__grid.is-layout-flex,
  body .jm-hero .wp-block-columns.jm-hero__grid,
  .jm-hero .wp-block-columns.jm-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
}
.jm-hero .wp-block-columns.jm-hero__grid > .wp-block-column {
  flex-basis: auto !important;
  flex-grow: 1 !important;
  flex-shrink: 1 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box;
}
.jm-hero .wp-block-columns.jm-hero__grid > .wp-block-column:first-child {
  padding: 7rem 1.5rem 3.5rem !important;
}
@media (min-width: 960px) {
  .jm-hero .wp-block-columns.jm-hero__grid > .wp-block-column:first-child {
    padding: 8.5rem 3rem 5rem max(1.5rem, calc((100vw - 72rem) / 2 + 1.5rem)) !important;
  }
}
.jm-hero h1 {
  max-width: min(22rem, 100%) !important;
  width: auto !important;
  word-break: normal;
  overflow-wrap: normal;
}

/* Text / forms that sit as direct children of full-bleed groups (not inside columns) */
.jm-page > :where(
  .wp-block-heading,
  .wp-block-paragraph,
  .wp-block-buttons,
  .wp-block-list,
  .wp-block-html,
  .jm-contact,
  form,
  ul,
  .jm-topic-grid
),
.jm-speak-topics > :where(
  .wp-block-heading,
  .wp-block-paragraph,
  .wp-block-list,
  .wp-block-html,
  ul,
  .jm-topic-grid
),
.jm-guide > :where(
  .wp-block-heading,
  .wp-block-paragraph,
  .wp-block-list,
  .wp-block-html,
  .wp-block-buttons,
  .jm-form,
  form,
  ul
),
.jm-band > :where(
  .wp-block-heading,
  .wp-block-paragraph,
  .wp-block-buttons,
  .wp-block-list
),
.jm-about > :where(
  .wp-block-heading,
  .wp-block-paragraph,
  .wp-block-buttons,
  .wp-block-list
) {
  width: min(72rem, calc(100% - 2.5rem)) !important;
  max-width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
@media (min-width: 1024px) {
  .jm-page > :where(
    .wp-block-heading,
    .wp-block-paragraph,
    .wp-block-buttons,
    .wp-block-list,
    .wp-block-html,
    .jm-contact,
    form,
    ul,
    .jm-topic-grid
  ),
  .jm-speak-topics > :where(
    .wp-block-heading,
    .wp-block-paragraph,
    .wp-block-list,
    .wp-block-html,
    ul,
    .jm-topic-grid
  ),
  .jm-guide > :where(
    .wp-block-heading,
    .wp-block-paragraph,
    .wp-block-list,
    .wp-block-html,
    .wp-block-buttons,
    .jm-form,
    form,
    ul
  ),
  .jm-band > :where(
    .wp-block-heading,
    .wp-block-paragraph,
    .wp-block-buttons,
    .wp-block-list
  ),
  .jm-about > :where(
    .wp-block-heading,
    .wp-block-paragraph,
    .wp-block-buttons,
    .wp-block-list
  ) {
    width: min(72rem, calc(100% - 4rem)) !important;
  }
}

/* Guide opt-in band: keep form usable and padded */
.jm-guide {
  padding-block: 4rem;
  padding-inline: max(1.25rem, calc((100% - 72rem) / 2));
  box-sizing: border-box;
}
.jm-guide > .wp-block-columns {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}
.jm-guide .jm-form,
.jm-guide form {
  width: 100%;
  max-width: 28rem;
}
.jm-guide .jm-fine {
  max-width: 28rem;
  margin-bottom: 0;
}

/* Speaking potential-conversations block */
.jm-speak-topics {
  padding-inline: max(1.25rem, calc((100% - 72rem) / 2));
  box-sizing: border-box;
}
.jm-speak-topics > :where(
  .wp-block-heading,
  .wp-block-paragraph,
  .wp-block-list,
  ul,
  .jm-topic-grid
) {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.jm-topic-grid {
  width: 100%;
  box-sizing: border-box;
}

/* Home mid-section cards: a little breathing room */
.jm-themes > .wp-block-column,
.jm-engage > .wp-block-column {
  padding: 0.75rem 1.25rem !important;
  box-sizing: border-box;
}
@media (min-width: 1024px) {
  .jm-themes > .wp-block-column {
    padding: 0 2rem !important;
  }
  .jm-engage > .wp-block-column {
    padding: 0.5rem 1.5rem !important;
  }
}
