/* Блоки смыслов на главной: ширина секции и карточек из CMS. */

.meaning-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
}

.meaning-row > .section {
  min-width: 0;
}

.meaning-row > .section.meaning-span-50 {
  flex: 1 1 calc(50% - 4px);
  max-width: calc(50% - 4px);
}

.meaning-row > .section.meaning-span-100 {
  flex: 1 1 100%;
  max-width: 100%;
}

.meaning-row .projects-list-block {
  padding-top: 0;
  height: 100%;
}

.meaning-row .projects-list-block-holder {
  height: 100%;
  box-sizing: border-box;
}

/* Лого-карточка (CARD_VIEW=logo): белый фон, логотип по центру, без текста */
.projects-list .project-item .projects__card--logo {
  background: #fff;
}

.projects-list .project-item .projects__card--logo .projects__card-top {
  flex-grow: 1;
  align-items: center;
  width: 100%;
}

.projects-list .project-item .projects__card--logo .projects__card-top img {
  max-width: 100%;
  max-height: 144px;
}

/* Отступ между разделителем и ссылкой — линия не должна прилипать к «Перейти» */
.projects-list .project-item .projects__card--logo .projects__card-link {
  margin-top: 20px;
}

.projects-list .project-item.project-item--w25 { width: 25%; }
.projects-list .project-item.project-item--w50 { width: 50%; }
.projects-list .project-item.project-item--w75 { width: 75%; }
.projects-list .project-item.project-item--w100 { width: 100%; }

@media (max-width: 1100px) {
  .meaning-row > .section.meaning-span-50 {
    flex: 1 1 100%;
    max-width: none;
  }

  .projects-list .project-item.project-item--w25,
  .projects-list .project-item.project-item--w50 {
    width: 50%;
  }

  .projects-list .project-item.project-item--w75,
  .projects-list .project-item.project-item--w100 {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .projects-list .project-item.project-item--w25,
  .projects-list .project-item.project-item--w50,
  .projects-list .project-item.project-item--w75,
  .projects-list .project-item.project-item--w100 {
    width: 100%;
  }
}

/* Мобилка: белый блок раздела до краёв экрана; внутренние отступы холдера сохраняем */
@media (max-width: 768px) {
  .section > .container:has(.projects-list-block),
  .section > .container:has(.meaning-row) {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
  }

  .section > .container > .container-wrapper:has(.projects-list-block),
  .section > .container > .container-wrapper:has(.meaning-row) {
    padding-left: 0;
    padding-right: 0;
  }

  .projects-list-block .projects-list-block-holder {
    border-radius: 0;
  }
}
