/* Article-only selectors: never turn comments, members or favourite tabs into cards. */
.song-community { --sc-article-columns: 4; --sc-article-gap: 16px; }
.song-community .sc-post-grid:not(.is-list),
.song-community .sc-category-main .sc-discussion-list,
.song-community .sc-public-profile #author-tab-post.active,
.song-community .sc-search-results .search-page-ajaxpager:has(> .type-post) {
    display: grid;
    grid-template-columns: repeat(var(--sc-article-columns), minmax(0, 1fr));
    gap: var(--sc-article-gap);
    align-items: start;
}
.song-community .sc-post-grid > .sc-empty,
.song-community .sc-category-main .sc-discussion-list > .sc-empty,
.song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager) > :not(.posts-item) {
    grid-column: 1 / -1;
    min-width: 0;
}
/* The explicit list-view control keeps its single-column layout. */
.song-community .sc-post-grid.is-list { grid-template-columns: minmax(0, 1fr); }
.song-community .sc-post-grid:not(.is-list) .sc-post-inner { padding: 12px; gap: 8px; }
.song-community .sc-post-grid:not(.is-list) .sc-post-cover { aspect-ratio: 16 / 9; }
.song-community .sc-post-grid:not(.is-list) h2 {
    font-size: 17px; line-height: 1.55; margin: 0; min-height: 0;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
    overflow: hidden; overflow-wrap: anywhere;
}
/* Clamp the entire title, including the sticky badge, rather than a separate block link. */
.song-community .sc-post-grid:not(.is-list) h2 > a { display: inline; }
.song-community .sc-post-grid:not(.is-list) h2 > .sc-sticky-tag {
    display: inline; margin-right: 5px; padding: 1px 4px; font-size: 11px; vertical-align: baseline;
}
.song-community .sc-post-grid:not(.is-list) .sc-post-byline { flex-wrap: nowrap; font-size: 12px; }
.song-community .sc-post-grid:not(.is-list) .sc-post-byline .sc-avatar { --sc-avatar-size: 24px !important; }
.song-community .sc-post-grid:not(.is-list) .sc-post-byline > a { flex: 1; max-width: none; min-width: 0; }
.song-community .sc-post-grid:not(.is-list) .sc-post-byline time { flex: none; width: auto; margin-left: auto; font-size: 11px; }
.song-community .sc-post-grid:not(.is-list) .sc-post-excerpt { display: none; }
.song-community .sc-post-grid:not(.is-list) .sc-category-tag {
    align-self: flex-start; max-width: 100%; margin: 0; padding: 1px 6px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px;
}
.song-community .sc-post-grid:not(.is-list) .sc-post-actions {
    gap: 8px; flex-wrap: nowrap; font-size: 12px; padding-top: 5px; margin-top: 0;
}
.song-community .sc-post-grid:not(.is-list) .sc-post-actions > :is(a, button) {
    min-height: 32px; min-width: 32px; display: inline-flex; align-items: center; justify-content: center; gap: 4px;
}
.song-community .sc-post-grid:not(.is-list) .sc-post-actions .sc-icon { width: 16px; height: 16px; }

