/* cifra_bootstrap — cards.css (ported from cifra_all_blocks.html) */

/* ── КАРТОЧКА ── */
.card {
  border: none;
  border-radius: 0;
  border-bottom: 1px solid var(--ln);
  border-right: 1px solid var(--ln);
  overflow: hidden;
  cursor: pointer;
  transition: .2s;
  background: var(--bg);
  position: relative;
  display: block;
  color: inherit;
  text-decoration: none;
}
.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
  z-index: 1;
  position: relative;
}
/* Убрать правый border у последней карточки в строке */
.cifra-hub__card:last-child .card { border-right: none; }

/* Обложка 16:9 */
.card-img {
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
  background: var(--bg2);
}
.card-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 40%, rgba(0,0,0,.25));
  pointer-events: none;
}
.card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Тело карточки */
.card-body {
  padding: 10px;
}

/* Рубрика в теле карточки */
.card-rub {
  font-size: .6875rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: .04em;
  margin-bottom: 4px;
  color: var(--o);
}

/* В карточке: скрыть текст в обложке — рубрика и заголовок показываются в card-body */
.card .cifra-cover__title  { display: none; }
.card .cifra-cover__rubric { display: none; }

/* Обложка — только цветной блок */
.card .cifra-cover--auto { min-height: 140px; }
.card-rub.rub--ai  { color: var(--r1); }
.card-rub.rub--pl  { color: var(--r2); }
.card-rub.rub--sw  { color: var(--r3); }
.card-rub.rub--hw  { color: var(--r4); }
.card-rub.rub--sec { color: var(--r5); }
.card-rub.rub--biz { color: var(--r6); }
.card-rub.rub--gov { color: var(--r7); }
.card-rub.rub--sci { color: var(--r8); }

/* Заголовок */
.card h3 {
  margin-bottom: 3px;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--fg);
}
.card:hover h3 { color: var(--o); }

/* Описание */
.card-desc {
  font-size: .875rem;
  color: var(--fg3);
  line-height: 1.45;
}

/* Мета */
.card-meta {
  font-size: .75rem;
  color: var(--fg4);
  margin-top: 4px;
}

/* Флаги (оверлей-бейджи) */
.flag {
  position: absolute;
  top: 6px;
  left: 6px;
  padding: 3px 8px;
  border-radius: 3px;
  font-size: .625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: #fff;
  z-index: 2;
  backdrop-filter: blur(4px);
}
.flag.ad     { background: rgba(249,115,22,.95); }
.flag.top    { background: rgba(234,88,12,.95); }
.flag.editor { background: rgba(124,58,237,.95); }
.flag.hot    { background: rgba(220,38,38,.95); }
.flag.new    { background: rgba(22,163,74,.95); }

/* ── СТАТЬЯ (полная страница) ── */
.article-cover {
  width: 100%;
  aspect-ratio: 16 / 7;
  overflow: hidden;
  border-bottom: 1px solid var(--ln);
}
.article-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }

.article-video { border-bottom: 1px solid var(--ln); }

.article-body {
  padding: 20px 24px;
  max-width: 680px;
}

.article-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  font-size: .82rem;
  color: var(--fg3);
}

.article-title {
  font-size: 22px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--fg);
  margin-bottom: 16px;
}

.article-content {
  font-size: 15px;
  line-height: 1.7;
  color: var(--fg2);
}
.article-content p { margin-bottom: 16px; }
.article-content h2 { font-size: 18px; font-weight: 700; margin: 24px 0 12px; }
.article-content h3 { font-size: 16px; font-weight: 700; margin: 20px 0 10px; }
.article-content a { color: var(--o); }
.article-content img { max-width: 100%; border-radius: var(--rad); }

.article-related { border-top: 1px solid var(--ln); padding-top: 0; }

/* Строка связанных материалов */
.sec-hd {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--fg4);
  padding: 14px 24px 8px;
}
.card-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 0 24px 24px;
}
@media (max-width: 768px) { .card-row { grid-template-columns: 1fr; } }
.card-row .cell { min-width: 0; }

/* ── АВТО-ОБЛОЖКА (градиент из цвета рубрики) ── */
.cifra-cover--auto {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: linear-gradient(
    145deg,
    var(--rub-color, var(--o)) 0%,
    color-mix(in srgb, var(--rub-color, var(--o)) 50%, #000) 100%
  );
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 12px;
}
.node--full .cifra-cover--auto {
  aspect-ratio: 16 / 7;
  padding: 20px 24px;
}
.cifra-cover__inner {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cifra-cover__rubric {
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.7);
}
.cifra-cover__title {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
}
.node--full .cifra-cover__title { font-size: 18px; }
