/* ============================================================
   Brave基地 — BuddyBoss Community Page Overrides
   Cyberpunk visual consistency for BuddyBoss components
   ============================================================ */

.brave-base-theme #buddypress {
    color: var(--fg);
}

/* BP Nouveau 默认 .screen-content 有 margin-left: 20%, border-left 和 padding: 0 0 2em 1em，
   但在 FSE is-layout-constrained 布局中不需要（约束链处理左右间距） */
.brave-base-theme #buddypress .screen-content {
    margin-left: 0;
    border-left: none;
    padding: 0 0 2em 0;
}

.brave-base-theme #buddypress a {
    color: var(--neon-gold);
}

.brave-base-theme #buddypress .bp-navs ul li a {
    padding: 8px 20px;
    font-size: 0.813rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--muted);
    border-color: var(--border);
    border-bottom: 2px solid transparent;
    transition: color 0.15s, border-color 0.15s;
}

.brave-base-theme #buddypress .bp-navs ul li a .count {
    display: inline-block;
    padding: 1px 10px;
    border-radius: 10px;
    font-size: 0.65rem;
    font-weight: 600;
    line-height: 1.6;
    background: color-mix(in srgb, var(--border), transparent 40%);
    color: var(--fg);
    margin-left: 6px;
    vertical-align: middle;
}

.brave-base-theme #buddypress .bp-navs ul li.current a,
.brave-base-theme #buddypress .bp-navs ul li.selected a {
    color: var(--fg-bright);
    border-bottom-color: var(--neon-gold);
    background: transparent;
    box-shadow: none;
}

.brave-base-theme #buddypress .bp-navs ul li.current a .count,
.brave-base-theme #buddypress .bp-navs ul li.selected a .count {
    background: color-mix(in srgb, var(--neon-gold), transparent 75%);
    color: var(--neon-gold);
}

/* ── Groups directory cards ── */

.brave-base-theme #buddypress.bp-dir-hori-nav:not(.bp-vertical-navs) nav:not(.tabbed-links) {
    box-shadow: none;
}

.brave-base-theme #groups-list {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}

.brave-base-theme #groups-list:before,
.brave-base-theme #groups-list:after {
    display: none;
}

@media (max-width: 1100px) {
    .brave-base-theme #groups-list {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 900px) {
    .brave-base-theme #groups-list {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 700px) {
    .brave-base-theme #groups-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .brave-base-theme #groups-list {
        grid-template-columns: 1fr;
    }
}

.brave-base-theme #groups-list .list-wrap {
    background: var(--surface);
    border: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    transition: border-color 0.15s ease;
    position: relative;
    height: 100%;
}

.brave-base-theme #groups-list .list-wrap:hover {
    border-color: var(--neon-gold);
}

.brave-base-theme #groups-list .item-avatar {
    padding: 20px 20px 0;
    text-align: center;
}

.brave-base-theme #groups-list .item-avatar img.avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--border);
}

.brave-base-theme #groups-list .item {
    padding: 12px 20px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.brave-base-theme #groups-list .item-block {
    text-align: center;
    margin-bottom: 8px;
    width: 100%;
}

.brave-base-theme #groups-list .list-title.groups-title {
    margin: 0 0 4px;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    float: none !important;
    text-align: center !important;
}

.brave-base-theme #groups-list .list-title.groups-title a {
    color: var(--fg-bright);
    text-decoration: none;
}

.brave-base-theme #groups-list .list-title.groups-title a:hover {
    color: var(--neon-gold);
}

.brave-base-theme #groups-list .group-details {
    font-size: 0.75rem;
    color: var(--muted);
    margin: 0 0 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.brave-base-theme #groups-list .group-details .group-status {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 10px;
    font-size: 0.688rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: color-mix(in srgb, var(--fg), transparent 88%);
    color: var(--fg-bright);
}

.brave-base-theme #groups-list .group-details .member-count {
    font-size: 0.75rem;
    color: var(--muted);
}

.brave-base-theme #groups-list .item-meta {
    float: none;
    text-align: center;
}

.brave-base-theme #groups-list .last-activity {
    font-size: 0.75rem;
    color: var(--muted);
    margin: 0 0 10px;
}

.brave-base-theme #groups-list .group-desc {
    display: none;
}

