/* v2.1 — cache-bust 2026-02-09 */
/* ═══════════════════════════════════════════════════════════
   Community Pages — Mobile-First Responsive
   Activity, Members, Groups, Forums, Portal, Register, Profiles
   Design system: --sew-primary var(--sew-primary-500), --sew-base var(--sew-dark-600),
                  --sew-coral var(--sew-primary-500), Playfair Display + Inter
   ═══════════════════════════════════════════════════════════ */

/* ─── COMPACT COMMUNITY HEADER (replaces old hero banner) ── */
.sew-comm-header {
  background: #fff;
  padding: 0.75rem 1rem 0;
  border-bottom: 1px solid #eee;
}
.sew-comm-header__top {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.sew-comm-header__icon {
  display: flex;
  color: var(--sew-dark-600);
  flex-shrink: 0;
}
.sew-comm-header__icon svg {
  width: 20px;
  height: 20px;
}
.sew-comm-header__title {
  font-family: 'Archivo Black', Impact, sans-serif;
  font-size: 1.125rem;
  color: var(--sew-dark-600);
  margin: 0;
  line-height: 1.2;
}

/* ─── COMMUNITY NAV TABS (horizontal scroll on mobile) ──── */
.sew-comm-nav {
  display: flex;
  gap: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin: 0 -1rem;
  padding: 0 1rem;
}
.sew-comm-nav::-webkit-scrollbar { display: none; }
.sew-comm-nav__item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.75rem;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--sew-gray-600, #757575);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s;
}
.sew-comm-nav__item svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.sew-comm-nav__item:hover {
  color: var(--sew-dark-600);
}
.sew-comm-nav__item.is-active {
  color: var(--sew-primary-500);
  border-bottom-color: var(--sew-primary-500);
  font-weight: 600;
}

/* Legacy: hide old hero if still rendered */
.sew-community-hero { display: none; }

/* ─── COMMUNITY CONTAINER ───────────────────────────────── */
.sew-community-wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 1.25rem;
}

/* ─── BUDDYPRESS / BBPRESS BASE OVERRIDE ────────────────── */
#buddypress,
.buddypress-wrap,
.bbp-wrapper,
.bbpress-wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 1.25rem;
  font-family: 'Inter', -apple-system, sans-serif;
}

/* Kill BB's default page titles — we use hero */
body.buddypress .entry-title,
body.bbpress .entry-title,
body.buddypress h1.entry-title,
body.bbpress h1.entry-title,
body.buddypress article > header,
body.bbpress article > header {
  display: none !important;
}

/* ─── ACTIVITY PAGE ─────────────────────────────────────── */
/* Filter bar */
#buddypress .activity-type-tabs,
#buddypress .subnav-filters,
#buddypress .bp-navs,
.buddypress-wrap .bp-navs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(10,36,52,0.08);
  margin-bottom: 1.25rem;
  list-style: none;
}
#buddypress .bp-navs li,
#buddypress .activity-type-tabs li,
#buddypress .subnav-filters li {
  list-style: none;
}
#buddypress .bp-navs a,
#buddypress .activity-type-tabs a,
#buddypress .subnav-filters a {
  font-size: 0.78rem;
  font-weight: 600;
  color: #666;
  text-decoration: none;
  padding: 0.4rem 0.75rem;
  border-radius: 20px;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}
#buddypress .bp-navs a:hover,
#buddypress .activity-type-tabs a:hover,
#buddypress .subnav-filters a:hover {
  background: rgba(50,162,193,0.08);
  color: var(--sew-primary, var(--sew-primary-500));
}
#buddypress .bp-navs .selected a,
#buddypress .bp-navs .current a,
#buddypress .activity-type-tabs .selected a {
  background: var(--sew-primary, var(--sew-primary-500));
  color: #fff;
}
#buddypress .bp-navs .count,
#buddypress .activity-type-tabs .count {
  font-size: 0.65rem;
  background: rgba(10,36,52,0.08);
  padding: 0.1rem 0.4rem;
  border-radius: 10px;
  margin-left: 0.25rem;
}

/* Activity stream */
#buddypress #activity-stream,
#buddypress .activity-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
#buddypress .activity-list li.activity-item {
  background: #fff;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin-bottom: 0.75rem;
  box-shadow: 0 1px 4px rgba(10,36,52,0.06);
  border: 1px solid rgba(10,36,52,0.06);
  list-style: none;
  transition: box-shadow 0.2s;
}
#buddypress .activity-list li.activity-item:hover {
  box-shadow: 0 4px 12px rgba(10,36,52,0.1);
}

/* Activity header */
#buddypress .activity-header {
  font-size: 0.82rem;
  color: #555;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
  line-height: 1.5;
}
#buddypress .activity-header a {
  color: var(--sew-dark-600);
  font-weight: 600;
  text-decoration: none;
}
#buddypress .activity-header a:hover {
  color: var(--sew-primary, var(--sew-primary-500));
}
#buddypress .activity-avatar {
  flex-shrink: 0;
}
#buddypress .activity-avatar img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}

