/* Dental Bridge — BuddyPress (Nouveau) styled to the design system. */

.bp-main .buddypress-wrap { color: var(--text); }
.buddypress-wrap a { color: var(--accent-ink); }
.buddypress-wrap h1, .buddypress-wrap h2, .buddypress-wrap h3, .buddypress-wrap .bp-feedback { color: var(--ink); }

/* nav / tabs */
.buddypress-wrap .bp-navs { background: transparent; border: 0; }
.buddypress-wrap .bp-navs ul { border-bottom: 1px solid var(--border); }
.buddypress-wrap .bp-navs li a { color: var(--text); font-weight: 600; }
.buddypress-wrap .bp-navs li.current a,
.buddypress-wrap .bp-navs li.selected a,
.buddypress-wrap .component-navigation li.selected a { background: var(--accent-soft); color: var(--accent-ink); border-radius: 10px 10px 0 0; }
.buddypress-wrap .bp-navs li a span { background: var(--accent); color: #fff; }

/* buttons */
.buddypress .button, .buddypress-wrap .button, .buddypress a.button,
.buddypress-wrap button, .buddypress-wrap input[type="submit"], .buddypress-wrap input[type="button"],
.buddypress-wrap .generic-button a, .buddypress-wrap .group-button a {
	background: var(--accent); border: 1px solid var(--accent); color: #fff;
	border-radius: 11px; font-weight: 600; padding: 9px 16px; transition: .16s;
}
.buddypress .button:hover, .buddypress-wrap .button:hover, .buddypress-wrap button:hover { background: var(--accent-ink); color: #fff; }
.buddypress-wrap .bp-primary-action, .buddypress-wrap .comment-reply-link { color: var(--accent-ink); }

/* composer */
.buddypress-wrap #whats-new-form { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r); padding: 14px; box-shadow: var(--shadow); }
.buddypress-wrap #whats-new-textarea textarea, .buddypress-wrap textarea, .buddypress-wrap input[type="text"], .buddypress-wrap input[type="search"], .buddypress-wrap select {
	border: 1px solid var(--border); border-radius: 10px; background: var(--bg); color: var(--text); padding: 10px 12px;
}

/* activity + list cards */
.buddypress-wrap .activity-list li,
.buddypress-wrap ul.item-list > li,
.buddypress-wrap ul.bp-list > li {
	background: var(--surface); border: 1px solid var(--border); border-radius: var(--r);
	padding: 16px 18px; margin-bottom: 14px; box-shadow: var(--shadow);
}
.buddypress-wrap .activity-list .activity-header a,
.buddypress-wrap ul.bp-list .list-title a { color: var(--ink); font-weight: 700; }
.buddypress-wrap .activity-list .activity-header { color: var(--muted); }
.buddypress-wrap .activity-meta a.button { background: transparent; border: 1px solid var(--border); color: var(--text); padding: 6px 12px; }
.buddypress-wrap .activity-meta a.button:hover { border-color: var(--accent); color: var(--accent-ink); }

/* avatars */
.buddypress-wrap img.avatar, .buddypress-wrap .item-avatar img { border-radius: 50%; }

/* directory search */
.buddypress-wrap .dir-search input[type="search"], .buddypress-wrap .bp-search input { border-radius: 999px; }

/* group / member headers — #item-header is just a wrapper; the teal container is the card */
.buddypress-wrap #item-header { background: transparent; border: 0; border-radius: 0; padding: 0; box-shadow: none; }

/* member + group directories as a card grid */
.buddypress-wrap #members-list { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 16px; float: none; }
.buddypress-wrap #groups-list { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 16px; float: none; }
/* reset BuddyPress float/width on items so the grid fills left-to-right */
.buddypress-wrap #members-list > li, .buddypress-wrap #groups-list > li {
	padding: 24px 20px; margin: 0 !important; float: none !important; width: auto !important; max-width: none !important; clear: none !important;
}
.buddypress-wrap #members-list > li { text-align: center; }

/* group cards: clean vertical layout (avatar → name → meta → description → action) */
.buddypress-wrap #groups-list .list-wrap { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 3px; }
.buddypress-wrap #groups-list .item-avatar { float: none; margin: 0 0 10px; }
.buddypress-wrap #groups-list .item { float: none; width: 100%; margin: 0; }
.buddypress-wrap #groups-list .item-block { width: 100%; }
.buddypress-wrap #groups-list .group-desc {
	float: none !important; width: 100% !important; max-width: 100% !important; margin: 12px 0 0; padding: 0;
	border: 0; font-style: normal; color: var(--muted); font-size: 13.5px; line-height: 1.6;
}
.buddypress-wrap #groups-list .item-meta, .buddypress-wrap #groups-list .last-activity { color: var(--muted); font-size: 12.5px; margin: 2px 0; }
.buddypress-wrap #groups-list .action, .buddypress-wrap #groups-list .group-button {
	float: none !important; position: static !important; margin: 16px 0 0; padding: 0; width: auto;
}
.buddypress-wrap #groups-list .action .button, .buddypress-wrap #groups-list .group-button .button { margin: 0; }

/* directory avatars */
.buddypress-wrap #members-list .item-avatar img, .buddypress-wrap #groups-list .item-avatar img { width: 84px; height: 84px; margin: 0 auto 8px; display: block; }
.buddypress-wrap #members-list .item-avatar .db-auto-avatar, .buddypress-wrap #groups-list .item-avatar .db-auto-avatar {
	width: 84px !important; height: 84px !important; font-size: 32px !important; margin: 0 auto 8px; display: flex !important;
}
.buddypress-wrap #members-list .item-title, .buddypress-wrap #groups-list .item-title,
.buddypress-wrap #groups-list .list-title { font-size: 16px; }
.buddypress-wrap #members-list .item-title a, .buddypress-wrap #groups-list .item-title a,
.buddypress-wrap #groups-list .list-title a { color: var(--ink); }
@media (max-width: 900px) { .buddypress-wrap #members-list { grid-template-columns: 1fr 1fr; } .buddypress-wrap #groups-list { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .buddypress-wrap #members-list { grid-template-columns: 1fr; } }

/* ---- Create a Group form ---- */
/* left-align the form so it lines up with the "Create A New Group" heading */
.buddypress-wrap #group-create-tabs,
.buddypress-wrap #group-create-body { max-width: 860px; margin-left: 0; margin-right: 0; }
.buddypress-wrap #group-create-tabs ul {
	display: flex; flex-wrap: wrap; gap: 4px; list-style: none; margin: 0 0 22px; padding: 0; border-bottom: 1px solid var(--border);
}
.buddypress-wrap #group-create-tabs li { margin: 0; background: none; border: 0; }
.buddypress-wrap #group-create-tabs li a {
	display: inline-block; padding: 12px 16px; color: var(--muted); font-weight: 600;
	border-bottom: 2px solid transparent; border-radius: 8px 8px 0 0; text-decoration: none;
}
.buddypress-wrap #group-create-tabs li.current a, .buddypress-wrap #group-create-tabs li.selected a {
	color: var(--accent-ink); border-bottom-color: var(--accent); background: var(--accent-soft);
}
.buddypress-wrap #group-create-body { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r); padding: 24px 26px 28px; box-shadow: var(--shadow); }
.buddypress-wrap #group-create-body h2,
.buddypress-wrap #group-create-body h3,
.buddypress-wrap #group-create-body h4,
.buddypress-wrap #group-create-body legend,
.buddypress-wrap #group-create-body .bp-heading { color: var(--ink); text-align: left !important; margin: 0 0 16px; font-size: 18px; }
.buddypress-wrap #group-create-body label { display: block; font-weight: 600; color: var(--ink); margin: 4px 0 6px; }
.buddypress-wrap #group-create-body input[type="text"],
.buddypress-wrap #group-create-body textarea,
.buddypress-wrap #group-create-body select {
	width: 100%; box-sizing: border-box; border: 1px solid var(--border); border-radius: 10px;
	background: var(--bg-alt); color: var(--text); padding: 12px 14px; font-family: var(--font); font-size: 14px; margin-bottom: 16px;
}
.buddypress-wrap #group-create-body input:focus, .buddypress-wrap #group-create-body textarea:focus { border-color: var(--accent); outline: none; }
.buddypress-wrap #group-create-body textarea { min-height: 130px; resize: vertical; }
.buddypress-wrap #group-creation-create,
.buddypress-wrap #group-creation-next,
.buddypress-wrap #group-create-body .submit input[type="submit"] {
	background: var(--coral) !important; border: 1px solid var(--coral) !important; color: #40140c !important;
	border-radius: 11px !important; padding: 11px 22px !important; font-weight: 600; cursor: pointer; box-shadow: none;
}
.buddypress-wrap #group-create-body .submit { padding-top: 6px; }

