/**
 * BSMC — BuddyBoss Theme Overrides
 *
 * Applies the BSMC brand (dark bg, gold accents, Bebas Neue + Proxima Nova,
 * rounded corners) to BuddyBoss core surfaces: activity feed, member profile,
 * groups, forums, messages, notifications, modals, cards, buttons, forms.
 *
 * Tokens up top; everything below references the variables so a single
 * change propagates. Selectors target BB's class names — !important is used
 * sparingly only where the parent theme uses inline styles or high-specificity
 * rules that otherwise win.
 */

:root {
    --bsmc-bg:           #0e0e0e;
    --bsmc-bg-card:      #1a1a1a;
    --bsmc-bg-soft:      #232323;
    --bsmc-gold:         #C8A96E;
    --bsmc-gold-light:   #DFC08A;
    --bsmc-white:        #edeadf;
    --bsmc-white-soft:   rgba(237,234,223,0.82);
    --bsmc-white-dim:    rgba(237,234,223,0.60);
    --bsmc-white-hair:   rgba(237,234,223,0.10);
    --bsmc-radius-card:  16px;
    --bsmc-radius-inner: 12px;
    --bsmc-radius-pill:  100px;
    --bsmc-radius-sm:    6px;
    --bsmc-font-head:    'Bebas Neue', sans-serif;
    --bsmc-font-body:    'Proxima Nova', 'Montserrat', sans-serif;
}

/* ────────────────────────────────────────────────────────────────────── */
/* Page background                                                        */
/* ────────────────────────────────────────────────────────────────────── */
body,
body.buddypress,
#buddypress,
.bb-content-area,
.bb-rl-screen-bg,
.site-content {
    background-color: var(--bsmc-bg);
    color: var(--bsmc-white);
}

/* ────────────────────────────────────────────────────────────────────── */
/* Typography                                                             */
/* ────────────────────────────────────────────────────────────────────── */
body, p, .bb-rl-text-base, .bb-rl-content-text, .bb-rl-card-text {
    font-family: var(--bsmc-font-body);
    color: var(--bsmc-white-soft);
}

h1, h2, h3, h4, h5,
.bb-rl-display-text, .bb-rl-heading-text,
.bs-page-title, .entry-title {
    font-family: var(--bsmc-font-head);
    color: var(--bsmc-white);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 400;
}

a, a:visited {
    color: var(--bsmc-gold);
    text-decoration: none;
}
a:hover, a:focus {
    color: var(--bsmc-gold-light);
}

/* ────────────────────────────────────────────────────────────────────── */
/* Cards / containers                                                     */
/* ────────────────────────────────────────────────────────────────────── */
.bs-shell, .bs-shell-mod,
.buddypress-wrap .bp-list,
.buddypress_object_nav,
.bb-rl-card, .bb-rl-bg-card-background,
.bb-content-bg, .bb-content-wrap, .bb-shell,
.activity-list .activity,
#item-body, #item-header,
.bb-modal-mask, .bb-modal-content {
    background-color: var(--bsmc-bg-card);
    color: var(--bsmc-white);
    border-color: var(--bsmc-white-hair);
    border-radius: var(--bsmc-radius-card);
}

.bs-shell, .bb-rl-card {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
    border: 1px solid var(--bsmc-white-hair);
}

/* Activity items get a softer treatment — list rows, not full cards */
.activity-list li.activity-item, .bb-rl-activity-item {
    background: var(--bsmc-bg-card);
    border-radius: var(--bsmc-radius-card);
    border: 1px solid var(--bsmc-white-hair);
    margin-bottom: 14px;
}

/* ────────────────────────────────────────────────────────────────────── */
/* Buttons                                                                */
/* ────────────────────────────────────────────────────────────────────── */
.button, button, input[type=button], input[type=submit],
.bb-rl-button, .bb-rl-btn,
.generic-button > a, .generic-button > button,
#buddypress button, #buddypress input[type=submit],
.bp-primary-action, a.button.primary, button.primary {
    font-family: var(--bsmc-font-body);
    font-weight: 700;
    background-color: var(--bsmc-gold);
    color: var(--bsmc-bg) !important;
    border: 1px solid var(--bsmc-gold);
    border-radius: var(--bsmc-radius-pill);
    padding: 9px 20px;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    letter-spacing: 0.02em;
}
.button:hover, button:hover,
input[type=button]:hover, input[type=submit]:hover,
.bb-rl-button:hover, .bb-rl-btn:hover,
.bp-primary-action:hover {
    background-color: var(--bsmc-gold-light);
    border-color: var(--bsmc-gold-light);
    color: var(--bsmc-bg) !important;
}

