/* =========================================================
   Mafia Scene – BuddyPress Modern (Nouveau)
   File: assets/css/buddypress.css
   CLEAN build (no duplicate directory blocks / no conflicts)
   ========================================================= */

/* ---------- Theme tokens ---------- */
:root{
  --ms-bg: #EEECDA;
  --ms-card: #ffffff;
  --ms-text: #1f2328;
  --ms-muted: rgba(31,35,40,.65);
  --ms-line: rgba(0,0,0,.10);
  --ms-accent: #8b0f12;
  --ms-accent-2:#5d0b0c;
  --ms-radius: 16px;
  --ms-shadow: 0 10px 26px rgba(0,0,0,.08);
  --ms-shadow-2: 0 14px 34px rgba(0,0,0,.10);
}

/* ---------- Page base ---------- */
body.buddypress,
body.buddypress #page{
  background: var(--ms-bg);
}

#buddypress{
  color: var(--ms-text);
  font-size: 15px;
  line-height: 1.55;
}

#buddypress a{ color: inherit; }

/* Use our wrappers created by the template override (profiles) */
.ms-bp-wrap{
  max-width: 1180px;
  margin: 0 auto;
  padding: 10px 18px 60px;
}

/* Tidy headings inside BP */
#buddypress h1{ font-size: 28px; letter-spacing: .2px; }
#buddypress h2{ font-size: 22px; letter-spacing: .2px; }
#buddypress h3{ font-size: 18px; letter-spacing: .2px; }

/* ---------- Card primitives ---------- */
.ms-bp-header-card,
.ms-bp-tabs,
.ms-bp-panel{
  background: var(--ms-card);
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius);
  box-shadow: var(--ms-shadow);
}

.ms-bp-header-card{ overflow: hidden; }
.ms-bp-tabs{ overflow: visible; }
.ms-bp-panel{ overflow: visible; }

/* =========================================================
   Profile Header card (cover + avatar overlap)
   ========================================================= */
.ms-bp-header-card{
  margin-bottom: 12px;
}

.ms-bp-cover{
  height: 180px;
  position: relative;
  background:
    radial-gradient(900px 300px at 20% 20%, rgba(255,255,255,.16), transparent 55%),
    radial-gradient(700px 240px at 80% 30%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(135deg, rgba(139,15,18,.92), rgba(93,11,12,.92));
  background-size: cover;
  background-position: center;
}

#buddypress #cover-image-container{
  margin: 0 !important;
}

.ms-bp-header-inner{
  display: flex;
  gap: 16px;
  padding: 14px 18px 16px;
  align-items: center;
}

.ms-bp-avatar{
  margin-top: -42px;
  flex: 0 0 auto;
  position: relative;
}

.ms-bp-avatar img.avatar{
  width: 92px;
  height: 92px;
  border-radius: 14px;
  border: 4px solid #fff;
  background: #fff;
  box-shadow: 0 12px 22px rgba(0,0,0,.14);
}

.ms-bp-name{
  margin: 0;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .2px;
}

.ms-bp-meta{
  margin-top: 4px;
  color: rgba(0,0,0,.60);
  font-size: 13px;
  display: flex;
  gap: 8px;
  align-items: center;
}

.ms-bp-dot{ opacity: .6; }

/* Edit pills */
.ms-bp-cover-edit{
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
  text-decoration:none;
  background: rgba(0,0,0,.55);
  color:#fff !important;
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(8px);
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
}
.ms-bp-cover-edit:hover{
  background: rgba(0,0,0,.68);
  transform: translateY(-1px);
}

.ms-bp-avatar-edit{
  position:absolute;
  left:10px;
  bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:11px;
  text-decoration:none;
  background: rgba(0,0,0,.55);
  color:#fff !important;
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(8px);
}
.ms-bp-avatar-edit:hover{
  background: rgba(0,0,0,.68);
  transform: translateY(-1px);
}

/* Actions in header (Message/Add friend/etc) */
#buddypress .ms-bp-ident{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 16px;
  align-items: center;
}

#buddypress .ms-bp-meta{ grid-column: 1 / 2; }

#buddypress .ms-bp-actions{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  justify-content: flex-end;
}

#buddypress .ms-bp-actions ul,
#buddypress .ms-bp-actions li{
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#buddypress .ms-bp-actions ul{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  align-items:center !important;
}

#buddypress .ms-bp-actions ul li,
#buddypress .ms-bp-actions .generic-button{
  display:inline-flex !important;
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}

#buddypress .ms-bp-actions .generic-button a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  min-height: 38px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
  line-height: 1;
  border: 1px solid rgba(0,0,0,0.14);
  background: rgba(0,0,0,0.04);
  color: #111 !important;
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
  transition: transform .08s ease, background .12s ease, box-shadow .12s ease;
  white-space: nowrap;
}
#buddypress .ms-bp-actions .generic-button a:hover{
  background: rgba(0,0,0,0.07);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.10);
}

/* Primary friend button */
#buddypress .ms-bp-actions #friendship-button a,
#buddypress .ms-bp-actions .friendship-button a{
  background: var(--ms-accent) !important;
  color: #fff !important;
  border-color: rgba(0,0,0,0.18) !important;
}
#buddypress .ms-bp-actions #friendship-button a:hover,
#buddypress .ms-bp-actions .friendship-button a:hover{
  background: var(--ms-accent-2) !important;
}



/* Header badges + title line */
.ms-bp-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  grid-column: 1 / 2;
}

.ms-bp-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .5px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.05);
  color: rgba(0,0,0,.78);
}

.ms-bp-badge--role{
  background: rgba(0,0,0,.06);
}

.ms-bp-badge--faction{
  background: rgba(139,15,18,.10);
  color: rgba(93,11,12,.92);
  border-color: rgba(139,15,18,.22);
}

.ms-bp-title-line{
  margin: -2px 0 0;
  font-size: 14px;
  font-weight: 700;
  color: rgba(0,0,0,.67);
  grid-column: 1 / 2;
}

.ms-bp-avatar--ring img.avatar{
  border-radius: 999px;
  box-shadow: 0 14px 28px rgba(0,0,0,.16), 0 0 0 4px rgba(139,15,18,.16);
}

.ms-bp-stats{
  grid-column: 1 / 2;
}

/* Profile two-column layout */
.ms-bp-layout{
  display:grid;
  grid-template-columns: 290px minmax(0,1fr);
  gap: 12px;
  align-items:start;
}

.ms-bp-sidebar{
  padding: 14px;
  position: sticky;
  top: 16px;
}

.ms-bp-sidebar-title{
  margin: 0;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .25px;
}

.ms-bp-sidebar-meta{
  margin: 8px 0 0;
  color: rgba(0,0,0,.62);
  font-size: 13px;
}

.ms-bp-sidebar-links{
  margin-top: 12px;
  display:grid;
  gap: 8px;
}

.ms-bp-sidebar-badges{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ms-bp-sidebar-titleline{
  margin: 8px 0 0;
  font-size: 14px;
  font-weight: 700;
  color: rgba(0,0,0,.7);
}

.ms-bp-sidebar-stats{
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}

.ms-bp-sidebar-stat{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.02);
  border-radius: 10px;
  padding: 8px 10px;
}

.ms-bp-sidebar-stat-label{
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: rgba(0,0,0,.56);
}

.ms-bp-sidebar-stat-value{
  font-size: 13px;
  font-weight: 900;
  color: rgba(0,0,0,.88);
}

.ms-bp-sidebar-stat--full{
  grid-column: 1 / -1;
}

.ms-bp-sidebar-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 9px 12px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.03);
}

.ms-bp-sidebar-link:hover{
  background: rgba(0,0,0,.06);
}

.ms-bp-main{
  margin-top: 0;
}

/* Remove default BuddyPress white box around our profile shell */
body.buddypress #buddypress.bp-user{
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

@media (max-width: 980px){
  .ms-bp-sidebar-stats{
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .ms-bp-layout{
    grid-template-columns: 1fr;
  }
  .ms-bp-sidebar{
    position: static;
  }
}

/* Mobile header */
@media (max-width: 780px){
  #buddypress .ms-bp-ident{
    grid-template-columns: 1fr;
  }
  #buddypress .ms-bp-actions{
    grid-column: 1 / -1;
    grid-row: auto;
    justify-content: flex-start;
  }
}
@media (max-width: 720px){
  .ms-bp-sidebar-stats{
    grid-template-columns: 1fr;
  }
  .ms-bp-sidebar-stat--full{
    grid-column: auto;
  }
  .ms-bp-header-inner{ align-items: flex-start; }
  .ms-bp-avatar{ margin-top: -36px; }
  .ms-bp-avatar img.avatar{ width: 84px; height: 84px; border-radius: 14px; }
}