/* ---- Private messages: compose / reply form ---- */
.buddypress-wrap #send_message_form,
.buddypress-wrap .messages_content .standard-form,
.buddypress-wrap .messages .standard-form { max-width: 760px; }
.buddypress-wrap .messages label,
.buddypress-wrap #send_message_form label { display: block; font-weight: 600; color: var(--ink); margin: 16px 0 6px; }
.buddypress-wrap #send-to-input,
.buddypress-wrap #subject,
.buddypress-wrap #message_content,
.buddypress-wrap .messages input[type="text"],
.buddypress-wrap .messages textarea {
	width: 100%; box-sizing: border-box; border: 1px solid var(--border) !important; border-radius: 10px;
	background: var(--bg-alt) !important; color: var(--text); padding: 12px 14px; font-family: var(--font); font-size: 14px;
}
.buddypress-wrap #message_content { min-height: 160px; resize: vertical; }
.buddypress-wrap .messages input:focus, .buddypress-wrap .messages textarea:focus { border-color: var(--accent) !important; outline: none; }
/* recipient picker (auto-complete chips) */
.buddypress-wrap .acfb-holder, .buddypress-wrap ul.first.acfb-holder {
	border: 1px solid var(--border); border-radius: 10px; background: var(--bg-alt); padding: 6px 8px;
	list-style: none; margin: 0 0 6px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center;
}
.buddypress-wrap .acfb-holder input { border: 0 !important; background: transparent !important; padding: 6px !important; flex: 1; min-width: 140px; }
.buddypress-wrap .acfb-holder li.friend-tab { background: var(--accent-soft); color: var(--accent-ink); border-radius: 999px; padding: 4px 12px; font-size: 13px; }
.buddypress-wrap .acfb-holder li.friend-tab a { color: var(--accent-ink); }
/* autocomplete dropdown */
.buddypress-wrap .ac_results, ul.ac_results {
	background: var(--surface); border: 1px solid var(--border); border-radius: 10px; box-shadow: var(--shadow);
	list-style: none; margin: 4px 0 0; padding: 4px; z-index: 999;
}
ul.ac_results li { padding: 8px 12px; border-radius: 8px; cursor: pointer; color: var(--text); }
ul.ac_results li.ac_over, ul.ac_results li:hover { background: var(--accent-soft); color: var(--accent-ink); }
/* send + reset buttons (compose uses type="button" #bp-messages-send / #bp-messages-reset) */
.buddypress-wrap #bp-messages-send,
.buddypress-wrap .standard-form.send-reply input[type="submit"],
.buddypress-wrap .messages input[type="submit"],
.buddypress-wrap #send_reply_button {
	background: var(--coral) !important; border: 1px solid var(--coral) !important; color: #40140c !important;
	border-radius: 11px !important; padding: 11px 24px !important; font-weight: 600; cursor: pointer; margin-top: 14px; box-shadow: none;
	width: auto !important; height: auto !important;
}
.buddypress-wrap #bp-messages-reset,
.buddypress-wrap .standard-form.send-reply input[type="reset"],
.buddypress-wrap .messages input[type="reset"],
.buddypress-wrap .messages a.button.reset {
	background: var(--surface) !important; border: 1px solid var(--border) !important; color: var(--ink) !important;
	border-radius: 11px !important; padding: 11px 20px !important; font-weight: 600; cursor: pointer; margin: 14px 0 0 8px; box-shadow: none; text-decoration: none;
	width: auto !important; height: auto !important;
}
.buddypress-wrap #bp-messages-reset:hover,
.buddypress-wrap .standard-form.send-reply input[type="reset"]:hover { border-color: var(--accent) !important; color: var(--accent-ink) !important; }

/* messages inbox toolbar (bulk actions + search) */
.buddypress-wrap .thread-options { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.buddypress-wrap .thread-options a, .buddypress-wrap .messages-options-nav a { color: var(--accent-ink); font-weight: 600; text-decoration: none; font-size: 13.5px; }
.buddypress-wrap .bulk-actions.select-wrap, .buddypress-wrap .bulk-actions-wrap .select-wrap {
	border: 1px solid var(--border); border-radius: 999px; background: var(--bg-alt); overflow: hidden;
}
.buddypress-wrap .bulk-actions select { border: 0 !important; background: transparent; padding: 8px 12px; color: var(--text); }
.buddypress-wrap .messages-bulk-manage, .buddypress-wrap a.bulk-apply, .buddypress-wrap button.bulk-apply {
	background: var(--accent) !important; border: 1px solid var(--accent) !important; color: #fff !important; border-radius: 10px !important; padding: 6px 12px !important;
}
.buddypress-wrap .messages-search input[type="search"], .buddypress-wrap .bp-messages-search-form input[type="search"] {
	border: 1px solid var(--border) !important; border-radius: 999px; background: var(--bg-alt); padding: 10px 16px !important;
}
.buddypress-wrap .bp-messages-search-form button[type="submit"] { background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; border-radius: 999px !important; }

/* thread list */
.buddypress-wrap #message-threads { list-style: none; margin: 14px 0 0; padding: 0; border: 1px solid var(--border); border-radius: var(--r); overflow: hidden; }
.buddypress-wrap #message-threads li { margin: 0; padding: 14px 16px; border-bottom: 1px solid var(--border); background: var(--surface); }
.buddypress-wrap #message-threads li:last-child { border-bottom: 0; }
.buddypress-wrap #message-threads li.unread { background: var(--accent-soft); }
.buddypress-wrap .thread-from { display: flex; align-items: center; gap: 10px; }
.buddypress-wrap .thread-from a.user-link { color: var(--ink); font-weight: 600; }
.buddypress-wrap .thread-from img, .buddypress-wrap .thread-avatar img, .buddypress-wrap .thread-from .db-auto-avatar {
	width: 40px !important; height: 40px !important; border-radius: 50% !important; margin: 0;
}
.buddypress-wrap .thread-subject .subject, .buddypress-wrap .thread-subject a { color: var(--ink); font-weight: 600; text-decoration: none; }
.buddypress-wrap .thread-excerpt { color: var(--muted); font-size: 13px; }

/* conversation view */
.buddypress-wrap .bp-messages-content { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r); margin-top: 18px; overflow: hidden; }
.buddypress-wrap .single-message-thread-header { padding: 16px 20px; border-bottom: 1px solid var(--border); background: var(--bg-alt); }
.buddypress-wrap .single-message-thread-header h2, .buddypress-wrap .single-message-thread-header .thread-subject { color: var(--ink); }
.buddypress-wrap .thread-participants { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.buddypress-wrap .thread-participants img, .buddypress-wrap .thread-participants .db-auto-avatar { width: 34px !important; height: 34px !important; border-radius: 50% !important; }
.buddypress-wrap .message-box, .buddypress-wrap .single-message { padding: 16px 20px; border-bottom: 1px solid var(--border); }
.buddypress-wrap .message-metadata { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; margin-bottom: 8px; }
.buddypress-wrap .message-metadata .user-link, .buddypress-wrap .message-metadata a { color: var(--ink); font-weight: 600; }
.buddypress-wrap .message-content { color: var(--text); background: var(--bg-alt); border-radius: 12px; padding: 12px 16px; }
.buddypress-wrap .message-content p { margin: 0; }
.buddypress-wrap .message-action-star, .buddypress-wrap .message-action-delete, .buddypress-wrap .message-action-exit { color: var(--muted); }
.buddypress-wrap .message-action-star:hover { color: #E8A33D; }
.buddypress-wrap .message-action-delete:hover, .buddypress-wrap .message-action-exit:hover { color: var(--coral); }
/* messages thread list = table.inbox-list-item (not a <ul>) */
.buddypress-wrap table.inbox-list-item {
	width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--border);
	border-radius: var(--r); overflow: hidden; margin: 4px 0 0; box-shadow: var(--shadow);
}
.buddypress-wrap table.inbox-list-item + table.inbox-list-item { margin-top: -1px; border-radius: 0; }
.buddypress-wrap table.inbox-list-item td { padding: 14px 16px; vertical-align: middle; background: var(--surface); border: 0; }
.buddypress-wrap tr.unread td, .buddypress-wrap table.inbox-list-item.unread td { background: var(--accent-soft); }
.buddypress-wrap table.inbox-list-item .thread-from a, .buddypress-wrap table.inbox-list-item .user-link { color: var(--ink) !important; font-weight: 600; }
.buddypress-wrap table.inbox-list-item .thread-subject a { color: var(--accent-ink) !important; font-weight: 600; text-decoration: none; }
.buddypress-wrap table.inbox-list-item .thread-excerpt { color: var(--muted); font-size: 13px; }
.buddypress-wrap table.inbox-list-item img.avatar, .buddypress-wrap table.inbox-list-item .db-auto-avatar { width: 40px !important; height: 40px !important; border-radius: 50% !important; }

/* messages toolbar (All Messages / Mark read / bulk select / apply) */
.buddypress-wrap .thread-options label { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 13.5px; color: var(--text); }
.buddypress-wrap .thread-options .bulk-actions.select-wrap { border: 1px solid var(--border); border-radius: 999px; background: var(--bg-alt); overflow: hidden; }
.buddypress-wrap .thread-options select { border: 0 !important; background: transparent; padding: 7px 12px; color: var(--text); }
.buddypress-wrap a.bulk-apply, .buddypress-wrap button.bulk-apply, .buddypress-wrap .messages-bulk-actions .bulk-apply {
	background: var(--accent) !important; color: #fff !important; border: 1px solid var(--accent) !important; border-radius: 8px !important; padding: 5px 11px !important;
}

/* messages toolbar: bulk actions (left) + search (right) on one aligned row */
.buddypress-wrap .user-messages-bulk-actions {
	display: flex !important; align-items: center; gap: 14px; flex-wrap: wrap;
	margin: 0 !important; padding: 0 !important; float: none !important; text-align: left;
}
.buddypress-wrap .user-messages-bulk-actions > label,
.buddypress-wrap .user-messages-bulk-actions label { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.buddypress-wrap .bulk-actions-wrap { display: inline-flex; align-items: center; gap: 10px; margin: 0; }
.buddypress-wrap .user-messages-search { float: right; margin: 0; }
.buddypress-wrap .user-messages-search form { display: flex; align-items: center; gap: 8px; margin: 0; }
.buddypress-wrap .user-messages-search input[type="search"] {
	border: 1px solid var(--border) !important; border-radius: 999px; background: var(--bg-alt); padding: 10px 16px !important; box-sizing: border-box;
}
.buddypress-wrap .user-messages-search button[type="submit"] {
	background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; border-radius: 999px !important; padding: 0 14px !important; height: 40px;
}
/* hide empty pagination that was indenting the bulk row */
.buddypress-wrap .user-messages-pagination:empty, .buddypress-wrap .messages-pagination:empty { display: none !important; }

/* notifications table */
.buddypress-wrap table.notifications {
	width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--border);
	border-radius: var(--r); overflow: hidden; margin-top: 4px;
}
.buddypress-wrap table.notifications thead th { background: var(--bg-alt); color: var(--ink); padding: 12px 14px; text-align: left; border: 0; }
.buddypress-wrap table.notifications td { padding: 14px; border-top: 1px solid var(--border); color: var(--text); background: var(--surface); }
.buddypress-wrap table.notifications .notification-description a, .buddypress-wrap table.notifications td a { color: var(--accent-ink); font-weight: 600; }
.buddypress-wrap table.notifications .notification-actions a { color: var(--muted); font-size: 15px; }
.buddypress-wrap table.notifications .notification-actions a:hover { color: var(--accent-ink); }
.buddypress-wrap #notifications-filter-by, .buddypress-wrap .notifications select, .buddypress-wrap select.bulk-action-selector {
	border: 1px solid var(--border); border-radius: 10px; padding: 7px 12px; background: var(--bg-alt); color: var(--text);
}