/* Category/tag rows become vertical cards without changing links or pagination. */
.song-community .sc-category-main .sc-discussion-list { background: transparent; border: 0; overflow: visible; }
.song-community .sc-category-main .sc-discussion-list > .sc-discussion-row {
    display: flex; flex-direction: column; align-items: stretch; gap: 8px;
    min-width: 0; padding: 14px; border: 1px solid var(--sc-line); border-radius: 15px;
    background: var(--sc-card); box-shadow: var(--sc-shadow);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.song-community .sc-discussion-row .sc-row-cover {
    order: -2; width: calc(100% + 28px); height: auto; aspect-ratio: 16 / 9;
    margin: -14px -14px 2px; border-radius: 14px 14px 0 0;
}
.song-community .sc-category-main .sc-row-author { display: none; }
.song-community .sc-category-main .sc-row-author .sc-avatar { --sc-avatar-size: 28px !important; }
.song-community .sc-category-main .sc-row-content { width: 100%; min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.song-community .sc-category-main .sc-row-content h2 {
    font-size: 17px; line-height: 1.55; margin: 0; min-height: 0;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
    overflow: hidden; overflow-wrap: anywhere;
}
.song-community .sc-category-main .sc-row-content h2 > a { display: inline; }
.song-community .sc-category-main .sc-row-content > p { display: none; }
.song-community .sc-category-main .sc-row-meta { display: flex; flex-wrap: wrap; gap: 6px 9px; margin-top: auto; font-size: 11px; }
.song-community .sc-category-main .sc-row-meta > a:first-child { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.song-community .sc-category-main .sc-row-meta > a { min-height: 28px; display: inline-flex; align-items: center; }

/* Only the profile's post tab and search's post results use legacy posts markup. */
.song-community :is(.sc-public-profile #author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) > .posts-item {
    display: flex; flex-direction: column; align-items: stretch; gap: 0;
    float: none; width: 100% !important; min-width: 0; min-height: 0; height: auto;
    margin: 0 !important; padding: 0 !important; overflow: hidden;
    border: 1px solid var(--sc-line) !important; border-radius: 15px !important;
    background: var(--sc-card) !important; box-shadow: var(--sc-shadow) !important;
    transition: transform .18s ease, border-color .18s ease;
}
.song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) > .posts-item > .flex { flex-direction: column; gap: 0; }
.song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .post-graphic {
    order: -1; flex: none; width: 100%; margin: 0; padding: 0;
}
.song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-thumbnail {
    display: block; flex: none; width: 100%; height: auto; padding: 0;
    aspect-ratio: 16 / 9; margin: 0; border-radius: 0 !important; overflow: hidden;
}
.song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-thumbnail img {
    width: 100%; height: 100%; object-fit: cover;
}
.song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-body {
    width: 100%; flex: 1; min-width: 0; padding: 12px; margin: 0;
    display: flex; flex-direction: column; gap: 8px;
}
.song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-heading {
    font-size: 17px !important; line-height: 1.55 !important; min-height: 0; margin: 0;
    white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
    overflow: hidden; overflow-wrap: anywhere;
}
.song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-excerpt { display: none; }
.song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-meta {
    display: flex; flex-wrap: wrap; gap: 5px 8px; font-size: 11px; margin-top: auto;
}
.song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-meta > * { margin: 0; max-width: 100%; min-width: 0; }
.song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-meta .but { font-size: 11px; }
.song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-tags { margin-bottom: 5px; }

@media (min-width: 1200px) and (max-width: 1599px) {
    /* Four readable cards take priority over a simultaneous information rail. */
    .song-community :is(.sc-home-layout, .sc-category-layout) { grid-template-columns: minmax(0, 1fr); }
    .song-community :is(.sc-home-layout, .sc-category-layout) > .sc-right-rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 1199px) { .song-community { --sc-article-columns: 3; } }
@media (max-width: 767px) {
    .song-community { --sc-article-columns: 2; --sc-article-gap: 10px; }
    .song-community .sc-post-grid:not(.is-list) .sc-post-inner { padding: 10px; gap: 6px; }
    .song-community .sc-post-grid:not(.is-list) h2,
    .song-community .sc-category-main .sc-row-content h2 { font-size: 14px; line-height: 1.6; -webkit-line-clamp: 2; min-height: 0; }
    .song-community .sc-post-grid:not(.is-list) .sc-post-excerpt,
    .song-community .sc-category-main .sc-row-content > p { display: none; }
    .song-community .sc-post-grid:not(.is-list) .sc-post-byline { font-size: 11px; }
    .song-community .sc-post-grid:not(.is-list) .sc-post-byline .sc-avatar { display: inline-flex; --sc-avatar-size: 22px !important; flex: 0 0 22px; }
    .song-community .sc-post-grid:not(.is-list) .sc-post-byline > .sc-verified { display: none; }
    .song-community .sc-post-grid:not(.is-list) .sc-post-byline > a { gap: 5px; overflow: visible; }
    .song-community .sc-post-grid:not(.is-list) .sc-post-byline > a > span:not(.sc-avatar) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .song-community .sc-post-grid:not(.is-list) .sc-post-byline time { font-size: 10px; max-width: 5.5em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .song-community .sc-post-grid:not(.is-list) .sc-category-tag { font-size: 11px; }
    .song-community .sc-post-grid:not(.is-list) .sc-post-actions { gap: 3px 7px; font-size: 11px; }
    .song-community .sc-post-grid:not(.is-list) .sc-post-actions > span { flex-basis: auto; margin-left: auto; }
    .song-community .sc-post-grid:not(.is-list) .sc-post-actions > a:not(.sc-like) { display: none; }
    .song-community .sc-category-main .sc-discussion-list > .sc-discussion-row { padding: 10px; gap: 8px; }
    .song-community .sc-discussion-row .sc-row-cover { width: calc(100% + 20px); margin: -10px -10px 0; }
    .song-community .sc-category-main .sc-row-meta { gap: 3px 6px; }
    .song-community .sc-public-profile .author-tab.zib-widget { padding: 12px; }
    .song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-body { padding: 10px; gap: 6px; }
    .song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-heading { font-size: 14px !important; line-height: 1.6 !important; -webkit-line-clamp: 2; min-height: 0; }
    .song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-excerpt { display: none; }
    .song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-tags:not(:has(.meta-pay)),
    .song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-tags > :not(.meta-pay) { display: none; }
    .song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-meta {
        flex-wrap: nowrap; gap: 4px; font-size: 10px; line-height: 1.5;
    }
    .song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-meta .meta-right { flex: none; margin-left: auto; white-space: nowrap; }
    .song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-meta :is(.meta-comm, .meta-like, .avatar-mini),
    .song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-meta .icon-circle::before { display: none; }
    .song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-meta .meta-view { margin: 0; }
    .song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) .posts-item .item-meta > :first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .song-community .sc-feed-toolbar { align-items: flex-start; flex-wrap: wrap; gap: 10px; }
    .song-community .sc-feed-tabs { gap: 15px; max-width: 100%; overflow-x: auto; padding-bottom: 3px; }
    .song-community .sc-feed-tabs a { min-height: 36px; display: inline-flex; align-items: center; font-size: 13px; }
    .song-community .sc-view-toggle button { min-width: 36px; min-height: 36px; justify-content: center; align-items: center; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .song-community .sc-category-main .sc-discussion-row:hover,
    .song-community :is(#author-tab-post, .sc-search-results .search-page-ajaxpager:has(> .type-post)) > .posts-item:hover { transform: translateY(-2px); border-color: var(--sc-green) !important; }
}
@media (prefers-reduced-motion: reduce) {
    .song-community :is(.sc-post-card, .sc-post-cover img, .sc-discussion-row, #author-tab-post > .posts-item, .sc-search-results .posts-item) { transition: none !important; transform: none !important; }
}