/* =========================================================
   Profile Tabs card (Activity/Profile/Friends/Forums/etc)
   ========================================================= */
.ms-bp-tabs{
  margin-bottom: 12px;
  border-radius: 14px;
}

.ms-bp-tabs #object-nav{
  margin: 0;
  padding: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.ms-bp-tabs #object-nav > ul{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 22px;
  padding: 12px 18px;
  margin: 0 !important;
  list-style: none;
  border-bottom: 1px solid rgba(0,0,0,.06);
  align-items: center;
}

.ms-bp-tabs #object-nav > ul > li{ margin: 0 !important; list-style: none; }

.ms-bp-tabs #object-nav > ul > li > a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  font-weight: 900;
  text-decoration: none;
  color: rgba(0,0,0,.70);
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  white-space: nowrap;
}

.ms-bp-tabs #object-nav > ul > li.current > a,
.ms-bp-tabs #object-nav > ul > li.selected > a{
  color: #fff;
  background: var(--ms-accent);
  border-color: rgba(0,0,0,.16);
  box-shadow: 0 10px 22px rgba(139,15,18,.20);
}

.ms-bp-tabs #object-nav a .count{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  background: rgba(0,0,0,.06);
  color: rgba(0,0,0,.72);
}

/* Ensure our cards control nav chrome */
#buddypress #item-nav,
#buddypress .item-list-tabs,
#buddypress #object-nav{
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* =========================================================
   Body panel card
   ========================================================= */
.ms-bp-panel{
  padding: 18px;
  border-radius: 14px;
  margin-top: 12px;
}

/* Subnav */
#buddypress #subnav{
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 0 0 14px;
}

#buddypress #subnav ul{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  padding: 0;
  margin: 0;
}
#buddypress #subnav li{ margin: 0 !important; }

#buddypress #subnav a{
  background: transparent !important;
  border: 0 !important;
  padding: 10px 2px !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  color: rgba(0,0,0,.65) !important;
  font-weight: 800;
  text-decoration: none;
}

#buddypress #subnav li.current a,
#buddypress #subnav li.selected a{
  color: rgba(0,0,0,.92) !important;
  border-bottom-color: var(--ms-accent) !important;
}

/* =========================================================
   Inputs + Buttons (global BP)
   ========================================================= */
#buddypress input[type="text"],
#buddypress input[type="email"],
#buddypress input[type="url"],
#buddypress input[type="password"],
#buddypress input[type="search"],
#buddypress select,
#buddypress textarea{
  width: 100%;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  padding: 10px 12px;
  font-size: 15px;
  background: #fff;
}

#buddypress textarea{ min-height: 110px; }

#buddypress input:focus,
#buddypress select:focus,
#buddypress textarea:focus{
  outline: none;
  border-color: rgba(139,15,18,.35);
  box-shadow: 0 0 0 4px rgba(139,15,18,.10);
}

/* Default BP buttons (anchors + buttons + submit) */
#buddypress input[type="submit"],
#buddypress button,
#buddypress a.button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--ms-accent);
  color: #fff !important;
  border: 0;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  transition: .15s ease;
}

#buddypress input[type="submit"]:hover,
#buddypress button:hover,
#buddypress a.button:hover{
  background: var(--ms-accent-2);
  transform: translateY(-1px);
}

/* =========================================================
   Notices
   ========================================================= */
#buddypress .info,
#buddypress .bp-template-notice{
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.03);
  padding: 12px 14px;
  color: rgba(0,0,0,.72);
}

/* Keep screen-reader text accessible but not layout-affecting */
#buddypress .bp-screen-reader-text{
  position: absolute !important;
  left: -9999px !important;
}

/* =========================================================
   MEMBERS DIRECTORY (CUSTOM LOOP ONLY)
   Scope is strict: body.buddypress.directory.members
   Uses your custom template classes:
   - ul#members-list.ms-members-grid
   - li.ms-member-card
   - .ms-member-inner / .ms-member-avatar / .ms-member-name / .ms-member-meta
   - .ms-member-actions + .ms-btn variants
   ========================================================= */

/* Constrain directory like your other BP pages */
body.buddypress.directory.members #buddypress{
  max-width: 1180px;
  margin: 0 auto;
  padding: 10px 18px 60px;
}

/* Tabs / toolbar / pagination: make them card-like but DON'T fight core layout */
body.buddypress.directory.members #buddypress .item-list-tabs,
body.buddypress.directory.members #buddypress .subnav-filters,
body.buddypress.directory.members #buddypress .bp-pagination{
  background: var(--ms-card);
  border: 1px solid var(--ms-line);
  border-radius: 14px;
  box-shadow: var(--ms-shadow);
}

/* Tabs */
body.buddypress.directory.members #buddypress .item-list-tabs{
  padding: 10px 14px;
  margin-bottom: 12px;
}
body.buddypress.directory.members #buddypress .item-list-tabs ul{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  padding:0;
  margin:0;
  list-style:none;
  align-items:center;
}
body.buddypress.directory.members #buddypress .item-list-tabs ul li{ margin:0 !important; }
body.buddypress.directory.members #buddypress .item-list-tabs ul li a{
  font-weight: 900;
  text-decoration:none;
  color: rgba(0,0,0,.70);
  padding: 8px 2px;
  border-bottom: 2px solid transparent;
}
body.buddypress.directory.members #buddypress .item-list-tabs ul li.selected a,
body.buddypress.directory.members #buddypress .item-list-tabs ul li.current a{
  color: rgba(0,0,0,.92);
  border-bottom-color: var(--ms-accent);
}

/* Search + order toolbar */
body.buddypress.directory.members #buddypress .subnav-filters{
  padding: 12px 14px;
  margin: 12px 0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
}

body.buddypress.directory.members #buddypress .dir-search.members-search{ flex: 1 1 320px; }
body.buddypress.directory.members #buddypress .dir-search.members-search form{
  display:flex;
  gap:10px;
  align-items:center;
}
body.buddypress.directory.members #buddypress .dir-search.members-search input[type="search"]{
  flex: 1;
  width: auto;
  border-radius: 999px;
}
body.buddypress.directory.members #buddypress .dir-search.members-search button{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  padding: 0;
}
body.buddypress.directory.members #buddypress #members-order-select{ margin-left:auto; }

/* Pagination */
body.buddypress.directory.members #buddypress .bp-pagination{
  padding: 10px 14px;
  margin: 12px 0;
  display:flex;
  flex-wrap:wrap;
  gap: 10px 14px;
  align-items:center;
  justify-content: space-between;
}
body.buddypress.directory.members #buddypress .bp-pagination .pag-data{
  margin: 0;
  color: rgba(0,0,0,.70);
  font-weight: 800;
  font-size: 13px;
}
body.buddypress.directory.members #buddypress .bp-pagination.bottom{ display:none; }

/* ===== Custom grid ===== */
body.buddypress.directory.members #buddypress ul#members-list.ms-members-grid{
  list-style:none;
  margin: 0 !important;
  padding: 0 !important;
  display:grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}

/* Responsive columns */
@media (max-width: 1100px){
  body.buddypress.directory.members #buddypress ul#members-list.ms-members-grid{
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
}
@media (max-width: 860px){
  body.buddypress.directory.members #buddypress ul#members-list.ms-members-grid{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}
@media (max-width: 620px){
  body.buddypress.directory.members #buddypress ul#members-list.ms-members-grid{
    grid-template-columns: 1fr;
  }
}

/* Kill any default floats */
body.buddypress.directory.members #buddypress ul#members-list.ms-members-grid > li{
  margin: 0 !important;
  float: none !important;
  width: auto !important;
}

/* ===== Card ===== */
body.buddypress.directory.members #buddypress li.ms-member-card{
  position: relative;
  background:
    radial-gradient(420px 150px at 50% 0%, rgba(139,15,18,.06), transparent 60%),
    #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  box-shadow: var(--ms-shadow);
  overflow: hidden;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

/* Top accent strip */
body.buddypress.directory.members #buddypress li.ms-member-card:before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height: 5px;
  background: linear-gradient(90deg, var(--ms-accent), rgba(139,15,18,.22));
}