.brave-base-theme #groups-list .bp-generic-button {
    text-align: center;
    margin-top: auto;
}

.brave-base-theme #groups-list .generic-button {
    text-align: center;
}

.brave-base-theme #groups-list .generic-button a {
    display: inline-block;
    padding: 6px 20px;
    font-size: 0.813rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border: 1px solid var(--neon-gold);
    color: var(--neon-gold);
    text-decoration: none;
    transition: all 0.15s;
}

.brave-base-theme #groups-list .generic-button a:hover {
    background: var(--neon-gold);
    color: var(--bg);
}

/* ── Members directory cards ── */

.brave-base-theme #members-list {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}

.brave-base-theme #members-list:before,
.brave-base-theme #members-list:after {
    display: none;
}

.brave-base-theme #members-list .list-wrap {
    background: var(--surface);
    border: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    transition: border-color 0.15s ease;
    position: relative;
    height: 100%;
    min-width: 0;
}

.brave-base-theme #members-list .list-wrap:hover {
    border-color: var(--neon-gold);
}

.brave-base-theme #members-list .item-avatar {
    padding: 20px 20px 0;
    text-align: center;
}

.brave-base-theme #members-list .item-avatar img.avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--border);
}

.brave-base-theme #members-list .item {
    padding: 12px 20px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.brave-base-theme #members-list .item-block {
    text-align: center;
    margin-bottom: 8px;
    width: 100%;
}

.brave-base-theme #members-list .list-title.member-name {
    margin: 0 0 4px;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    float: none !important;
    text-align: center !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brave-base-theme #members-list .list-title.member-name a {
    color: var(--fg-bright);
    text-decoration: none;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brave-base-theme #members-list .list-title.member-name a:hover {
    color: var(--neon-gold);
}

.brave-base-theme #members-list .item-meta {
    float: none;
    text-align: center;
}

.brave-base-theme #members-list .last-activity {
    font-size: 0.75rem;
    color: var(--muted);
    margin: 0 0 10px;
}

.brave-base-theme #members-list .user-update {
    display: none;
}

.brave-base-theme #members-list .action {
    text-align: center;
    margin-top: auto;
}

.brave-base-theme #members-list .generic-button {
    text-align: center;
}

.brave-base-theme #members-list .generic-button a {
    display: inline-block;
    padding: 6px 20px;
    font-size: 0.813rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border: 1px solid var(--neon-gold);
    color: var(--neon-gold);
    text-decoration: none;
    transition: all 0.15s;
}

.brave-base-theme #members-list .generic-button a:hover {
    background: var(--neon-gold);
    color: var(--bg);
}

.brave-base-theme #buddypress .button,
.brave-base-theme #buddypress .bp-button {
    background: transparent !important;
    color: var(--neon-gold) !important;
    border: 1px solid rgba(212,165,74,0.3) !important;
    border-radius: 0 !important;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.813rem;
}

.brave-base-theme #buddypress .button:hover,
.brave-base-theme #buddypress .bp-button:hover {
    background: var(--neon-gold) !important;
    color: var(--bg) !important;
}

.brave-base-theme #buddypress .activity-item {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 15px;
    padding: 15px 15px 10px !important;
    list-style: none;
}

.brave-base-theme #buddypress .activity-item:hover {
    border-color: rgba(212,165,74,0.15);
}

.brave-base-theme #buddypress .activity-item .activity-avatar {
    width: 50px;
}

.brave-base-theme #buddypress .activity-item .activity-avatar img.avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    max-width: 40px;
}

.brave-base-theme #buddypress .activity-item .activity-content {
    margin-left: 55px;
}

.brave-base-theme #buddypress .activity-item .activity-header {
    font-size: 14px;
    line-height: 1.5;
}

.brave-base-theme #buddypress .activity-header,
.brave-base-theme #buddypress .activity-header a {
    color: var(--fg);
}

.brave-base-theme #buddypress .activity-header a:hover {
    color: var(--neon-gold);
}

/* Hide images inside activity content body (blog post thumbnails, etc.) */
.brave-base-theme #buddypress .activity-item .activity-inner img {
    display: none;
}

