/* Blog styles — layered on top of ai-theme.css + Bootstrap 5 */

.blog-hero {
    background: linear-gradient(135deg, var(--ai-primary, #4a6bea) 0%, #6b46c1 100%);
    color: #fff;
    padding: 8rem 0 3rem;
}
.blog-hero h1 {
    font-weight: 700;
}
.blog-hero .lead {
    opacity: .9;
}

/* Post cards on the index */
.post-card {
    border: 1px solid var(--ai-gray-300, #e2e8f0);
    border-radius: var(--ai-radius, .5rem);
    background: #fff;
    height: 100%;
    transition: transform .15s ease, box-shadow .15s ease;
    overflow: hidden;
}
.post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(45, 55, 72, .12);
}
.post-card .post-card-img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    background: var(--ai-gray-300, #e2e8f0);
}
.post-card .post-card-body {
    padding: 1.25rem 1.35rem 1.5rem;
}
.post-card .post-meta {
    font-size: .82rem;
    color: #718096;
    margin-bottom: .5rem;
}
.post-card h2 {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: .6rem;
}
.post-card h2 a {
    color: var(--ai-neutral, #2d3748);
    text-decoration: none;
}
.post-card h2 a:hover {
    color: var(--ai-primary, #4a6bea);
}
.post-card p {
    color: #4a5568;
    font-size: .95rem;
    margin-bottom: 0;
}

/* Single post */
.post-article {
    max-width: 760px;
    margin: 0 auto;
    padding: 2.5rem 0 3rem;
}
.post-article .post-meta {
    color: #718096;
    font-size: .9rem;
    margin-bottom: 1.75rem;
}
.post-body {
    font-size: 1.08rem;
    line-height: 1.75;
    color: #2d3748;
}
.post-body h2 {
    font-weight: 700;
    margin-top: 2.25rem;
    margin-bottom: .9rem;
    font-size: 1.6rem;
}
.post-body h3 {
    font-weight: 600;
    margin-top: 1.75rem;
    margin-bottom: .7rem;
    font-size: 1.28rem;
}
.post-body p {
    margin-bottom: 1.2rem;
}
.post-body ul,
.post-body ol {
    margin-bottom: 1.2rem;
}
.post-body li {
    margin-bottom: .4rem;
}
.post-body a {
    color: var(--ai-primary, #4a6bea);
}
.post-body img {
    max-width: 100%;
    height: auto;
    border-radius: var(--ai-radius, .5rem);
    margin: 1.5rem 0;
}
.post-body blockquote {
    border-left: 4px solid var(--ai-primary, #4a6bea);
    padding: .5rem 0 .5rem 1.25rem;
    margin: 1.5rem 0;
    color: #4a5568;
    font-style: italic;
}
.post-body pre {
    background: var(--ai-neutral, #2d3748);
    color: #f7fafc;
    padding: 1rem 1.15rem;
    border-radius: var(--ai-radius, .5rem);
    overflow-x: auto;
    font-size: .92rem;
}
.post-body code {
    background: var(--ai-gray-300, #e2e8f0);
    padding: .12rem .4rem;
    border-radius: .3rem;
    font-size: .9em;
}
.post-body pre code {
    background: transparent;
    padding: 0;
}
.post-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: .96rem;
}
.post-body th,
.post-body td {
    border: 1px solid var(--ai-gray-300, #e2e8f0);
    padding: .6rem .8rem;
    text-align: left;
}
.post-body th {
    background: #f7fafc;
    font-weight: 600;
}

/* In-article CTA box that funnels to a tool */
.post-cta {
    background: linear-gradient(135deg, var(--ai-primary, #4a6bea) 0%, #6b46c1 100%);
    color: #fff;
    border-radius: var(--ai-radius, .5rem);
    padding: 1.75rem;
    margin: 2.5rem 0 1rem;
    text-align: center;
}
.post-cta h3 {
    color: #fff;
    font-weight: 700;
    margin-bottom: .5rem;
}
.post-cta p {
    opacity: .92;
    margin-bottom: 1.1rem;
}
.post-cta .btn {
    background: #fff;
    color: var(--ai-primary, #4a6bea);
    font-weight: 600;
    border: none;
}
.post-cta .btn:hover {
    background: #f0f4ff;
}