body.buddypress.directory.members #buddypress li.ms-member-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--ms-shadow-2);
  border-color: rgba(139,15,18,.22);
}

/* Inner layout */
body.buddypress.directory.members #buddypress .ms-member-inner{
  padding: 14px 14px 12px;
  display:flex;
  flex-direction: column;
  align-items: center;
  text-align:center;
}

/* Make top clickable area clean */
body.buddypress.directory.members #buddypress .ms-member-toplink{
  width: 100%;
  text-decoration: none;
  color: inherit;
  display:flex;
  flex-direction: column;
  align-items:center;
  gap: 8px;
}

/* Avatar */
body.buddypress.directory.members #buddypress .ms-member-avatar{
  margin: 10px 0 0 !important;
  float:none !important;
}
body.buddypress.directory.members #buddypress .ms-member-avatar img{
  width: 76px !important;
  height: 76px !important;
  border-radius: 16px !important;
  background:#fff;
  border: 3px solid #fff;
  box-shadow: 0 14px 30px rgba(0,0,0,.16), 0 0 0 3px rgba(139,15,18,.10);
  transition: transform .16s ease, box-shadow .16s ease;
}
body.buddypress.directory.members #buddypress li.ms-member-card:hover .ms-member-avatar img{
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 18px 38px rgba(0,0,0,.18), 0 0 0 3px rgba(139,15,18,.12);
}

/* Name + meta */
body.buddypress.directory.members #buddypress .ms-member-name{
  margin: 0;
  font-size: 14px;
  font-weight: 900;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.buddypress.directory.members #buddypress .ms-member-meta{
  margin: 0;
  font-size: 12px;
  color: rgba(0,0,0,.55);
  display:inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.06);
}

/* Actions */
body.buddypress.directory.members #buddypress .ms-member-actions{
  margin-top: 12px;
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content:center;
  width: 100%;
}

/* Buttons (template outputs .ms-btn classes) */
body.buddypress.directory.members #buddypress .ms-member-actions .ms-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 9px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration:none;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.04);
  color:#111;
  cursor:pointer;
  transition: transform .10s ease, background .12s ease, box-shadow .12s ease;
}
body.buddypress.directory.members #buddypress .ms-member-actions .ms-btn:hover{
  transform: translateY(-1px);
  background: rgba(0,0,0,.07);
}

/* Variants */
body.buddypress.directory.members #buddypress .ms-btn--primary{
  background: var(--ms-accent) !important;
  color:#fff !important;
  border-color: rgba(0,0,0,.18) !important;
  box-shadow: 0 12px 26px rgba(139,15,18,.18);
}
body.buddypress.directory.members #buddypress .ms-btn--primary:hover{
  background: var(--ms-accent-2) !important;
}
body.buddypress.directory.members #buddypress .ms-btn--dark{
  background: #111 !important;
  color:#fff !important;
  border-color: rgba(0,0,0,.25) !important;
}
body.buddypress.directory.members #buddypress .ms-btn--ghost{
  background: #fff !important;
}

/* Optional: “detective board” background feel */
body.buddypress.directory.members .site-content{
  background:
    radial-gradient(900px 500px at 25% 0%, rgba(139,15,18,.05), transparent 60%),
    radial-gradient(900px 500px at 75% 0%, rgba(0,0,0,.04), transparent 60%);
}

/* =========================================================
   Kill the rogue ::before spacer on Members Directory
   (scoped + safe)
   ========================================================= */

body.buddypress.directory.members #buddypress #members-dir-list::before,
body.buddypress.directory.members #buddypress #members-dir-list::after,
body.buddypress.directory.members #buddypress ul#members-list::before,
body.buddypress.directory.members #buddypress ul#members-list::after,
body.buddypress.directory.members #buddypress .bp-pagination::before,
body.buddypress.directory.members #buddypress .bp-pagination::after,
body.buddypress.directory.members #buddypress .bp-list::before,
body.buddypress.directory.members #buddypress .bp-list::after,
body.buddypress.directory.members #buddypress .item-list::before,
body.buddypress.directory.members #buddypress .item-list::after{
  content: none !important;
  display: none !important;
}

/* =========================================================
   Mafia Scene – Members Directory FINAL OVERRIDES
   Put this at the VERY BOTTOM of buddypress.css
   ========================================================= */

body.buddypress.directory.members #buddypress ul#members-list.ms-members-grid{
  margin-top: 0 !important;
  gap: 18px;
}

/* If you saw spacing from ::before somewhere, neutralize it safely */
body.buddypress.directory.members #buddypress #members-dir-list::before,
body.buddypress.directory.members #buddypress #members-dir-list::after,
body.buddypress.directory.members #buddypress ul#members-list.ms-members-grid::before,
body.buddypress.directory.members #buddypress ul#members-list.ms-members-grid::after{
  content: none !important;
  display: none !important;
}

/* Card stays premium */
body.buddypress.directory.members #buddypress li.ms-member-card{
  background:
    radial-gradient(320px 160px at 50% -40px, rgba(139,15,18,.08), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,250,250,.98)) !important;
  border-radius: 18px !important;
  border: 1px solid rgba(16,24,40,.10);
  box-shadow: 0 10px 30px rgba(16,24,40,.08);
  overflow: hidden;
}
body.buddypress.directory.members #buddypress li.ms-member-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(16,24,40,.12);
}

/* Actions: 3 buttons sit nicely */
body.buddypress.directory.members #buddypress .ms-member-actions{
  width: 100%;
  display: grid !important;
  grid-template-columns: repeat(3, max-content);
  justify-content: center;
  gap: 10px;
  margin-top: 14px;
}

/* Base button look (forces consistency) */
body.buddypress.directory.members #buddypress .ms-member-actions .ms-btn,
body.buddypress.directory.members #buddypress .ms-member-actions .generic-button a{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 10px 14px !important;
  min-height: 36px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  border: 1px solid rgba(16,24,40,.14) !important;
  background: rgba(16,24,40,.04) !important;
  color: #0f172a !important;
  box-shadow: none !important;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
body.buddypress.directory.members #buddypress .ms-member-actions .ms-btn:focus-visible,
body.buddypress.directory.members #buddypress .ms-member-actions .generic-button a:focus-visible{
  outline: 2px solid rgba(139,15,18,.35);
  outline-offset: 2px;
}

/* Variants */
body.buddypress.directory.members #buddypress .ms-member-actions .ms-btn--primary,
body.buddypress.directory.members #buddypress .ms-member-actions .generic-button a.ms-btn--primary{
  background: var(--ms-accent) !important;
  color: #fff !important;
  border-color: rgba(0,0,0,.18) !important;
  box-shadow: 0 14px 28px rgba(139,15,18,.24) !important;
}
body.buddypress.directory.members #buddypress .ms-member-actions .ms-btn--primary:hover,
body.buddypress.directory.members #buddypress .ms-member-actions .generic-button a.ms-btn--primary:hover{
  background: var(--ms-accent-2) !important;
  transform: translateY(-1px);
}

body.buddypress.directory.members #buddypress .ms-member-actions .ms-btn--dark{
  background: #111 !important;
  color: #fff !important;
  border-color: rgba(0,0,0,.25) !important;
  box-shadow: 0 12px 22px rgba(0,0,0,.16) !important;
}
body.buddypress.directory.members #buddypress .ms-member-actions .ms-btn--ghost{
  background: #fff !important;
  color: #111 !important;
}

/* Small screens: allow wrapping */
@media (max-width: 560px){
  body.buddypress.directory.members #buddypress .ms-member-actions{
    grid-template-columns: 1fr;
    justify-content: stretch;
  }
  body.buddypress.directory.members #buddypress .ms-member-actions .ms-btn,
  body.buddypress.directory.members #buddypress .ms-member-actions .generic-button a{
    width: 100% !important;
  }
}

/* --- FORCE: Add Friend = primary (beats older generic-button rules) --- */
body.buddypress.directory.members #buddypress .ms-member-actions
#friendship-button a.friendship-button,
body.buddypress.directory.members #buddypress .ms-member-actions
.friendship-button a.friendship-button{
  background: var(--ms-accent) !important;
  color: #fff !important;
  border-color: rgba(0,0,0,.18) !important;
  box-shadow: 0 14px 28px rgba(139,15,18,.24) !important;
}

body.buddypress.directory.members #buddypress .ms-member-actions
#friendship-button a.friendship-button:hover,
body.buddypress.directory.members #buddypress .ms-member-actions
.friendship-button a.friendship-button:hover{
  background: var(--ms-accent-2) !important;
  transform: translateY(-1px);
}

