/* ============================================================
   blog.css — /blog/ list + article.
   Loaded only on blog pages (via $extra_css). Reuses the
   tokens (--acc, --txt, --bdr, --surf, radii, shadows) that
   style.css already defines globally.
   ============================================================ */

/* ── List header ─────────────────────────────────────── */
.blog-head{padding:1.5rem 0 .75rem}
.blog-head h1{font-size:clamp(1.375rem,2.4vw,1.75rem);font-weight:800;letter-spacing:-.03em;color:var(--txt)}
.blog-head p{font-size:1rem;color:var(--txt2);margin-top:.5rem;max-width:42rem;line-height:1.6}

/* ── List ────────────────────────────────────────────────
   Plain news-style list: one entry per row, bold title, a few lines of the
   text underneath, thin rule between entries. No cards, no hover motion. */
.blog-grid{display:block;padding:.25rem 0 2.5rem}
.blog-card{
  display:block;text-decoration:none;color:inherit;
  padding:1.125rem 0;border-bottom:1px solid var(--bdr);
}
.blog-card:first-child{padding-top:.5rem}
.blog-card-img{max-width:22rem;margin-bottom:.625rem;border-radius:var(--r);overflow:hidden}
.blog-card-img img{width:100%;height:auto;display:block}
.blog-card-body{display:block}
.blog-card-title{
  font-size:1.125rem;font-weight:800;line-height:1.4;color:var(--txt);
  margin-bottom:.375rem;letter-spacing:-.01em;
}
.blog-card:hover .blog-card-title{color:var(--acc)}
.blog-card-excerpt{
  font-size:.9375rem;color:var(--txt2);line-height:1.65;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
/* Date + "Read guide →" on one line. The arrow matters on touch screens:
   without it there's no visible cue that the row opens something. */
.blog-card-foot{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:.75rem;margin-top:.5rem;
}
.blog-card-date{font-size:.8125rem;color:var(--txt3)}
.blog-card-more{font-size:.875rem;font-weight:700;color:var(--acc);white-space:nowrap}
.blog-card:hover .blog-card-more{text-decoration:underline;text-underline-offset:2px}
.blog-empty{padding:3rem 0;text-align:center;color:var(--txt2)}
.blog-empty h1{font-size:1.5rem;color:var(--txt);margin-bottom:.5rem}

/* ── Article ─────────────────────────────────────────── */
.blog-article{max-width:46rem;margin:0 auto;padding:1.5rem 0 3rem}
.blog-back{display:inline-block;margin-bottom:1rem;font-size:.9375rem;color:var(--acc);text-decoration:none}
.blog-back:hover{text-decoration:underline}
.blog-article-head{margin-bottom:1.5rem}
.blog-article-head h1{font-size:clamp(1.5rem,3vw,2.125rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--txt)}
.blog-article-meta{font-size:.875rem;color:var(--txt3);margin-top:.625rem}

.blog-body{font-size:1.0625rem;line-height:1.7;color:var(--txt)}
.blog-body h2{font-size:1.375rem;font-weight:800;letter-spacing:-.01em;color:var(--txt);margin:2rem 0 .875rem}
.blog-body h3{font-size:1.125rem;font-weight:700;color:var(--txt);margin:1.5rem 0 .5rem}
.blog-body p{margin:0 0 1rem}
.blog-body ul,.blog-body ol{margin:0 0 1rem 1.25rem}
.blog-body li{margin:.3125rem 0;line-height:1.6}
.blog-body a{color:var(--acc);text-decoration:underline;text-underline-offset:2px}
.blog-body a:hover{color:var(--acc-h)}
.blog-body strong{font-weight:700;color:var(--txt)}
.blog-body hr{border:none;border-top:1px solid var(--bdr);margin:2rem 0}

/* TL;DR answer box — the signature element */
.blog-tldr{background:var(--acc-lt);border-left:4px solid var(--acc);border-radius:.5rem;padding:1rem 1.125rem;margin:0 0 1.5rem}
.blog-tldr-lbl{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);margin-bottom:.375rem}
.blog-tldr p{margin:0;font-size:1rem;line-height:1.6;color:var(--txt)}

/* Band / comparison table (scrolls on mobile) */
.blog-body .blog-table-wrap{overflow-x:auto;margin:0 0 1.25rem}
.blog-body table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:34rem}
.blog-body th,.blog-body td{padding:.625rem .75rem;border:1px solid var(--bdr);text-align:left;vertical-align:top}
.blog-body th{background:var(--surf2);font-weight:700;color:var(--txt2)}
.blog-body tr:nth-child(even) td{background:rgba(0,0,0,.012)}

/* CTA to product */
.blog-cta{
  margin:2rem 0 0;padding:1.25rem 1.375rem;background:var(--surf2);
  border:1px solid var(--bdr);border-radius:var(--rx);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.blog-cta-txt{font-size:1rem;font-weight:700;color:var(--txt)}

/* ── Responsive ──────────────────────────────────────── */
@media(max-width:48rem){
  .blog-head{padding:1.25rem 0 .5rem}
  .blog-head p{font-size:.9375rem}
  .blog-card{padding:1rem 0}
  .blog-card-title{font-size:1.0625rem}
  .blog-body{font-size:1rem}
  .blog-body h2{font-size:1.1875rem}
}