/* blog-post.css — post page (07): header, cover, 720 px article + 300 px sticky sidebar, footer, post blocks. */

/* ---- 1-2. Header + cover ---- */
.post-header { padding-top: var(--sp-5); }
.post-header__eyebrow { display: flex; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-3); }
.post-header__cat { text-decoration: none; }
.post-header__lead { margin-top: var(--sp-3); }

.post-header__byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-2);
  margin-top: var(--sp-4);
  font-size: var(--fs-sm);
  color: var(--text-muted);
}

.post-header__avatar {
  display: inline-grid;
  place-items: center;
  width: var(--control-h-sm);
  height: var(--control-h-sm);
  border-radius: var(--r-pill);
  background: var(--primary);
  color: var(--on-primary);
  font-weight: var(--fw-bold);
}

.post-header__cover { margin: var(--sp-6) auto 0; max-width: calc(var(--w-prose) + var(--w-sidebar) + var(--sp-7) + 2 * var(--gutter)); }
.post-header__cover img { width: 100%; height: auto; border-radius: var(--r-lg); border: var(--border-w) solid var(--border); }

/* ---- 3-9. Article + sidebar ---- */
.post__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--sp-7);
  max-width: calc(var(--w-prose) + var(--w-sidebar) + var(--sp-7) + 2 * var(--gutter));
  padding-block: var(--sp-6);
}

@media (min-width: 992px) {
  .post__layout { grid-template-columns: minmax(0, var(--w-prose)) var(--w-sidebar); }
  .post__toc-mobile { display: none; }
}

.post__aside { display: none; }

@media (min-width: 992px) {
  .post__aside { display: block; }
  .post-sidebar { position: sticky; top: calc(var(--header-h) + var(--sp-5)); display: flex; flex-direction: column; gap: var(--sp-6); }
}

.post__toc-mobile { margin-bottom: var(--sp-5); padding: 0 var(--sp-4); border: var(--border-w) solid var(--border); border-radius: var(--r-md); }
.post__toc-mobile .toc__list { padding-bottom: var(--sp-3); }

/* Inline app card inside the article and the sidebar (generated AppCards). */
.post__body .app-card--inline { margin-block: var(--sp-6); }
.post-sidebar__app .app-card--row { flex-direction: column; align-items: flex-start; }
.post-sidebar__app .btn { width: 100%; }

.post-sidebar__popular .link-list { margin: var(--sp-2) 0 0; padding: 0; list-style: none; font-size: var(--fs-sm); }
.post-sidebar__popular .link-list li + li { margin-top: var(--sp-2); }

/* Article figures and the conclusion Store button. */
.post__body figure img { width: 100%; height: auto; }
.post__body .table-wrap { margin-block: var(--sp-5); }
.post-cta { margin-top: var(--sp-5); }

.post-footer { display: flex; flex-direction: column; gap: var(--sp-5); margin-top: var(--sp-7); padding-top: var(--sp-6); border-top: var(--border-w) solid var(--border); }

@media (min-width: 992px) {
  .sticky-bar { display: none; }
}
