/* Vibe89 blog design: gradient category banners, no image assets. */

/* ---- category gradients ---- */
:root{
  --cat-getting-started: linear-gradient(135deg,#2563EB,#06B6D4);
  --cat-ai-search: linear-gradient(135deg,#7C3AED,#2563EB);
  --cat-pricing: linear-gradient(135deg,#06B6D4,#10B981);
  --cat-local-seo: linear-gradient(135deg,#2563EB,#7C3AED);
  --cat-web-design: linear-gradient(135deg,#0EA5E9,#06B6D4);
}

/* ---- post hero banner ---- */
.post-hero{position:relative;overflow:hidden;padding:calc(var(--nav-height) + 64px) 0 56px;background:var(--bg-section)}
.post-hero::before{content:"";position:absolute;inset:0;opacity:.20;background:var(--cat-getting-started)}
.post-hero::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--cat-getting-started)}
.post-hero--ai-search::before,.post-hero--ai-search::after{background:var(--cat-ai-search)}
.post-hero--pricing::before,.post-hero--pricing::after{background:var(--cat-pricing)}
.post-hero--local-seo::before,.post-hero--local-seo::after{background:var(--cat-local-seo)}
.post-hero--web-design::before,.post-hero--web-design::after{background:var(--cat-web-design)}
.post-hero .container{position:relative;z-index:1;max-width:820px}
.post-cat{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 14px;text-decoration:none;margin-bottom:20px}
.post-cat:hover{background:rgba(255,255,255,.2);color:#fff}
.post-title{font-size:clamp(1.9rem,4.4vw,3rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--white);margin:0 0 16px}
.post-dek{font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.55;color:var(--gray-300);max-width:680px;margin:0 0 24px}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.9rem;color:var(--gray-400);margin:0}
.post-meta__author{color:var(--off-white);font-weight:600}
.post-meta__dot{width:4px;height:4px;border-radius:50%;background:var(--gray-500)}

/* ---- post body typography (wraps existing .legal-prose / .article-prose) ---- */
.legal-prose,.article-prose{max-width:760px;margin:0 auto}
.article-prose h2{font-size:1.7rem;margin:52px 0 14px;letter-spacing:-.01em;color:var(--white);line-height:1.2}
.article-prose h3{font-size:1.2rem;margin:30px 0 10px;color:var(--white)}
.article-prose p,.article-prose li{font-size:1.05rem;line-height:1.78;color:var(--text-secondary)}
.article-prose strong{color:var(--white)}
.article-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.article-prose ul,.article-prose ol{padding-left:22px;margin:0 0 16px}
.article-prose li{margin-bottom:8px}

/* ---- blog index ---- */
.blog-featured{margin-bottom:40px}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
@media(max-width:900px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.post-grid{grid-template-columns:1fr}}

.post-card{display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-light);border-top:3px solid var(--primary-light);text-decoration:none;transition:transform .25s,background .25s,border-color .25s}
.post-card:hover{transform:translateY(-4px);background:var(--bg-card-hover);border-color:var(--border-light)}
.post-card--ai-search{border-top-color:#8B5CF6}
.post-card--pricing{border-top-color:#10B981}
.post-card--local-seo{border-top-color:#6366F1}
.post-card--web-design{border-top-color:#06B6D4}
.post-card--getting-started{border-top-color:#3B82F6}
.post-card__body{display:flex;flex-direction:column;gap:9px;padding:26px 26px 28px;flex:1}
.post-card__cat{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}
.post-card--ai-search .post-card__cat{color:#a78bfa}
.post-card--pricing .post-card__cat{color:#34d399}
.post-card--local-seo .post-card__cat{color:#818cf8}
.post-card--web-design .post-card__cat{color:#22d3ee}
.post-card--getting-started .post-card__cat{color:#60a5fa}
.post-card__title{font-size:1.2rem;font-weight:700;line-height:1.3;color:var(--white)}
.post-card__excerpt{font-size:.95rem;line-height:1.6;color:var(--text-secondary);flex:1}
.post-card__meta{font-size:.82rem;color:var(--gray-500);margin-top:6px}

/* featured: larger text-only card */
.post-card--featured{border-top-width:4px}
.post-card--featured .post-card__body{padding:36px 38px}
.post-card--featured .post-card__title{font-size:1.9rem;line-height:1.2}
.post-card--featured .post-card__excerpt{font-size:1.05rem;max-width:640px}
@media(max-width:600px){.post-card--featured .post-card__body{padding:28px 24px}.post-card--featured .post-card__title{font-size:1.5rem}}

/* ---- related strip ---- */
.related{padding:64px 0;background:var(--bg-section);border-top:1px solid var(--border)}
.related__title{font-size:1.5rem;font-weight:800;color:var(--white);margin:0 0 24px;letter-spacing:-.01em}
.related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:900px){.related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.related__grid{grid-template-columns:1fr}}

/* ---- inline post CTA ---- */
.post-cta{max-width:760px;margin:48px auto 0;padding:28px 32px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(6,182,212,.07));border:1px solid var(--border-light)}
.post-cta h2{font-size:1.35rem;color:var(--white);margin:0 0 8px}
.post-cta p{color:var(--text-secondary);margin:0 0 18px;font-size:1rem}