/* Keep Message dark (if it’s using ms-btn--dark) */
body.buddypress.directory.members #buddypress .ms-member-actions .ms-btn--dark{
  background: #111 !important;
  color: #fff !important;
  border-color: rgba(0,0,0,.25) !important;
}

/* Avatar polish + meta pills */
body.buddypress.directory.members #buddypress .ms-member-avatar img{
  width: 86px !important;
  height: 86px !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.18), 0 0 0 3px rgba(139,15,18,.12);
}
body.buddypress.directory.members #buddypress .ms-member-meta{
  background: rgba(139,15,18,.08);
  border: 1px solid rgba(139,15,18,.12);
  color: rgba(55,65,81,.9);
  font-weight: 600;
}
body.buddypress.directory.members #buddypress li.ms-member-card:focus-within{
  box-shadow: 0 16px 40px rgba(16,24,40,.12), 0 0 0 3px rgba(139,15,18,.2);
  border-color: rgba(139,15,18,.3);
}

/* =========================================================
   Mafia Scene – Activity Directory (Nouveau)
   Page: /activity/  (or /members/ if activity is default)
   ========================================================= */

body.buddypress.activity #buddypress{
  max-width: 1180px;
  margin: 0 auto;
  padding: 10px 18px 60px;
}

/* ---- Top tabs (All Members / etc) ---- */
body.buddypress.activity #buddypress .item-list-tabs{
  background: var(--ms-card);
  border: 1px solid var(--ms-line);
  border-radius: 14px;
  box-shadow: var(--ms-shadow);
  padding: 10px 14px;
  margin-bottom: 12px;
}

body.buddypress.activity #buddypress .item-list-tabs ul{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin:0;
  padding:0;
  list-style:none;
  align-items:center;
}

body.buddypress.activity #buddypress .item-list-tabs li{ margin:0 !important; }

body.buddypress.activity #buddypress .item-list-tabs li a{
  font-weight: 900;
  text-decoration:none;
  color: rgba(0,0,0,.70);
  padding: 8px 2px;
  border-bottom: 2px solid transparent;
}

body.buddypress.activity #buddypress .item-list-tabs li.current a,
body.buddypress.activity #buddypress .item-list-tabs li.selected a{
  color: rgba(0,0,0,.92);
  border-bottom-color: var(--ms-accent);
}

/* ---- Toolbar: search + filters ---- */
body.buddypress.activity #buddypress #activity-dir-search,
body.buddypress.activity #buddypress #dir-filters{
  background: var(--ms-card);
  border: 1px solid var(--ms-line);
  border-radius: 14px;
  box-shadow: var(--ms-shadow);
  padding: 12px 14px;
  margin: 12px 0;
}

body.buddypress.activity #buddypress #activity-dir-search form{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

body.buddypress.activity #buddypress #activity_search{
  width: auto;
  flex: 1 1 280px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.14);
  padding: 0 14px;
  background: #fff;
}

body.buddypress.activity #buddypress #activity_search_submit{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: var(--ms-accent);
  border: 0;
  box-shadow: 0 10px 24px rgba(139,15,18,.22);
  transition: .15s ease;
}
body.buddypress.activity #buddypress #activity_search_submit:hover{
  background: var(--ms-accent-2);
  transform: translateY(-1px);
}

/* “Everything” dropdown on right */
body.buddypress.activity #buddypress #activity-filter-select,
body.buddypress.activity #buddypress #activity-filter-select .select-wrap{
  border-radius: 999px;
}
body.buddypress.activity #buddypress #activity-filter-select select{
  width: auto;
  min-width: 180px;
  height: 44px;
  border-radius: 999px;
  padding: 0 14px;
}

/* ---- Activity list container ---- */
body.buddypress.activity #buddypress #activity-stream{
  margin: 0;
  padding: 0;
}

/* Each activity entry becomes a card */
body.buddypress.activity #buddypress ul.activity-list{
  list-style:none;
  margin: 0 !important;
  padding: 0 !important;
  display:flex;
  flex-direction:column;
  gap: 14px;
}

body.buddypress.activity #buddypress ul.activity-list > li{
  background: var(--ms-card);
  border: 1px solid var(--ms-line);
  border-radius: 16px;
  box-shadow: var(--ms-shadow);
  overflow: hidden;
  padding: 14px;
}

/* Remove default BP borders/lines inside items */
body.buddypress.activity #buddypress .activity-list .activity-content,
body.buddypress.activity #buddypress .activity-list .activity-meta{
  border: 0 !important;
}

/* Header line: avatar + action text */
body.buddypress.activity #buddypress .activity-header{
  display:flex;
  align-items:center;
  gap: 12px;
  margin-bottom: 10px;
  color: rgba(0,0,0,.70);
  font-weight: 700;
}

/* Left avatar in activity item */
body.buddypress.activity #buddypress .activity-avatar{
  float:none !important;
  margin: 0 !important;
}
body.buddypress.activity #buddypress .activity-avatar img{
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  border: 2px solid #fff;
  box-shadow: 0 10px 22px rgba(0,0,0,.14);
}

/* The “mini profile card” inside your activity item */
body.buddypress.activity #buddypress .activity-inner,
body.buddypress.activity #buddypress .activity-content .activity-inner{
  margin-top: 10px;
}

body.buddypress.activity #buddypress .activity-content .bp-embed,
body.buddypress.activity #buddypress .activity-content .activity-embed,
body.buddypress.activity #buddypress .activity-content .activity-inner > div{
  border-radius: 14px;
}

body.buddypress.activity #buddypress .activity-content img{
  border-radius: 14px;
}

/* Buttons under activity (View Profile / Comment / Favorite etc) */
body.buddypress.activity #buddypress .activity-meta a,
body.buddypress.activity #buddypress .activity-meta button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 9px 14px;
  min-height: 36px;
  border-radius: 999px;
  font-weight: 900;
  text-decoration:none;
  border: 1px solid rgba(0,0,0,.14);
  background: rgba(0,0,0,.04);
  color: rgba(0,0,0,.86) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
  transition: .15s ease;
}
body.buddypress.activity #buddypress .activity-meta a:hover,
body.buddypress.activity #buddypress .activity-meta button:hover{
  background: rgba(0,0,0,.07);
  transform: translateY(-1px);
}

/* Make “primary” actions red if BP adds .button or .fav etc */
body.buddypress.activity #buddypress .activity-meta a.button,
body.buddypress.activity #buddypress .activity-meta a.acomment-reply{
  background: var(--ms-accent) !important;
  border-color: rgba(0,0,0,.18) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(139,15,18,.18);
}
body.buddypress.activity #buddypress .activity-meta a.button:hover,
body.buddypress.activity #buddypress .activity-meta a.acomment-reply:hover{
  background: var(--ms-accent-2) !important;
}

/* Pagination card */
body.buddypress.activity #buddypress .bp-pagination{
  background: var(--ms-card);
  border: 1px solid var(--ms-line);
  border-radius: 14px;
  box-shadow: var(--ms-shadow);
  padding: 10px 14px;
  margin: 12px 0;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
}

body.buddypress.activity #buddypress .bp-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.03);
  text-decoration:none;
  font-weight: 900;
  color: rgba(0,0,0,.75);
  margin-right: 6px;
}

body.buddypress.activity #buddypress .bp-pagination .page-numbers.current{
  background: rgba(139,15,18,.12);
  border-color: rgba(139,15,18,.25);
  color: var(--ms-accent);
}

/* Mobile spacing */
@media (max-width: 640px){
  body.buddypress.activity #buddypress ul.activity-list > li{
    padding: 12px;
  }
  body.buddypress.activity #buddypress #activity-filter-select select{
    min-width: 0;
    width: 100%;
  }
}

/* =========================================================
   Mafia Scene – Activity Stream
   ========================================================= */

/* Constrain activity page like members */
body.buddypress.activity #buddypress{
  max-width: 1180px;
  margin: 0 auto;
  padding: 10px 18px 60px;
}

/* =========================
   Activity Post Form
   ========================= */

#buddypress #whats-new-form{
  background: var(--ms-card);
  border: 1px solid var(--ms-line);
  border-radius: 16px;
  box-shadow: var(--ms-shadow);
  padding: 16px;
  margin-bottom: 16px;
}

/* Header row */
#buddypress #whats-new-header{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