/* collapse empty feedback/loader gaps on both pages */
.buddypress-wrap .bp-messages-feedback:empty, .buddypress-wrap .bp-feedback:empty,
.buddypress-wrap #message:empty, .buddypress-wrap .dir-list:empty { display: none !important; }
.buddypress-wrap .notifications.dir-list, .buddypress-wrap .messages-notices { margin-top: 14px; }
.buddypress-wrap .subnav-filters { margin-bottom: 16px; }

/* ---- directory search + sort toolbar (members / groups) ---- */
.community-shell .subnav-filters {
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
	background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 12px 14px; margin: 0 0 20px;
}
.community-shell .subnav-filters .feed { display: none; }
.community-shell .subnav-search { flex: 1 1 240px; min-width: 0; margin: 0; float: none; }
.community-shell .subnav-search .dir-search, .community-shell .dir-search { width: 100%; margin: 0; float: none; }
.community-shell .dir-search form { display: flex; gap: 8px; margin: 0; width: 100%; }
.community-shell .dir-search input[type="search"] {
	flex: 1; width: 100%; border-radius: 999px !important; border: 1px solid var(--border) !important;
	background: var(--bg-alt); padding: 11px 18px !important; box-sizing: border-box;
}
.community-shell .dir-search .nouveau-search-submit {
	background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; border-radius: 999px !important; padding: 0 16px !important;
}
.community-shell .component-filters, .community-shell #dir-filters { margin: 0; float: none; flex: none; }
.community-shell .component-filters label { display: none; }
.community-shell .component-filters .select-wrap { border: 1px solid var(--border); border-radius: 999px; background: var(--bg-alt); overflow: hidden; }
.community-shell .component-filters select { border: 0 !important; background: transparent; color: var(--text); padding: 11px 14px; font-size: 14px; }

/* ---- group Join / Leave buttons ---- */
.buddypress-wrap #groups-list .action, .buddypress-wrap #groups-list .group-button { margin-top: 14px; }
.buddypress-wrap .group-button .button,
.buddypress-wrap #groups-list .action .button {
	display: inline-block; border-radius: 11px !important; padding: 9px 20px !important; font-weight: 600; margin: 0; box-shadow: none;
}
.buddypress-wrap .group-button.join-group .button,
.buddypress-wrap .button.join-group,
.buddypress-wrap .join-group .button {
	background: var(--accent) !important; border: 1px solid var(--accent) !important; color: #fff !important;
}
.buddypress-wrap .group-button.leave-group .button,
.buddypress-wrap .button.leave-group,
.buddypress-wrap .leave-group .button {
	background: var(--surface) !important; border: 1px solid var(--border) !important; color: var(--ink) !important;
}
.buddypress-wrap .group-button.leave-group .button:hover,
.buddypress-wrap .leave-group .button:hover { border-color: var(--coral) !important; color: var(--coral-ink, #b23a2e) !important; }

/* member / group profile header (prototype layout) — teal content area, compact */
.buddypress-wrap #cover-image-container {
	background: radial-gradient(130% 130% at 85% 8%, rgba(52, 211, 197, .38) 0%, rgba(52, 211, 197, 0) 46%), linear-gradient(140deg, #0F736A 0%, #0C4B47 52%, #0B2B2A 100%);
	border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); margin-bottom: 18px;
}
/* remove the empty cover-photo band entirely */
.buddypress-wrap #header-cover-image { display: none !important; }
/* the content area carries the teal so the white name/meta/stats stay readable */
.buddypress-wrap #item-header-cover-image {
	background: radial-gradient(130% 130% at 85% 8%, rgba(52, 211, 197, .38) 0%, rgba(52, 211, 197, 0) 46%), linear-gradient(140deg, #0F736A 0%, #0C4B47 52%, #0B2B2A 100%);
	min-height: 0; padding: 28px 28px 28px;
}
.db-bp-head { display: flex; gap: 22px; align-items: flex-start; padding: 0; margin-top: 0; position: relative; z-index: 2; }
.buddypress-wrap .db-bp-head #item-header-avatar,
.buddypress-wrap #item-header-avatar.db-bp-avatar { margin: 0 !important; float: none !important; flex: none; }
/* BuddyPress adds a big margin-left to clear a floated avatar; we use flexbox, so remove it */
.buddypress-wrap #item-header-content.db-bp-content { margin: 0 !important; }
.db-bp-head #item-header-avatar img.avatar, .db-bp-head #item-header-avatar img {
	width: 96px !important; height: 96px !important; border-radius: 20px; border: 4px solid var(--surface); background: var(--surface);
}
.db-bp-content { flex: 1; min-width: 0; padding-bottom: 4px; }
.buddypress-wrap .db-bp-name, .db-bp-name { color: #fff; font-size: 25px; line-height: 1.15; letter-spacing: -.01em; margin: 0 0 4px; }
.db-bp-meta { color: rgba(255,255,255,.9); font-size: 14px; margin: 4px 0 12px; }
.db-bp-stats { display: flex; gap: 26px; flex-wrap: wrap; }
.db-bp-stats b { color: #fff; font-size: 19px; }
.db-bp-stats span { color: rgba(255,255,255,.82); font-size: 13px; margin-left: 6px; }
/* header action buttons sit on the teal cover — keep them light & readable */
.db-bp-head .member-header-actions .button,
.db-bp-head .db-bp-groupbtns .button,
.db-bp-head #item-header-content .button {
	background: #fff; border-color: #fff; color: var(--ink);
}
.db-bp-head .member-header-actions .button:hover,
.db-bp-head .db-bp-groupbtns .button:hover { background: var(--accent-soft); color: var(--accent-ink); border-color: var(--accent-soft); }
/* avatar frame */
.db-bp-head #item-header-avatar img { background: #fff; object-fit: cover; }
/* branded initials avatar when a member/group has no uploaded photo */
.db-bp-head .db-letter-avatar {
	width: 96px; height: 96px; border-radius: 20px;
	display: flex !important; align-items: center !important; justify-content: center !important;
	background: linear-gradient(135deg, var(--accent), var(--accent-ink)); color: #fff;
	font-size: 34px; font-weight: 700; line-height: 1; border: 4px solid var(--surface);
	text-decoration: none; text-align: center; letter-spacing: .02em; box-sizing: border-box;
}

/* site-wide branded initials avatars (activity, directories, who-to-follow) */
.db-auto-avatar {
	display: inline-flex !important; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--accent), var(--accent-ink)); color: #fff;
	font-weight: 700; line-height: 1; text-transform: uppercase; vertical-align: middle;
	overflow: hidden; flex: none; text-decoration: none;
}