/* Activity content */
#buddypress .activity-inner,
#buddypress .activity-content {
  font-size: 0.85rem;
  line-height: 1.7;
  color: #444;
}
#buddypress .activity-inner img {
  max-width: 100%;
  border-radius: 8px;
  margin-top: 0.5rem;
}

/* Activity meta */
#buddypress .activity-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(10,36,52,0.06);
}
#buddypress .activity-meta a {
  font-size: 0.72rem;
  color: #888;
  text-decoration: none;
}
#buddypress .activity-meta a:hover {
  color: var(--sew-coral, var(--sew-primary-500));
}

/* Activity "what's new" post form */
#buddypress form#whats-new-form,
#buddypress .activity-update-form {
  background: #fff;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 1px 4px rgba(10,36,52,0.06);
  border: 1px solid rgba(10,36,52,0.06);
}
#buddypress #whats-new {
  width: 100%;
  min-height: 80px;
  border: 1px solid rgba(10,36,52,0.12);
  border-radius: 8px;
  padding: 0.75rem;
  font-size: 0.85rem;
  resize: vertical;
  outline: none;
  font-family: inherit;
}
#buddypress #whats-new:focus {
  border-color: var(--sew-primary, var(--sew-primary-500));
  box-shadow: 0 0 0 3px rgba(50,162,193,0.1);
}

/* ─── MEMBERS DIRECTORY — mobile-first app-quality ─────── */

/* Hide "Please add fields to search members" error */
#buddypress .dir-search-error,
#buddypress .bp-feedback.bp-messages.info:has(.bp-feedback-text),
.bp-dir-search-form-default-text,
#buddypress .subnav-search,
#members-dir-search,
.dir-search form + .bp-feedback,
.bps-form .no-field,
.bps-form:has(.no-field),
.bps-form .submit-wrapper:has(.no-field) {
  display: none !important;
}
/* Also hide the raw text node "Please add fields to search members." */
#buddypress .bp-messages.info {
  display: none !important;
}

/* ── Members page container resets ── */
.members-directory-wrapper,
.members-directory-container {
  padding: 0 !important;
  max-width: 100% !important;
}
/* Tighten buddypress container for members */
body.directory.members #buddypress,
body.directory.members .buddypress-wrap {
  padding: 0.5rem 0 !important;
}

/* "All Members" scope nav — compact horizontal chips */
.members-type-navs {
  padding: 0.5rem 1rem !important;
  margin: 0 !important;
}
/* Hide directory type nav when only 1 item — "All Members" alone looks like a stray pill */
.members-type-navs ul:has(> li:only-child) {
  display: none !important;
}
.members-type-navs ul,
.members-type-navs .component-navigation {
  display: flex !important;
  gap: 0.5rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-wrap: wrap !important;
}
.members-type-navs li {
  list-style: none !important;
}
.members-type-navs li a,
.members-type-navs li a span:not(.count) {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.35rem 0.85rem;
  border-radius: 20px;
  background: var(--sew-neutral-200, #fff);
  color: var(--sew-dark-600, #1A1A1A);
  text-decoration: none !important;
  border: none;
  transition: all 0.15s;
}
.members-type-navs li.selected a,
.members-type-navs li.selected a span:not(.count) {
  background: var(--sew-primary-500, #FF6A70);
  color: #fff;
}
/* Hide "(36)" count number — redundant with "36 Members" text */
.members-type-navs .count {
  display: none !important;
}

/* Grid/list toggle + sort — compact single-row toolbar */
.bb-subnav-filters-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.25rem 1rem 0.5rem !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
}
.subnav-filters {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  width: 100% !important;
  justify-content: space-between !important;
}
.grid-filters {
  display: flex !important;
  gap: 0.25rem !important;
  order: 2;
}
.grid-filters .layout-view {
  width: 34px !important;
  height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  border: 1px solid #e0e0e0 !important;
  background: #fff !important;
  color: #999 !important;
  text-decoration: none !important;
  transition: all 0.15s;
  font-size: 1rem;
}
.grid-filters .layout-view.active {
  background: var(--sew-dark-600, #1A1A1A) !important;
  color: #fff !important;
  border-color: var(--sew-dark-600, #1A1A1A) !important;
}
/* Sort dropdown */
.component-filters {
  order: 3;
}
.component-filters select,
.component-filters .select-wrap select {
  font-size: 0.78rem !important;
  padding: 0.4rem 2rem 0.4rem 0.75rem !important;
  border-radius: 8px !important;
  border: 1px solid #e0e0e0 !important;
  background: #fff !important;
  color: var(--sew-dark-600, #1A1A1A) !important;
  font-weight: 500;
  min-height: 34px;
}

/* "36 Members" count */
.bb-item-count {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: var(--sew-dark-600, #1A1A1A) !important;
  order: 1;
  margin-bottom: 0 !important;
  padding: 0 1rem !important;
}
/* Remove gap between count, filters, and grid */
.members-type-navs + .bb-item-count,
.bb-item-count + .bb-subnav-filters-container {
  margin-top: 0 !important;
}
/* Tighten the search/filters wrapper */
.bb-subnav-filters-search {
  margin: 0 !important;
  padding: 0 !important;
}

/* Loading message — compact */
.bp-feedback.loading {
  padding: 1rem !important;
  text-align: center !important;
  color: #999 !important;
  font-size: 0.8rem !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}
.bp-feedback.loading .bp-icon {
  animation: spin 1s linear infinite;
  display: inline-block;
  margin-right: 0.5rem;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
/* Once our grid renders, hide BB's loading */
.sew-members-grid ~ .bp-feedback.loading,
.sew-members-grid ~ #bp-ajax-loader {
  display: none !important;
}
/* Tighten screen-content wrapper */
.members-directory-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* ══ MEMBER CARDS — JS creates .sew-members-grid with .sew-member-card ══ */
/* member-cards.js extracts data from BB's DOM, builds a clean grid container */

/* --- Hide BB's original list (JS hides via display:none, CSS as fallback) --- */
#members-list {
  display: none !important;
}

/* --- Grid container (our fresh DIV) --- */
.sew-members-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: 0 12px;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}
@media (min-width: 640px) {
  .sew-members-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    padding: 0 20px;
  }
}
@media (min-width: 1024px) {
  .sew-members-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    padding: 0 32px;
  }
}

/* --- Card shell --- */
.sew-member-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.05);
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  -webkit-tap-highlight-color: transparent;
}
.sew-member-card:active {
  transform: scale(0.97);
}
@media (hover: hover) {
  .sew-member-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.10);
  }
}