/* Avatar */
#buddypress #whats-new-avatar img{
  width: 48px;
  height: 48px;
  border-radius: 12px;
  box-shadow: 0 6px 16px rgba(0,0,0,.18);
}

/* Textarea */
#buddypress #whats-new-content{
  margin: 0;
}

#buddypress #whats-new{
  width: 100%;
  min-height: 90px;
  resize: vertical;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.14);
  padding: 14px;
  font-size: 15px;
  line-height: 1.5;
  background: #fff;
}

#buddypress #whats-new:focus{
  outline: none;
  border-color: rgba(139,15,18,.35);
  box-shadow: 0 0 0 4px rgba(139,15,18,.12);
}

/* Footer (Post button + filters) */
#buddypress #whats-new-submit{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  gap: 12px;
}

/* Post Update button */
#buddypress #aw-whats-new-submit{
  background: var(--ms-accent);
  color: #fff !important;
  border: 0;
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(139,15,18,.25);
  transition: .15s ease;
}

#buddypress #aw-whats-new-submit:hover{
  background: var(--ms-accent-2);
  transform: translateY(-1px);
}

/* =========================
   Activity Filters Bar
   ========================= */

#buddypress .activity-type-tabs,
#buddypress .activity-subnav{
  background: var(--ms-card);
  border: 1px solid var(--ms-line);
  border-radius: 14px;
  box-shadow: var(--ms-shadow);
  padding: 10px 14px;
  margin-bottom: 12px;
}

#buddypress .activity-type-tabs ul,
#buddypress .activity-subnav ul{
  display: flex;
  gap: 18px;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

#buddypress .activity-type-tabs li a{
  font-weight: 900;
  color: rgba(0,0,0,.70);
  text-decoration: none;
  padding-bottom: 4px;
  border-bottom: 2px solid transparent;
}

#buddypress .activity-type-tabs li.selected a{
  color: rgba(0,0,0,.92);
  border-bottom-color: var(--ms-accent);
}

/* =========================
   Activity Cards
   ========================= */

#buddypress ul.activity-list > li.activity-item{
  background: var(--ms-card);
  border: 1px solid var(--ms-line);
  border-radius: 16px;
  box-shadow: var(--ms-shadow);
  margin-bottom: 16px;
  padding: 14px;
}

/* Activity header */
#buddypress .activity-header{
  font-size: 14px;
  color: rgba(0,0,0,.65);
  margin-bottom: 10px;
}

/* Activity avatar */
#buddypress .activity-avatar img{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  box-shadow: 0 6px 14px rgba(0,0,0,.18);
}

/* Activity content */
#buddypress .activity-inner{
  margin-top: 10px;
}

/* Footer actions (comment, fav, etc.) */
#buddypress .activity-meta{
  margin-top: 12px;
  display: flex;
  gap: 10px;
}

#buddypress .activity-meta a{
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  color: rgba(0,0,0,.85);
  transition: .12s ease;
}

#buddypress .activity-meta a:hover{
  background: rgba(139,15,18,.10);
  border-color: rgba(139,15,18,.25);
  color: var(--ms-accent);
}

/* =========================================================
   Mafia Scene – Profile + Activity Modernization Overrides
   (Additive overrides to elevate visual hierarchy)
   ========================================================= */

/* Profile header card polish */
.ms-bp-header-card{
  border-radius: 20px;
  border: 1px solid rgba(16,24,40,.12);
  box-shadow: 0 18px 40px rgba(16,24,40,.12);
}
.ms-bp-cover{
  height: 210px;
  background:
    radial-gradient(520px 220px at 20% 20%, rgba(255,255,255,.18), transparent 60%),
    radial-gradient(520px 220px at 80% 40%, rgba(255,255,255,.12), transparent 60%),
    linear-gradient(135deg, rgba(139,15,18,.92), rgba(28,28,28,.95));
}
.ms-bp-avatar img.avatar{
  border-radius: 18px;
  box-shadow: 0 18px 34px rgba(0,0,0,.20), 0 0 0 4px rgba(139,15,18,.18);
}
.ms-bp-name{
  font-size: 24px;
  letter-spacing: .3px;
}
.ms-bp-meta{
  font-size: 13px;
  color: rgba(15,23,42,.65);
}
.ms-bp-actions .generic-button a{
  background: rgba(15,23,42,.05);
  border-color: rgba(15,23,42,.12);
}
.ms-bp-actions .generic-button a:focus-visible{
  outline: 2px solid rgba(139,15,18,.35);
  outline-offset: 2px;
}

/* Profile tabs: pill-like */
.ms-bp-tabs #object-nav > ul{
  gap: 12px;
}
.ms-bp-tabs #object-nav > ul > li > a{
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid transparent;
}
.ms-bp-tabs #object-nav > ul > li.current > a,
.ms-bp-tabs #object-nav > ul > li.selected > a{
  background: rgba(139,15,18,.08);
  border-color: rgba(139,15,18,.18);
}
.ms-bp-tabs #object-nav a .count{
  background: rgba(139,15,18,.12);
  color: var(--ms-accent);
}

/* Activity page background + card emphasis */
body.buddypress.activity .site-content{
  background:
    radial-gradient(900px 500px at 20% 0%, rgba(139,15,18,.06), transparent 60%),
    radial-gradient(900px 500px at 80% 0%, rgba(0,0,0,.04), transparent 60%);
}
body.buddypress.activity #buddypress ul.activity-list > li{
  border-radius: 18px;
  border: 1px solid rgba(16,24,40,.10);
  box-shadow: 0 14px 34px rgba(16,24,40,.10);
  transition: transform .12s ease, box-shadow .12s ease;
}
body.buddypress.activity #buddypress ul.activity-list > li:hover{
  transform: translateY(-2px);
  box-shadow: 0 20px 44px rgba(16,24,40,.14);
}
body.buddypress.activity #buddypress .activity-header{
  font-size: 14px;
  color: rgba(15,23,42,.72);
}
body.buddypress.activity #buddypress .activity-inner{
  background: rgba(15,23,42,.02);
  border-radius: 14px;
  padding: 12px;
}

/* Whats-new composer emphasis */
#buddypress #whats-new-form{
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(16,24,40,.12);
}
#buddypress #aw-whats-new-submit{
  letter-spacing: .3px;
}

/* =========================================================
   Mafia Scene – BuddyPress Full Overhaul (Modern Noir)
   Additive overrides to create a cohesive, non-default look.
   ========================================================= */

body.buddypress{
  --ms-bp-ink: #111827;
  --ms-bp-ink-soft: rgba(17,24,39,.68);
  --ms-bp-surface: #ffffff;
  --ms-bp-surface-2: #f8f7f2;
  --ms-bp-border: rgba(15,23,42,.12);
  --ms-bp-accent: var(--ms-accent);
  --ms-bp-accent-dark: var(--ms-accent-2);
  --ms-bp-radius: 18px;
  --ms-bp-shadow: 0 18px 40px rgba(15,23,42,.12);
}

body.buddypress,
body.buddypress #page{
  background:
    radial-gradient(1200px 500px at 20% 0%, rgba(139,15,18,.08), transparent 60%),
    radial-gradient(1200px 500px at 80% 0%, rgba(0,0,0,.06), transparent 60%),
    var(--ms-bg);
}

body.buddypress #buddypress{
  color: var(--ms-bp-ink);
  font-size: 15px;
  letter-spacing: .1px;
}

body.buddypress #buddypress a{
  color: inherit;
}

/* Global cards and panels */
body.buddypress #buddypress .bp-template-notice,
body.buddypress #buddypress .bp-feedback,
body.buddypress #buddypress .bp-messages,
body.buddypress .ms-bp-panel,
body.buddypress .ms-bp-header-card,
body.buddypress .ms-bp-tabs{
  background: var(--ms-bp-surface);
  border: 1px solid var(--ms-bp-border);
  border-radius: var(--ms-bp-radius);
  box-shadow: var(--ms-bp-shadow);
}

body.buddypress .ms-bp-wrap{
  max-width: 1180px;
  margin: 0 auto;
  padding: 12px 18px 64px;
}

/* Profile header refinements */
body.buddypress .ms-bp-header-card{
  border-radius: 22px;
  overflow: hidden;
}

body.buddypress .ms-bp-cover{
  height: 230px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.55)),
    radial-gradient(520px 220px at 20% 25%, rgba(255,255,255,.16), transparent 62%),
    radial-gradient(520px 220px at 80% 40%, rgba(255,255,255,.12), transparent 60%),
    linear-gradient(135deg, rgba(139,15,18,.95), rgba(24,24,24,.96));
  background-position: center;
}

