/* Раздел статей: список /blog и страница статьи /blog/<slug>. Вернулся 2026-09-11 —
   заказчик ведёт его сам из админки. Грузится поверх doc.css (крошки, .doc, кнопки). */

.blog { padding-bottom: clamp(60px, 8vw, 110px); }
.blog h1 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); font-weight: 500; margin-bottom: 8px; }
.bloglead { color: var(--ink-soft); font-size: 0.97rem; margin: 0 0 clamp(28px, 4vw, 48px); }
.blogempty { color: var(--ink-soft); }
.blogempty a { color: var(--accent-ink); }

/* Сетка — как «Что помещается под навесом» на главной: три колонки, на телефоне одна.
   Не переиспользуем классы `visgrid`, чтобы правка одного блока не меняла другой. */
.bloggrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 40px) clamp(16px, 2.4vw, 30px);
  padding: 0;
  margin: 0;
  list-style: none;
}
.blogcard { margin: 0; }
.bloglink { display: block; color: inherit; text-decoration: none; }
.blogshot {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  background: var(--bg-alt);
  aspect-ratio: 4 / 3;
}
.blogshot img { display: block; width: 100%; height: 100%; object-fit: cover; }
.blognoshot {
  display: grid;
  place-items: center;
  height: 100%;
  font-family: 'Manrope', sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.3em;
  color: var(--ink-mute);
}
.blogdate {
  display: block;
  margin-top: 14px;
  font-family: 'Manrope', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.blogtitle {
  display: block;
  margin-top: 6px;
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.bloglink:hover .blogtitle, .bloglink:focus-visible .blogtitle { text-decoration: underline; }
.blogtext {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 6px;
  color: var(--ink-soft);
  font-size: 0.93rem;
  line-height: 1.5;
}
.blogmore {
  display: block;
  margin-top: 10px;
  font-family: 'Manrope', sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--accent-ink);
}
@media (max-width: 900px) { .bloggrid { grid-template-columns: 1fr; max-width: 520px; } }

/* Статья. Ширина колонки — от .doc (820 px). */
.post .docdate { margin-bottom: 0; }
.postcover { margin: clamp(20px, 3vw, 32px) 0 0; border-radius: 16px; overflow: hidden; background: var(--bg-alt); }
.postcover img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.postbody { margin-top: clamp(24px, 3.5vw, 40px); }
.postbody p, .postbody li { color: var(--ink-soft); font-size: 1.02rem; line-height: 1.65; }
.postbody p { margin: 0 0 1em; }
.postbody h2 { font-size: 1.28rem; font-weight: 600; margin: clamp(28px, 3.5vw, 42px) 0 10px; }
.postbody h3 { font-size: 1.08rem; font-weight: 600; margin: 24px 0 8px; }
.postbody ul, .postbody ol { margin: 0 0 1em; padding-left: 1.3em; }
.postbody li { margin: 0 0 0.4em; }
.postbody a { color: var(--accent-ink); }
.postbody b { color: var(--ink); }
.postbody blockquote {
  margin: 0 0 1em;
  padding: 12px 18px;
  border-left: 3px solid var(--accent);
  background: rgba(var(--accent-rgb), 0.08);
  border-radius: 0 10px 10px 0;
}
.postbody blockquote p { margin: 0; }
.postfoot { margin-top: clamp(40px, 6vw, 64px); padding-top: clamp(24px, 3vw, 36px); border-top: 1px solid var(--line); }
.postcta { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.postcta .btn { text-decoration: none; }
.postmore h2 { font-size: 1.05rem; font-weight: 600; margin: clamp(28px, 3.5vw, 40px) 0 10px; }
.postmore ul { list-style: none; padding: 0; margin: 0; }
.postmore li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--hair); }
.postmore li a { color: var(--ink); text-decoration: none; }
.postmore li a:hover { text-decoration: underline; }
.postmore time { flex: none; font-family: 'Manrope', sans-serif; font-size: 0.78rem; color: var(--ink-mute); }