/* --- Card link (full card clickable) --- */
.sew-mc__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 16px 6px 12px;
  text-decoration: none;
  color: inherit;
  gap: 4px;
}

/* --- Avatar image --- */
.sew-mc__avatar {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
}
.sew-mc__avatar-img {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  border: 2px solid var(--sew-neutral-200, #e8e8e8);
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* --- Avatar placeholder (no photo) --- */
.sew-mc__avatar-ph {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255,255,255,0.3);
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.sew-mc__avatar-ph span {
  font-family: 'Archivo Black', 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.15);
}

/* --- Name --- */
.sew-mc__name {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: var(--sew-dark-600, #1A1A1A);
  line-height: 1.3;
  word-break: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
}

/* --- Meta (joined / last active) --- */
.sew-mc__meta {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 9px;
  color: #999;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

/* --- BB's search form error still needs hiding --- */
#members-dir-search,
.bps-form:has(.no-field),
.bps-form .no-field { display: none !important; }

/* ─── GROUPS DIRECTORY ──────────────────────────────────── */
#buddypress #groups-list,
#buddypress .groups-list,
.bp-list.groups-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
#buddypress .groups-list > li,
.bp-list.groups-list > li {
  background: #fff;
  border-radius: 12px;
  padding: 1rem;
  box-shadow: 0 1px 4px rgba(10,36,52,0.06);
  border: 1px solid rgba(10,36,52,0.06);
  list-style: none;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  transition: box-shadow 0.2s;
}
#buddypress .groups-list > li:hover,
.bp-list.groups-list > li:hover {
  box-shadow: 0 4px 12px rgba(10,36,52,0.1);
}
#buddypress .groups-list .group-inner-avatar img,
.bp-list.groups-list .item-avatar img {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  object-fit: cover;
  flex-shrink: 0;
}
#buddypress .groups-list .item .item-title a,
.bp-list.groups-list .list-title a {
  font-family: 'Playfair Display', serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--sew-dark-600);
  text-decoration: none;
}
#buddypress .groups-list .item .item-title a:hover,
.bp-list.groups-list .list-title a:hover {
  color: var(--sew-primary, var(--sew-primary-500));
}
#buddypress .groups-list .item-desc,
.bp-list.groups-list .item-meta {
  font-size: 0.78rem;
  color: #777;
  margin-top: 0.25rem;
  line-height: 1.5;
}
/* Group meta badges */
#buddypress .groups-list .item-meta span,
.bp-list.groups-list .group-details span {
  font-size: 0.7rem;
  color: #999;
}

/* ─── FORUMS (BBPRESS) — Mobile-first PWA feel ─────────── */

/* Page title override — use sew-comm-header instead */
body.forum-archive #bbpress-forums > h1,
body.forum-archive .entry-title,
body.single-forum .entry-title {
  display: none !important;
}

/* Forum search — clean pill shape */
/* Search form — outer wrapper is transparent, only inner form is visible */
.bbp-search-form,
#bbp-search-form {
  margin-bottom: 1rem;
  background: transparent;
  border: none;
  box-shadow: none;
}
.bbp-search-form input[type="text"],
#bbp-search-form input[type="text"],
.bbp-search-form input[type="search"],
#bbp-search-form input[type="search"] {
  flex: 1;
  min-width: 0;
  padding: 0.75rem 1rem;
  border: none;
  font-size: 0.88rem;
  outline: none;
  font-family: inherit;
  background: transparent;
}
.bbp-search-form input[type="text"]::placeholder,
#bbp-search-form input[type="text"]::placeholder {
  color: #aaa;
}
.bbp-search-form input[type="text"]:focus,
#bbp-search-form input[type="text"]:focus {
  box-shadow: none;
}
.bbp-search-form input[type="submit"],
#bbp-search-form input[type="submit"] {
  background: var(--sew-primary-500);
  color: #fff;
  border: none;
  padding: 0.75rem 1.5rem;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  border-radius: 0;
  transition: opacity 0.2s;
}
.bbp-search-form input[type="submit"]:hover {
  opacity: 0.85;
}