/* Outline / secondary buttons */
.button.outline, .button.bp-secondary-action,
.bb-rl-btn-outline, .button.bb-secondary,
.bb-rl-btn--secondary, .secondary-button,
.button-tab, a.button.outline {
    background-color: transparent;
    color: var(--bsmc-gold) !important;
    border: 1px solid var(--bsmc-gold);
}
.button.outline:hover, .bb-rl-btn-outline:hover,
.button-tab:hover, a.button.outline:hover {
    background-color: rgba(200, 169, 110, 0.12);
    color: var(--bsmc-gold-light) !important;
    border-color: var(--bsmc-gold-light);
}

/* Icon-only buttons (the 3-dot menus, action icons) */
.bb-icon-action, .bp-action-icon, .more-action-button {
    background: transparent !important;
    border: none !important;
    color: var(--bsmc-white-soft) !important;
}

/* ────────────────────────────────────────────────────────────────────── */
/* Form fields                                                            */
/* ────────────────────────────────────────────────────────────────────── */
input[type="text"], input[type="email"], input[type="url"],
input[type="password"], input[type="search"], input[type="number"],
input[type="tel"], input[type="date"], input[type="datetime-local"],
textarea, select,
.bb-rl-input, .bb-rl-textarea,
#whats-new, .bp-search-form input {
    background-color: var(--bsmc-bg-soft);
    color: var(--bsmc-white);
    border: 1px solid var(--bsmc-white-hair);
    border-radius: var(--bsmc-radius-inner);
    font-family: var(--bsmc-font-body);
    padding: 10px 14px;
    transition: border-color 0.15s, box-shadow 0.15s;
}
input:focus, textarea:focus, select:focus, .bb-rl-input:focus, #whats-new:focus {
    outline: none;
    border-color: var(--bsmc-gold);
    box-shadow: 0 0 0 3px rgba(200, 169, 110, 0.18);
}
::placeholder, .bb-rl-placeholder { color: var(--bsmc-white-dim); }

/* ────────────────────────────────────────────────────────────────────── */
/* Activity feed (post composer + items)                                  */
/* ────────────────────────────────────────────────────────────────────── */
#bp-nouveau-activity-form,
.activity-update-form,
.bb-rl-create-activity {
    background-color: var(--bsmc-bg-card);
    border: 1px solid var(--bsmc-white-hair);
    border-radius: var(--bsmc-radius-card);
    padding: 16px;
}

.activity-content, .activity-header {
    color: var(--bsmc-white-soft);
}
.activity-header a { color: var(--bsmc-white); font-weight: 700; }

.activity-meta a, .activity-state-comments,
.bb-rl-activity-meta a {
    color: var(--bsmc-white-dim) !important;
}
.activity-meta a:hover, .bb-rl-activity-meta a:hover {
    color: var(--bsmc-gold) !important;
}

/* Avatars — keep them circular */
img.avatar, .bb-rl-avatar img, .item-avatar img {
    border-radius: 50%;
    border: 1px solid var(--bsmc-white-hair);
}

/* ────────────────────────────────────────────────────────────────────── */
/* Profile header + tabs                                                  */
/* ────────────────────────────────────────────────────────────────────── */
#item-header, .bb-rl-profile-header,
#cover-image-container {
    border-radius: var(--bsmc-radius-card);
    overflow: hidden;
}

#item-header h2, .bb-rl-profile-header h2 {
    font-family: var(--bsmc-font-head);
    color: var(--bsmc-white);
    font-size: clamp(28px, 4vw, 42px);
    letter-spacing: 0.05em;
}

/* Tabs (object nav) */
.bp-navs ul, .item-list-tabs ul,
.buddypress_object_nav ul, .bb-rl-tabs {
    background: transparent !important;
    border-bottom: 1px solid var(--bsmc-white-hair);
}
.bp-navs li a, .item-list-tabs li a,
.buddypress_object_nav li a, .bb-rl-tabs a {
    font-family: var(--bsmc-font-body);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 13px;
    color: var(--bsmc-white-soft) !important;
    background: transparent !important;
    border: none !important;
    padding: 12px 16px;
    transition: color 0.15s;
}
.bp-navs li a:hover, .item-list-tabs li a:hover {
    color: var(--bsmc-gold) !important;
}
.bp-navs li.current a, .bp-navs li.selected a,
.item-list-tabs li.current a, .item-list-tabs li.selected a {
    color: var(--bsmc-gold) !important;
    box-shadow: inset 0 -2px 0 0 var(--bsmc-gold);
}

