.recipes {
  padding: 6.379vw 0; /* 80px */
}

.recipes-grid {
  display: flex;
  flex-wrap: wrap;
  row-gap: 6.379vw;     /* 80px между рядами */
  column-gap: 5.183vw;  /* 65px между карточками в ряду */
  justify-content: flex-start;
}

.recipe-card,
.promo-block {
  border-radius: 0.606vw;
  overflow: hidden;
  transition: transform 0.3s ease;
  text-decoration: none;
  color: inherit;
  position: relative;
  margin: 0; /* важно! */
}

.recipe-card:hover,
.promo-block:hover {
  transform: translateY(-0.303vw);
}

/* Изображения растягиваются на всю ширину карточки */
.recipe-card img {
  width: 100%;
  height: 25.030vw; /* 413px */
  object-fit: cover;
  object-position: center;
  display: block;
}

.recipe-card .content {
  padding: 1.212vw;
  background-color: white;
  text-align: left;
}

.recipe-card h3 {
  font-size: 1.091vw;
  margin-bottom: 0.606vw;
  line-height: 1.4;
  color: #1E1D1D;
  font-weight: 500;
  text-align: left;
}

.recipe-card .time {
  display: flex;
  align-items: center;
  font-size: 0.848vw;
  color: #888;
  line-height: 1;
}

.recipe-card .time::before {
  content: "⏱";
  margin-right: 0.303vw;
  font-size: 0.727vw;
}

/* Промо-блок */
.promo-block {
  position: relative;
  height: 31.091vw; /* 513px */
}

.promo-block img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.promo-block .overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
  padding: 1.212vw;
  color: white;
  text-align: center;
}

.promo-block .overlay h3 {
  font-size: 1.455vw;
  margin-bottom: 0.303vw;
  line-height: 1.2;
  font-weight: 500;
}

.promo-block .overlay p {
  font-size: 0.970vw;
  line-height: 1.4;
  font-weight: 400;
}

/* Ширины карточек */
.onethree {
  flex: 1 1 calc(33.333% - 2.5915vw); /* half of 5.183vw */
  max-width: calc(33.333% - 2.5915vw);
}

.onetwo {
  flex: 1 1 calc(50% - 2.5915vw);
  max-width: calc(50% - 2.5915vw);
}