/* force the header to collapse empty space (beat BuddyPress min-heights) */
.buddypress-wrap #item-header-cover-image { min-height: 0 !important; }
.buddypress-wrap #cover-image-container { min-height: 0 !important; }
/* hide the faint 'Group Administrators' block that padded the group header */
.groups.single-item #item-header-cover-image .item-header-actions,
.groups.single-item #item-header-cover-image .group-item-actions { display: none !important; }
.db-bp-head .member-header-actions { margin-top: 12px; }
.db-bp-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 22px 0 0; }
.db-bp-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r); padding: 20px; box-shadow: var(--shadow); }
.db-bp-card h4 { color: var(--ink); margin-bottom: 10px; font-size: 16px; }
.db-bp-card p { color: var(--muted); font-size: 14px; margin: 0; line-height: 1.6; }
.db-bp-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.db-bp-tags .pill { display: inline-flex; align-items: center; font-size: 12.5px; font-weight: 600; padding: 5px 12px; border-radius: 999px; background: var(--accent-soft); color: var(--accent-ink); }
@media (max-width: 700px) { .db-bp-cards { grid-template-columns: 1fr; } .db-bp-head { flex-direction: column; align-items: flex-start; margin-top: 0; } }

/* activity feed: single readable column of cards */
.buddypress-wrap #activity-stream .activity-avatar img { width: 44px; height: 44px; border-radius: 50%; }
.buddypress-wrap .activity-list .activity-content { color: var(--text); }
.buddypress-wrap .activity-header a { color: var(--accent-ink); }

/* ===== activity comment thread + reply form ===== */
.buddypress-wrap .activity-comments { margin-top: 14px; }
.buddypress-wrap .activity-comments > ul, .buddypress-wrap .activity-comments ul { list-style: none; margin: 0; padding: 0; }
.buddypress-wrap .activity-comments li {
	list-style: none; margin: 10px 0 0; padding: 12px 14px;
	background: var(--bg-alt); border: 1px solid var(--border); border-radius: 12px; box-shadow: none;
}
.buddypress-wrap .activity-comments ul ul { margin: 8px 0 0 22px; } /* nested indent */
.buddypress-wrap .acomment-avatar img, .buddypress-wrap .acomment-avatar .db-auto-avatar {
	width: 38px !important; height: 38px !important; font-size: 14px !important; border-radius: 50% !important; margin: 0;
}
.buddypress-wrap .acomment-meta { color: var(--muted); font-size: 13px; margin-bottom: 4px; }
.buddypress-wrap .acomment-meta a { color: var(--ink); font-weight: 600; }
.buddypress-wrap .acomment-content { color: var(--text); font-size: 14px; line-height: 1.55; }
.buddypress-wrap .acomment-content p { margin: 0; }
.buddypress-wrap .acomment-options { margin-top: 10px; display: flex; gap: 16px; float: none; }
.buddypress-wrap .acomment-options a { color: var(--muted); font-weight: 600; font-size: 12.5px; text-decoration: none; background: none; border: 0; padding: 0; }
.buddypress-wrap .acomment-options a:hover { color: var(--accent-ink); }

/* reply form */
.buddypress-wrap .ac-form { margin-top: 12px; background: none; border: 0; padding: 0; }
.buddypress-wrap .ac-form textarea, .buddypress-wrap .ac-textarea textarea, .buddypress-wrap textarea.ac-input {
	width: 100%; box-sizing: border-box; border: 1px solid var(--border); border-radius: 14px; background: var(--bg-alt) !important;
	color: var(--text); padding: 12px 15px; min-height: 60px; font-family: var(--font); font-size: 14px;
}
.buddypress-wrap .ac-form textarea:focus { border-color: var(--accent); outline: none; }
.buddypress-wrap .ac-reply-content input[type="submit"],
.buddypress-wrap .ac-form input[type="submit"],
.buddypress-wrap .ac-form .ac-reply-content .button {
	background: var(--coral) !important; border: 1px solid var(--coral) !important; color: #40140c !important;
	border-radius: 11px !important; padding: 8px 20px !important; font-weight: 600; cursor: pointer; box-shadow: none;
}
.buddypress-wrap .ac-form .ac-reply-cancel {
	background: var(--surface) !important; border: 1px solid var(--border) !important; color: var(--ink) !important;
	border-radius: 11px !important; padding: 8px 16px !important; font-weight: 600; text-decoration: none; margin-left: 8px;
}
.buddypress-wrap .ac-form .ac-reply-cancel:hover { border-color: var(--accent) !important; color: var(--accent-ink) !important; }
/* rtMedia media icon in the comment form */
.buddypress-wrap .ac-form .rtmedia-add-media-button,
.buddypress-wrap .ac-form .rtmedia-container .button,
.buddypress-wrap .ac-form [id*="rtmedia-add-media-button"] {
	background: var(--bg-alt) !important; border: 1px solid var(--border) !important; color: var(--ink) !important; border-radius: 10px !important;
}

/* ---- community feed like the prototype (activity directory) ---- */
.feed-main { min-width: 0; }

/* hide the default BuddyPress (JS) + rtMedia composer in the feed — we render our own */
.feed-main #bp-nouveau-activity-form,
.feed-main .activity-update-form,
.feed-main .rtmedia-uploader-div,
.feed-main #whats-new-form { display: none !important; }

/* custom composer (prototype design) */
.db-composer { padding: 16px 18px; margin-bottom: 16px; }
.db-composer .dc-top { display: flex; gap: 14px; align-items: flex-start; }
.db-composer .dc-ava {
	width: 46px; height: 46px; flex: none; border-radius: 50%;
	background: linear-gradient(135deg, var(--accent), var(--accent-ink)); color: #fff;
	display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 16px;
}
.db-composer textarea {
	flex: 1; min-width: 0; border: 1px solid var(--border); border-radius: 22px; background: var(--bg-alt);
	color: var(--text); padding: 13px 18px; font-family: var(--font); font-size: 15px; resize: none;
	min-height: 48px; line-height: 1.4; outline: none; overflow: hidden;
}
.db-composer textarea:focus { border-color: var(--accent); }
.db-composer .dc-files { margin: 10px 0 0 60px; font-size: 13px; color: var(--accent-ink); }
.db-composer .dc-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); flex-wrap: wrap; }
.db-composer .dc-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.db-composer .dc-chip {
	display: inline-flex; align-items: center; gap: 7px; cursor: pointer;
	background: var(--bg-alt); border: 1px solid var(--border); border-radius: 10px;
	padding: 8px 14px; font-size: 13.5px; font-weight: 600; color: var(--ink);
}
.db-composer .dc-chip:hover { border-color: var(--accent); color: var(--accent-ink); }
.db-composer .dc-chip span { font-size: 15px; line-height: 1; }
.db-composer .btn.primary { background: var(--coral); border-color: var(--coral); color: #40140c; padding: 10px 24px; }
.db-composer .btn.primary:hover { filter: brightness(1.05); }
#buddypress #whats-new-form, .buddypress-wrap #whats-new-form {
	background: var(--surface); border: 1px solid var(--border); border-radius: var(--r);
	box-shadow: var(--shadow); padding: 16px; margin-bottom: 16px;
}
#buddypress #whats-new-avatar img, .buddypress-wrap #whats-new-avatar img { border-radius: 50%; width: 42px; height: 42px; }
.buddypress-wrap #whats-new-textarea textarea {
	border: 1px solid var(--border); border-radius: 14px; background: var(--bg-alt);
	padding: 12px 15px; min-height: 52px;
}
.buddypress-wrap #whats-new-actions button, .buddypress-wrap #aw-whats-new-submit,
.buddypress-wrap #whats-new-submit .button {
	background: var(--coral); border-color: var(--coral); color: #40140c;
}
.buddypress-wrap #whats-new-actions button:hover { filter: brightness(1.05); color: #40140c; }
/* activity posts as prototype cards */
.buddypress-wrap #activity-stream .activity-item {
	background: var(--surface); border: 1px solid var(--border); border-radius: var(--r);
	padding: 18px; margin-bottom: 16px; box-shadow: var(--shadow); list-style: none;
}
/* avatar beside content (no wide empty gutter) */
.buddypress-wrap #activity-stream .activity-item .activity-avatar { float: left; margin: 0 14px 0 0; width: 44px; min-width: 44px; }
/* force the author avatar (img OR initials span) to a fixed small size — overrides inline 150px */
.buddypress-wrap #activity-stream .activity-item > .activity-avatar img,
.buddypress-wrap #activity-stream .activity-item > .activity-avatar .db-auto-avatar {
	width: 44px !important; height: 44px !important; min-width: 44px; margin: 0 !important;
	font-size: 16px !important; border-radius: 50% !important;
}
.buddypress-wrap #activity-stream .activity-item .activity-content { margin: 0 !important; overflow: hidden; }
.buddypress-wrap #activity-stream .activity-item .activity-meta { clear: both; }
.buddypress-wrap #activity-stream .activity-item .activity-comments { clear: both; }

