/* P26M — blog index: hero + grid layout. */

/* ── Blog hero ──────────────────────────────────────────────────────────── */
.blog-hero {
    padding-block: var(--section-pad-y) var(--space-8);
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.blog-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 60% at 50% 0%,
        rgba(115, 196, 75, 0.08) 0%,
        transparent 60%);
    pointer-events: none;
    z-index: -1;
}

.blog-hero__inner {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    max-width: 720px;
}

.blog-hero__title { margin-top: var(--space-2); }
.blog-hero__lead  { max-width: 56ch; }

/* ── Post grid section ──────────────────────────────────────────────────── */
.post-grid-section { padding-bottom: var(--section-pad-y); }

/* ── Card grid ──────────────────────────────────────────────────────────── */
.post-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-5);
    margin-top: var(--space-7);
    max-width: 1320px;
}

@media (min-width: 640px) {
    .post-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
    .post-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ── Empty state ─────────────────────────────────────────────────────────── */
.post-grid__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-5);
    padding: var(--space-10) var(--space-5);
    text-align: center;
}

.post-grid__empty-msg {
    font-size: var(--fs-lg);
    color: var(--color-text-secondary);
    max-width: 36ch;
}