/* "Viewing X of Y" pagination — subtle */
#bbpress-forums > .bp-pagination,
#bbpress-forums > .bbp-pagination {
  font-size: 0.75rem;
  color: #999;
  padding: 0.5rem 0;
}

/* Forum list — card layout */
#bbpress-forums,
.bbp-forums {
  list-style: none;
  padding: 0;
  margin: 0;
}
#bbpress-forums ul,
#bbpress-forums li,
.bbp-forums ul,
.bbp-forums li {
  list-style: none;
  padding: 0;
}
#bbpress-forums > ul.bbp-forums {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* Hide table header entirely — we use card layout */
li.bbp-header {
  list-style: none;
  display: none !important;
}

/* Forum body */
li.bbp-body {
  list-style: none;
}
li.bbp-body > ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* Each forum item wrapper — flex-wrap so stats flow inline */
ul[id^="bbp-forum-"] {
  background: #fff;
  border-radius: 14px;
  padding: 1.25rem !important;
  margin: 0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  border: 1px solid #f0f0f0;
  list-style: none !important;
  transition: box-shadow 0.2s, transform 0.15s;
  display: flex !important;
  flex-wrap: wrap !important;
}
ul[id^="bbp-forum-"]:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  transform: translateY(-1px);
}
/* Forum info takes full width */
ul[id^="bbp-forum-"] > li.bbp-forum-info {
  flex: 0 0 100% !important;
}
/* Freshness takes full width (below stats) */
ul[id^="bbp-forum-"] > li.bbp-forum-freshness {
  flex: 0 0 100% !important;
}

/* Forum info (title + description) */
li.bbp-forum-info {
  list-style: none !important;
  margin-bottom: 0.5rem;
}

/* Forum title */
a.bbp-forum-title,
.bbp-forum-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--sew-dark-600) !important;
  text-decoration: none !important;
  line-height: 1.3;
  display: block;
  margin-bottom: 0.35rem;
}
a.bbp-forum-title:hover {
  color: var(--sew-primary-500) !important;
}

/* Forum description */
.bbp-forum-content {
  font-size: 0.82rem;
  color: #666;
  line-height: 1.65;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}

/* Stats row (topics count, replies count) — inline pill badges */
li.bbp-forum-topic-count,
li.bbp-forum-reply-count {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0.72rem !important;
  color: #555 !important;
  padding: 0.2rem 0.65rem !important;
  margin: 0 0.35rem 0 0 !important;
  background: var(--sew-neutral-100, #fff) !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 20px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
}
li.bbp-forum-topic-count::before {
  content: '💬 Topics: ';
  font-weight: 500;
}
li.bbp-forum-reply-count::before {
  content: '↩ Replies: ';
  font-weight: 500;
}

/* Freshness (last post info) */
li.bbp-forum-freshness {
  display: block !important;
  font-size: 0.72rem !important;
  color: #999 !important;
  padding: 0.6rem 0 0 !important;
  margin: 0.4rem 0 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  border-top: 1px solid #f5f5f5 !important;
}
li.bbp-forum-freshness a {
  color: var(--sew-primary-500) !important;
  text-decoration: none !important;
  font-weight: 600;
}
li.bbp-forum-freshness a:hover {
  text-decoration: underline !important;
}

/* Footer pagination */
li.bbp-footer {
  list-style: none;
  display: none !important;
}

/* ─── SINGLE FORUM (Topic List) ─────────────────────────── */
.bbp-topics {
  list-style: none;
  padding: 0;
  margin: 0;
}
.bbp-topics .bbp-body > ul > li {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.bbp-topics ul[id^="bbp-topic-"] {
  background: #fff;
  border-radius: 12px;
  padding: 1rem !important;
  margin: 0 0 0.5rem !important;
  border: 1px solid #f0f0f0;
  list-style: none !important;
  transition: box-shadow 0.2s;
}
.bbp-topics ul[id^="bbp-topic-"]:hover {
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}

/* Topic title */
a.bbp-topic-permalink {
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--sew-dark-600);
  text-decoration: none;
  line-height: 1.35;
}
a.bbp-topic-permalink:hover {
  color: var(--sew-primary-500);
}

/* ─── SINGLE TOPIC (Replies) ────────────────────────────── */
.bbp-replies {
  list-style: none;
  padding: 0;
}
.bbp-reply-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0;
  font-size: 0.75rem;
  color: #999;
  border-bottom: 1px solid #f0f0f0;
}
.bbp-reply-author img.avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.bbp-reply-content {
  font-size: 0.88rem;
  line-height: 1.65;
  color: #444;
  padding: 1rem 0;
}