/* join-group / group-preview card inside an activity — keep it compact */
.buddypress-wrap #activity-stream .activity-inner .item-avatar img,
.buddypress-wrap #activity-stream .activity-inner .item-avatar .db-auto-avatar,
.buddypress-wrap #activity-stream .activity-inner .group-avatar img,
.buddypress-wrap #activity-stream .activity-inner .group-avatar .db-auto-avatar {
	width: 46px !important; height: 46px !important; font-size: 18px !important;
}
.buddypress-wrap #activity-stream .activity-item .activity-header { color: var(--muted); font-size: 13.5px; }
.buddypress-wrap #activity-stream .activity-item .activity-header a { color: var(--ink); font-weight: 700; }
.buddypress-wrap #activity-stream .activity-content .activity-inner { color: var(--text); margin: 8px 0 4px; }
/* hashtags: coloured + clickable */
.buddypress-wrap .activity-inner a.hashtag, .activity-inner a.hashtag, a.hashtag {
	color: var(--accent-ink); font-weight: 600; text-decoration: none;
}
.buddypress-wrap .activity-inner a.hashtag:hover, a.hashtag:hover { text-decoration: underline; }
.buddypress-wrap #activity-stream .activity-meta { display: flex; gap: 18px; padding-top: 12px; border-top: 1px solid var(--border); margin-top: 12px; }
.buddypress-wrap #activity-stream .activity-meta a, .buddypress-wrap #activity-stream .activity-meta button {
	background: none; border: 0; color: var(--muted); font-weight: 600; font-size: 13px; padding: 0; cursor: pointer;
}
.buddypress-wrap #activity-stream .activity-meta a:hover, .buddypress-wrap #activity-stream .activity-meta button:hover { color: var(--accent-ink); }

/* logged-out public feed: sign-in banner + rail join card */
.feed-signin {
	display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
	background: var(--accent-soft); border: 1px solid var(--accent); border-radius: var(--r);
	padding: 14px 18px; margin-bottom: 18px;
}
.feed-signin b { color: var(--accent-ink); }
.feed-signin-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.rail-join { padding: 18px; }
.rail-join b { color: var(--ink); font-size: 15px; }
.rail-join p { margin: 6px 0 12px; font-size: 13.5px; }
.rail-join-btns { display: flex; gap: 8px; }
.rail-join-btns .btn { flex: 1; justify-content: center; }

/* compact avatars inside activity content (e.g. 'joined the group' preview cards) */
.buddypress-wrap #activity-stream .activity-inner .item-avatar img,
.buddypress-wrap #activity-stream .activity-inner .item-avatar .db-auto-avatar,
.buddypress-wrap #activity-stream .activity-inner img.avatar,
.buddypress-wrap #activity-stream .activity-inner .db-auto-avatar {
	width: 52px !important; height: 52px !important; font-size: 20px !important;
}
.buddypress-wrap #activity-stream .activity-inner .activity-read-more,
.buddypress-wrap #activity-stream .activity-inner .generic-button a { font-size: 13px; }

/* 'joined / created the group' preview card — same centred look, lower height */
.buddypress-wrap #activity-stream .bp-group-activity-preview {
	padding: 16px 18px !important; margin: 8px 0 2px !important;
}
.buddypress-wrap #activity-stream .bp-group-short-description {
	padding: 0 !important; margin: 0 !important;
}
.buddypress-wrap #activity-stream .bp-group-avatar-content {
	margin: 0 auto 8px !important; padding: 0 !important;
}
.buddypress-wrap #activity-stream .bp-group-avatar-content img.profile-photo,
.buddypress-wrap #activity-stream .bp-group-avatar-content .db-auto-avatar {
	width: 48px !important; height: 48px !important; font-size: 19px !important;
	margin: 0 auto !important; border-radius: 50% !important;
}
.buddypress-wrap #activity-stream .bp-group-short-description-title {
	margin: 0 0 10px !important; font-size: 15px; font-weight: 700; line-height: 1.2;
}
.buddypress-wrap #activity-stream .bp-group-short-description-title a { color: var(--accent-ink); }
.buddypress-wrap #activity-stream .bp-profile-button {
	margin: 0 !important;
}
.buddypress-wrap #activity-stream .bp-profile-button .button {
	padding: 6px 14px !important; font-size: 13px !important; margin: 0 !important;
}

/* media inside activity posts (images / video) */
.buddypress-wrap #activity-stream .activity-inner img,
.buddypress-wrap #activity-stream .activity-inner video { max-width: 100%; height: auto; display: block; }
.buddypress-wrap #activity-stream .db-media {
	margin: 12px 0 2px; border-radius: 14px; overflow: hidden; border: 1px solid var(--border);
	background: var(--bg-alt);
}
.buddypress-wrap #activity-stream .db-media img,
.buddypress-wrap #activity-stream .db-media video { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
/* two-up image grid */
.buddypress-wrap #activity-stream .db-media.duo { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; border: 0; background: transparent; }
.buddypress-wrap #activity-stream .db-media.duo img { border-radius: 12px; border: 1px solid var(--border); aspect-ratio: 4/3; }
/* video post: thumbnail with play badge */
.buddypress-wrap #activity-stream .db-video { position: relative; display: block; margin: 12px 0 2px; border-radius: 14px; overflow: hidden; border: 1px solid var(--border); }
.buddypress-wrap #activity-stream .db-video img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; filter: brightness(.9); }
.buddypress-wrap #activity-stream .db-video::after {
	content: "▶"; position: absolute; inset: 0; margin: auto; width: 62px; height: 62px;
	display: flex; align-items: center; justify-content: center; font-size: 22px; color: #fff;
	background: rgba(15,163,155,.92); border-radius: 999px; padding-left: 4px; box-shadow: 0 6px 20px rgba(0,0,0,.3);
}
.buddypress-wrap #activity-stream .db-video:hover::after { background: var(--accent); }

/* rtMedia composer buttons themed to match */
.rtmedia-plupload-container .rtm-add-media, .rtmedia-container .button, #rtmedia-add-media-button-post-update {
	background: var(--bg-alt) !important; border: 1px solid var(--border) !important; color: var(--ink) !important; border-radius: 10px !important;
}

