/* Community reading and editor composition. Shared forms, tags and avatars have separate owners. */
.forum-header { padding:clamp(16px,2vw,24px); margin-bottom:24px; background:var(--reading-support); border-bottom:1px solid var(--editorial-line); }
.forum-header form { min-width:0; flex:1 1 12rem; }
.forum-tag-pills { display:flex; flex-wrap:wrap; gap:12px 20px; padding-bottom:8px; }
.forum-tag-pill { display:inline-flex; align-items:center; gap:.35rem; min-height:44px; max-width:100%; padding:6px 4px; border:0; border-bottom:1px solid transparent; background:transparent; color:var(--editorial-muted); font-size:.875rem; font-weight:500; text-decoration:none; overflow-wrap:anywhere; transition:color .15s,border-color .15s; }
.forum-tag-pill:hover { color:var(--editorial-forest); border-color:var(--editorial-forest); }
.forum-tag-pill.active { color:var(--editorial-forest); border-color:var(--editorial-forest); font-weight:700; }
.forum-posts-list { background:var(--reading-paper); padding:0 clamp(16px,2vw,28px); }
.forum-posts-list .forum-post-card { margin-bottom:0; }
.forum-posts-list .forum-post-card:last-child { border-bottom:0; }
.forum-posts-list .species-chip { background:var(--reading-support); }
.forum-post-card { display:block; min-width:0; padding:24px 0; margin-bottom:16px; border-bottom:1px solid var(--editorial-line); color:inherit; text-decoration:none; }
.forum-post-card.pinned { border-left:2px solid var(--editorial-amber); padding-left:20px; }
.forum-post-card > div:first-child { flex-wrap:wrap; }
.forum-post-card > div:first-child > span { flex-shrink:0; max-width:100%; }
.forum-post-title { font-size:24px; font-weight:500; line-height:1.6; color:var(--editorial-ink); margin-bottom:.4rem; }
.forum-post-card:hover .forum-post-title { color:var(--editorial-forest); }
.forum-post-summary { color:var(--editorial-muted); font-size:1rem; margin-bottom:.85rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.8; }
.forum-post-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; color:var(--editorial-muted); font-size:.825rem; }
.author-chip { display:inline-flex; align-items:center; gap:.45rem; color:var(--editorial-ink); font-weight:500; min-width:0; overflow-wrap:anywhere; }
.species-chip { display:inline-flex; align-items:center; gap:.45rem; max-width:100%; padding:.2rem .6rem; border:1px solid var(--editorial-line); border-radius:2px; color:var(--editorial-forest); background:transparent; font-size:.75rem; font-weight:500; overflow-wrap:anywhere; }
.species-chip img { width:24px; height:24px; flex:0 0 24px; border-radius:2px; object-fit:contain; }
.forum-details-container { padding:clamp(16px,3vw,36px); margin-bottom:32px; background:var(--reading-paper); }
.forum-species-feature-card { display:flex; align-items:center; gap:20px; margin-bottom:24px; padding:16px; background:var(--reading-support); color:inherit; text-decoration:none; }
.forum-details-container > .d-flex { flex-wrap:wrap; }
.forum-details-container > .d-flex > * { min-width:0; }
.forum-post-tools { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto; }
.forum-read-stats { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto; }
.forum-byline { align-items:center; }
.forum-comments-section { padding:clamp(16px,3vw,36px); background:var(--reading-paper); }
.forum-comments-section .forum-comment-card:has(> form) { padding:16px; background:var(--reading-support); border-bottom:0; }
.forum-posts-list .bg-warning,.forum-details-container .bg-warning { --bs-warning-rgb:var(--reading-highlight-rgb); --bs-dark-rgb:var(--reading-accent-rgb); color:var(--reading-accent); }
.forum-species-feature-card > div { min-width:0; overflow-wrap:anywhere; }
.forum-species-feature-img { width:64px; height:64px; flex:0 0 64px; object-fit:contain; border:1px solid var(--editorial-line); }
.forum-body-content { max-width:44em; margin:28px 0; color:var(--editorial-ink); font-size:1.05rem; line-height:1.8; overflow-wrap:anywhere; }
.forum-body-content img { max-width:100%; height:auto; border-radius:2px; margin:16px 0; }
.forum-actions-bar { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding-top:24px; border-top:1px solid var(--editorial-line); }
.forum-comment-card { padding:24px 0; margin-bottom:20px; border-bottom:1px solid var(--editorial-line); }
.floor-badge { display:inline-block; padding:.15rem .5rem; border-radius:2px; font-size:.75rem; color:var(--editorial-muted); background:var(--surface-sage); }
.sub-comment-thread { margin-top:16px; padding-left:16px; border-left:1px solid var(--editorial-line); }
.sub-comment-item { padding:12px 0; margin-bottom:8px; border-bottom:1px solid var(--editorial-line); font-size:.925rem; }
.forum-editor { max-width:860px; }
.forum-editor .ql-editor { min-height:280px; font:400 1.05rem/1.8 var(--font-sans); overflow-wrap:anywhere; }
.forum-editor .ql-toolbar.ql-snow,.forum-editor .ql-container.ql-snow { border-color:var(--editorial-line); background:var(--editorial-white); }
.species-search-dropdown { position:absolute; top:100%; left:0; right:0; z-index:10; max-height:240px; overflow-y:auto; background:var(--editorial-white); border:1px solid var(--editorial-line); border-radius:2px; }
.species-search-item { display:flex; align-items:center; gap:8px; padding:8px 14px; cursor:pointer; }
.species-search-item > div { min-width:0; overflow-wrap:anywhere; }
.species-search-item:hover { background:var(--surface-sage); }
@media(max-width:575.98px) {
 .forum-tag-pills { position:relative; flex-wrap:nowrap; overflow-x:auto; gap:12px; }
 .forum-tag-pill { flex-shrink:0; white-space:nowrap; }
 .forum-post-title { font-size:22px; }
 .forum-post-meta { flex-direction:column; align-items:flex-start; }
 .forum-post-tools { flex-basis:100%; margin-left:0; }
 .forum-byline { flex-direction:column; align-items:flex-start; }
 .forum-read-stats { margin-left:0; }
 .forum-species-feature-card { align-items:start; flex-wrap:wrap; gap:16px; }
 .forum-species-feature-card > div { flex:1 1 10ch; }
 .forum-species-feature-card > .btn { width:100%; }
 .forum-editor .ql-toolbar.ql-snow { padding:8px 4px; }
}

.card:has(#postForm) { border:0; padding:0; }
.card:has(#postForm) h1 { font-weight:500; font-size:clamp(28px,3vw,36px); }