/* Forum topic activity already shows title in header -- hide the content body */
.brave-base-theme #buddypress .activity-item.new_forum_post .activity-inner,
.brave-base-theme #buddypress .activity-item.new_forum_topic .activity-inner,
.brave-base-theme #buddypress .activity-item.bbp_topic_create .activity-inner,
.brave-base-theme #buddypress .activity-item.bbp_reply_create .activity-inner {
    display: none;
}

/* Friendship/avatar preview card is redundant -- action header already says "became friends" */
.brave-base-theme #buddypress .activity-item.friendship_created .activity-inner,
.brave-base-theme #buddypress .activity-item.new_avatar .activity-inner {
    display: none;
}

.brave-base-theme #buddypress .activity-time-since {
    color: var(--muted);
}

/* Activity meta bar — border separator + clean buttons */
.brave-base-theme #buddypress .activity-item .activity-meta {
    border-top: 1px solid var(--border);
    margin-top: 10px;
    padding-top: 8px;
}

.brave-base-theme #buddypress .activity-item .activity-meta .button {
    background: transparent;
    border: none;
    color: var(--muted);
    font-size: 13px;
    line-height: 1;
    padding: 4px 8px;
    border-radius: 4px;
    transition: all .15s;
}

.brave-base-theme #buddypress .activity-item .activity-meta .button:hover {
    color: var(--neon-gold);
    background: rgba(212, 165, 74, .08);
}

/*
 * BP Nouveau 的 bp_insert_activity_meta() 对 group 活动
 * (bbp_topic_create / bbp_reply_create) 返回空链接 href=""
 * — bp_activity_get_permalink() 对 group + bbPress 类型返回空。
 * 禁用点击/光标/链接样式，避免点了等于刷新页面。
 *
 * 如果将来活动详情页路由配好了，删掉这三行恢复链接功能。
 */
.brave-base-theme #buddypress .activity-header a.view.activity-time-since[href=""] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit;
}

/* ── Activity feed left padding with sidebar ── */

.brave-base-theme.has-brave-sidebar #buddypress .activity-list.item-list.bp-list {
    padding-left: 30px !important;
}

/* ═══════════════════════════════════════════
   BuddyBoss Card Layout — bbPress Topic List
   ═══════════════════════════════════════════ */

/* ── Container ── */

.brave-base-theme #bbpress-forums {
    font-size: inherit;
    overflow: initial;
}

.brave-base-theme .brave-bbpress-wrap {
    padding-bottom: 20px;
}

.brave-base-theme #bbpress-forums:after {
    content: "";
    display: table;
    clear: both;
}

.brave-base-theme .bbp-breadcrumb {
    font-size: 14px;
    color: var(--muted);
    padding: 0 0 20px;
}

.brave-base-theme .bbp-breadcrumb a {
    color: var(--neon-gold);
}

.brave-base-theme .bbp-breadcrumb .bbp-breadcrumb-sep {
    margin: 0 6px;
    color: var(--muted);
}

.brave-base-theme .bbp-breadcrumb .bbp-breadcrumb-current {
    color: var(--fg-bright);
}

/* ── Topic list container ── */

.brave-base-theme .bs-forums-items {
    margin-bottom: 30px;
}

.brave-base-theme .bs-forums-items.list-view {
    position: static;
}

.brave-base-theme .bs-forums-items.bs-item-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ── Topic list ── */

.brave-base-theme .bs-forums-items .bs-item-wrap {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 0;
    margin: 0 0 -1px;
    padding: 12px 20px;
    transition: border-color 0.15s ease, background-color 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.brave-base-theme .bs-forums-items .bs-item-wrap:not(.bs-header-item) {
    border-top: 0;
}

.brave-base-theme .bs-forums-items .bs-item-wrap:hover {
    border-color: var(--border);
    background: color-mix(in srgb, var(--surface), var(--fg) 4%);
}

/* ── Header item ── */

.brave-base-theme .bs-header-item {
    min-height: auto;
    padding: 12px 0 8px;
    border: none !important;
    background: transparent !important;
    margin-bottom: 4px;
}

.brave-base-theme .bs-header-item .flex-1 {
    flex: 1;
}

.brave-base-theme .bs-section-title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--fg-bright);
    line-height: 1.3;
}

/* ── Suppress wpautop artifacts: stray <p> and <br> tags ── */