/* Reply form */
#new-post,
.bbp-reply-form {
  background: #fff;
  border-radius: 14px;
  padding: 1.25rem;
  border: 1px solid #f0f0f0;
  margin-top: 1rem;
}
.bbp-reply-form legend,
.bbp-reply-form .bbp-form label {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  color: var(--sew-dark-600);
}
.bbp-reply-form textarea,
.bbp-reply-form input[type="text"] {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 0.88rem;
  font-family: inherit;
  resize: vertical;
  outline: none;
  box-sizing: border-box;
}
.bbp-reply-form textarea:focus,
.bbp-reply-form input[type="text"]:focus {
  border-color: var(--sew-primary-500);
  box-shadow: 0 0 0 3px rgba(255,106,112,0.1);
}
.bbp-reply-form .bbp-submit-wrapper {
  margin-top: 0.75rem;
}
.bbp-reply-form input[type="submit"],
.bbp-reply-form button[type="submit"] {
  background: var(--sew-primary-500);
  color: #fff;
  border: none;
  padding: 0.7rem 1.5rem;
  border-radius: 8px;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s;
}
.bbp-reply-form input[type="submit"]:hover {
  opacity: 0.85;
}

/* ─── NEW TOPIC FORM ────────────────────────────────────── */
.bbp-topic-form {
  background: #fff;
  border-radius: 14px;
  padding: 1.25rem;
  border: 1px solid #f0f0f0;
  margin-bottom: 1.25rem;
}
.bbp-topic-form legend,
.bbp-topic-form .bbp-form label {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  color: var(--sew-dark-600);
}
.bbp-topic-form textarea,
.bbp-topic-form input[type="text"] {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 0.88rem;
  font-family: inherit;
  outline: none;
  box-sizing: border-box;
}
.bbp-topic-form textarea:focus,
.bbp-topic-form input[type="text"]:focus {
  border-color: var(--sew-primary-500);
  box-shadow: 0 0 0 3px rgba(255,106,112,0.1);
}
.bbp-topic-form input[type="submit"],
.bbp-topic-form button[type="submit"] {
  background: var(--sew-primary-500);
  color: #fff;
  border: none;
  padding: 0.7rem 1.5rem;
  border-radius: 8px;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
}

/* ─── FORUMS RESPONSIVE ─────────────────────────────────── */
@media (max-width: 768px) {
  #bbpress-forums {
    padding: 0 !important;
  }
  ul[id^="bbp-forum-"] {
    padding: 1rem !important;
    border-radius: 12px;
  }
  a.bbp-forum-title,
  .bbp-forum-title {
    font-size: 1rem !important;
  }
  .bbp-forum-content {
    font-size: 0.78rem;
    -webkit-line-clamp: 2;
  }
  li.bbp-forum-topic-count,
  li.bbp-forum-reply-count {
    font-size: 0.7rem !important;
    padding: 0.15rem 0.45rem !important;
  }
  .bbp-reply-form,
  .bbp-topic-form,
  #new-post {
    padding: 1rem;
    border-radius: 12px;
  }
  .bbp-search-form input[type="submit"],
  #bbp-search-form input[type="submit"] {
    padding: 0.75rem 1rem;
    font-size: 0.78rem;
  }
  .bbp-reply-form textarea,
  .bbp-topic-form textarea {
    min-height: 100px;
  }
}
@media (max-width: 400px) {
  ul[id^="bbp-forum-"] {
    padding: 0.85rem !important;
    border-radius: 10px;
  }
  a.bbp-forum-title,
  .bbp-forum-title {
    font-size: 0.95rem !important;
  }
}

/* ─── REGISTER PAGE ─────────────────────────────────────── */
.sew-register-wrap {
  max-width: 480px;
  margin: 0 auto;
  padding: 1.5rem 1.25rem 3rem;
}
/* Style UsersWP or BP registration form */
.uwp-registration-form,
#signup_form,
.register #buddypress,
.uwp-account-form {
  max-width: 480px;
  margin: 0 auto;
}
.uwp-registration-form label,
#signup_form label,
.uwp-account-form label {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--sew-dark-600);
  margin-bottom: 0.35rem;
}
.uwp-registration-form input[type="text"],
.uwp-registration-form input[type="email"],
.uwp-registration-form input[type="password"],
#signup_form input[type="text"],
#signup_form input[type="email"],
#signup_form input[type="password"],
.uwp-account-form input[type="text"],
.uwp-account-form input[type="email"],
.uwp-account-form input[type="password"] {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid rgba(10,36,52,0.15);
  border-radius: 8px;
  font-size: 0.88rem;
  font-family: inherit;
  outline: none;
  transition: border-color 0.2s;
  margin-bottom: 1rem;
  box-sizing: border-box;
}
.uwp-registration-form input:focus,
#signup_form input:focus,
.uwp-account-form input:focus {
  border-color: var(--sew-primary, var(--sew-primary-500));
  box-shadow: 0 0 0 3px rgba(50,162,193,0.1);
}
.uwp-registration-form input[type="submit"],
#signup_form input[type="submit"],
.uwp-registration-form .uwp-register-btn,
.uwp-account-form input[type="submit"] {
  width: 100%;
  background: var(--sew-primary, var(--sew-primary-500));
  color: #fff;
  border: none;
  padding: 0.75rem;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s;
}
.uwp-registration-form input[type="submit"]:hover,
.uwp-account-form input[type="submit"]:hover {
  opacity: 0.85;
}

