/* Eden Residents — blog styles (uses variables from styles.css) */
.blog-page { background: var(--c-bg); }
.blog-main { padding: 110px 0 60px; }
.container--narrow { max-width: 760px; margin: 0 auto; }

.blog-hero { text-align: center; padding: 30px 0 40px; }
.blog-hero__kicker { font-family: var(--f-sans); font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: var(--c-accent); margin: 0 0 10px; }
.blog-hero__title { font-family: var(--f-serif); font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 500; color: var(--c-ink); margin: 0 0 12px; line-height: 1.15; }
.blog-hero__sub { color: var(--c-muted); max-width: 620px; margin: 0 auto; line-height: 1.7; }

.post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 26px; margin-top: 10px; }
.post-card { background: var(--c-surface); border: 1px solid var(--c-line-2); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform .18s ease, box-shadow .18s ease; }
.post-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.post-card__link { text-decoration: none; color: inherit; display: block; }
.post-card__media img { width: 100%; height: 200px; object-fit: cover; display: block; }
.post-card__body { padding: 20px 22px 24px; }
.post-card__date { font-family: var(--f-sans); font-size: .78rem; color: var(--c-muted); letter-spacing: .04em; }
.post-card__title { font-family: var(--f-serif); font-size: 1.28rem; font-weight: 600; color: var(--c-ink); margin: 8px 0 10px; line-height: 1.3; }
.post-card__excerpt { font-size: .92rem; color: var(--c-muted); line-height: 1.65; margin: 0; }

.blog-pagination { text-align: center; margin: 44px 0 10px; font-family: var(--f-sans); }
.blog-pagination .page-numbers { display: inline-block; padding: 8px 14px; margin: 0 3px; border: 1px solid var(--c-line); border-radius: 8px; color: var(--c-ink-2); text-decoration: none; }
.blog-pagination .page-numbers.current, .blog-pagination .page-numbers:hover { background: var(--c-accent); border-color: var(--c-accent); color: #fff; }
.blog-empty { text-align: center; color: var(--c-muted); padding: 40px 0 80px; }

/* single post */
.post__header { text-align: center; padding: 10px 0 8px; }
.post__meta { font-family: var(--f-sans); font-size: .82rem; color: var(--c-muted); letter-spacing: .03em; }
.post__title { font-family: var(--f-serif); font-size: clamp(1.9rem, 4vw, 2.7rem); font-weight: 500; color: var(--c-ink); line-height: 1.18; margin: 10px 0 22px; }
.post__hero { margin: 0 0 30px; }
.post__hero img { width: 100%; border-radius: var(--radius); display: block; }

.post__content { font-size: 1.02rem; line-height: 1.85; color: var(--c-ink-2); }
.post__content h2 { font-family: var(--f-serif); font-size: 1.65rem; font-weight: 600; color: var(--c-ink); margin: 2.2em 0 .7em; line-height: 1.3; }
.post__content h3 { font-family: var(--f-serif); font-size: 1.3rem; font-weight: 600; color: var(--c-ink); margin: 1.8em 0 .6em; }
.post__content p { margin: 0 0 1.2em; }
.post__content a { color: var(--c-accent-2); }
.post__content img { max-width: 100%; height: auto; border-radius: var(--radius-sm); }
.post__content ul, .post__content ol { padding-left: 1.4em; margin: 0 0 1.2em; }
.post__content li { margin-bottom: .45em; }
.post__content blockquote { border-left: 3px solid var(--c-accent); margin: 1.4em 0; padding: .4em 0 .4em 1.2em; color: var(--c-muted); font-style: italic; }
.post__content table { width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: .93rem; font-family: var(--f-sans); }
.post__content th, .post__content td { border: 1px solid var(--c-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.post__content th { background: var(--c-bg-2); font-weight: 600; color: var(--c-ink); }
.post__content tr:nth-child(even) td { background: rgba(239,234,226,.4); }

.post-cta { background: var(--c-ink); color: #f1ece1; border-radius: var(--radius); padding: 34px 32px; margin: 48px 0 34px; text-align: center; }
.post-cta__kicker { font-family: var(--f-sans); font-size: .76rem; letter-spacing: .18em; text-transform: uppercase; color: #d7b579; margin: 0 0 8px; }
.post-cta__title { font-family: var(--f-serif); font-size: 1.6rem; font-weight: 500; margin: 0 0 10px; color: #fff; }
.post-cta__text { font-size: .95rem; color: rgba(241,236,225,.85); line-height: 1.7; max-width: 560px; margin: 0 auto 20px; }
.post-cta__buttons { margin: 0; }
.post-cta .btn { display: inline-block; padding: 12px 22px; border-radius: 999px; font-family: var(--f-sans); font-size: .92rem; text-decoration: none; margin: 4px 6px; }
.post-cta .btn--primary { background: #25d366; color: #fff; }
.post-cta .btn--ghost { border: 1px solid rgba(215,181,121,.6); color: #f1ece1; }

.post-nav { display: flex; justify-content: space-between; gap: 20px; font-family: var(--f-sans); font-size: .9rem; margin: 30px 0 8px; }
.post-nav a { color: var(--c-accent-2); text-decoration: none; }
.post-back { font-family: var(--f-sans); font-size: .9rem; margin-top: 18px; }
.post-back a { color: var(--c-muted); text-decoration: none; }

@media (max-width: 640px) {
  .blog-main { padding-top: 92px; }
  .post-grid { grid-template-columns: 1fr; }
  .post-nav { flex-direction: column; }
}
