.wp-site-blocks {
  min-height: 100vh;
  overflow-x: clip;
}

.is-layout-constrained > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

.is-layout-constrained > * + * {
  margin-block-start: var(--wp--preset--spacing--md);
}

.nodoo-container {
  width: min(100% - clamp(1rem, 3vw, 2rem), 1120px);
  margin-inline: auto;
}

.nodoo-stack > * + * {
  margin-block-start: var(--wp--preset--spacing--md);
}

.nodoo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: var(--wp--preset--spacing--md);
}

.nodoo-grid--tight {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.nodoo-grid--media {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

.wp-block-columns {
  gap: clamp(var(--wp--preset--spacing--sm), 2vw, var(--wp--preset--spacing--md));
}

.wp-block-columns.is-layout-flex {
  flex-wrap: wrap;
}

.wp-block-column {
  min-width: min(100%, 18rem);
}

.wp-block-navigation,
.wp-block-navigation .wp-block-navigation__container,
.wp-block-buttons,
.wp-block-group.is-layout-flex {
  flex-wrap: wrap;
}

.wp-block-navigation .wp-block-navigation__container {
  row-gap: 0.5rem;
  column-gap: clamp(0.5rem, 1vw, 1rem);
}

/* Keep one small-screen safety rule for site header/navigation usability. */
@media (max-width: 781px) {
  .wp-block-group[style*="justify-content:space-between"] {
    gap: var(--wp--preset--spacing--sm);
    justify-content: flex-start;
  }

  .wp-block-navigation {
    width: 100%;
  }

  .wp-block-navigation .wp-block-navigation__container {
    justify-content: flex-start;
  }
}