.brave-base-theme .brave-bbpress-wrap br,
.brave-base-theme .bbp-pagination-links br,
.brave-base-theme .bbp-pagination-count br {
    display: none;
}

.brave-base-theme .brave-bbpress-wrap p:empty {
    display: none;
}

.brave-base-theme .item-meta p,
.brave-base-theme .item-meta br,
.brave-base-theme .item-avatar br,
.brave-base-theme .item-title br {
    display: none !important;
}

.brave-base-theme .bs-forums-items .item-meta br,
.brave-base-theme .action.bs-forums-meta br {
    display: none;
}

.brave-base-theme .bs-item-wrap .flex-1 p:empty {
    display: none;
}

/* ── Avatar column ── */

.brave-base-theme .bs-forums-items .item-avatar {
    flex-shrink: 0;
    position: relative;
    align-self: center;
    line-height: 0;
}

/* ── Topic status badges ── */

.brave-base-theme .bb-topic-status-wrapper {
    position: absolute;
    bottom: -4px;
    right: -4px;
    z-index: 2;
}

.brave-base-theme .bb-topic-status {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 1px 5px;
    border-radius: 2px;
    line-height: 1.3;
}

.brave-base-theme .bb-topic-status.closed {
    background: var(--muted);
    color: var(--bg);
}

.brave-base-theme .bb-topic-status.sticky {
    background: var(--neon-gold);
    color: var(--bg);
}

.brave-base-theme .bb-topic-status.super-sticky {
    background: var(--accent);
    color: var(--bg);
}

.brave-base-theme .bs-forums-items .item-avatar img {
    border-radius: 50%;
    width: 32px;
    height: 32px;
    object-fit: cover;
}

.brave-base-theme .bs-forums-items .item-avatar > a {
    display: inline-block;
    min-width: 32px;
}

.brave-base-theme .bs-forums-items .item-avatar .bbp-author-name {
    display: none;
}

.brave-base-theme .bs-forums-items .item-avatar .bbp-author-avatar {
    display: inline;
}

.brave-base-theme .bs-forums-items .item-avatar .avatar {
    max-width: 32px;
}

/* ── Status badges on avatar ── */

.brave-base-theme .bb-topic-status-wrapper {
    position: absolute;
    bottom: -2px;
    right: -4px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--surface);
    border: 2px solid var(--surface);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    line-height: 1;
    color: var(--muted);
}

/* ── Content column (item) ── */

.brave-base-theme .flex {
    display: flex;
}

.brave-base-theme .flex-1 {
    flex: 1;
}

.brave-base-theme .flex.flex-1 {
    display: flex;
    flex: 1;
    gap: 8px;
    min-width: 0;
}

.brave-base-theme .bs-forums-items .item {
    flex: 1;
    min-width: 0;
}

/* ── Topic title ── */

