/* ==== КАРТОЧКИ РАЗДЕЛОВ: КЕЙСЫ И СТАТЬИ (18.09.2026) ====
   Один файл на оба раздела. Блок родился в cases-post.css как сетка кейсов
   (CASES-CARDS-2026-09-18), 18.09 в ту же карточку лёг раздел статей, и копия
   в article-post.css была бы вторым источником правды. Подключается на
   /cases/, /article/ и на детальных (там живут «Другие кейсы» и «Кейсы по теме»).

   Отличий у статьи от кейса ровно два: подложка из /images/covers/ и мета
   автора вместо строки результата - им отвечает модификатор .case-card--art.

   Высота ряда ровная по построению: лид режется на сервере до трёх строк,
   строка результата или мета однострочная, «Читать» прибито к низу.
   CARDS-2026-09-18 */
.cases-intro { font-size: 17px; color: var(--text-secondary); margin: 0 0 28px; max-width: 62ch; }

.cases-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  margin-bottom: 48px;
}

.case-card {
  display: flex;
  flex-direction: column;
  padding: 24px 26px;
  text-decoration: none;
  background: var(--bg-raised);
  border: 1px solid var(--border);
  border-radius: 14px;
  transition: border-color .2s ease, transform .2s ease;
}
.case-card:hover { border-color: var(--accent); transform: translateY(-2px); }

/* Подложка как у статей на главной (слово Антона 18.09): обложка
   /images/cases/<slug>.webp рисуется штатным генератором сайта
   (/local/seo/article_cover.php, 800x520, цвет по crc32 кода), сверху тот же
   скрим, что у #article .idx-articles-row .article::before. Текст над скримом. */
.case-card {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}
.case-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    rgba(10, 10, 15, 0.58) 0%,
    rgba(10, 10, 15, 0.55) 45%,
    rgba(10, 10, 15, 0.92) 100%);
  transition: background .2s ease;
}
.case-card > * { position: relative; z-index: 1; }

.case-card__name {
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0 0 12px;
}

.case-card__lead {
  font-size: 16px;
  line-height: 1.5;
  color: var(--text-secondary);
  margin: 0 0 14px;
  /* страховка поверх серверной обрезки: если текст в инфоблоке окажется
     длиннее, карточка всё равно не поедет */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.case-card__res {
  position: relative;
  font-size: 15px;
  line-height: 1.45;
  color: var(--text-muted);
  margin: 0 0 18px;
  padding-left: 18px;
}
.case-card__res-mark {
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
}

.case-card__more {
  margin-top: auto;
  font-size: 15px;
  font-weight: 600;
  color: var(--accent);
}

/* Раздел статей пользуется ТОЙ ЖЕ карточкой: подложка и скрим уже описаны
   выше для кейсов, здесь только то, чего у кейсов нет - мета автора.
   Стиль меты снят с боевой .article-card__meta, не выдуман. */
.case-card__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 13px;
  color: var(--text-muted);
  margin: auto 0 16px;
}
.case-card__avatar { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.case-card--art .case-card__more { margin-top: 0; }

/* Блок «Другие кейсы» на детальной: те же карточки, только без текста */
.cases-more { margin-top: 56px; }
.cases-more__title { font-size: 24px; line-height: 30px; margin: 0 0 20px; color: var(--text-primary); }
.cases-more__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.case-card--mini .case-card__name { font-size: 17px; margin-bottom: 14px; }

@media (max-width: 1023px) {
  .cases-grid, .cases-more__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* колонка уже, тот же текст просит на строку больше - иначе кламп режет
     фразу на середине слова */
  .case-card__lead { -webkit-line-clamp: 4; }
}

@media (max-width: 767px) {
  .cases-grid, .cases-more__grid { grid-template-columns: 1fr; }
  .case-card { padding: 20px 18px; }
  .cases-more__title { font-size: 26px; line-height: 31.2px; }
}