body.buddypress .ms-bp-header-inner{
  gap: 18px;
  padding: 16px 22px 18px;
}

body.buddypress .ms-bp-avatar img.avatar{
  width: 102px;
  height: 102px;
  border-radius: 22px;
  box-shadow: 0 18px 34px rgba(0,0,0,.22), 0 0 0 4px rgba(139,15,18,.18);
}

body.buddypress .ms-bp-name{
  font-size: 26px;
  font-weight: 900;
}

body.buddypress .ms-bp-meta{
  gap: 10px;
  color: var(--ms-bp-ink-soft);
}

body.buddypress .ms-bp-meta span{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(15,23,42,.04);
  border: 1px solid rgba(15,23,42,.08);
}

body.buddypress .ms-bp-stats{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.buddypress .ms-bp-stat{
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 12px;
  border-radius: 12px;
  background: rgba(15,23,42,.04);
  border: 1px solid rgba(15,23,42,.08);
}

body.buddypress .ms-bp-stat-label{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(15,23,42,.55);
  font-weight: 700;
}

body.buddypress .ms-bp-stat-value{
  font-size: 14px;
  font-weight: 800;
  color: rgba(15,23,42,.9);
}

body.buddypress .ms-bp-actions{
  gap: 12px;
}

body.buddypress .ms-bp-actions .generic-button a{
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 800;
  background: rgba(15,23,42,.06);
  border-color: rgba(15,23,42,.14);
}

body.buddypress .ms-bp-actions .generic-button a:hover{
  background: rgba(15,23,42,.12);
}

/* Profile navigation pills */
body.buddypress .ms-bp-tabs #object-nav > ul{
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(15,23,42,.08);
}

body.buddypress .ms-bp-tabs #object-nav > ul > li > a{
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: rgba(15,23,42,.04);
  color: rgba(15,23,42,.72);
}

body.buddypress .ms-bp-tabs #object-nav > ul > li.current > a,
body.buddypress .ms-bp-tabs #object-nav > ul > li.selected > a{
  background: rgba(139,15,18,.12);
  border-color: rgba(139,15,18,.25);
  color: var(--ms-bp-accent);
}

body.buddypress .ms-bp-tabs #object-nav a .count{
  background: rgba(139,15,18,.12);
  color: var(--ms-bp-accent);
  font-weight: 900;
}

/* Profile body panel */
body.buddypress .ms-bp-panel{
  padding: 20px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,248,248,.98));
}

body.buddypress .ms-bp-panel--messages{
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* Subnav */
body.buddypress #buddypress #subnav a{
  font-weight: 800;
  color: rgba(15,23,42,.7) !important;
}

body.buddypress #buddypress #subnav li.current a,
body.buddypress #buddypress #subnav li.selected a{
  color: var(--ms-bp-accent) !important;
}

/* Forms + inputs */
body.buddypress #buddypress input[type="text"],
body.buddypress #buddypress input[type="email"],
body.buddypress #buddypress input[type="url"],
body.buddypress #buddypress input[type="password"],
body.buddypress #buddypress input[type="search"],
body.buddypress #buddypress select,
body.buddypress #buddypress textarea{
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.12);
  background: var(--ms-bp-surface);
}

body.buddypress #buddypress input:focus,
body.buddypress #buddypress select:focus,
body.buddypress #buddypress textarea:focus{
  border-color: rgba(139,15,18,.35);
  box-shadow: 0 0 0 4px rgba(139,15,18,.12);
}

/* Buttons */
body.buddypress #buddypress input[type="submit"],
body.buddypress #buddypress button,
body.buddypress #buddypress a.button{
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: .2px;
  box-shadow: 0 12px 26px rgba(139,15,18,.22);
}

body.buddypress #buddypress input[type="submit"]:hover,
body.buddypress #buddypress button:hover,
body.buddypress #buddypress a.button:hover{
  transform: translateY(-1px);
}

/* Lists + tables (profile fields, settings) */
body.buddypress #buddypress table.profile-fields,
body.buddypress #buddypress table.forum,
body.buddypress #buddypress table.notifications{
  background: var(--ms-bp-surface);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 12px 28px rgba(15,23,42,.08);
}

body.buddypress #buddypress table.profile-fields th,
body.buddypress #buddypress table.profile-fields td,
body.buddypress #buddypress table.notifications th,
body.buddypress #buddypress table.notifications td{
  border-color: rgba(15,23,42,.08);
}

body.buddypress #buddypress table.profile-fields th{
  background: rgba(15,23,42,.04);
  color: rgba(15,23,42,.78);
  font-weight: 800;
}

/* Activity updates */
body.buddypress.activity #buddypress #whats-new-form{
  border-radius: 20px;
  background: linear-gradient(180deg, #fff, #f9f7f2);
}

body.buddypress.activity #buddypress ul.activity-list > li{
  border-radius: 20px;
  border: 1px solid rgba(15,23,42,.1);
  box-shadow: 0 18px 40px rgba(15,23,42,.12);
}

body.buddypress.activity #buddypress .activity-inner{
  background: rgba(15,23,42,.03);
  border-radius: 14px;
  padding: 12px;
}

/* =========================
   Activity directory overhaul
   ========================= */
body.buddypress.activity .ms-activity-shell{
  max-width: 1180px;
  margin: 0 auto;
  padding: 10px 18px 64px;
}

body.buddypress.activity .ms-activity-hero{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 24px;
  margin-bottom: 16px;
  background:
    radial-gradient(520px 220px at 15% 20%, rgba(139,15,18,.14), transparent 62%),
    radial-gradient(420px 200px at 85% 30%, rgba(0,0,0,.12), transparent 60%),
    linear-gradient(135deg, rgba(15,23,42,.95), rgba(24,24,24,.96));
  border-radius: 24px;
  color: #fff;
  box-shadow: 0 20px 46px rgba(15,23,42,.24);
}

body.buddypress.activity .ms-activity-hero__eyebrow{
  margin: 0 0 6px;
  font-size: 12px;
  letter-spacing: .24em;
  text-transform: uppercase;
  opacity: .7;
}

body.buddypress.activity .ms-activity-hero__heading{
  margin: 0;
  font-size: 32px;
  font-weight: 900;
}

body.buddypress.activity .ms-activity-hero__sub{
  margin: 8px 0 0;
  max-width: 560px;
  color: rgba(255,255,255,.72);
}

body.buddypress.activity .ms-activity-composer{
  margin-bottom: 18px;
  padding: 18px 20px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,248,248,.98));
  border: 1px solid rgba(15,23,42,.12);
  box-shadow: 0 16px 36px rgba(15,23,42,.12);
}

body.buddypress.activity .ms-activity-composer__title{
  margin: 0;
  font-size: 18px;
  font-weight: 800;
}

body.buddypress.activity .ms-activity-composer__sub{
  margin: 6px 0 0;
  color: rgba(15,23,42,.6);
}

body.buddypress.activity .ms-activity-toolbar{
  margin-bottom: 14px;
}

body.buddypress.activity .ms-activity-filters .subnav-filters{
  padding: 14px 16px;
  border-radius: 16px;
}

body.buddypress.activity .ms-activity-stream{
  margin-top: 12px;
}

body.buddypress.activity .ms-activity-item{
  list-style: none;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

body.buddypress.activity .ms-activity-card{
  background: #fff;
  border: 1px solid rgba(15,23,42,.1);
  border-radius: 20px;
  padding: 16px;
  box-shadow: 0 18px 40px rgba(15,23,42,.12);
  flex: 1;
}

body.buddypress.activity .ms-activity-card__header{
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 12px;
}

body.buddypress.activity .ms-activity-card__avatar img{
  width: 56px !important;
  height: 56px !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.14);
}

body.buddypress.activity .ms-activity-card__action{
  font-weight: 700;
  color: rgba(15,23,42,.85);
}

body.buddypress.activity .ms-activity-card__time{
  margin-top: 4px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(15,23,42,.5);
}

body.buddypress.activity .ms-activity-card__body{
  padding: 12px;
  border-radius: 16px;
  background: rgba(15,23,42,.03);
}

