/* ===== CMS additions — extends the Werlog theme without altering styles.css ===== */

/* Rich text (pages, sections, blog posts) */
.wl-prose { line-height: 1.75; }
.wl-prose > :last-child { margin-bottom: 0; }
.wl-prose h2, .wl-prose h3, .wl-prose h4 { font-weight: 700; letter-spacing: -.5px; margin-top: 2rem; margin-bottom: .75rem; color: var(--wl-ink); }
.wl-prose a { color: var(--wl-green); text-decoration: underline; text-underline-offset: 3px; }
.wl-prose img { max-width: 100%; height: auto; border-radius: 16px; }
.wl-prose blockquote { border-left: 4px solid var(--wl-mint); padding: .25rem 0 .25rem 1rem; color: var(--wl-muted); }
.wl-prose table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.wl-prose th, .wl-prose td { border: 1px solid var(--wl-line); padding: .5rem .75rem; }
.wl-prose pre { background: var(--wl-bg-2); border-radius: 12px; padding: 1rem; overflow-x: auto; }
.text-muted.wl-prose h2, .text-muted.wl-prose h3 { color: var(--wl-ink); }

/* Blog cards */
.post-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.post-card .post-thumb { aspect-ratio: 16 / 9; background: var(--wl-mint-soft); display: grid; place-items: center; color: var(--wl-green-dark); font-size: 2rem; }
.post-card .post-thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-card .post-body { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.post-card a.stretched-link:hover { color: var(--wl-green); }
.post-hero-img { width: 100%; max-height: 480px; object-fit: cover; border-radius: 24px; }
.cat-pill { text-decoration: none; color: var(--wl-ink); }
.cat-pill.active, .cat-pill:hover { background: var(--wl-green); border-color: var(--wl-green); color: #fff; }

/* Breadcrumbs */
.wl-breadcrumb { font-size: .85rem; justify-content: center; margin-bottom: 1rem; }
.wl-breadcrumb .breadcrumb-item a { color: var(--wl-green-dark); }
.wl-breadcrumb .breadcrumb-item.active { color: var(--wl-muted); }

/* Pagination in brand colours */
.pagination { --bs-pagination-color: var(--wl-green-dark); --bs-pagination-active-bg: var(--wl-green); --bs-pagination-active-border-color: var(--wl-green); --bs-pagination-hover-color: var(--wl-green-dark); --bs-pagination-focus-box-shadow: 0 0 0 .2rem rgba(30,158,106,.15); --bs-pagination-border-color: var(--wl-line); }

/* Testimonials */
.testimonial-avatar { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
.testimonial-initials { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--wl-mint-soft); color: var(--wl-green-dark); font-weight: 700; }

/* Preview banner for unpublished content */
.preview-banner { position: fixed; bottom: 1rem; left: 50%; transform: translateX(-50%); z-index: 1080; background: var(--wl-ink); color: #fff; border-radius: 100px; padding: .5rem 1.1rem; font-size: .85rem; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.preview-banner a { color: #9FC7B4; }

.brand-logo { max-height: 36px; width: auto; }
.visually-hidden-focusable:focus { position: fixed; top: .5rem; left: .5rem; z-index: 2000; background: #fff; padding: .5rem 1rem; border-radius: 10px; }
