/* ══════════════════════════════════════
       HERO
    ══════════════════════════════════════ */
    .blog-hero {
      background: linear-gradient(160deg, #07070f 0%, #0f0b2a 55%, #07070f 100%);
      text-align: center;
      padding: 90px 24px 70px;
      position: relative;
      overflow: hidden;
    }
    .blog-hero::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 800px 380px at 50% 0%, rgba(124,58,237,0.15) 0%, transparent 70%);
      pointer-events: none;
    }
    .blog-hero > * { position: relative; z-index: 1; }

    .blog-eyebrow {
      display: inline-flex; align-items: center; gap: 8px;
      background: rgba(124,58,237,0.12); border: 1px solid rgba(124,58,237,0.28);
      border-radius: 999px; padding: 5px 18px; margin-bottom: 22px;
      font-size: 0.72rem; font-weight: 700; color: #a78bfa;
      letter-spacing: 0.1em; text-transform: uppercase;
    }
    .blog-hero h1 {
      font-family: 'Bricolage Grotesque', sans-serif;
      font-size: clamp(2.4rem, 5vw, 3.8rem); font-weight: 800;
      color: #fff; margin-bottom: 16px; line-height: 1.1;
    }
    .blog-hero h1 span {
      background: linear-gradient(135deg, #7c3aed, #3b82f6);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
    }
    .blog-hero p {
      color: #94a3b8; font-size: 1.05rem; max-width: 520px;
      margin: 0 auto; line-height: 1.7;
    }

    /* ══════════════════════════════════════
       SEARCH + FILTER BAR
    ══════════════════════════════════════ */
    .blog-controls {
      max-width: 1100px; margin: 0 auto;
      padding: 48px 24px 0;
      display: flex; flex-direction: column; gap: 20px;
    }

    .blog-search-wrap {
      position: relative; max-width: 480px;
    }
    .blog-search-wrap svg {
      position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
      color: #475569; pointer-events: none;
    }
    .blog-search {
      width: 100%;
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 12px;
      padding: 12px 16px 12px 44px;
      color: #e2e8f0; font-size: 0.9rem; font-family: 'Inter', sans-serif;
      outline: none; transition: border-color 0.2s;
    }
    .blog-search::placeholder { color: #475569; }
    .blog-search:focus { border-color: rgba(124,58,237,0.5); }

    .blog-cats {
      display: flex; flex-wrap: wrap; gap: 8px;
    }
    .blog-cat {
      padding: 7px 18px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,0.1);
      background: transparent;
      color: #94a3b8; font-size: 0.82rem; font-weight: 600;
      cursor: pointer; transition: all 0.2s; font-family: 'Inter', sans-serif;
    }
    .blog-cat:hover { border-color: rgba(124,58,237,0.4); color: #a78bfa; }
    .blog-cat.active {
      background: rgba(124,58,237,0.15);
      border-color: rgba(124,58,237,0.5);
      color: #a78bfa;
    }

    /* ══════════════════════════════════════
       BLOG GRID
    ══════════════════════════════════════ */
    .blog-section {
      max-width: 1100px; margin: 0 auto;
      padding: 40px 24px 100px;
    }

    .blog-results-info {
      font-size: 0.82rem; color: #475569; margin-bottom: 28px;
    }
    .blog-results-info span { color: #a78bfa; font-weight: 600; }

    .blog-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
    }

    .blog-card {
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.07);
      border-radius: 20px;
      overflow: hidden;
      display: flex; flex-direction: column;
      transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
      text-decoration: none;
    }
    .blog-card:hover {
      border-color: rgba(124,58,237,0.35);
      transform: translateY(-4px);
      box-shadow: 0 20px 48px rgba(0,0,0,0.3);
    }

    .blog-card-img {
      width: 100%; aspect-ratio: 16/9;
      background: linear-gradient(135deg, #0f0b2a, #1a1040);
      display: flex; align-items: center; justify-content: center;
      font-size: 2.5rem;
      position: relative; overflow: hidden;
      flex-shrink: 0;
    }
    .blog-card-img::after {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(to bottom, transparent 40%, rgba(7,7,15,0.6));
    }

    .blog-card-body {
      padding: 22px 24px 24px;
      display: flex; flex-direction: column; flex: 1; gap: 12px;
    }

    .blog-card-meta {
      display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    }
    .blog-card-cat {
      font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em;
      text-transform: uppercase; padding: 3px 10px;
      border-radius: 999px;
    }
    .cat-crm       { background: rgba(59,130,246,0.12); color: #60a5fa; }
    .cat-sales     { background: rgba(34,197,94,0.12);  color: #4ade80; }
    .cat-product   { background: rgba(124,58,237,0.12); color: #a78bfa; }
    .cat-integrations { background: rgba(245,158,11,0.12); color: #fbbf24; }
    .cat-guides    { background: rgba(236,72,153,0.12); color: #f472b6; }

    .blog-card-date {
      font-size: 0.75rem; color: #475569;
    }
    .blog-card-readtime {
      font-size: 0.75rem; color: #475569; margin-left: auto;
    }

    .blog-card-title {
      font-family: 'Bricolage Grotesque', sans-serif;
      font-size: 1.05rem; font-weight: 700; color: #e2e8f0;
      line-height: 1.35;
    }

    .blog-card-excerpt {
      font-size: 0.84rem; color: #64748b; line-height: 1.65; flex: 1;
    }

    .blog-card-footer {
      display: flex; align-items: center; justify-content: space-between;
      padding-top: 14px;
      border-top: 1px solid rgba(255,255,255,0.06);
      margin-top: auto;
    }
    .blog-card-author {
      display: flex; align-items: center; gap: 8px;
    }
    .blog-card-avatar {
      width: 28px; height: 28px; border-radius: 50%;
      background: linear-gradient(135deg, #7c3aed, #3b82f6);
      display: flex; align-items: center; justify-content: center;
      font-size: 0.65rem; font-weight: 700; color: #fff; flex-shrink: 0;
    }
    .blog-card-author-name {
      font-size: 0.78rem; color: #94a3b8; font-weight: 500;
    }
    .blog-card-read-link {
      font-size: 0.78rem; color: #7c3aed; font-weight: 600;
      display: flex; align-items: center; gap: 4px;
    }

    /* Featured post (first card full width) */
    .blog-card.featured {
      grid-column: 1 / -1;
      flex-direction: row;
    }
    .blog-card.featured .blog-card-img {
      width: 420px; min-width: 420px; aspect-ratio: auto;
      font-size: 4rem;
    }
    .blog-card.featured .blog-card-title { font-size: 1.4rem; }
    .blog-card.featured .blog-card-excerpt { font-size: 0.9rem; }

    /* Empty state */
    .blog-empty {
      grid-column: 1 / -1;
      text-align: center; padding: 80px 24px;
      color: #475569;
    }
    .blog-empty svg { color: #2d2d4e; margin-bottom: 20px; }
    .blog-empty h3 { font-size: 1.1rem; color: #64748b; margin-bottom: 8px; }
    .blog-empty p { font-size: 0.88rem; }

    /* No-results state (hidden by default) */
    #blog-no-results { display: none; }

    /* ══════════════════════════════════════
       NEWSLETTER CTA
    ══════════════════════════════════════ */
    .blog-newsletter {
      max-width: 680px; margin: 0 auto 80px;
      background: linear-gradient(135deg, rgba(124,58,237,0.12), rgba(59,130,246,0.08));
      border: 1px solid rgba(124,58,237,0.25);
      border-radius: 24px; padding: 44px 40px;
      text-align: center;
    }
    .blog-newsletter h3 {
      font-family: 'Bricolage Grotesque', sans-serif;
      font-size: 1.5rem; font-weight: 800; color: #fff; margin-bottom: 10px;
    }
    .blog-newsletter p {
      color: #94a3b8; font-size: 0.92rem; margin-bottom: 24px; line-height: 1.6;
    }
    .blog-nl-form {
      display: flex; gap: 10px; max-width: 420px; margin: 0 auto;
    }
    .blog-nl-input {
      flex: 1;
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 10px; padding: 11px 16px;
      color: #e2e8f0; font-size: 0.88rem; font-family: 'Inter', sans-serif;
      outline: none; transition: border-color 0.2s;
    }
    .blog-nl-input::placeholder { color: #475569; }
    .blog-nl-input:focus { border-color: rgba(124,58,237,0.5); }
    .blog-nl-btn {
      background: linear-gradient(135deg, #7c3aed, #3b82f6);
      border: none; border-radius: 10px; padding: 11px 22px;
      color: #fff; font-size: 0.88rem; font-weight: 700;
      font-family: 'Inter', sans-serif; cursor: pointer;
      white-space: nowrap; transition: opacity 0.2s;
    }
    .blog-nl-btn:hover { opacity: 0.88; }
    .blog-nl-btn:disabled { opacity: 0.6; cursor: not-allowed; }
    .blog-nl-msg {
      margin: 14px auto 0; max-width: 420px;
      font-size: 0.82rem; font-weight: 600;
    }
    .blog-nl-msg.success { color: #4ade80; }
    .blog-nl-msg.error { color: #f87171; }

    /* ══════════════════════════════════════
       RESPONSIVE
    ══════════════════════════════════════ */
    @media (max-width: 900px) {
      .blog-grid { grid-template-columns: repeat(2, 1fr); }
      .blog-card.featured { flex-direction: column; grid-column: auto; }
      .blog-card.featured .blog-card-img { width: 100%; min-width: 0; aspect-ratio: 16/9; }
    }
    @media (max-width: 600px) {
      .blog-grid { grid-template-columns: 1fr; }
      .blog-newsletter { padding: 32px 20px; }
      .blog-nl-form { flex-direction: column; }
    }
