/* Generic rule � handles any column count via --col-count set in JS */
.columns > div {
  display: grid;
  grid-template-columns: repeat(var(--col-count, 1), 1fr);
  gap: 40px;
  align-items: start;
}

.columns > div > div {
  flex: unset;
  display: flex;
  flex-direction: column;
}

.columns p {
  margin: 0;
  line-height: 1.5;
  font-size: 16px;
  color: #444;
}

.columns .step-title {
  display: block;
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 8px;
}

@media (max-width: 1024px) {
  .columns > div {
    grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr));
  }
}

@media (max-width: 600px) {
  .columns > div {
    grid-template-columns: 1fr;
  }
}

/* ===== Step Layout Fix (4 columns) ===== */

.columns.columns-4-cols > div {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  align-items: start;
}

/* Reset flex behavior from base styles */
.columns.columns-4-cols > div > div {
  flex: unset;
  display: flex;
  flex-direction: column;
}

/* Clean text spacing */
.columns.columns-4-cols p {
  margin: 0;
  line-height: 1.5;
  font-size: 16px;
  color: #444;
}

/* Step title */
.columns.columns-4-cols .step-title {
  display: block;
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 8px;
}

/* Responsive behavior */
@media (max-width: 1024px) {
  .columns.columns-4-cols > div {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .columns.columns-4-cols > div {
    grid-template-columns: 1fr;
  }
}

/* for 2 columns */
.columns.columns-2-cols > div {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: center;
}

.columns.columns-2-cols .columns-img-col {
  display: flex;
  justify-content: center;
}

/* for 3 columns */
.columns.columns-3-cols > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  align-items: start;
}

.columns.columns-3-cols > div > div {
  flex: unset;
  display: flex;
  flex-direction: column;
}

.columns.columns-3-cols p {
  margin: 0;
  line-height: 1.5;
  font-size: 16px;
  color: #444;
}

.columns.columns-3-cols .step-title {
  display: block;
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 8px;
}

@media (max-width: 1024px) {
  .columns.columns-3-cols > div {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .columns.columns-3-cols > div {
    grid-template-columns: 1fr;
  }
}
.columns.columns-5-cols > div {
  display: flex;
}

.columns.block.image-full-height.columns-2-cols img {
  height: 100%;
}

.columns.block.image-350px-height.columns-2-cols img {
  height: 350px;
}