/* Mobile-first: stack full width */
.block-left,
.block-right {
  width: 100%;
  max-width: 100%;
  margin: 10px 0;
  float: none;       /* neutralize floats on mobile */
  display: block;
}

/* Desktop+ */
@media (min-width: 768px) {
  .block-left {
    width: 30%;
    margin-right: auto;    /* push left when parent is flex */
    float: left;           /* fallback for block layout */
    margin-top: 0;
    margin-bottom: 10px;
  }

  .block-right {
    width: 30%;
    margin-left: auto;     /* push right when parent is flex */
    float: right;          /* fallback for block layout */
    margin-top: 0;
    margin-bottom: 10px;
  }
}

/* If there are images inside, keep them responsive */
.block-left img,
.block-right img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Clearfix for the container (if not flex/grid) */
.cols::after,
.region-content .layout-container::after {
  content: "";
  display: block;
  clear: both;
}
