/* ============ Блог ============ */
/* Фото в hero блога (на месте заглушки) */
.phero__photo {
  display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: 50% 32%;
  border-radius: var(--r-lg); box-shadow: 0 18px 50px -22px rgba(27, 23, 20, 0.28);
}

.blog { background: var(--bg); padding-block: clamp(48px, 6vw, 72px) clamp(72px, 9vw, 120px); scroll-margin-top: 92px; }
.blog__inner { display: flex; flex-direction: column; gap: 40px; }

/* Фильтры */
.filters { display: flex; flex-wrap: wrap; gap: 10px; }
.filters__chip {
  border: 1px solid var(--line); border-radius: var(--r-pill);
  padding: 10px 18px;
  font-weight: 600; font-size: 14px; color: var(--ink-soft);
  transition: all .2s;
}
.filters__chip:hover { border-color: var(--accent); color: var(--accent); }
.filters__chip.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }

/* Сетка постов */
.blog__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 28px; }
.post {
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--r-md); overflow: hidden;
  transition: transform .25s, box-shadow .25s;
}
.post:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(27, 23, 20, 0.35); }
.post__media { aspect-ratio: 16 / 10; overflow: hidden; } /* overflow держит пропорцию: без него квадратное фото распирает карточку */
.post__media .img-slot { border-radius: 0; border-left: 0; border-right: 0; border-top: 0; box-shadow: none; height: 100%; }
.post__media .post__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; }
.post__body { display: flex; flex-direction: column; gap: 12px; padding: 26px 28px 30px; flex: 1; }
.post__cat { font-weight: 700; font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--accent); }
.post__title { font-family: var(--font-serif); font-weight: 600; font-size: 23px; line-height: 1.18; color: var(--ink); }
.post__excerpt { font-size: 15px; line-height: 24px; color: var(--ink-soft); }
.post__meta { margin-top: auto; padding-top: 8px; display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-mute); }
.post__meta span { opacity: .5; }
