/* Desktop: blocks flow side by side based on --block-desktop-width */
blocks.blocks {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

blocks.blocks > div {
  width: var(--block-desktop-width, 100%);
  box-sizing: border-box;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

/* Default vertical spacing for all collapsible-block wrappers */
.cms-block {
  margin: 1.5rem 0;
}

/* Tablet and mobile: always full width regardless of desktop width setting */
@media (max-width: 768px) {
  blocks.blocks {
    margin-left: 0;
    margin-right: 0;
  }

  blocks.blocks > div {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .cms-block {
    margin: 1rem 0;
  }
}