.brave-base-theme .bs-forums-items .item-title {
    margin-bottom: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.brave-base-theme .bs-forums-items .item-title a {
    font-size: 1rem;
    font-weight: 600;
    color: var(--fg-bright);
    text-decoration: none;
    line-height: 1.4;
    word-break: break-word;
    letter-spacing: -0.01em;
}

.brave-base-theme .bs-forums-items .item-title a:hover {
    color: var(--neon-gold);
}

.brave-base-theme .bs-forums-items .closed .item-title a {
    opacity: 0.6;
    font-weight: 400;
}

/* ── Topic meta ── */

.brave-base-theme .bs-forums-items .item-meta {
    font-size: 0.75rem;
    color: var(--muted);
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    line-height: 1.5;
}

.brave-base-theme .bs-forums-items .item-meta a {
    color: var(--fg);
    text-decoration: none;
}

.brave-base-theme .bs-forums-items .item-meta a:hover {
    color: var(--neon-gold);
}

.brave-base-theme .bs-forums-items .item-meta > span {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.brave-base-theme .bs-replied {
    color: var(--muted);
    display: inline-flex;
    align-items: center;
    gap: 3px;
    flex-wrap: wrap;
}

.brave-base-theme .bs-replied a {
    color: var(--neon-gold);
}

.brave-base-theme .bs-replied a:hover {
    text-decoration: underline;
}

.brave-base-theme .bs-replied .bbp-topic-freshness-author {
    display: inline;
    margin-right: 2px;
}

.brave-base-theme .bs-replied .bbp-topic-freshness-author .avatar {
    display: none;
}

.brave-base-theme .bs-replied .bbp-topic-freshness-author a {
    color: var(--fg-bright);
    font-weight: 500;
}

/* ── Voice / Reply counts ── */

.brave-base-theme .bs-voices-wrap {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    color: var(--muted);
}

.brave-base-theme .bs-voices-wrap .bs-separator {
    color: var(--border);
}

.brave-base-theme .bs-voices-wrap .bs-replies {
    color: var(--muted);
}

/* ── Forum group badge (action column) ── */

.brave-base-theme .action.bs-forums-meta {
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
    padding-top: 2px;
}

.brave-base-theme .bs-forums-meta .bs-meta-item {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    background: color-mix(in srgb, var(--fg), transparent 88%);
    color: var(--fg-bright);
    border: 1px solid var(--border);
}

.brave-base-theme .action.bs-forums-meta {
    align-self: center;
    padding-top: 0;
}

.brave-base-theme .bs-forums-meta .bs-meta-item a {
    color: inherit;
    text-decoration: none;
}

.brave-base-theme .bs-forums-meta .bs-meta-item a:hover {
    text-decoration: underline;
}

/* ── Closed topic ── */

.brave-base-theme .bs-item-wrap.closed {
    opacity: 0.75;
}

/* ── Pagination (bbPress default classes) ── */

.brave-base-theme .bbp-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: row wrap;
    gap: 8px;
    padding: 16px 0 0;
}

.brave-base-theme .bbp-pagination-count {
    color: var(--muted);
    font-size: 0.813rem;
    line-height: 1.5;
    flex-shrink: 0;
}

.brave-base-theme .bbp-pagination-links {
    display: flex;
    align-items: center;
    flex-flow: row wrap;
    gap: 4px;
    font-size: 0.813rem;
}

.brave-base-theme .bbp-pagination-links p {
    display: inline;
    margin: 0;
}

.brave-base-theme .bbp-pagination-links br {
    display: none;
}

.brave-base-theme .bbp-pagination-links a.page-numbers,
.brave-base-theme .bbp-pagination-links span.page-numbers.current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border-radius: 3px;
    background: var(--surface);
    border: 1px solid var(--border);
    color: var(--fg);
    text-decoration: none;
    transition: all 0.15s;
    font-size: 0.813rem;
}

.brave-base-theme .bbp-pagination-links a.page-numbers:hover {
    border-color: var(--neon-gold);
    color: var(--neon-gold);
}

.brave-base-theme .bbp-pagination-links span.page-numbers.current {
    background: var(--neon-gold);
    color: var(--bg);
    border-color: var(--neon-gold);
    font-weight: 600;
}

.brave-base-theme .bbp-pagination-links span.page-numbers.dots {
    padding: 0 6px;
    color: var(--muted);
    display: inline;
}

/* ═══════════════════════════════════════════
   Group Page — Cover Image & Header
   ═══════════════════════════════════════════ */

.brave-base-theme #buddypress .groups-header #cover-image-container {
    background: var(--surface);
    border: 1px solid var(--border);
    margin-bottom: 4px;
}

.brave-base-theme #buddypress #header-cover-image {
    background-color: color-mix(in srgb, var(--neon-gold) 40%, var(--bg));
    height: 225px;
    position: relative;
}

.brave-base-theme #buddypress #item-header-cover-image {
    display: flex !important;
    flex-flow: row wrap;
    align-items: flex-start;
    padding: 0 20px 2px;
    position: relative;
}

.brave-base-theme #buddypress #item-header-cover-image #item-header-avatar {
    margin-top: -80px;
    margin-right: 16px;
    margin-bottom: 0;
    padding: 0;
    position: relative;
    z-index: 2;
    flex-shrink: 0;
}

.brave-base-theme #buddypress #item-header-cover-image #item-header-avatar img.avatar {
    width: 150px !important;
    height: 150px !important;
    max-width: none;
    border-radius: 50%;
    border: 3px solid var(--bg);
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    object-fit: cover;
}

.brave-base-theme #buddypress #item-header-content {
    flex: 1;
    min-width: 0;
    padding-top: 8px;
}