/* ────────────────────────────────────────────────────────────────────── */
/* Lists (members, groups, forums)                                        */
/* ────────────────────────────────────────────────────────────────────── */
.bp-list li, .members-list li, .groups-list li,
.bb-rl-list-item, .bbp-topics li, .bbp-forums li {
    background: var(--bsmc-bg-card);
    border: 1px solid var(--bsmc-white-hair);
    border-radius: var(--bsmc-radius-card);
    margin-bottom: 12px;
    padding: 16px;
    color: var(--bsmc-white);
}
.bp-list li .name a, .item-title a, .item-name a {
    color: var(--bsmc-white);
    font-weight: 700;
}

/* ────────────────────────────────────────────────────────────────────── */
/* Messages                                                               */
/* ────────────────────────────────────────────────────────────────────── */
#bb-rl-messages, .bb-rl-thread, .bb-rl-message {
    background: var(--bsmc-bg-card);
    border-radius: var(--bsmc-radius-card);
    border: 1px solid var(--bsmc-white-hair);
}
.bb-rl-message-mine, .message.is-mine .message-content {
    background: var(--bsmc-gold) !important;
    color: var(--bsmc-bg) !important;
    border-radius: var(--bsmc-radius-inner);
}
.bb-rl-message:not(.bb-rl-message-mine) .message-content {
    background: var(--bsmc-bg-soft);
    color: var(--bsmc-white);
    border-radius: var(--bsmc-radius-inner);
}

/* ────────────────────────────────────────────────────────────────────── */
/* Notifications                                                          */
/* ────────────────────────────────────────────────────────────────────── */
.notification-list li, .bb-rl-notification-item {
    background: var(--bsmc-bg-card);
    border: 1px solid var(--bsmc-white-hair);
    border-radius: var(--bsmc-radius-card);
    margin-bottom: 8px;
    padding: 14px 16px;
}
.notification-list li.unread, .bb-rl-notification-item.unread {
    border-left: 3px solid var(--bsmc-gold);
}

/* ────────────────────────────────────────────────────────────────────── */
/* Pagination                                                             */
/* ────────────────────────────────────────────────────────────────────── */
.bp-pagination, .pagination,
.bp-pagination .page-numbers, .pagination .page-numbers {
    background: transparent !important;
    color: var(--bsmc-white) !important;
}
.page-numbers {
    border: 1px solid var(--bsmc-white-hair);
    border-radius: var(--bsmc-radius-sm);
    padding: 6px 12px;
    margin: 0 2px;
    color: var(--bsmc-white) !important;
}
.page-numbers.current,
.page-numbers:hover {
    background: var(--bsmc-gold);
    color: var(--bsmc-bg) !important;
    border-color: var(--bsmc-gold);
}

/* ────────────────────────────────────────────────────────────────────── */
/* Modals / popups                                                        */
/* ────────────────────────────────────────────────────────────────────── */
.bb-modal-content, .mfp-content > div, .bb-rl-popup,
.modal-container .modal-wrapper, .bb-modal-wrap {
    background: var(--bsmc-bg-card) !important;
    color: var(--bsmc-white);
    border-radius: var(--bsmc-radius-card);
    border: 1px solid var(--bsmc-white-hair);
}
.bb-modal-header, .modal-header {
    border-bottom: 1px solid var(--bsmc-white-hair);
}

/* ────────────────────────────────────────────────────────────────────── */
/* Search / filter dropdowns                                              */
/* ────────────────────────────────────────────────────────────────────── */
#object-nav-filter, #search-members-form,
.dir-search-form, .bb-rl-filter-dropdown {
    background: var(--bsmc-bg-soft);
    border-radius: var(--bsmc-radius-pill);
    border: 1px solid var(--bsmc-white-hair);
}

/* ────────────────────────────────────────────────────────────────────── */
/* Misc — counts, badges, dividers                                        */
/* ────────────────────────────────────────────────────────────────────── */
.count, .bb-rl-count {
    background: var(--bsmc-gold);
    color: var(--bsmc-bg);
    border-radius: var(--bsmc-radius-pill);
    padding: 1px 8px;
    font-weight: 700;
}