/* ===== rtMedia single-media lightbox (click an uploaded photo) ===== */
#rtmedia-single-media-container,
.rtmedia-container.rtmedia-single-container,
.rtm-lightbox-container { background: var(--surface) !important; color: var(--text); border-radius: var(--r); overflow: hidden; }
.rtmedia-single-media.rtm-single-media {
	background: var(--bg-alt); display: flex; align-items: center; justify-content: center;
	padding: 26px; box-sizing: border-box;
}
.rtmedia-single-media.rtm-single-media img, .rtmedia-single-media .rtmedia-media img {
	max-width: 100%; max-height: 100%; height: auto; border-radius: 10px; box-shadow: var(--shadow);
}
/* the bottom title / actions bar over the image — keep it padded away from the edges */
.rtmedia-single-media .rtmedia-media-title, .rtmedia-single-media .rtm-single-actions { margin: 0 26px; }
.rtmedia-single-meta.rtm-single-meta { background: var(--surface) !important; color: var(--text); padding: 24px 26px !important; }
.rtmedia-single-meta .rtm-user-meta-details { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.rtmedia-single-meta .username, .rtmedia-single-meta .username a, .rtm-user-meta-details a.username {
	color: var(--ink) !important; font-weight: 700; font-size: 16px; text-decoration: none;
}
.rtm-time-privacy, .rtm-time-privacy a, .rtmedia-single-meta .rtm-time-privacy { color: var(--muted) !important; font-size: 13px; }
.rtmedia-single-meta a { color: var(--accent-ink); }
/* avatar: fixed 48px circle, container must not clip it */
.rtmedia-single-meta .userprofile.rtm-user-avatar,
.rtmedia-single-meta .rtm-user-avatar,
.rtmedia-single-meta .userprofile {
	width: 48px !important; height: 48px !important; flex: none; overflow: visible !important; margin: 0 !important; float: none !important; display: block;
}
.rtmedia-single-meta .rtm-user-avatar img,
.rtmedia-single-meta .rtm-user-avatar .db-auto-avatar,
.rtmedia-single-meta .userprofile img,
.rtmedia-single-meta .userprofile .db-auto-avatar {
	width: 48px !important; height: 48px !important; min-width: 48px; max-width: none !important; border-radius: 50% !important;
	font-size: 18px !important; display: inline-flex !important; align-items: center; justify-content: center; margin: 0 !important; object-fit: cover;
}

/* Like button in the meta panel */
.rtmedia-single-meta a.rtmedia-like, .rtm-like-comments-info a.rtmedia-like, a.rtmedia-like, .rtmedia-actions a.rtmedia-like {
	display: inline-flex; align-items: center; gap: 6px; background: var(--bg-alt); border: 1px solid var(--border);
	color: var(--ink) !important; border-radius: 10px; padding: 7px 15px; font-weight: 600; text-decoration: none; margin-top: 12px;
}
.rtmedia-single-meta a.rtmedia-like:hover, a.rtmedia-like:hover { border-color: var(--coral); color: var(--coral) !important; }
.rtmedia-single-meta a.rtmedia-like.rtmedia-liked, a.rtmedia-like.rtmedia-liked { background: var(--accent-soft); border-color: var(--accent); color: var(--accent-ink) !important; }

/* Delete / Like action buttons over the image */
.rtm-single-actions a, .rtmedia-author-actions a, .rtmedia-item-actions.rtm-single-actions a {
	background: var(--surface) !important; border: 1px solid var(--border) !important; color: var(--ink) !important;
	border-radius: 10px !important; padding: 7px 15px !important; font-weight: 600; margin-left: 8px; text-decoration: none;
}
.rtm-single-actions a:hover { border-color: var(--accent) !important; color: var(--accent-ink) !important; }

/* comments area + input */
.rtmedia-comments-container { border-top: 1px solid var(--border); margin-top: 16px; padding-top: 16px; }
.rtmedia-comments-container .rtmedia-comment-content textarea,
.rtmedia-single-meta textarea, .rtmedia-comment textarea {
	width: 100%; box-sizing: border-box; border: 1px solid var(--border) !important; border-radius: 12px;
	background: var(--bg-alt) !important; color: var(--text); padding: 10px 14px; font-family: var(--font);
}
.rtmedia-container .mfp-close, .rtm-lightbox-container .mfp-close { color: var(--ink); opacity: .8; }

/* ===== rtMedia gallery page (Media tab) ===== */
.rtmedia-container .rtm-gallery-title, .rtmedia-container .rtmedia-gallery-title,
.buddypress-wrap .rtm-gallery-title { color: var(--ink); font-size: 22px; font-weight: 800; margin: 6px 0 12px; }
/* Options / Upload actions row */
.rtmedia-container .rtm-options, .buddypress-wrap .rtm-options { display: flex; gap: 14px; align-items: center; margin: 0 0 18px; padding: 0; }
.rtmedia-container .rtm-options a, .buddypress-wrap .rtm-options a { color: var(--accent-ink); font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.rtmedia-container .rtm-options a:hover { color: var(--accent); }
.rtmedia-container .rtm-seperator { color: var(--border); }
/* uploader dropzone */
.rtm-media-gallery-uploader, .rtm-upload-tab-content, .rtmedia-uploader-form, .rtm-tab-content-wrapper {
	border: 2px dashed var(--border) !important; border-radius: var(--r); background: var(--bg-alt); padding: 26px; margin-bottom: 22px;
}
.rtm-media-gallery-uploader .rtm-input-medium, .rtmedia-container select, .rtm-input-medium {
	border: 1px solid var(--border) !important; border-radius: 10px; background: var(--surface); padding: 8px 12px; color: var(--text);
}
#rtMedia-upload-button, #rtMedia-start-upload, .rtm-select-files .rtmedia-add-media-button,
.rtmedia-container .rtm-select-files .button {
	background: var(--coral) !important; border: 1px solid var(--coral) !important; color: #40140c !important;
	border-radius: 11px !important; padding: 10px 18px !important; font-weight: 600; box-shadow: none;
}
/* media grid */
.rtmedia-container ul.rtmedia-list, .rtmedia-container .rtmedia-list {
	display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 14px; list-style: none; margin: 0; padding: 0; float: none;
}
.rtmedia-container .rtmedia-list-item {
	width: auto !important; margin: 0 !important; list-style: none; border: 1px solid var(--border);
	border-radius: 12px; overflow: hidden; background: var(--surface); box-shadow: var(--shadow); float: none !important;
}
.rtmedia-container .rtmedia-list-item .rtmedia-item-thumbnail, .rtmedia-container .rtmedia-list-item-a { display: block; width: 100%; }
.rtmedia-container .rtmedia-list-item img {
	width: 100% !important; height: 100% !important; aspect-ratio: 1 / 1; object-fit: cover; display: block; border-radius: 0;
}
.rtmedia-container .rtmedia-item-title, .rtmedia-container .rtmedia-list-item .rtmedia-media-title { padding: 8px 10px; color: var(--ink); font-size: 13px; }
@media (max-width: 900px) { .rtmedia-container ul.rtmedia-list, .rtmedia-container .rtmedia-list { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .rtmedia-container ul.rtmedia-list, .rtmedia-container .rtmedia-list { grid-template-columns: 1fr 1fr; } }

/* ===== rtMedia edit-media page ===== */
.rtmedia-container .rtmedia-single-edit-title-container .rtmedia-title,
.buddypress-wrap .rtmedia-single-edit-title-container h2 { color: var(--ink); font-size: 22px; font-weight: 800; margin: 6px 0 14px; }
.rtm-form { max-width: 720px; }
.rtm-form label, .rtmedia-editor-main label { color: var(--ink); font-weight: 600; }
input.rtmedia-title-editor, .rtmedia-title-editor {
	width: 100% !important; box-sizing: border-box; border: 1px solid var(--border) !important; border-radius: 10px;
	background: var(--bg-alt); padding: 12px 14px; color: var(--text); font-family: var(--font); margin-top: 6px;
}
textarea.rtmedia-desc-textarea, #description.rtmedia-desc-textarea {
	width: 100% !important; box-sizing: border-box; min-height: 110px; border: 1px solid var(--border) !important; border-radius: 10px;
	background: var(--bg-alt); padding: 12px 14px; color: var(--text); font-family: var(--font); resize: vertical; margin-top: 6px;
}
select.rtmedia-merge-user-album-list, .rtmedia-merge-user-album-list {
	border: 1px solid var(--border) !important; border-radius: 10px; background: var(--surface); padding: 9px 12px; color: var(--text);
}
/* Details / Image tabs */
.rtmedia-container .rtm-tabs {
	display: flex; gap: 4px; list-style: none; border-bottom: 1px solid var(--border); padding: 0; margin: 0 0 20px;
}
.rtmedia-container .rtm-tabs li { margin: 0; list-style: none; float: none; }
.rtmedia-container .rtm-tabs a, .rtmedia-container .rtm-tabs li a {
	display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; color: var(--muted); font-weight: 600;
	border-radius: 8px 8px 0 0; text-decoration: none; border: 0; background: none;
}
.rtmedia-container .rtm-tabs .active a, .rtmedia-container .rtm-tabs li.active a, .rtmedia-container .rtm-tabs a.active {
	color: var(--accent-ink); background: var(--accent-soft); border-bottom: 2px solid var(--accent);
}
/* Save / Back buttons */
.rtmedia-editor-buttons { margin-top: 18px; }
input.rtm-button-save, .rtm-button-save, .rtmedia-editor-buttons .rtm-button-save {
	background: var(--coral) !important; border: 1px solid var(--coral) !important; color: #40140c !important;
	border-radius: 11px !important; padding: 10px 22px !important; font-weight: 600; box-shadow: none; cursor: pointer;
}
.rtm-button-back, a.rtm-button-back, .rtmedia-editor-buttons .rtm-button-back {
	background: var(--surface) !important; border: 1px solid var(--border) !important; color: var(--ink) !important;
	border-radius: 11px !important; padding: 10px 20px !important; font-weight: 600; margin-left: 8px; text-decoration: none; display: inline-block; cursor: pointer;
}
.rtm-button-back:hover { border-color: var(--accent) !important; color: var(--accent-ink) !important; }
/* image preview in editor */
.rtmedia-image-editor-cotnainer img, .rtmedia-modify-image img { max-width: 100%; height: auto; border-radius: 12px; }

/* group header buttons + readable group feed width */
.db-bp-groupbtns { margin-top: 12px; display: flex; gap: 10px; flex-wrap: wrap; }
.db-bp-head .db-bp-groupbtns .button { margin: 0; }

/* ================= Community section (no left sidebar) ================= */
/* tighten the gap between the page header and the feed */
.community-shell .pagehead { padding-bottom: 6px; }
.community-shell .band { padding-top: 16px; }

/* activity directory toolbar: scope tabs as pills */
.feed-main .bp-navs.dir-navs { margin: 0 0 12px; border: 0; }
.feed-main .activity-type-navs ul.component-navigation {
	display: flex; flex-wrap: wrap; gap: 8px; border: 0; padding: 0; margin: 0;
}
.feed-main .activity-type-navs li { margin: 0; border: 0; }
.feed-main .activity-type-navs li a {
	display: inline-flex; align-items: center; gap: 6px; background: var(--surface);
	border: 1px solid var(--border); border-radius: 999px; padding: 8px 15px;
	font-size: 13.5px; font-weight: 600; color: var(--text);
}
.feed-main .activity-type-navs li a:hover { border-color: var(--accent); color: var(--accent-ink); }
.feed-main .activity-type-navs li.selected a,
.feed-main .activity-type-navs li.current a { background: var(--accent-soft); color: var(--accent-ink); border-color: var(--accent); border-radius: 999px; }
.feed-main .activity-type-navs li a span.count { background: var(--accent); color: #fff; margin-left: 4px; padding: 1px 7px; border-radius: 999px; font-size: 11px; }

/* search + filter row */
.feed-main .subnav-filters {
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
	background: var(--surface); border: 1px solid var(--border); border-radius: 16px;
	padding: 12px 14px; margin: 0 0 18px;
}
.feed-main .subnav-filters .feed { display: none; }               /* hide RSS clutter */
.feed-main .subnav-filters .subnav-search { flex: 1 1 240px; min-width: 0; margin: 0; float: none; }
.feed-main .subnav-search .dir-search { width: 100%; margin: 0; float: none; }
.feed-main .dir-search form { display: flex; gap: 8px; margin: 0; width: 100%; }
.feed-main .dir-search input[type="search"] {
	flex: 1; width: 100%; border-radius: 999px !important; border: 1px solid var(--border) !important;
	background: var(--bg-alt); padding: 11px 18px !important; font-size: 14px; box-sizing: border-box;
}
.feed-main .dir-search input[type="search"]:focus { border-color: var(--accent) !important; }
.feed-main .dir-search .nouveau-search-submit {
	background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important;
	border-radius: 999px !important; padding: 0 16px !important; flex: none;
}
.feed-main .component-filters, .feed-main #dir-filters { margin: 0; float: none; flex: none; }
.feed-main #dir-filters label { display: none; }
.feed-main .component-filters .select-wrap { border: 1px solid var(--border); border-radius: 999px; background: var(--bg-alt); overflow: hidden; }
.feed-main .component-filters select { border: 0 !important; background: transparent; color: var(--text); padding: 11px 14px; font-size: 14px; }

/* composer grows when focused (professional feel) */
.db-composer textarea { transition: min-height .16s ease; }
.db-composer textarea:focus { min-height: 92px; }

/* remove empty-notice gaps at the top of the stream */
.feed-main #activity-stream > #bp-ajax-loader:only-child { padding: 10px 0; }
.community-shell .bp-feedback:empty { display: none; }

/* ---- single profile / group screen (full width, centered, no sidebar) ---- */
.community-single { max-width: 940px; margin: 0 auto; }
/* keep only the empty JS placeholder hidden (the real composer #whats-new-form shows & is styled) */
.community-single #bp-nouveau-activity-form:empty { display: none !important; }
.community-single #activity-stream { margin-top: 6px; }
.community-single .activity-list li.activity-item:first-child { margin-top: 0; }
.community-single #buddypress { margin: 0; }
/* profile/group: wrapper is transparent, the teal container is the rounded card */
.community-single #item-header { background: transparent; border: 0; padding: 0; box-shadow: none; }
.community-single #cover-image-container {
	border: 1px solid var(--border); border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); margin-bottom: 18px;
}
/* member/group secondary nav (Activity / Members / Manage …) as a clean tab bar */
.community-single .bp-navs.item-navs,
.single-item .bp-navs.item-navs { margin: 0 0 18px; }
.community-single .item-navs ul, .single-item .item-navs ul {
	display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid var(--border); padding: 0 0 2px;
}
.community-single .item-navs li a, .single-item .item-navs li a {
	border-radius: 10px 10px 0 0; padding: 10px 16px; color: var(--text); font-weight: 600;
}
.community-single .item-navs li.selected a, .single-item .item-navs li.current a {
	background: var(--accent-soft); color: var(--accent-ink);
}
.single-item.groups .buddypress-wrap #activity-stream .activity-item,
.community-single .buddypress-wrap #activity-stream .activity-item { max-width: 100%; }

/* ================= professional loader / nav tabs / toolbar / composer ================= */

/* AJAX "Loading the community updates" → clean card + branded spinner */
.buddypress-wrap .bp-feedback.loading,
#bp-ajax-loader .bp-feedback,
.buddypress-wrap #bp-ajax-loader {
	background: var(--surface) !important; border: 1px solid var(--border) !important; border-radius: var(--r);
	display: flex; align-items: center; gap: 12px; padding: 16px 18px; color: var(--muted); box-shadow: var(--shadow);
}
.buddypress-wrap .bp-feedback.loading .bp-icon, #bp-ajax-loader .bp-icon {
	width: 20px !important; height: 20px !important; flex: none; border: 2px solid var(--border);
	border-top-color: var(--accent); border-radius: 50%; background: none !important; box-shadow: none !important;
	animation: db-spin .7s linear infinite;
}
.buddypress-wrap .bp-feedback.loading .bp-icon::before,
.buddypress-wrap .bp-feedback.loading .bp-icon::after { content: none !important; }
.buddypress-wrap .bp-feedback.loading p { margin: 0; }
@keyframes db-spin { to { transform: rotate(360deg); } }