.brave-base-theme #buddypress .groups-header .highlight.group-status {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--neon-gold);
    margin: 0 0 2px;
}

.brave-base-theme #buddypress .groups-header .activity {
    font-size: 0.75rem;
    color: var(--muted);
    margin: 0 0 4px;
}

.brave-base-theme #buddypress .groups-header .group-description {
    font-size: 0.813rem;
    color: var(--fg);
    line-height: 1.5;
    margin-top: 4px;
}

.brave-base-theme #buddypress .group-item-actions {
    flex: 0 0 100%;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

/* ═══════════════════════════════════════════
   Group Header — Organizers / Moderators
   ═══════════════════════════════════════════ */

.brave-base-theme #buddypress #item-header-cover-image {
    margin-bottom: 0;
}
/* ── Group page header items (nested) ── */

.brave-base-theme #buddypress #item-header-cover-image #item-header-content {
    font-size: 0.9rem;
}

.brave-base-theme #buddypress .group-description {
    font-size: 13px;
    color: var(--fg);
    line-height: 1.4;
    margin: 0 0 4px;
    padding: 0;
}

/* Responsive: stack vertically on mobile */
@media (max-width: 768px) {
    .brave-base-theme #buddypress #item-header-cover-image {
        flex-flow: column nowrap;
        align-items: center;
        padding-bottom: 10px;
    }
    .brave-base-theme #buddypress #item-header-cover-image #item-header-avatar {
        margin-top: -40px;
        margin-right: 0;
    }
    .brave-base-theme #buddypress #item-header-cover-image #item-header-avatar img.avatar {
        max-width: 100px;
    }
    .brave-base-theme #buddypress #item-header-content {
        width: 100%;
    }
}

/* ── BuddyBoss feedback notices ── */

.brave-base-theme #buddypress .bp-feedback {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none;
    padding: 12px 16px;
    color: var(--fg);
    font-size: 14px;
}

.brave-base-theme #buddypress .bp-feedback .bp-icon {
    background: transparent;
    color: var(--neon-gold);
}

.brave-base-theme #buddypress .bp-feedback p {
    color: var(--fg);
    margin: 0;
}

.brave-base-theme #buddypress .bp-feedback.info {
    background: var(--surface);
    border-left: 3px solid var(--neon-gold);
}

.brave-base-theme #buddypress .bp-feedback.help {
    background: var(--surface);
    border-left: 3px solid var(--muted);
}

/* ── No topics feedback ── */

.brave-base-theme .bbp-template-notice {
    padding: 16px 20px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 4px;
    color: var(--muted);
    font-size: 14px;
}

/* ── Legacy fallback for stock bbPress tables ── */

.brave-base-theme .bbp-forums,
.brave-base-theme .bbp-topics {
    color: var(--fg);
}

.brave-base-theme .bbp-forum-title,
.brave-base-theme .bbp-topic-title a {
    color: var(--fg-bright);
}

.brave-base-theme .bbp-forum-title:hover,
.brave-base-theme .bbp-topic-title a:hover {
    color: var(--neon-gold);
}



/* ═══════════════════════════════════════════
   LearnDash Courses — FSE card grid
   ═══════════════════════════════════════════ */

.brave-base-theme .wp-block-query ul.wp-block-post-template {
    gap: 20px;
}

.brave-base-theme .bb-course-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100%;
    border: 1px solid var(--border);
    transition: border-color 0.15s;
}

.brave-base-theme .bb-course-card:hover {
    border-color: rgba(212,165,74,0.25);
}

/* Featured image area */
.brave-base-theme .bb-course-card .wp-block-post-featured-image {
    margin: 0;
    position: relative;
}

.brave-base-theme .bb-course-card .wp-block-post-featured-image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