hr, .bb-rl-divider, .bp-list-divider {
    border-color: var(--bsmc-white-hair) !important;
}

/* ────────────────────────────────────────────────────────────────────── */
/* BuddyBoss ReadyLaunch — bb-rl-* surfaces                               */
/*                                                                         */
/* ReadyLaunch is BB's modern template system. Uses its own class system  */
/* and fonts loaded by `bb-readylaunch-font-css`. We override fonts +      */
/* colors here so member account / forum / messages pages match the rest. */
/* ────────────────────────────────────────────────────────────────────── */

/* Base — ReadyLaunch wraps everything in #bb-readylaunch */
#bb-readylaunch,
.bb-rl-screen-container,
.bb-rl-content-bg,
.bb-rl-page-content,
.bb-rl-card-container,
.bb-rl-screen-bg {
    background-color: var(--bsmc-bg) !important;
    color: var(--bsmc-white) !important;
}

/* Force our fonts everywhere inside ReadyLaunch — overrides bb-rl font CSS */
#bb-readylaunch,
#bb-readylaunch *,
.bb-rl-screen-container,
.bb-rl-screen-container * {
    font-family: var(--bsmc-font-body) !important;
}

#bb-readylaunch h1, #bb-readylaunch h2, #bb-readylaunch h3,
#bb-readylaunch h4, #bb-readylaunch h5,
#bb-readylaunch .bb-rl-display-text,
#bb-readylaunch .bb-rl-heading-text,
#bb-readylaunch .bb-rl-page-heading,
#bb-readylaunch .bb-rl-headline {
    font-family: var(--bsmc-font-head) !important;
    color: var(--bsmc-white) !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Cards / surfaces inside ReadyLaunch */
.bb-rl-card,
.bb-rl-bg-card-background,
.bb-rl-card-bg,
.bb-rl-bg-element,
.bb-rl-surface,
.bb-rl-list-item,
.bb-rl-content-card {
    background-color: var(--bsmc-bg-card) !important;
    border-radius: var(--bsmc-radius-card) !important;
    border: 1px solid var(--bsmc-white-hair) !important;
    color: var(--bsmc-white);
}

/* Soft inner sections (search bar, sub-row containers) */
.bb-rl-search-wrap,
.bb-rl-search-form,
.bb-rl-filter-bar,
.bb-rl-toolbar,
.bb-rl-sub-nav {
    background-color: var(--bsmc-bg-card) !important;
    border-radius: var(--bsmc-radius-pill);
    border: 1px solid var(--bsmc-white-hair);
}

/* Buttons inside ReadyLaunch */
.bb-rl-button,
.bb-rl-btn,
.bb-rl-button--primary,
.bb-rl-btn-primary {
    background: var(--bsmc-gold) !important;
    color: var(--bsmc-bg) !important;
    border: 1px solid var(--bsmc-gold) !important;
    border-radius: var(--bsmc-radius-pill) !important;
    font-weight: 700 !important;
}
.bb-rl-button:hover, .bb-rl-btn:hover,
.bb-rl-button--primary:hover, .bb-rl-btn-primary:hover {
    background: var(--bsmc-gold-light) !important;
    border-color: var(--bsmc-gold-light) !important;
    color: var(--bsmc-bg) !important;
}

.bb-rl-button--outline, .bb-rl-btn-outline,
.bb-rl-button--secondary, .bb-rl-btn-secondary {
    background: transparent !important;
    color: var(--bsmc-gold) !important;
    border-color: var(--bsmc-gold) !important;
}

/* Tabs / nav within ReadyLaunch */
.bb-rl-tabs a,
.bb-rl-tab-link,
.bb-rl-nav-link {
    color: var(--bsmc-white-soft) !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
}
.bb-rl-tabs li.active a,
.bb-rl-tabs .is-active a,
.bb-rl-tab-link.active,
.bb-rl-tab-link[aria-current="true"],
.bb-rl-nav-link.active {
    color: var(--bsmc-gold) !important;
    box-shadow: inset 0 -2px 0 0 var(--bsmc-gold);
}

/* Inputs */
.bb-rl-input,
.bb-rl-textarea,
.bb-rl-search-input,
input.bb-rl-form-control,
textarea.bb-rl-form-control {
    background: var(--bsmc-bg-soft) !important;
    color: var(--bsmc-white) !important;
    border: 1px solid var(--bsmc-white-hair) !important;
    border-radius: var(--bsmc-radius-inner) !important;
}