body.buddypress.activity .ms-activity-card__footer{
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.buddypress.activity .ms-activity-card__footer .button,
body.buddypress.activity .ms-activity-card__footer a{
  border-radius: 999px;
}

body.buddypress.activity .ms-activity-card__comments{
  margin-top: 14px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(15,23,42,.02);
  border: 1px solid rgba(15,23,42,.08);
}

@media (max-width: 720px){
  body.buddypress.activity .ms-activity-hero{
    padding: 18px;
  }
  body.buddypress.activity .ms-activity-hero__heading{
    font-size: 26px;
  }
  body.buddypress.activity .ms-activity-card__header{
    align-items: flex-start;
  }
}

/* Members directory polish */
body.buddypress.directory.members #buddypress li.ms-member-card{
  border-radius: 20px;
  border-color: rgba(15,23,42,.12);
  box-shadow: 0 16px 36px rgba(15,23,42,.12);
  background:
    radial-gradient(320px 160px at 50% -40px, rgba(139,15,18,.10), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,248,248,.98));
}

body.buddypress.directory.members #buddypress .ms-member-actions{
  gap: 12px;
}

body.buddypress.directory.members #buddypress .ms-member-name{
  font-size: 15px;
}

body.buddypress.directory.members #buddypress .ms-member-meta{
  font-weight: 700;
}

/* Notifications */
body.buddypress #buddypress .notification-settings{
  background: var(--ms-bp-surface);
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.1);
  padding: 16px;
  box-shadow: 0 12px 28px rgba(15,23,42,.08);
}

/* Small screens */
@media (max-width: 780px){
  body.buddypress .ms-bp-header-inner{
    flex-direction: column;
    align-items: flex-start;
  }
  body.buddypress .ms-bp-actions{
    width: 100%;
    justify-content: flex-start;
  }
}

/* =========================================================
   Mafia Scene – Phase 2 Profile Final Overrides
   ========================================================= */
body.buddypress .ms-bp-ident{
  grid-template-columns: 1fr auto;
}

body.buddypress .ms-bp-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  grid-column: 1 / 2;
}

body.buddypress .ms-bp-badge{
  display:inline-flex;
  align-items:center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
  border: 1px solid rgba(15,23,42,.14);
  background: rgba(15,23,42,.05);
  color: rgba(15,23,42,.78);
}

body.buddypress .ms-bp-badge--faction{
  background: rgba(139,15,18,.12);
  color: rgba(93,11,12,.95);
  border-color: rgba(139,15,18,.26);
}

body.buddypress .ms-bp-title-line{
  grid-column: 1 / 2;
  margin: -2px 0 0;
  font-size: 14px;
  color: rgba(15,23,42,.66);
  font-weight: 700;
}

body.buddypress .ms-bp-avatar--ring img.avatar{
  border-radius: 999px;
  box-shadow: 0 16px 30px rgba(0,0,0,.20), 0 0 0 4px rgba(139,15,18,.18);
}

body.buddypress .ms-bp-layout{
  display:grid;
  grid-template-columns: 290px minmax(0,1fr);
  gap: 12px;
  align-items:start;
}

body.buddypress .ms-bp-sidebar{
  position: sticky;
  top: 18px;
  padding: 14px;
}

body.buddypress .ms-bp-sidebar-title{
  margin: 0;
  font-size: 15px;
  font-weight: 900;
}

body.buddypress .ms-bp-sidebar-meta{
  margin: 8px 0 0;
  color: rgba(15,23,42,.62);
  font-size: 13px;
}

body.buddypress .ms-bp-sidebar-links{
  margin-top: 12px;
  display:grid;
  gap: 8px;
}

body.buddypress .ms-bp-sidebar-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 10px;
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(15,23,42,.03);
  padding: 9px 12px;
  text-decoration: none;
  font-weight: 800;
}

body.buddypress .ms-bp-sidebar-link:hover{
  background: rgba(15,23,42,.08);
}

body.buddypress .ms-bp-main{
  margin-top: 0;
}

body.buddypress .ms-bp-tabs #object-nav > ul{
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 0;
}

body.buddypress .ms-bp-tabs #object-nav > ul > li > a{
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: rgba(15,23,42,.04);
  color: rgba(15,23,42,.72);
}

body.buddypress .ms-bp-tabs #object-nav > ul > li.current > a,
body.buddypress .ms-bp-tabs #object-nav > ul > li.selected > a{
  color: #fff;
  background: var(--ms-accent);
  border-color: rgba(0,0,0,.16);
  box-shadow: 0 10px 22px rgba(139,15,18,.24);
}

@media (max-width: 980px){
  body.buddypress .ms-bp-layout{
    grid-template-columns: 1fr;
  }

  body.buddypress .ms-bp-sidebar{
    position: static;
  }
}

/* =========================================================
   PROFILE POLISH: left-side member nav + cleaner banner
   ========================================================= */
body.buddypress #buddypress.bp-user .ms-bp-header-card{
  border-radius: 18px;
}

body.buddypress #buddypress.bp-user .ms-bp-cover{
  height: 170px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

body.buddypress #buddypress.bp-user .ms-bp-cover::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.35));
  pointer-events: none;
}

body.buddypress #buddypress.bp-user .ms-bp-cover-edit{
  z-index: 2;
}

body.buddypress #buddypress.bp-user .ms-bp-header-inner{
  padding: 12px 20px 14px;
  gap: 14px;
}

body.buddypress #buddypress.bp-user .ms-bp-layout{
  align-items: start;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar{
  position: sticky;
  top: 16px;
  display: grid;
  gap: 12px;
}

body.buddypress #buddypress.bp-user .ms-bp-tabs--sidebar{
  margin: 12px 0 10px;
  border: 0;
  box-shadow: none;
  background: transparent;
}

body.buddypress #buddypress.bp-user .ms-bp-tabs--sidebar #object-nav{
  margin: 0;
}

body.buddypress #buddypress.bp-user .ms-bp-tabs--sidebar #object-nav > ul{
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 0;
  margin: 0 !important;
  border: 0;
}

body.buddypress #buddypress.bp-user .ms-bp-tabs--sidebar #object-nav > ul > li{
  margin: 0 !important;
}

body.buddypress #buddypress.bp-user .ms-bp-tabs--sidebar #object-nav > ul > li > a{
  width: 100%;
  justify-content: space-between;
  padding: 9px 12px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.03);
  color: inherit;
  box-shadow: none;
}

body.buddypress #buddypress.bp-user .ms-bp-tabs--sidebar #object-nav > ul > li > a:hover{
  background: rgba(0,0,0,.06);
}

body.buddypress #buddypress.bp-user .ms-bp-tabs--sidebar #object-nav > ul > li.current > a,
body.buddypress #buddypress.bp-user .ms-bp-tabs--sidebar #object-nav > ul > li.selected > a{
  background: rgba(0,0,0,.06);
  color: inherit;
  border-color: rgba(0,0,0,.12);
}

body.buddypress #buddypress.bp-user .ms-bp-tabs--sidebar #object-nav a .count{
  margin-left: auto;
  background: rgba(0,0,0,.08);
  color: rgba(0,0,0,.72);
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-card{
  margin-top: 0;
}

@media (max-width: 980px){
  body.buddypress #buddypress.bp-user .ms-bp-sidebar{
    position: static;
  }

}

@media (max-width: 720px){
  body.buddypress #buddypress.bp-user .ms-bp-cover{
    height: 145px;
  }

  body.buddypress #buddypress.bp-user .ms-bp-tabs--sidebar #object-nav > ul{
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   HARD OVERRIDE: make profile menu links match sidebar links
   (works across BP nav markup variants)
   ========================================================= */