/* ─── MEMBER PORTAL ─────────────────────────────────────── */
.sew-portal {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 1.25rem 3rem;
}

/* Portal header */
.sew-portal-header {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(10,36,52,0.08);
  margin-bottom: 1.25rem;
}
.sew-portal-header__user {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.sew-portal-header__user img.sew-portal-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}
.sew-portal-header__name {
  font-family: 'Playfair Display', serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--sew-dark-600);
  margin: 0;
  line-height: 1.2;
}
.sew-portal-header__membership {
  font-size: 0.75rem;
  color: var(--sew-primary, var(--sew-primary-500));
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.sew-portal-header__date {
  font-size: 0.78rem;
  color: #888;
}

/* Mobile tab selector (dropdown) */
.sew-portal-select {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid rgba(10,36,52,0.15);
  border-radius: 8px;
  font-size: 0.88rem;
  font-family: inherit;
  outline: none;
  background: #fff;
  margin-bottom: 1.25rem;
  appearance: auto;
}
.sew-portal-select:focus {
  border-color: var(--sew-primary, var(--sew-primary-500));
}

/* Portal layout — stacked on mobile */
.sew-portal-layout {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* Sidebar tabs — hidden on mobile (select replaces) */
.sew-portal-tabs {
  display: none;
  flex-direction: column;
  gap: 0.25rem;
}

/* Tab button */
.sew-portal-tab {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.75rem 1rem;
  border: none;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  transition: background 0.2s;
  color: #555;
}
.sew-portal-tab svg {
  flex-shrink: 0;
  color: #999;
  transition: color 0.2s;
}
.sew-portal-tab span {
  display: flex;
  flex-direction: column;
}
.sew-portal-tab strong {
  font-size: 0.85rem;
  color: var(--sew-dark-600);
}
.sew-portal-tab small {
  font-size: 0.7rem;
  color: #999;
}
.sew-portal-tab:hover {
  background: rgba(50,162,193,0.05);
}
.sew-portal-tab.active {
  background: rgba(50,162,193,0.08);
  border-left: 3px solid var(--sew-primary, var(--sew-primary-500));
}
.sew-portal-tab.active svg {
  color: var(--sew-primary, var(--sew-primary-500));
}

/* Panels */
.sew-portal-panels {
  min-width: 0;
}
.sew-portal-panel {
  display: none;
}
.sew-portal-panel.active {
  display: block;
}
.sew-portal-panel h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--sew-dark-600);
  margin: 0 0 0.5rem;
}
.sew-portal-panel > p {
  font-size: 0.85rem;
  color: #666;
  margin: 0 0 1.25rem;
  line-height: 1.6;
}

/* Quick links grid */
.sew-portal-quicklinks {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.sew-portal-quicklink {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  background: #fff;
  border-radius: 10px;
  border: 1px solid rgba(10,36,52,0.08);
  text-decoration: none;
  color: var(--sew-dark-600);
  font-weight: 600;
  font-size: 0.88rem;
  transition: box-shadow 0.2s, transform 0.2s;
}
.sew-portal-quicklink svg {
  color: var(--sew-primary, var(--sew-primary-500));
  flex-shrink: 0;
}
.sew-portal-quicklink:hover {
  box-shadow: 0 4px 12px rgba(10,36,52,0.1);
  transform: translateY(-2px);
}

/* Getting started steps */
.sew-portal-steps {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.sew-portal-step {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1rem;
  background: #fff;
  border-radius: 10px;
  border: 1px solid rgba(10,36,52,0.06);
}
.sew-portal-step__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--sew-primary, var(--sew-primary-500));
  color: #fff;
  font-weight: 700;
  font-size: 0.85rem;
  flex-shrink: 0;
}
.sew-portal-step strong {
  display: block;
  font-size: 0.9rem;
  color: var(--sew-dark-600);
  margin-bottom: 0.25rem;
}
.sew-portal-step p {
  font-size: 0.82rem;
  color: #666;
  margin: 0;
  line-height: 1.5;
}

/* Empty state */
.sew-portal-empty {
  text-align: center;
  padding: 2.5rem 1rem;
  background: #fff;
  border-radius: 12px;
  border: 1px dashed rgba(10,36,52,0.15);
}
.sew-portal-empty h4 {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  color: var(--sew-dark-600);
  margin: 1rem 0 0.5rem;
}
.sew-portal-empty p {
  font-size: 0.85rem;
  color: #888;
  max-width: 380px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Login prompt */
.sew-portal-login-prompt {
  text-align: center;
  padding: 3rem 1.25rem;
  max-width: 480px;
  margin: 0 auto;
}
.sew-portal-login-prompt h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  color: var(--sew-dark-600);
  margin: 0 0 0.75rem;
}
.sew-portal-login-prompt p {
  font-size: 0.88rem;
  color: #666;
  margin: 0 0 1.25rem;
  line-height: 1.6;
}
.sew-portal-login-sub {
  font-size: 0.82rem;
  color: #888;
}
.sew-portal-login-sub a {
  color: var(--sew-primary, var(--sew-primary-500));
  font-weight: 600;
}

