/* ==========================================================================
   Future SEO Growth — Blog module styles (archive + single)
   Matches the approved Solvid design system. Self-contained, responsive.
   ========================================================================== */

/* ---------- Shared blog card primitives ---------- */
.fsg-blog-wrap{max-width:1180px;margin-inline:auto;padding:0 24px}
.fsg-blog-hero{padding:64px 0 24px}
.fsg-blog-hero .badge-soft{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:9999px;background:var(--brand-primary-soft,#e9f0ff);color:var(--brand-primary,#2f6bff);font-size:13px;font-weight:600}
.fsg-blog-hero h1{font-size:clamp(30px,5vw,46px);line-height:1.08;letter-spacing:-.02em;color:var(--text-primary,#0f172a);margin:14px 0 0;font-weight:800}
.fsg-blog-hero p.sub{color:var(--text-secondary,#475569);font-size:17px;margin:10px 0 0;max-width:640px}

/* toolbar: search + categories */
.fsg-blog-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin:28px 0 8px}
.fsg-blog-search{position:relative;flex:1;min-width:240px;max-width:420px}
.fsg-blog-search input{width:100%;box-sizing:border-box;padding:12px 16px 12px 42px;border:1px solid var(--border-subtle,rgba(15,23,42,.08));border-radius:9999px;background:var(--surface,#fff);font-size:15px;font-family:var(--font-sans);color:var(--text-primary);transition:border-color .16s,box-shadow .16s}
.fsg-blog-search input:focus{outline:none;border-color:var(--brand-primary,#2f6bff);box-shadow:0 0 0 3px var(--brand-primary-soft,#e9f0ff)}
.fsg-blog-search iconify-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--text-muted,#94a3b8)}
.fsg-cat-chips{display:flex;flex-wrap:wrap;gap:8px}
.fsg-cat-chip{padding:8px 16px;border-radius:9999px;border:1px solid var(--border-subtle,rgba(15,23,42,.08));background:var(--surface,#fff);color:var(--text-secondary,#475569);font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .18s}
.fsg-cat-chip:hover{border-color:var(--brand-primary,#2f6bff);color:var(--brand-primary,#2f6bff)}
.fsg-cat-chip.is-active{background:var(--brand-primary,#2f6bff);border-color:var(--brand-primary,#2f6bff);color:#fff}

/* ---------- Post cards ---------- */
.fsg-post-card{display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:var(--surface-card,#fff);border:1px solid var(--border-subtle,rgba(15,23,42,.06));box-shadow:0 1px 2px rgba(15,23,42,.04);text-decoration:none;color:inherit;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s ease,border-color .28s ease}
.fsg-post-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(15,23,42,.12);border-color:rgba(47,107,255,.25)}
.fsg-post-card .pc-thumb{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#eef3ff,#e9f0ff)}
.fsg-post-card .pc-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.fsg-post-card:hover .pc-thumb img{transform:scale(1.06)}
.fsg-post-card .pc-body{display:flex;flex-direction:column;gap:12px;padding:22px 22px 24px}
.fsg-post-card .pc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:12.5px;color:var(--text-muted,#94a3b8);font-weight:500}
.fsg-post-card .pc-meta .row{display:inline-flex;align-items:center;gap:5px}
.fsg-pc-cat{display:inline-flex;align-items:center;padding:4px 11px;border-radius:9999px;background:var(--brand-primary-soft,#e9f0ff);color:var(--brand-primary,#2f6bff);font-size:12px;font-weight:700;letter-spacing:.01em}
.fsg-post-card .pc-title{font-size:19px;line-height:1.3;font-weight:700;color:var(--text-primary,#0f172a);letter-spacing:-.01em;margin:0;transition:color .2s}
.fsg-post-card:hover .pc-title{color:var(--brand-primary,#2f6bff)}
.fsg-post-card .pc-excerpt{font-size:14.5px;line-height:1.6;color:var(--text-secondary,#475569);margin:0}
.fsg-post-card .pc-author{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:13px;color:var(--text-secondary,#475569)}
.fsg-pc-av{width:30px;height:30px;border-radius:9999px;display:grid;place-items:center;background:var(--gradient-brand,linear-gradient(135deg,#2f6bff,#1e4fd6));color:#fff;font-size:12px;font-weight:700;flex-shrink:0}

/* ---------- Featured hero card (2-col) ---------- */
.fsg-featured-card{display:grid;grid-template-columns:1.15fr 1fr;gap:0;margin:24px 0 8px;border-radius:24px}
.fsg-featured-card .pc-thumb{aspect-ratio:auto;height:100%;min-height:340px}
.fsg-featured-card .pc-body{justify-content:center;padding:40px}
.fsg-featured-card .pc-title{font-size:clamp(24px,3vw,32px);line-height:1.15}
.fsg-featured-card .pc-excerpt{font-size:16px}

/* ---------- Grid ---------- */
.fsg-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:26px 0 8px}
.fsg-section-label{display:flex;align-items:center;justify-content:space-between;margin:44px 0 4px}
.fsg-section-label h2{font-size:24px;font-weight:800;letter-spacing:-.01em;color:var(--text-primary);margin:0}

/* ---------- Newsletter ---------- */
.fsg-newsletter{margin:56px 0;padding:44px;border-radius:24px;background:linear-gradient(135deg,#f5f8ff,#eef3ff);border:1px solid var(--border-subtle,rgba(15,23,42,.06));text-align:center}
.fsg-newsletter h2{font-size:26px;font-weight:800;color:var(--text-primary);margin:0 0 8px}
.fsg-newsletter p{color:var(--text-secondary);margin:0 auto 22px;max-width:520px}
.fsg-newsletter form{display:flex;gap:10px;max-width:480px;margin-inline:auto}
.fsg-newsletter input{flex:1;padding:13px 18px;border-radius:9999px;border:1px solid var(--border-subtle);background:#fff;font-size:15px;font-family:var(--font-sans)}
.fsg-newsletter input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-soft)}
.fsg-newsletter button{padding:13px 24px;border-radius:9999px;border:0;background:var(--brand-primary,#2f6bff);color:#fff;font-weight:600;font-size:15px;cursor:pointer;white-space:nowrap;transition:background .2s,transform .2s}
.fsg-newsletter button:hover{background:var(--brand-primary-strong,#1e4fd6);transform:translateY(-1px)}

/* ---------- CTA banner ---------- */
.fsg-blog-cta{margin:56px 0;padding:56px 44px;border-radius:24px;background:var(--bg-dark,#0a0f1f);color:#fff;text-align:center;position:relative;overflow:hidden}
.fsg-blog-cta h2{font-size:clamp(26px,4vw,36px);font-weight:800;color:#fff;margin:0 0 12px;letter-spacing:-.01em}
.fsg-blog-cta p{color:#cbd5e1;margin:0 auto 26px;max-width:520px;font-size:17px}
.fsg-blog-cta .fsg-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.fsg-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:9999px;background:var(--brand-primary,#2f6bff);color:#fff;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}
.fsg-btn-primary:hover{background:var(--brand-primary-strong,#1e4fd6);transform:translateY(-2px)}
.fsg-btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:9999px;background:rgba(255,255,255,.08);color:#fff;font-weight:600;text-decoration:none;border:1px solid rgba(255,255,255,.18);transition:background .2s}
.fsg-btn-ghost:hover{background:rgba(255,255,255,.16)}

/* ---------- Empty state ---------- */
.fsg-blog-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .fsg-post-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  .fsg-featured-card{grid-template-columns:1fr}
  .fsg-featured-card .pc-thumb{min-height:220px;aspect-ratio:16/9}
  .fsg-featured-card .pc-body{padding:26px}
}
@media (max-width:640px){
  .fsg-post-grid{grid-template-columns:1fr}
  .fsg-blog-toolbar{flex-direction:column;align-items:stretch}
  .fsg-blog-search{max-width:none}
  .fsg-newsletter form{flex-direction:column}
  .fsg-newsletter button{width:100%}
  .fsg-blog-cta{padding:40px 24px}
}
