/* ============================================================
   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:2rem 0 1rem}
.blog-head h1{font-size:clamp(1.625rem,3vw,2.25rem);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 grid + cards ───────────────────────────────── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;padding:1rem 0 3rem}
.blog-card{
  display:flex;flex-direction:column;background:var(--surf);
  border:1px solid var(--bdr);border-radius:var(--rx);overflow:hidden;
  text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s;
}
.blog-card:hover{box-shadow:var(--shl);transform:translateY(-.25rem)}
.blog-card-img{aspect-ratio:16/9;background:var(--surf2);overflow:hidden}
.blog-card-img img{width:100%;height:100%;object-fit:cover}
.blog-card-noimg{
  display:flex;align-items:center;justify-content:center;
  padding:1.25rem 1.25rem;
  min-height:5.5rem;
  background:linear-gradient(160deg,#208FCE 0%,#2F71B2 60%,#235F9B 100%);
}
.blog-card-noimg span{color:#fff;font-weight:800;font-size:1.0625rem;line-height:1.3;text-align:center;letter-spacing:-.01em}
.blog-card-body{padding:1rem 1.125rem 1.25rem;display:flex;flex-direction:column;flex:1}
.blog-card-title{font-size:1.0625rem;font-weight:800;line-height:1.3;color:var(--txt);margin-bottom:.4375rem}
.blog-card-excerpt{
  font-size:.9375rem;color:var(--txt2);line-height:1.55;flex:1;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.blog-card-date{font-size:.8125rem;color:var(--txt3);margin-top:.75rem}
.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:64rem){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:48rem){
  .blog-grid{grid-template-columns:1fr}
  .blog-body{font-size:1rem}
  .blog-body h2{font-size:1.1875rem}
}