/* ─── BUDDYBOSS PROFILE PAGES ───────────────────────────── */
/* Profile header */
#buddypress #item-header,
.buddypress-wrap .item-header-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.5rem 0;
}
#buddypress #item-header-avatar img,
.buddypress-wrap #item-header-avatar img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(10,36,52,0.15);
}
#buddypress #item-header-content h2,
.buddypress-wrap #item-header-content h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--sew-dark-600);
  margin: 0.75rem 0 0.25rem;
}
#buddypress #item-header-content .activity,
.buddypress-wrap #item-header-content .member-type {
  font-size: 0.78rem;
  color: #888;
}

/* Profile nav tabs */
#buddypress #object-nav,
.buddypress-wrap .bp-navs.main-navs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 2px solid rgba(10,36,52,0.08);
  margin-bottom: 1.25rem;
  padding: 0;
  list-style: none;
}
#buddypress #object-nav li,
.buddypress-wrap .bp-navs.main-navs li {
  list-style: none;
}
#buddypress #object-nav li a,
.buddypress-wrap .bp-navs.main-navs li a {
  display: block;
  padding: 0.75rem 1rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: #666;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
  transition: color 0.2s, border-color 0.2s;
}
#buddypress #object-nav li a:hover,
.buddypress-wrap .bp-navs.main-navs li a:hover {
  color: var(--sew-primary, var(--sew-primary-500));
}
#buddypress #object-nav li.current a,
#buddypress #object-nav li.selected a,
.buddypress-wrap .bp-navs.main-navs li.current a,
.buddypress-wrap .bp-navs.main-navs li.selected a {
  color: var(--sew-primary, var(--sew-primary-500));
  border-bottom-color: var(--sew-primary, var(--sew-primary-500));
}

/* Profile content area */
#buddypress #item-body,
.buddypress-wrap .bp-wrap .item-body {
  padding: 0;
}

/* ─── GLOBAL BUTTONS ────────────────────────────────────── */
.sew-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 1.25rem;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.1s;
  border: none;
  font-family: inherit;
}
.sew-btn:active {
  transform: scale(0.98);
}
.sew-btn-primary {
  background: var(--sew-primary, var(--sew-primary-500));
  color: #fff;
}
.sew-btn-primary:hover {
  opacity: 0.85;
}
.sew-btn-outline {
  background: transparent;
  color: var(--sew-primary, var(--sew-primary-500));
  border: 1px solid var(--sew-primary, var(--sew-primary-500));
}
.sew-btn-outline:hover {
  background: rgba(50,162,193,0.05);
}
.sew-btn-sm {
  padding: 0.4rem 0.85rem;
  font-size: 0.78rem;
}

/* All BB buttons */
#buddypress .generic-button a,
#buddypress .generic-button button,
#buddypress input[type="submit"],
#buddypress button[type="submit"],
.bbp-submit-wrapper button,
.bbp-submit-wrapper input[type="submit"] {
  background: var(--sew-primary, var(--sew-primary-500)) !important;
  color: #fff !important;
  border: none !important;
  padding: 0.5rem 1rem !important;
  border-radius: 8px !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  font-family: inherit !important;
  transition: opacity 0.2s !important;
}
#buddypress .generic-button a:hover,
#buddypress input[type="submit"]:hover,
.bbp-submit-wrapper button:hover {
  opacity: 0.85 !important;
}

/* BB select / dropdown filters */
#buddypress select,
.bp-dir-search-form input[type="search"],
#buddypress .dir-search input[type="search"],
#buddypress .dir-search input[type="text"] {
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(10,36,52,0.15);
  border-radius: 8px;
  font-size: 0.82rem;
  outline: none;
  font-family: inherit;
}
#buddypress select:focus,
.bp-dir-search-form input:focus {
  border-color: var(--sew-primary, var(--sew-primary-500));
}

/* ─── PAGINATION ────────────────────────────────────────── */
#buddypress .pagination,
#buddypress .bp-pagination,
.bbp-pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  padding: 1.25rem 0;
}
#buddypress .pagination .page-numbers,
#buddypress .bp-pagination a,
.bbp-pagination a {
  padding: 0.4rem 0.7rem;
  border-radius: 6px;
  font-size: 0.8rem;
  color: #555;
  text-decoration: none;
  transition: background 0.2s;
}
#buddypress .pagination .page-numbers:hover,
.bbp-pagination a:hover {
  background: rgba(50,162,193,0.08);
}
#buddypress .pagination .current,
.bbp-pagination .current {
  background: var(--sew-primary, var(--sew-primary-500));
  color: #fff;
}

/* ─── DIRECTORY SEARCH/FILTER BAR ───────────────────────── */
.buddypress-wrap .dir-search,
#buddypress .dir-search {
  margin-bottom: 1rem;
}
.buddypress-wrap .dir-search form,
#buddypress .dir-search form {
  display: flex;
  gap: 0.5rem;
}
.buddypress-wrap .bp-dir-hori-nav,
#buddypress .bp-dir-hori-nav {
  margin-bottom: 1rem;
}

