.buddypress {
  --bp-card-radius: 12px;
  --bp-card-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  --bp-border: 1px solid var(--rotary-silver);
  font-family: var(--font-free-secondary);
  background: none;
  color: var(--rotary-charcoal);
  min-height: 100vh;
}

.buddypress-template-default .page {
  max-width: 1100px;
  margin: auto;
}

.buddypress a {
  color: var(--rotary-azure);
}

.buddypress a:hover,
.buddypress a:focus {
  color: var(--rotary-gold);
}

.buddypress h1,
.buddypress h2,
.buddypress h3,
.buddypress h4 {
  font-family: var(--font-primary);
  color: var(--rotary-azure);
  letter-spacing: 0.01em;
  text-rendering: optimizeLegibility;
}

/* Directory and member headers */
.buddypress .bp-wrap,
.buddypress .bp-dir-header,
.buddypress .bp-profile-header {
  background: var(--rotary-white);
  color: var(--rotary-charcoal);
  border-radius: 18px;
  padding: 24px 28px;
  box-shadow: var(--bp-card-shadow);
}

.buddypress .bp-dir-header h1,
.buddypress .bp-profile-header h2,
.buddypress .bp-profile-header h3,
.buddypress .bp-dir-header .bp-feedback p {
  color: var(--rotary-azure);
  margin: 0;
}

.buddypress .bp-profile-header .bp-profile-stat {
  color: var(--rotary-slate);
  font-weight: 600;
}

/* Navigation tabs (clean, non-button style) */
.buddypress .bp-navs li a,
.buddypress .bp-navs li button {
  font-family: var(--font-free-secondary);
  color: var(--rotary-charcoal);
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 10px 8px;
  transition: color 0.2s ease, border-color 0.2s ease;
  box-shadow: none;
  border-bottom: 2px solid transparent;
}

.buddypress .bp-navs .bp-personal-tab a,
.buddypress .bp-navs .bp-personal-tab button {
  font-family: var(--font-free-secondary);
  color: var(--rotary-charcoal);
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 10px 8px;
  transition: color 0.2s ease, border-color 0.2s ease;
  box-shadow: none;
  border-bottom: 2px solid transparent;
}

.buddypress .bp-navs li a:hover,
.buddypress .bp-navs li button:hover,
.buddypress .bp-navs li.current a,
.buddypress .bp-navs li.current button {
  color: var(--rotary-azure);
  border-color: var(--rotary-gold);
  background: transparent;
}

.buddypress .bp-navs .bp-personal-tab a:hover,
.buddypress .bp-navs .bp-personal-tab button:hover,
.buddypress .bp-navs .bp-personal-tab.current a,
.buddypress .bp-navs .bp-personal-tab.current button {
  color: var(--rotary-azure);
  border-color: var(--rotary-gold);
  background: transparent;
}

/* Search / filters */
.buddypress .dir-search,
.buddypress .subnav-filters {
  background: var(--rotary-white);
  border: var(--bp-border);
  border-radius: var(--bp-card-radius);
  padding: 16px 18px;
  box-shadow: var(--bp-card-shadow);
  display: grid;
  gap: 10px;
}

.buddypress .dir-search input[type="search"],
.buddypress .subnav-filters select {
  border: 1px solid var(--rotary-smoke);
  border-radius: 8px;
  padding: 10px 12px;
  font-family: var(--font-free-secondary);
  background: var(--rotary-white);
}

/* Directory cards */
.buddypress .item-list .item-entry,
.buddypress .bp-list .bp-list-item,
.buddypress .activity-list .activity-item,
.buddypress .members-list li,
.buddypress .groups-list li {
  background: var(--rotary-white);
  border: var(--bp-border);
  border-radius: var(--bp-card-radius);
  box-shadow: var(--bp-card-shadow);
  padding: 18px;
  margin-bottom: 16px;
}

.buddypress .item-list .item-entry:hover,
.buddypress .bp-list .bp-list-item:hover,
.buddypress .activity-list .activity-item:hover,
.buddypress .members-list li:hover,
.buddypress .groups-list li:hover {
  border-color: var(--rotary-gold);
  box-shadow: 0 12px 30px rgba(0, 80, 162, 0.15);
  transform: translateY(-1px);
}

.buddypress .item-title a,
.buddypress .member-name a,
.buddypress .group-name a {
  color: var(--rotary-azure);
  font-weight: 700;
}

.buddypress .item-meta,
.buddypress .activity-meta,
.buddypress .bp-list .item-meta {
  color: var(--rotary-slate);
}

/* Buttons */
.buddypress .button,
.buddypress .generic-button a,
.buddypress .standard-form input[type="submit"],
.buddypress a.button {
  background: var(--rotary-gold);
  color: var(--rotary-royal-blue);
  border: none;
  border-radius: 10px;
  padding: 10px 16px;
  font-weight: 700;
  transition: all 0.2s ease;
  box-shadow: none;
}

.buddypress .button:hover,
.buddypress .generic-button a:hover,
.buddypress .standard-form input[type="submit"]:hover,
.buddypress a.button:hover {
  background: var(--rotary-azure);
  color: var(--rotary-white);
  box-shadow: none;
  transform: translateY(-1px);
}

/* Activity "What's New" submit */
.buddypress #whats-new-submit input[type="submit"],
.buddypress #whats-new-submit button {
  background: var(--rotary-azure);
  color: var(--rotary-white);
  border: none;
  border-radius: 10px;

  font-weight: 700;
  letter-spacing: 0.01em;
  transition: background-color 0.2s ease, transform 0.2s ease;
  box-shadow: none;
}

.buddypress #whats-new-submit input[type="submit"]:hover,
.buddypress #whats-new-submit button:hover {
  background: var(--rotary-gold);
  color: var(--rotary-royal-blue);
  transform: translateY(-1px);
}

/* Forms */
.buddypress .standard-form label {
  color: var(--rotary-charcoal);
  font-weight: 700;
}

.buddypress .standard-form input[type="text"],
.buddypress .standard-form input[type="email"],
.buddypress .standard-form textarea {
  border: 1px solid var(--rotary-smoke);
  border-radius: 8px;
  padding: 10px 12px;
  background: var(--rotary-white);
}

.buddypress .standard-form input:focus,
.buddypress .standard-form textarea:focus {
  border-color: var(--rotary-sky-blue);
  box-shadow: 0 0 0 3px rgba(0, 159, 203, 0.2);
  outline: none;
}

/* Alerts and notices */
.buddypress .bp-feedback {
  border-radius: 12px;
  padding: 14px 16px;
  font-family: var(--font-free-secondary);
  box-shadow: var(--bp-card-shadow);
}

.buddypress .bp-feedback.bp-success {
  background: var(--rotary-powder-blue);
  color: var(--rotary-royal-blue);
}

.buddypress .bp-feedback.bp-warning {
  background: var(--rotary-taupe);
  color: var(--rotary-storm);
}

.buddypress .bp-feedback.bp-error {
  background: var(--rotary-cranberry);
  color: var(--rotary-white);
}