/* empty-state / info messages ("no activity found") themed off the default blue */
.buddypress-wrap .bp-feedback.info,
.buddypress-wrap #message.info,
.buddypress-wrap .bp-messages.info {
	background: var(--accent-soft) !important; border: 1px solid var(--accent) !important; border-radius: var(--r);
	color: var(--accent-ink); display: flex; align-items: center; gap: 12px; padding: 14px 18px; box-shadow: none;
}
.buddypress-wrap .bp-feedback.info .bp-icon, .buddypress-wrap #message.info .bp-icon {
	background: var(--accent) !important; color: #fff !important; border-radius: 8px;
}
.buddypress-wrap .bp-feedback.info p { margin: 0; color: var(--accent-ink); }

/* primary member/group nav (#object-nav) as an underline tab bar */
.community-single #object-nav ul, .single-item #object-nav ul {
	display: flex; flex-wrap: wrap; gap: 2px; list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--border);
}
.community-single #object-nav li, .single-item #object-nav li { margin: 0; background: none; border: 0; }
.community-single #object-nav li a, .single-item #object-nav li a {
	display: inline-flex; align-items: center; gap: 7px; padding: 13px 16px; color: var(--muted);
	font-weight: 600; border-bottom: 2px solid transparent; border-radius: 8px 8px 0 0; text-decoration: none;
}
.community-single #object-nav li a:hover, .single-item #object-nav li a:hover { color: var(--accent-ink); }
.community-single #object-nav li.current a, .community-single #object-nav li.selected a,
.single-item #object-nav li.current a, .single-item #object-nav li.selected a {
	color: var(--accent-ink) !important; border-bottom-color: var(--accent); background: var(--accent-soft);
}
.community-single #object-nav li a span.count, .single-item #object-nav li a span.count {
	background: var(--accent); color: #fff; border-radius: 999px; padding: 1px 8px; font-size: 11px; min-width: 0;
}

/* secondary subnav (#subnav: Personal / Mentions / …) as pills */
.community-single #subnav .subnav, .single-item #subnav .subnav {
	display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 14px 0 4px; border: 0;
}
.community-single #subnav li, .single-item #subnav li { margin: 0; background: none; border: 0; }
.community-single #subnav li a, .single-item #subnav li a {
	display: inline-block; padding: 8px 15px; border-radius: 999px; color: var(--muted); font-weight: 600; font-size: 13.5px; text-decoration: none;
}
.community-single #subnav li a:hover, .single-item #subnav li a:hover { color: var(--accent-ink); }
.community-single #subnav li.current a, .community-single #subnav li.selected a,
.single-item #subnav li.current a, .single-item #subnav li.selected a { background: var(--accent-soft); color: var(--accent-ink); }