/* ─── VIEW SWITCHER (grid/list) ─────────────────────────── */
#buddypress .grid-filters,
.buddypress-wrap .grid-filters {
  display: flex;
  gap: 0.25rem;
  margin-left: auto;
}
#buddypress .grid-filters a,
.buddypress-wrap .grid-filters a {
  padding: 0.35rem;
  border-radius: 6px;
  opacity: 0.5;
  transition: opacity 0.2s;
}
#buddypress .grid-filters a.current,
.buddypress-wrap .grid-filters a.current {
  opacity: 1;
}

/* ─── NOTIFICATIONS ─────────────────────────────────────── */
#buddypress .notification-list,
.buddypress-wrap .notification-list {
  list-style: none;
  padding: 0;
}
#buddypress .notification-list li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(10,36,52,0.06);
  font-size: 0.85rem;
}
#buddypress .notification-list li:last-child {
  border-bottom: none;
}
#buddypress .notification-list a {
  color: var(--sew-primary, var(--sew-primary-500));
  text-decoration: none;
}

/* ─── MESSAGES ──────────────────────────────────────────── */
#buddypress .messages-list,
.buddypress-wrap .messages-list {
  list-style: none;
  padding: 0;
}
#buddypress .messages-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  border-bottom: 1px solid rgba(10,36,52,0.06);
  transition: background 0.2s;
}
#buddypress .messages-list li:hover {
  background: rgba(50,162,193,0.03);
}
#buddypress .messages-list .thread-from img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

/* ─── RESPONSIVE: TABLET (768px+) ──────────────────────── */
@media (min-width: 768px) {
  .sew-community-hero {
    padding: 3rem 2rem 2.5rem;
  }
  .sew-community-hero__title {
    font-size: 2.25rem;
  }
  .sew-community-hero__subtitle {
    font-size: 1rem;
  }

  /* Members grid handled by .sew-members-grid in member cards section */

  /* Groups grid 2-col */
  #buddypress #groups-list,
  #buddypress .groups-list,
  .bp-list.groups-list {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Forum cards show stats inline */
  li.bbp-header {
    display: block;
  }
  li.bbp-header ul.forum-titles {
    display: grid;
    grid-template-columns: 1fr 100px 80px 160px;
    gap: 1rem;
    padding: 0.75rem 1.25rem;
    background: var(--sew-dark-600);
    color: #fff;
    border-radius: 8px 8px 0 0;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    list-style: none;
    margin: 0;
  }
  li.bbp-header ul.forum-titles li {
    list-style: none;
  }
  li.bbp-body > ul {
    gap: 0;
  }
  li.bbp-body > ul > li {
    display: grid;
    grid-template-columns: 1fr 100px 80px 160px;
    gap: 1rem;
    align-items: center;
    border-radius: 0;
    box-shadow: none;
    border-bottom: 1px solid rgba(10,36,52,0.06);
    padding: 1rem 1.25rem;
  }
  li.bbp-body > ul > li:last-child {
    border-radius: 0 0 8px 8px;
  }

  /* Portal quicklinks 2-col */
  .sew-portal-quicklinks {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Portal header row */
  .sew-portal-header {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  /* Portal: show sidebar tabs, hide select */
  .sew-portal-select {
    display: none;
  }
  .sew-portal-tabs {
    display: flex;
    min-width: 240px;
    max-width: 260px;
  }
  .sew-portal-layout {
    flex-direction: row;
    gap: 2rem;
  }
  .sew-portal-panels {
    flex: 1;
    min-width: 0;
  }
}

/* ─── RESPONSIVE: DESKTOP (992px+) ──────────────────────── */
@media (min-width: 992px) {
  /* Members grid handled by .sew-members-grid in member cards section */

  /* Groups grid 3-col */
  #buddypress #groups-list,
  #buddypress .groups-list,
  .bp-list.groups-list {
    grid-template-columns: repeat(3, 1fr);
  }

  /* Portal quicklinks 4-col */
  .sew-portal-quicklinks {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* ─── RESPONSIVE: LARGE DESKTOP (1200px+) ───────────────── */
@media (min-width: 1200px) {
  .sew-community-hero__title {
    font-size: 2.5rem;
  }
  .sew-portal-tabs {
    min-width: 280px;
    max-width: 300px;
  }
}


/* Hide "Claim Your Startup Profile" CTA on all community pages */
.buddypress .sew-footer__cta-bar,
.bbpress .sew-footer__cta-bar,
body.directory .sew-footer__cta-bar,
body.activity .sew-footer__cta-bar,
body.members .sew-footer__cta-bar,
body.groups .sew-footer__cta-bar {
  display: none !important;
}

/* ── Members page overflow fix ── */
.members-directory-wrapper,
.buddypress-wrap,
body.directory #page,
body.directory .site-content,
body.directory article.wordpress {
  overflow-x: hidden !important;
}
.bp-profile-search-widget {
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.bp-profile-search-widget .bps-form {
  max-width: 100% !important;
  padding: 0 8px !important;
  box-sizing: border-box !important;
}