/* Lesson count */
.brave-base-theme .bb-course-lessons {
    font-size: 12px;
    color: var(--muted);
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Title */
.brave-base-theme .bb-course-card .wp-block-post-title {
    margin: 0 0 8px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
}

.brave-base-theme .bb-course-card .wp-block-post-title a {
    color: var(--fg);
    text-decoration: none;
}

.brave-base-theme .bb-course-card .wp-block-post-title a:hover {
    color: var(--neon-gold);
}

/* Author row */
.brave-base-theme .bb-course-author {
    margin-bottom: 8px;
}

.brave-base-theme .bb-course-author .wp-block-post-author {
    font-size: 13px;
    color: var(--fg);
}

.brave-base-theme .bb-course-author .wp-block-post-author__avatar img {
    border-radius: 50%;
    width: 28px;
    height: 28px;
}

.brave-base-theme .bb-course-author .wp-block-post-author__name a {
    color: var(--fg);
    text-decoration: none;
    font-weight: 500;
}

.brave-base-theme .bb-course-author .wp-block-post-author__name a:hover {
    color: var(--neon-gold);
}

/* Excerpt */
.brave-base-theme .bb-course-card .wp-block-post-excerpt {
    font-size: 13px;
    color: var(--fg);
    line-height: 1.5;
    margin: 0;
}

.brave-base-theme .bb-course-card .wp-block-post-excerpt__more-text {
    display: none;
}

/* Pagination */
.brave-base-theme .wp-block-query-pagination {
    margin-top: 24px;
}

.brave-base-theme .wp-block-query-pagination .page-numbers {
    display: inline-block;
    padding: 4px 12px;
    margin: 0 2px;
    border: 1px solid var(--border);
    border-radius: 4px;
    font-size: 13px;
    color: var(--fg);
    text-decoration: none;
}

.brave-base-theme .wp-block-query-pagination .page-numbers.current {
    background: var(--neon-gold);
    color: #fff;
    border-color: var(--neon-gold);
}

.brave-base-theme .wp-block-query-pagination .page-numbers:hover {
    border-color: var(--neon-gold);
}

/* Remove BuddyBoss default h2 title above archive */
.brave-base-theme .wp-block-query-title {
    display: none;
}


/* ── Responsive ── */

@media (max-width: 768px) {
    .brave-base-theme .bs-forums-items .bs-item-wrap {
        padding: 14px 16px;
        flex-wrap: wrap;
    }

    .brave-base-theme .flex.flex-1 {
        flex-wrap: wrap;
    }

    .brave-base-theme .bs-forums-items .item-avatar img {
        width: 36px;
        height: 36px;
    }

    .brave-base-theme .bs-forums-items .item-avatar > a {
        min-width: 36px;
    }

    .brave-base-theme .bs-forums-items .item-title a {
        font-size: 0.938rem;
    }

    .brave-base-theme .action.bs-forums-meta {
        flex: 0 0 100%;
        margin-top: 8px;
    }

    .brave-base-theme .bbp-pagination {
        flex-direction: column;
        align-items: flex-start;
    }

    .brave-base-theme .bb-course-card .wp-block-post-featured-image img {
        height: 140px;
    }

    .brave-base-theme .wp-block-query ul.wp-block-post-template {
        gap: 14px;
    }

    .brave-base-theme .bb-course-card .wp-block-post-title {
        font-size: 0.938rem;
    }

}

/* ── Group single page — header card layout ── */

.brave-base-theme.groups.single-item #cover-image-container {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 4px;
    overflow: hidden;
}

body.brave-base-theme.groups.single-item #buddypress #item-header-cover-image {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
    padding: 20px 25px 16px;
    min-height: 0;
}

.brave-base-theme.groups.single-item #header-cover-image {
    height: 225px;
}

/* Override BP Nouveau inline styles with higher-specificity body prefix */
body.brave-base-theme.groups.single-item #buddypress #item-header-cover-image #item-header-avatar img.avatar {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    border: 3px solid var(--bg);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image #item-header-content {
    flex: 1;
    min-width: 200px;
    float: none;
    clear: none;
    margin: 0;
    width: auto;
}

body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image .bb-bp-group-title {
    font-size: 1.35rem;
    line-height: 1.3;
    margin: 0 0 6px;
    color: var(--fg-bright);
    text-shadow: none;
}

body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image .bp-group-meta-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    align-items: center;
    font-size: 0.813rem;
    color: var(--muted);
    margin-bottom: 8px;
}

body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image .bp-group-meta-wrap .highlight,
body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image .bp-group-meta-wrap .bp-group-type-list,
body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image .bp-group-meta-wrap p {
    margin: 0;
}