/* Status pills (Active / Expired / etc.) */
.bb-rl-status,
.bb-rl-tag,
.bb-rl-badge,
.bb-rl-pill {
    background: rgba(76, 175, 80, 0.15) !important;
    color: #4CAF50 !important;
    border-radius: var(--bsmc-radius-pill) !important;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.bb-rl-status.expired, .bb-rl-tag.expired { background: rgba(255, 82, 82, 0.15) !important; color: #FF5252 !important; }
.bb-rl-status.cancelled, .bb-rl-tag.cancelled { background: rgba(255, 167, 38, 0.15) !important; color: #FFA726 !important; }

/* ────────────────────────────────────────────────────────────────────── */
/* MemberPress account / signup pages (mp-* classes)                      */
/* ────────────────────────────────────────────────────────────────────── */
.mp_wrapper,
.mepr-account-content,
.mepr-signup-form,
.mp-account-content,
#mepr-account-form,
.mepr-account-row,
.mepr-active-membership-card,
.mepr-membership-card,
.memberpress-account-table {
    background-color: var(--bsmc-bg-card) !important;
    color: var(--bsmc-white) !important;
    border: 1px solid var(--bsmc-white-hair) !important;
    border-radius: var(--bsmc-radius-card) !important;
}

.mp_wrapper *,
.mepr-account-content *,
.mp-account-content * {
    font-family: var(--bsmc-font-body) !important;
}
.mp_wrapper h1, .mp_wrapper h2, .mp_wrapper h3, .mp_wrapper h4,
.mepr-account-content h1, .mepr-account-content h2, .mepr-account-content h3, .mepr-account-content h4,
.mp-account-content h1, .mp-account-content h2, .mp-account-content h3, .mp-account-content h4 {
    font-family: var(--bsmc-font-head) !important;
    color: var(--bsmc-white) !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mp_wrapper a,
.mepr-account-content a,
.mp-account-content a {
    color: var(--bsmc-gold) !important;
}
.mp_wrapper a:hover,
.mepr-account-content a:hover {
    color: var(--bsmc-gold-light) !important;
}

.mp_wrapper input[type="text"],
.mp_wrapper input[type="email"],
.mp_wrapper input[type="password"],
.mp_wrapper input[type="tel"],
.mp_wrapper select,
.mp_wrapper textarea,
.mepr-form-input, .mepr_login input, .mepr_register input {
    background: var(--bsmc-bg-soft) !important;
    color: var(--bsmc-white) !important;
    border: 1px solid var(--bsmc-white-hair) !important;
    border-radius: var(--bsmc-radius-inner) !important;
}

.mp_wrapper input[type="submit"],
.mp_wrapper button,
.mepr-submit, .mepr_form_submit {
    background-color: var(--bsmc-gold) !important;
    color: var(--bsmc-bg) !important;
    border: 1px solid var(--bsmc-gold) !important;
    border-radius: var(--bsmc-radius-pill) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* MemberPress active subscription status badges */
.mepr-subscription-status,
.mepr-active-status {
    background: rgba(76, 175, 80, 0.15) !important;
    color: #4CAF50 !important;
    border-radius: var(--bsmc-radius-pill);
    padding: 4px 10px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.04em;
}

/* MemberPress tables (subscriptions, payments, history) */
.mepr-account-table table,
.memberpress-account-table table,
.mp_wrapper table,
.mepr-table {
    background: transparent !important;
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}
.mepr-account-table th,
.memberpress-account-table th,
.mp_wrapper table th,
.mepr-table th {
    background: var(--bsmc-bg-soft) !important;
    color: var(--bsmc-white) !important;
    font-family: var(--bsmc-font-body) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 12px;
    border-bottom: 1px solid var(--bsmc-white-hair);
}
.mepr-account-table td,
.memberpress-account-table td,
.mp_wrapper table td,
.mepr-table td {
    color: var(--bsmc-white-soft) !important;
    background: transparent !important;
    padding: 12px;
    border-bottom: 1px solid var(--bsmc-white-hair);
}

/* ────────────────────────────────────────────────────────────────────── */
/* Wipe stray gold underlines / borders on links inside content surfaces  */
/* ────────────────────────────────────────────────────────────────────── */
.bb-rl-card a,
.bb-rl-card-content a,
.mepr-account-content a,
.mp_wrapper a {
    text-decoration: none !important;
    border-bottom: none !important;
}