/* activity toolbar (search + filter) — apply in profile/group too, not just the feed */
.community-single .subnav-filters, .single-item .subnav-filters {
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
	background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 12px 14px; margin: 0 0 18px;
}
.community-single .subnav-filters .feed, .single-item .subnav-filters .feed { display: none; }
.community-single .subnav-search, .single-item .subnav-search { flex: 1 1 240px; min-width: 0; margin: 0; float: none; }
.community-single .subnav-search .dir-search, .single-item .subnav-search .dir-search { width: 100%; margin: 0; float: none; }
.community-single .dir-search form, .single-item .dir-search form { display: flex; gap: 8px; margin: 0; width: 100%; }
.community-single .dir-search input[type="search"], .single-item .dir-search input[type="search"] {
	flex: 1; width: 100%; border-radius: 999px !important; border: 1px solid var(--border) !important;
	background: var(--bg-alt); padding: 11px 18px !important; box-sizing: border-box;
}
.community-single .dir-search .nouveau-search-submit, .single-item .dir-search .nouveau-search-submit {
	background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; border-radius: 999px !important; padding: 0 16px !important;
}
.community-single .component-filters, .single-item .component-filters,
.community-single #dir-filters, .single-item #dir-filters { margin: 0; float: none; flex: none; }
.community-single #dir-filters label, .single-item #dir-filters label { display: none; }
.community-single .component-filters .select-wrap, .single-item .component-filters .select-wrap {
	border: 1px solid var(--border); border-radius: 999px; background: var(--bg-alt); overflow: hidden;
}
.community-single .component-filters select, .single-item .component-filters select {
	border: 0 !important; background: transparent; color: var(--text); padding: 11px 14px; font-size: 14px;
}

/* default (#whats-new-form) composer styled to match the feed composer */
.buddypress-wrap #whats-new-form { padding: 18px !important; }
.buddypress-wrap #whats-new-avatar img,
.buddypress-wrap #whats-new-avatar .db-auto-avatar { width: 46px !important; height: 46px !important; font-size: 17px !important; border-radius: 50% !important; }
.buddypress-wrap #whats-new-textarea textarea {
	border: 1px solid var(--border) !important; border-radius: 20px !important; background: var(--bg-alt) !important;
	padding: 13px 18px !important; min-height: 54px !important; font-size: 15px; transition: min-height .16s ease;
}
.buddypress-wrap #whats-new-textarea textarea:focus { min-height: 92px !important; border-color: var(--accent) !important; }
.buddypress-wrap #whats-new-content .rtmedia-add-media-button,
.buddypress-wrap #rtmedia-add-media-button-post-update {
	background: var(--bg-alt) !important; border: 1px solid var(--border) !important; border-radius: 10px !important;
	color: var(--ink) !important; width: auto !important; height: auto !important; padding: 8px 12px !important;
}
.buddypress-wrap #whats-new-submit #aw-whats-new-submit,
.buddypress-wrap #whats-new-actions #aw-whats-new-submit {
	background: var(--coral) !important; border-color: var(--coral) !important; color: #40140c !important; border-radius: 12px !important; font-weight: 700;
}
.buddypress-wrap #whats-new-actions .ac-reply-cancel,
.buddypress-wrap #whats-new-submit .ac-reply-cancel {
	background: var(--surface) !important; border: 1px solid var(--border) !important; color: var(--ink) !important; border-radius: 12px !important;
}

/* ============================================================================
   BuddyPress base theme — applies to EVERY BP page (forms, buttons, tables,
   pagination, notices, headings). Specific rules above win by specificity.
   ============================================================================ */

/* --- standard forms (profile edit, settings, group admin, friends, etc.) --- */
.buddypress-wrap .standard-form input[type="text"],
.buddypress-wrap .standard-form input[type="email"],
.buddypress-wrap .standard-form input[type="password"],
.buddypress-wrap .standard-form input[type="tel"],
.buddypress-wrap .standard-form input[type="url"],
.buddypress-wrap .standard-form input[type="number"],
.buddypress-wrap .standard-form input[type="date"],
.buddypress-wrap .standard-form textarea,
.buddypress-wrap .editfield input[type="text"],
.buddypress-wrap .editfield textarea {
	width: 100%; max-width: 100%; box-sizing: border-box; border: 1px solid var(--border); border-radius: 10px;
	background: var(--bg-alt); color: var(--text); padding: 11px 13px; font-family: var(--font); font-size: 14px;
}
.buddypress-wrap .standard-form select,
.buddypress-wrap .editfield select {
	border: 1px solid var(--border); border-radius: 10px; background: var(--surface); color: var(--text);
	padding: 9px 12px; font-family: var(--font); font-size: 14px; max-width: 100%;
}
.buddypress-wrap .standard-form input:focus,
.buddypress-wrap .standard-form textarea:focus,
.buddypress-wrap .standard-form select:focus { border-color: var(--accent); outline: none; }
.buddypress-wrap .standard-form label,
.buddypress-wrap .editfield label,
.buddypress-wrap .bp-label { display: block; font-weight: 600; color: var(--ink); margin: 14px 0 6px; }
.buddypress-wrap .standard-form .submit { padding-top: 10px; }
.buddypress-wrap .standard-form .submit input[type="submit"],
.buddypress-wrap .standard-form .submit button[type="submit"],
.buddypress-wrap .standard-form p.submit input {
	background: var(--coral); border: 1px solid var(--coral); color: #40140c; border-radius: 11px;
	padding: 11px 22px; font-weight: 600; cursor: pointer; box-shadow: none;
}
.buddypress-wrap .standard-form .submit a { color: var(--ink); font-weight: 600; margin-left: 10px; }
.buddypress-wrap input[type="checkbox"], .buddypress-wrap input[type="radio"] { accent-color: var(--accent); }

/* --- generic buttons: rounded --- */
.buddypress-wrap .button, .buddypress-wrap a.button, .buddypress-wrap .generic-button a { border-radius: 11px; font-weight: 600; }

/* --- tables (profile fields, group members, forums) --- */
.buddypress-wrap table.profile-fields, .buddypress-wrap .bp-tables-user, .buddypress-wrap table.wp-profile-fields {
	width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--border); border-radius: var(--r); overflow: hidden; margin-top: 8px;
}
.buddypress-wrap table.profile-fields th, .buddypress-wrap .bp-tables-user th { background: var(--bg-alt); color: var(--ink); text-align: left; padding: 12px 14px; border: 0; }
.buddypress-wrap table.profile-fields td, .buddypress-wrap .bp-tables-user td { padding: 12px 14px; border-top: 1px solid var(--border); color: var(--text); }
.buddypress-wrap .profile-fields .label { color: var(--muted); font-weight: 600; }

/* --- feedback / notices --- */
.buddypress-wrap .bp-feedback { border-radius: var(--r); border: 1px solid var(--border); padding: 12px 16px; display: flex; align-items: center; gap: 12px; }
.buddypress-wrap .bp-feedback.success { background: var(--accent-soft); border-color: var(--accent); color: var(--accent-ink); }
.buddypress-wrap .bp-feedback.error { background: var(--coral-soft, #ffe6e0); border-color: var(--coral); color: var(--coral-ink, #b23a2e); }
.buddypress-wrap .bp-feedback .bp-icon { border-radius: 8px; }

/* --- pagination --- */
.buddypress-wrap .bp-pagination, .buddypress-wrap .pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 16px 0; background: none; border: 0; }
.buddypress-wrap .pag-count { color: var(--muted); font-size: 13px; }
.buddypress-wrap .pagination-links a, .buddypress-wrap .pagination-links span {
	display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 8px;
	border: 1px solid var(--border); border-radius: 9px; color: var(--text); text-decoration: none; margin-left: 4px;
}
.buddypress-wrap .pagination-links a:hover, .buddypress-wrap .pagination-links span.current { background: var(--accent-soft); color: var(--accent-ink); border-color: var(--accent); }

/* --- section headings --- */
.buddypress-wrap .bp-widget > h2, .buddypress-wrap .screen-heading, .buddypress-wrap #item-body h2:not(.rtmedia-title) { color: var(--ink); font-size: 19px; margin: 10px 0 14px; }

/* --- xprofile visibility toggles + settings rows --- */
.buddypress-wrap .field-visibility-settings-toggle, .buddypress-wrap .visibility-toggle-link, .buddypress-wrap .field-visibility-settings-notoggle { color: var(--accent-ink); font-weight: 600; font-size: 12.5px; }
.buddypress-wrap .field-visibility-settings { background: var(--bg-alt); border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; margin-top: 8px; }

/* --- friends / member action buttons already themed via .button --- */
.buddypress-wrap .friendship-button a, .buddypress-wrap .group-button a { border-radius: 11px; }