body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image .bp-group-meta-wrap .bp-group-type-list,
body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image .bp-group-meta-wrap .activity {
    font-size: 0.75rem;
}

/* Group tab screen titles are redundant with the nav tabs */
body.brave-base-theme.groups.single-item .bp-screen-title {
    display: none;
}

body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image .group-description {
    font-size: 0.875rem;
    color: var(--fg);
    line-height: 1.5;
    margin-top: 8px;
}

body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image #item-actions {
    flex: 0 0 auto;
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 0;
    max-width: none;
    padding-top: 0;
}

body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image #item-actions:empty {
    display: none;
}

/* ── Group single page — group action buttons ── */

body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image #item-actions .generic-button a,
body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image #item-actions .generic-button button {
    display: inline-block;
    padding: 6px 16px;
    font-size: 0.813rem;
    line-height: 1.4;
    border-radius: 4px;
    background: var(--surface);
    border: 1px solid var(--border);
    color: var(--fg);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
    text-decoration: none;
}

body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image #item-actions .generic-button a:hover,
body.brave-base-theme.groups.single-item #buddypress div#item-header #item-header-cover-image #item-actions .generic-button button:hover {
    background: var(--neon-gold);
    border-color: var(--neon-gold);
    color: #fff;
}

/* ── Group single page — subnav filters / search ── */

body.brave-base-theme.groups.single-item #buddypress #item-body .subnav-filters {
    margin-bottom: 16px;
}

/* ── Group single page — hide redundant h2 only on forum listing ── */

body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums:has(.bbp-topics1) > h2 {
    display: none;
}

/* ── Topic single page — clean layout matching brave2049 ── */

/* Topic single page — outer container padding (not nested #bbpress-forums) */
body.brave-base-theme.groups.single-item #buddypress #item-body > #bbpress-forums {
    padding: 0 25px 20px;
}

/* Topic title visible on topic page */
body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums > h2:first-child {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 20px 0 16px;
    color: var(--fg-bright);
}

/* Hide bbPress verbose meta (replies count, last updated) */
body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-template-notice.info {
    display: none;
}

/* Hide author|post table header row */
body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-header {
    display: none;
}

/* Hide per-reply header (date + #post link) */
body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-reply-header {
    display: none;
}

/* Hide author column (avatar + name + role) */
body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-reply-author {
    display: none;
}

/* Content full width */
body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-reply-content {
    width: 100%;
    margin-left: 0;
    float: none;
    padding: 0;
}

/* Hide pagination (no replies → irrelevant count) */
body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-pagination {
    display: none;
}

/* Fix list spacing when author column removed */
body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-replies-list,
body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-replies-list > li {
    list-style: none;
    padding: 0;
    margin: 0;
}

body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-body {
    background: transparent;
    border: none;
}

body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-replies {
    border: none;
    background: transparent;
}

/* ── Group forum — hide WP login form (Web3 改造后失效)，保留提示 + 图标 ── */

body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-no-topic .bbp-login-form {
    display: none;
}

body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-no-topic .bbp-template-notice {
    list-style: none;
    padding: 12px 16px 12px 40px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-left: 3px solid var(--neon-gold);
    position: relative;
    font-size: 14px;
    color: var(--fg);
}

body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-no-topic .bbp-template-notice ul {
    margin: 0;
    padding: 0;
}

body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-no-topic .bbp-template-notice li {
    list-style: none;
    margin: 0;
    padding: 0;
}

body.brave-base-theme.groups.single-item #buddypress #item-body #bbpress-forums .bbp-no-topic .bbp-template-notice::before {
    content: "🔗";
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    line-height: 1;
}

/* ── Group single page — activity stream ── */

body.brave-base-theme.groups.single-item #buddypress #item-body .activity-list.bp-list {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 16px;
}



/* ── Sticky topic status → icon ── */

.brave-base-theme .bb-topic-status.sticky {
    font-size: 0;
    line-height: 1;
    vertical-align: middle;
    background: none;
    padding: 0;
    border-radius: 0;
    color: inherit;
}

.brave-base-theme .bb-topic-status.sticky::before {
    content: "📌";
    font-size: 14px;
    line-height: 1;
}

/* ── BP pages: FSE is-layout-constrained chain handles spacing ── */
