/* Pro-Lab Direct blog post styles (shared by /blog/posts/*.html) */
:root { --primary:#003b5a; --tertiary:#003e3e; --surface:#f8f9fa; --footer-bg:#f3f4f5; }
body { font-family:'Inter', system-ui, sans-serif; color:#1c1917; background:var(--surface); }
.font-headline { font-family:'Manrope', sans-serif; }
.ghost-border { border:1px solid rgba(193,199,207,0.35); }
.ambient-shadow { box-shadow:0 8px 32px rgba(25,28,29,0.05); }

/* Article body typography — used inside .article-body */
.article-body { font-size:17px; line-height:1.75; color:#27272a; }
.article-body p { margin:0 0 1.4em; }
.article-body h2 { font-family:'Manrope', sans-serif; font-weight:800; font-size:1.85em; line-height:1.25; color:var(--primary); margin:2.2em 0 .8em; letter-spacing:-0.01em; }
.article-body h3 { font-family:'Manrope', sans-serif; font-weight:700; font-size:1.35em; line-height:1.3; color:var(--primary); margin:1.8em 0 .6em; }
.article-body h4 { font-family:'Manrope', sans-serif; font-weight:700; font-size:1.1em; color:var(--tertiary); margin:1.4em 0 .5em; }
.article-body ul, .article-body ol { margin:0 0 1.4em 1.2em; padding:0; }
.article-body ul li, .article-body ol li { margin:0 0 .5em; padding-left:.25em; }
.article-body ul { list-style:disc; }
.article-body ol { list-style:decimal; }
.article-body a { color:var(--primary); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.article-body a:hover { color:var(--tertiary); }
.article-body strong { font-weight:700; color:#18181b; }
.article-body em { font-style:italic; }
.article-body blockquote { border-left:4px solid var(--tertiary); padding:.6em 1.2em; margin:1.6em 0; background:#eaf1f0; color:#1f3a3a; font-style:italic; border-radius:0 8px 8px 0; }
.article-body code { background:#eef0f2; padding:.15em .4em; border-radius:4px; font-family:'JetBrains Mono', ui-monospace, monospace; font-size:.92em; color:#003b5a; }
.article-body table { width:100%; border-collapse:collapse; margin:1.8em 0; font-size:.92em; }
.article-body table th, .article-body table td { padding:.7em 1em; border:1px solid rgba(193,199,207,0.5); text-align:left; vertical-align:top; }
.article-body table th { background:#003b5a; color:#fff; font-family:'Manrope', sans-serif; font-weight:700; }
.article-body table tr:nth-child(even) td { background:rgba(0,59,90,0.03); }
.article-body figure { margin:1.8em 0; }
.article-body figure img { width:100%; height:auto; border-radius:8px; }
.article-body figcaption { font-size:.9em; color:#71717a; text-align:center; margin-top:.6em; }

/* Key facts box (GEO AI signal — structured summary near the top of every post) */
.key-facts { background:linear-gradient(135deg, rgba(0,59,90,0.04), rgba(0,62,62,0.06)); border:1px solid rgba(0,59,90,0.12); border-radius:14px; padding:1.5em 1.8em; margin:2em 0; }
.key-facts h2 { font-family:'Manrope', sans-serif; font-weight:800; font-size:1em; color:var(--tertiary); text-transform:uppercase; letter-spacing:.12em; margin:0 0 1em; }
.key-facts ul { list-style:none; margin:0; padding:0; }
.key-facts li { padding:.5em 0 .5em 1.8em; position:relative; font-size:.96em; line-height:1.55; color:#27272a; }
.key-facts li::before { content:'\2713'; position:absolute; left:0; top:.5em; width:1.2em; height:1.2em; background:var(--tertiary); color:#fff; font-size:.7em; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; }

/* TL;DR / abstract */
.tldr { background:#fff; border-left:4px solid var(--primary); padding:1.1em 1.4em; margin:1.8em 0 2.4em; border-radius:0 10px 10px 0; box-shadow:0 4px 16px rgba(25,28,29,0.04); }
.tldr-label { font-family:'Manrope', sans-serif; font-weight:800; font-size:.78em; color:var(--tertiary); text-transform:uppercase; letter-spacing:.14em; margin:0 0 .4em; }
.tldr p { margin:0; color:#3f3f46; line-height:1.7; font-size:1.02em; }

/* FAQ block */
.faq { margin:2.6em 0; }
.faq-item { background:#fff; border:1px solid rgba(193,199,207,0.4); border-radius:10px; margin-bottom:.7em; overflow:hidden; }
.faq-item summary { padding:1.1em 1.4em; font-family:'Manrope', sans-serif; font-weight:700; color:var(--primary); cursor:pointer; font-size:1.02em; display:flex; justify-content:space-between; align-items:center; gap:1em; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; font-size:1.4em; color:var(--tertiary); transition:transform .2s; flex-shrink:0; }
.faq-item[open] summary::after { content:'\2212'; }
.faq-item .answer { padding:0 1.4em 1.2em; color:#3f3f46; line-height:1.65; font-size:.96em; }
.faq-item .answer p { margin:0 0 .8em; }

/* Author / share / meta */
.post-meta-row { display:flex; flex-wrap:wrap; align-items:center; gap:1.4em; padding:1.2em 0; border-top:1px solid rgba(193,199,207,0.4); border-bottom:1px solid rgba(193,199,207,0.4); margin:2em 0; }
.post-meta-row .item { display:inline-flex; align-items:center; gap:.5em; font-size:.92em; color:#52525b; }
.post-meta-row .item .material-symbols-outlined { font-size:1.1em; color:var(--tertiary); }

.author-card { display:flex; gap:1.2em; align-items:center; background:#fff; border-radius:14px; padding:1.4em; margin:2.6em 0; box-shadow:0 6px 22px rgba(25,28,29,0.04); }
.author-card .avatar { width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg, var(--primary), var(--tertiary)); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Manrope', sans-serif; font-weight:800; font-size:1.6em; flex-shrink:0; }
.author-card .name { font-family:'Manrope', sans-serif; font-weight:800; color:var(--primary); font-size:1.05em; }
.author-card .title { font-size:.86em; color:#71717a; margin-top:.15em; }
.author-card .bio { font-size:.92em; color:#3f3f46; line-height:1.55; margin-top:.5em; }

/* Inline product CTA card (used to internally link to product pages) */
.product-cta { display:flex; gap:1.3em; align-items:center; background:linear-gradient(135deg, rgba(0,59,90,0.06), rgba(0,62,62,0.08)); border:1px solid rgba(0,59,90,0.18); border-radius:14px; padding:1.4em; margin:2.2em 0; text-decoration:none !important; transition:transform .2s, box-shadow .2s; }
.product-cta:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,59,90,0.12); }
.product-cta .icon { width:60px; height:60px; border-radius:12px; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.product-cta .icon .material-symbols-outlined { font-size:1.8em; }
.product-cta .body { flex:1; }
.product-cta .label { font-size:.72em; font-weight:800; color:var(--tertiary); letter-spacing:.14em; text-transform:uppercase; margin-bottom:.2em; }
.product-cta .name { font-family:'Manrope', sans-serif; font-weight:800; color:var(--primary); font-size:1.1em; line-height:1.25; }
.product-cta .sub { font-size:.9em; color:#52525b; margin-top:.25em; }
.product-cta .arrow { color:var(--primary); font-size:1.4em; flex-shrink:0; }

/* Related posts grid */
.related-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:1.2em; margin:1em 0 0; }
.related-card { background:#fff; border:1px solid rgba(193,199,207,0.4); border-radius:12px; padding:1.2em; text-decoration:none; transition:transform .2s, box-shadow .2s; display:flex; flex-direction:column; gap:.5em; }
.related-card:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(25,28,29,0.06); }
.related-card .chip { display:inline-block; padding:3px 8px; border-radius:999px; font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; background:#e5f0ff; color:var(--primary); align-self:flex-start; }
.related-card .title { font-family:'Manrope', sans-serif; font-weight:700; color:var(--primary); font-size:1em; line-height:1.3; }
.related-card .excerpt { font-size:.85em; color:#71717a; line-height:1.45; }

/* Reading progress bar (top of page) */
.reading-progress { position:fixed; top:0; left:0; height:3px; background:var(--tertiary); z-index:9999; width:0; transition:width .12s; }

/* Mobile tweaks */
@media (max-width:768px) {
  .article-body { font-size:16px; }
  .article-body h2 { font-size:1.55em; }
  .article-body h3 { font-size:1.2em; }
  .key-facts, .tldr { padding:1.1em 1.2em; }
  .product-cta { flex-direction:column; align-items:flex-start; text-align:left; }
  .product-cta .arrow { display:none; }
}
