/* ==========================================================================
   AutoCrafterAI — Blog (index + article)
   ========================================================================== */

/* --- Category filter --- */
.blog-cats { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 36px; }
.blog-cat {
    padding: 7px 15px; font-size: 14px; font-weight: 600;
    color: var(--text-secondary); background-color: var(--bg-main);
    border: 1px solid var(--border); border-radius: var(--radius-pill);
}
.blog-cat:hover, .blog-cat.is-active { color: var(--brand); border-color: var(--brand); background-color: var(--brand-tint); }

/* --- Post grid --- */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.blog-card {
    background-color: var(--bg-main);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.blog-card:hover { transform: translateY(-4px); border-color: var(--brand-bright); box-shadow: 0 22px 44px -26px rgba(24, 168, 200, 0.45); }
.blog-card-link { display: flex; flex-direction: column; height: 100%; }
.blog-card-media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background-color: var(--bg-soft); }
.blog-card-media img { width: 100%; height: 100%; object-fit: cover; }
.blog-card-media--placeholder { display: grid; place-items: center; font-family: var(--font-heading); font-weight: 800; font-size: 22px; color: var(--text-secondary); background: linear-gradient(135deg, var(--brand-tint), transparent); }
.blog-card-media--placeholder span span { color: var(--brand-bright); }
.blog-card-body { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px; flex: 1; }
.blog-card-cat { font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--brand); }
.blog-card-title { font-family: var(--font-heading); font-size: 18.5px; font-weight: 700; line-height: 1.3; color: var(--text-primary); }
.blog-card-excerpt { font-size: 14.5px; line-height: 1.6; color: var(--text-secondary); flex: 1; }
.blog-card-meta { font-size: 13px; color: var(--text-secondary); }

.blog-empty { max-width: 520px; margin: 0 auto; text-align: center; padding: 40px 0; }
.blog-empty h2 { font-family: var(--font-heading); font-size: 24px; margin: 0 0 10px; }
.blog-empty p { color: var(--text-secondary); }
.blog-empty a { color: var(--brand); font-weight: 600; }

/* --- Article --- */
.crumb--dark a { color: var(--brand); }
.crumb--dark { color: var(--text-secondary); margin-bottom: 22px; }
.crumb--dark [aria-current] { color: var(--text-secondary); }

.article-head { margin-bottom: 26px; }
.article-cat { display: inline-block; margin-bottom: 12px; font-size: 13px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--brand); }
.article-title { font-family: var(--font-heading); font-size: clamp(28px, 4.5vw, 42px); font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; color: var(--text-primary); }
.article-meta { margin: 14px 0 0; font-size: 14.5px; color: var(--text-secondary); }
.article-cover { display: block; width: 100%; height: auto; border-radius: var(--radius); margin: 0 0 34px; }

.article-body { font-size: 17.5px; line-height: 1.8; color: var(--text-secondary); }
.article-body > *:first-child { margin-top: 0; }
.article-body h2 { font-family: var(--font-heading); font-size: clamp(24px, 3.5vw, 30px); font-weight: 800; color: var(--text-primary); margin: 40px 0 14px; letter-spacing: -0.01em; }
.article-body h3 { font-family: var(--font-heading); font-size: 21px; font-weight: 700; color: var(--text-primary); margin: 32px 0 10px; }
.article-body p { margin: 0 0 22px; }
.article-body a { color: var(--brand); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.article-body ul, .article-body ol { margin: 0 0 22px; padding-left: 24px; }
.article-body li { margin: 0 0 10px; }
.article-body blockquote { margin: 0 0 22px; padding: 4px 0 4px 22px; border-left: 3px solid var(--brand-bright); color: var(--text-primary); font-style: italic; }
.article-body code { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 15px; background-color: var(--brand-tint); padding: 2px 6px; border-radius: 4px; color: var(--text-primary); }
.article-body pre { margin: 0 0 22px; padding: 18px 20px; overflow-x: auto; background-color: #0f1e25; color: #e8f1f3; border-radius: var(--radius); }
.article-body pre code { background: transparent; padding: 0; color: inherit; font-size: 14px; }
.article-body img { max-width: 100%; height: auto; border-radius: var(--radius); margin: 8px 0 22px; }

.article-cta { margin: 40px 0 0; padding: 22px 24px; background-color: var(--bg-soft); border: 1px solid var(--border); border-radius: var(--radius); }
.article-cta p { margin: 0; font-size: 15.5px; color: var(--text-primary); }
.article-cta a { color: var(--brand); font-weight: 700; }

@media (max-width: 900px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .blog-grid { grid-template-columns: 1fr; } }