body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav .item-list-tabs,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav #object-nav{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 12px 0 10px !important;
  padding: 0 !important;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav ul{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav li{
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav li > a,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 9px 12px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  background: rgba(0,0,0,.03) !important;
  color: inherit !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav li > a:hover,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav a:hover{
  background: rgba(0,0,0,.06) !important;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav li.current > a,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav li.selected > a,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav li.current a,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav li.selected a{
  background: rgba(0,0,0,.06) !important;
  border-color: rgba(0,0,0,.12) !important;
  color: inherit !important;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-card #item-nav.ms-bp-sidebar-nav .count{
  margin-left: auto !important;
  min-width: 20px;
  height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.08) !important;
  color: rgba(0,0,0,.72) !important;
  font-size: 12px;
  font-weight: 900;
}


/* Custom summary menu built from BP nav items */
body.buddypress #buddypress.bp-user .ms-bp-sidebar-menu{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-menu-item{
  margin: 0;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-menu-link{
  width: 100%;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-menu-item.is-current .ms-bp-sidebar-menu-link{
  background: rgba(0,0,0,.06);
  border-color: rgba(0,0,0,.12);
}


/* Place profile menu directly above timeline/details links with same style */
body.buddypress #buddypress.bp-user .ms-bp-sidebar-menu-nav{
  margin-top: 12px;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-links--menu{
  margin-top: 0;
  margin-bottom: 10px;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-links--menu .ms-bp-sidebar-links-item.is-current a,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-links--menu li.current a,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-links--menu li.selected a,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-links--menu li a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 12px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.03);
  color: inherit;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-links--menu li a:hover,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-link--menu:hover,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-links--menu .ms-bp-sidebar-links-item.is-current a,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-links--menu li.current a,
body.buddypress #buddypress.bp-user .ms-bp-sidebar-links--menu li.selected a{
  background: rgba(0,0,0,.06);
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-links--menu ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

body.buddypress #buddypress.bp-user .ms-bp-sidebar-links--menu li{
  margin: 0;
}


/* Final lock: profile menu should visually match View Timeline/Profile Details links */
body.buddypress #buddypress.bp-user #item-nav.ms-bp-sidebar-menu-nav{
  margin: 12px 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.buddypress #buddypress.bp-user #item-nav.ms-bp-sidebar-menu-nav ul,
body.buddypress #buddypress.bp-user #item-nav.ms-bp-sidebar-menu-nav li{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.buddypress #buddypress.bp-user #item-nav.ms-bp-sidebar-menu-nav ul{
  display: grid !important;
  gap: 8px !important;
}

body.buddypress #buddypress.bp-user #item-nav.ms-bp-sidebar-menu-nav a,
body.buddypress #buddypress.bp-user #item-nav.ms-bp-sidebar-menu-nav li a,
body.buddypress #buddypress.bp-user #item-nav.ms-bp-sidebar-menu-nav .ms-bp-sidebar-link{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 9px 12px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  background: rgba(0,0,0,.03) !important;
  color: inherit !important;
  box-shadow: none !important;
}

body.buddypress #buddypress.bp-user #item-nav.ms-bp-sidebar-menu-nav a:hover,
body.buddypress #buddypress.bp-user #item-nav.ms-bp-sidebar-menu-nav li.current a,
body.buddypress #buddypress.bp-user #item-nav.ms-bp-sidebar-menu-nav li.selected a,
body.buddypress #buddypress.bp-user #item-nav.ms-bp-sidebar-menu-nav .ms-bp-sidebar-link.is-current{
  background: rgba(0,0,0,.06) !important;
}

/* Hide BP numeric badges in this summary menu so links mirror Timeline/Profile Details */
body.buddypress #buddypress.bp-user #item-nav.ms-bp-sidebar-menu-nav .count,
body.buddypress #buddypress.bp-user #item-nav.ms-bp-sidebar-menu-nav .no-count{
  display: none !important;
}

/* Absolute fallback scope (in case #buddypress does not carry .bp-user class) */
body.buddypress #item-nav.ms-bp-sidebar-menu-nav,
#buddypress #item-nav.ms-bp-sidebar-menu-nav{
  margin: 12px 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.buddypress #item-nav.ms-bp-sidebar-menu-nav ul,
body.buddypress #item-nav.ms-bp-sidebar-menu-nav li,
#buddypress #item-nav.ms-bp-sidebar-menu-nav ul,
#buddypress #item-nav.ms-bp-sidebar-menu-nav li{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.buddypress #item-nav.ms-bp-sidebar-menu-nav ul,
#buddypress #item-nav.ms-bp-sidebar-menu-nav ul{
  display: grid !important;
  gap: 8px !important;
}

body.buddypress #item-nav.ms-bp-sidebar-menu-nav a,
body.buddypress #item-nav.ms-bp-sidebar-menu-nav li a,
#buddypress #item-nav.ms-bp-sidebar-menu-nav a,
#buddypress #item-nav.ms-bp-sidebar-menu-nav li a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 9px 12px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  background: rgba(0,0,0,.03) !important;
  color: inherit !important;
  box-shadow: none !important;
}

body.buddypress #item-nav.ms-bp-sidebar-menu-nav a:hover,
body.buddypress #item-nav.ms-bp-sidebar-menu-nav li.current a,
body.buddypress #item-nav.ms-bp-sidebar-menu-nav li.selected a,
#buddypress #item-nav.ms-bp-sidebar-menu-nav a:hover,
#buddypress #item-nav.ms-bp-sidebar-menu-nav li.current a,
#buddypress #item-nav.ms-bp-sidebar-menu-nav li.selected a{
  background: rgba(0,0,0,.06) !important;
}

body.buddypress #item-nav.ms-bp-sidebar-menu-nav .count,
body.buddypress #item-nav.ms-bp-sidebar-menu-nav .no-count,
#buddypress #item-nav.ms-bp-sidebar-menu-nav .count,
#buddypress #item-nav.ms-bp-sidebar-menu-nav .no-count{
  display: none !important;
}

/* Header polish pass: stronger identity layout in the red-box area */
body.buddypress #item-header.ms-bp-header-card{
  overflow: visible;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-header-inner{
  display: grid !important;
  grid-template-columns: 104px minmax(0,1fr);
  align-items: end;
  gap: 14px 18px;
  padding: 10px 20px 16px !important;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-avatar{
  margin-top: -48px;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-avatar img.avatar{
  width: 96px;
  height: 96px;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-ident{
  display: flex !important;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-badges{
  gap: 6px;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-name{
  margin: 1 !important;
  font-size: 24px !important;
  line-height: 1.05;
  letter-spacing: .1px;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-title-line{
  margin: 0 !important;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-meta{
  margin-top: 2px;
  font-size: 12px;
  gap: 6px;
  flex-wrap: wrap;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-handle,
body.buddypress #item-header.ms-bp-header-card .ms-bp-status{
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.04);
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-stats{
  margin-top: 2px;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-stat{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-actions{
  margin-top: 4px;
  justify-content: flex-start;
}

@media (max-width: 720px){
  body.buddypress #item-header.ms-bp-header-card .ms-bp-header-inner{
    grid-template-columns: 84px minmax(0,1fr);
    padding: 10px 14px 14px !important;
  }

  body.buddypress #item-header.ms-bp-header-card .ms-bp-avatar{
    margin-top: -40px;
  }

  body.buddypress #item-header.ms-bp-header-card .ms-bp-avatar img.avatar{
    width: 78px;
    height: 78px;
  }

  body.buddypress #item-header.ms-bp-header-card .ms-bp-name{
    font-size: 20px !important;
  }
}


/* Modern IPS/XF style refinements for profile header */
body.buddypress #item-header.ms-bp-header-card .ms-bp-cover{
  border-bottom: 1px solid rgba(255,255,255,.24);
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-header-inner{
  margin: -22px 14px 14px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,248,248,.96));
  box-shadow: 0 12px 28px rgba(0,0,0,.10);
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-avatar{
  margin-top: -28px;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-avatar img.avatar{
  border-width: 3px;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-ident{
  gap: 4px;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-badges{
  margin-bottom: 1px;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-meta{
  margin-top: 4px;
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-status{
  background: rgba(139,15,18,.08);
  color: rgba(93,11,12,.92);
}

body.buddypress #item-header.ms-bp-header-card .ms-bp-actions{
  margin-top: 8px;
}

@media (max-width: 720px){
  body.buddypress #item-header.ms-bp-header-card .ms-bp-header-inner{
    margin: -18px 10px 10px;
  }
}

/* Better Messages / BP messages should run app-width, not profile-width */
body.buddypress.bp-messages #buddypress,
body.buddypress.messages #buddypress,
body.buddypress #buddypress.ms-bp-messages-only{
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.buddypress.bp-messages #buddypress .ms-bp-wrap,
body.buddypress.messages #buddypress .ms-bp-wrap,
body.buddypress #buddypress.ms-bp-messages-only .ms-bp-wrap{
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.buddypress.bp-messages #buddypress .ms-bp-layout,
body.buddypress.messages #buddypress .ms-bp-layout,
body.buddypress #buddypress.ms-bp-messages-only .ms-bp-layout{
  grid-template-columns: minmax(0,1fr) !important;
  gap: 0 !important;
}

body.buddypress.bp-messages #buddypress .ms-bp-panel--messages,
body.buddypress.messages #buddypress .ms-bp-panel--messages,
body.buddypress #buddypress.ms-bp-messages-only .ms-bp-panel--messages{
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  background: transparent !important;
}
