/* ============================================
   BuddyPress カスタムスタイル - あゆたろファミリー
   20260628 最終版
   ============================================ */

:root {
  --bp-orange:       #C8864A;
  --bp-orange-light: #FDF0E8;
  --bp-orange-mid:   #E8C99A;
  --bp-orange-dark:  #A8662A;
  --bp-brown:        #8B5E3C;
  --bp-gray-border:  #E8E4DF;
  --bp-text:         #2C2A28;
  --bp-text-muted:   #7A7670;
  --bp-radius-card:  16px;
  --bp-radius-pill:  24px;
  --bp-shadow:       0 2px 8px rgba(140,80,30,0.08);
}

/* ============================================
   プロフィールページ（bp-user）
   ============================================ */
body.bp-user .ast-plain-container,
body.bp-user .ast-container {
  max-width: 100% !important;
  padding: 0 !important;
}
body.bp-user .ast-plain-container {
  display: flex !important;
  justify-content: center !important;
}
body.bp-user #buddypress {
  max-width: 640px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body.bp-user #header-cover-image {
  height: 180px !important;
  background-size: cover !important;
  background-position: center !important;
}
body.bp-user #item-header-avatar a img {
  width: 90px !important;
  height: 90px !important;
  border-radius: 50% !important;
  border: 3px solid #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}
body.bp-user #item-header-content h2 a {
  font-size: 18px !important;
  font-weight: bold !important;
  color: #333 !important;
  text-decoration: none !important;
}
body.bp-user #item-header-content .activity {
  font-size: 12px !important;
  color: #999 !important;
}
body.bp-user #object-nav ul {
  display: flex !important;
  overflow-x: auto !important;
  border-bottom: 1px solid #eee !important;
  padding: 0 !important;
  margin: 0 !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}
body.bp-user #object-nav ul::-webkit-scrollbar { display: none !important; }
body.bp-user #object-nav ul li {
  flex-shrink: 0 !important;
  list-style: none !important;
}
body.bp-user #object-nav ul li a {
  display: block !important;
  padding: 12px 16px !important;
  font-size: 13px !important;
  color: #666 !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
  white-space: nowrap !important;
}
body.bp-user #object-nav ul li.current a,
body.bp-user #object-nav ul li a:hover {
  color: var(--bp-orange) !important;
  border-bottom: 2px solid var(--bp-orange) !important;
  font-weight: bold !important;
}
body.bp-user #subnav ul {
  display: flex !important;
  padding: 0 8px !important;
  margin: 0 !important;
  background: #f9f9f9 !important;
  border-bottom: 1px solid #eee !important;
}
body.bp-user #subnav ul li { list-style: none !important; }
body.bp-user #subnav ul li a {
  display: block !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
  color: #666 !important;
  text-decoration: none !important;
}
body.bp-user #subnav ul li.current a {
  color: var(--bp-orange) !important;
  font-weight: bold !important;
}
body.bp-user #item-body {
  padding: 16px !important;
  background: #fff !important;
}
body.bp-user .profile-fields table {
  width: 100% !important;
  border-collapse: collapse !important;
}
body.bp-user .profile-fields tr {
  border-bottom: 1px solid #f0f0f0 !important;
}
body.bp-user .profile-fields td {
  padding: 12px 8px !important;
  font-size: 14px !important;
}
body.bp-user .profile-fields td.label {
  color: #999 !important;
  width: 100px !important;
  font-size: 13px !important;
}
body.bp-user .generic-button a,
body.bp-user #item-buttons a,
body.bp-user #item-buttons button {
  background: var(--bp-orange) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 8px 20px !important;
  font-size: 13px !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

/* ============================================
   親コンテナ幅制限の解除（メンバー・グループ共通）
   ============================================ */
body.directory #buddypress,
body.members #buddypress,
body.directory .ast-container,
body.members .ast-container,
body.directory #primary,
body.members #primary,
body.directory .site-main,
body.members .site-main,
body.directory .ast-row,
body.members .ast-row,
body.directory article,
body.members article,
body.directory .entry-content,
body.members .entry-content {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}
body.directory .ast-row,
body.members .ast-row {
  padding-left: 16px !important;
  padding-right: 16px !important;
}
#buddypress #members-dir-list,
#buddypress div.members-dir-list,
#buddypress .screen-content {
  width: 100% !important;
  max-width: 100% !important;
}

/* --- タブ --- */
#buddypress div.item-list-tabs ul,
#buddypress ul.item-list-tabs {
  background: transparent;
  border-bottom: 1.5px solid var(--bp-gray-border);
  padding: 0;
  margin-bottom: 24px;
}
#buddypress div.item-list-tabs ul li,
#buddypress ul.item-list-tabs li {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  display: inline-block;
}
#buddypress div.item-list-tabs ul li a,
#buddypress ul.item-list-tabs li a {
  color: var(--bp-text-muted);
  font-size: 14px;
  font-weight: 400;
  padding: 10px 18px;
  border-bottom: 2.5px solid transparent;
  display: inline-block;
  text-decoration: none;
  transition: color 0.2s, border-color 0.2s;
  background: transparent;
  border-radius: 0;
}
#buddypress div.item-list-tabs ul li a:hover,
#buddypress ul.item-list-tabs li a:hover {
  color: var(--bp-orange);
  background: transparent;
}
#buddypress div.item-list-tabs ul li.selected a,
#buddypress div.item-list-tabs ul li.current a,
#buddypress ul.item-list-tabs li.selected a,
#buddypress ul.item-list-tabs li.current a {
  color: var(--bp-orange);
  border-bottom: 2.5px solid var(--bp-orange);
  font-weight: 500;
  background: transparent;
}
#buddypress div.item-list-tabs ul li a span,
#buddypress ul.item-list-tabs li a span {
  background: var(--bp-orange);
  color: #fff;
  border-radius: var(--bp-radius-pill);
  font-size: 11px;
  padding: 1px 7px;
  margin-left: 4px;
  font-weight: 500;
}

/* --- 検索バー --- */
#buddypress #members-dir-search form,
#buddypress #groups-dir-search form,
#buddypress .dir-search form {
  display: flex;
  align-items: center;
  background: #fff;
  border: 1.5px solid var(--bp-gray-border);
  border-radius: var(--bp-radius-pill);
  padding: 6px 16px;
  gap: 8px;
  box-shadow: var(--bp-shadow);
  margin-bottom: 20px;
}
#buddypress #members-dir-search form input[type="text"],
#buddypress #groups-dir-search form input[type="text"],
#buddypress .dir-search form input[type="text"] {
  border: none;
  background: transparent;
  outline: none;
  font-size: 14px;
  color: var(--bp-text);
  flex: 1;
  padding: 0;
}
#buddypress #members-dir-search form input[type="submit"],
#buddypress #groups-dir-search form input[type="submit"],
#buddypress .dir-search form input[type="submit"] {
  background: var(--bp-orange);
  color: #fff;
  border: none;
  border-radius: var(--bp-radius-pill);
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
}
#buddypress select {
  border: 1.5px solid var(--bp-gray-border);
  border-radius: var(--bp-radius-pill);
  padding: 6px 12px;
  font-size: 13px;
  color: var(--bp-text);
  background: #fff;
  outline: none;
}

/* ============================================
   メンバー一覧
   ============================================ */
body.directory ul#members-list,
body.members ul#members-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.directory ul#members-list li,
body.members ul#members-list li {
  width: auto !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  overflow: visible !important;
  background: #fff !important;
  border: 1px solid var(--bp-gray-border) !important;
  border-radius: var(--bp-radius-card) !important;
  padding: 20px !important;
  text-align: center !important;
  box-shadow: var(--bp-shadow) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
body.directory ul#members-list li:hover,
body.members ul#members-list li:hover {
  border-color: var(--bp-orange-mid) !important;
  box-shadow: 0 4px 16px rgba(140,80,30,0.14) !important;
  transform: translateY(-2px) !important;
}
body.directory ul#members-list li .list-wrap,
body.members ul#members-list li .list-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}
body.directory ul#members-list li .item-avatar,
body.members ul#members-list li .item-avatar {
  float: none !important;
  width: auto !important;
  margin-bottom: 12px !important;
}
body.directory ul#members-list li .item-avatar img,
body.members ul#members-list li .item-avatar img {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  border: 2.5px solid var(--bp-orange-mid) !important;
  object-fit: cover !important;
}
body.directory ul#members-list li .item,
body.members ul#members-list li .item {
  margin-left: 0 !important;
  text-align: center !important;
  width: 100% !important;
}
body.directory ul#members-list li h2.list-title a,
body.members ul#members-list li h2.list-title a {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--bp-text) !important;
  text-decoration: none !important;
}
body.directory ul#members-list li .item-meta,
body.members ul#members-list li .item-meta {
  font-size: 11px !important;
  color: var(--bp-text-muted) !important;
  margin-bottom: 8px !important;
}
/* 友達申請ボタンエリア */
#buddypress #members-list li ul.members-meta.action {
  display: flex !important;
  justify-content: center !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 8px 0 0 !important;
  width: 100% !important;
}
#buddypress #members-list li ul.members-meta.action li {
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#buddypress #members-list li ul.members-meta.action li button {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 6px 14px !important;
  border-radius: var(--bp-radius-pill) !important;
  border: 1.5px solid var(--bp-orange) !important;
  background: transparent !important;
  color: var(--bp-orange) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  display: inline-block !important;
}
#buddypress #members-list li ul.members-meta.action li button:hover {
  background: var(--bp-orange-light) !important;
}

/* ============================================
   グループ一覧
   ============================================ */
body.groups #buddypress,
body.directory.groups #buddypress {
  width: 100% !important;
  max-width: 100% !important;
}
#buddypress #groups-list.item-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 16px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#buddypress #groups-list.item-list li {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid var(--bp-gray-border) !important;
  border-radius: var(--bp-radius-card) !important;
  box-shadow: var(--bp-shadow) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s !important;
}
#buddypress #groups-list.item-list li:hover {
  border-color: var(--bp-orange-mid) !important;
  box-shadow: 0 4px 16px rgba(140,80,30,0.14) !important;
  transform: translateY(-2px) !important;
}
/* グループカバー */
#buddypress #groups-list li .item-avatar {
  width: 100% !important;
  height: 90px !important;
  background: linear-gradient(135deg, var(--bp-orange-mid) 0%, var(--bp-orange) 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  margin: 0 !important;
  float: none !important;
  position: relative !important;
  flex-shrink: 0 !important;
}
#buddypress #groups-list li .item-avatar a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}
#buddypress #groups-list li .item-avatar a img {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  border: 3px solid rgba(255,255,255,0.9) !important;
  object-fit: cover !important;
  position: static !important;
  transform: none !important;
}
/* グループ情報 */
#buddypress #groups-list li .list-wrap {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
#buddypress #groups-list li .item {
  padding: 14px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
#buddypress #groups-list li .item-block {
  float: none !important;
  width: 100% !important;
  margin-right: 0 !important;
}
#buddypress #groups-list li .item-title,
#buddypress #groups-list li h2.list-title {
  font-size: 15px !important;
  font-weight: 500 !important;
  margin-bottom: 4px !important;
}
#buddypress #groups-list li .item-title a,
#buddypress #groups-list li h2.list-title a {
  color: var(--bp-text) !important;
  text-decoration: none !important;
}
#buddypress #groups-list li .item-title a:hover,
#buddypress #groups-list li h2.list-title a:hover {
  color: var(--bp-orange) !important;
}
#buddypress #groups-list li .item-meta,
#buddypress #groups-list li p.item-meta {
  font-size: 12px !important;
  color: var(--bp-text-muted) !important;
  margin-bottom: 8px !important;
}
#buddypress #groups-list li .last-activity,
#buddypress #groups-list li .group-last-active {
  display: inline-block !important;
  background: var(--bp-orange-light) !important;
  color: var(--bp-orange-dark) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 3px 10px !important;
  border-radius: var(--bp-radius-pill) !important;
}
#buddypress #groups-list li .group-desc {
  display: none !important;
}
#buddypress a#create-group-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--bp-orange);
  color: #fff;
  border: none;
  border-radius: var(--bp-radius-pill);
  padding: 8px 20px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.2s;
}
#buddypress a#create-group-button:hover {
  background: var(--bp-orange-dark);
}

/* ============================================
   ページネーション
   ============================================ */
#buddypress div.pagination {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: var(--bp-text-muted);
}
#buddypress div.pagination .pagination-links a,
#buddypress div.pagination .pagination-links span {
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid var(--bp-gray-border);
  border-radius: 8px;
  margin: 0 2px;
  font-size: 13px;
  color: var(--bp-text);
  text-decoration: none;
}
#buddypress div.pagination .pagination-links span.current {
  background: var(--bp-orange);
  color: #fff;
  border-color: var(--bp-orange);
}

/* ============================================
   レスポンシブ
   ============================================ */
@media (max-width: 640px) {
  body.directory ul#members-list,
  body.members ul#members-list,
  #buddypress #groups-list.item-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  body.directory ul#members-list li .item-avatar img,
  body.members ul#members-list li .item-avatar img {
    width: 52px !important;
    height: 52px !important;
  }
}
@media (max-width: 400px) {
  body.directory ul#members-list,
  body.members ul#members-list,
  #buddypress #groups-list.item-list {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================
   グループ詳細ページ
   ============================================ */

/* --- ヘッダーエリア全体 --- */
body.single-item.groups #buddypress div#item-header {
  position: relative;
  background: #fff;
  border-radius: var(--bp-radius-card);
  overflow: hidden;
  box-shadow: var(--bp-shadow);
  margin-bottom: 24px;
}

/* --- カバー画像 --- */
body.single-item.groups #header-cover-image {
  height: 200px !important;
  background-size: cover !important;
  background-position: center !important;
}

/* --- アバター --- */
body.single-item.groups #item-header-avatar {
  position: absolute !important;
  bottom: -30px !important;
  left: 24px !important;
  z-index: 10 !important;
}
body.single-item.groups #item-header-avatar a img {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
  border: 3px solid #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
  background: #fff !important;
}

/* --- ヘッダーコンテンツ（グループ名・メタ情報） --- */
body.single-item.groups #item-header-content {
  padding: 16px 24px 20px 120px !important;
  min-height: 60px !important;
}
body.single-item.groups #item-header-content h2 {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: var(--bp-text) !important;
  margin-bottom: 4px !important;
}
body.single-item.groups #item-header-content h2 a {
  color: var(--bp-text) !important;
  text-decoration: none !important;
}

/* 「プライベートグループ」→ グループ名に見せる */
body.single-item.groups #item-header-content .item-meta {
  font-size: 13px !important;
  color: var(--bp-text-muted) !important;
}
body.single-item.groups #item-header-content .highlight {
  display: none !important;
}

/* --- 「松崎家」テキストボックス非表示 --- */
body.single-item.groups #group-title-wrap,
body.single-item.groups #group-title,
body.single-item.groups .bp-group-title-wrap {
  display: none !important;
}
/* グループ名が入るdivを非表示（構造上の対応） */
body.single-item.groups #buddypress div.bp-wrap > h2:first-child,
body.single-item.groups #buddypress .bp-wrap > .bp-group-title {
  display: none !important;
}

/* --- タブナビゲーション --- */
body.single-item.groups #object-nav,
body.single-item.groups nav#object-nav {
  background: #fff !important;
  border-bottom: 1.5px solid var(--bp-gray-border) !important;
  margin-bottom: 0 !important;
  padding: 0 16px !important;
}
body.single-item.groups #object-nav ul,
body.single-item.groups nav#object-nav ul {
  display: flex !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
body.single-item.groups #object-nav ul li,
body.single-item.groups nav#object-nav ul li {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.single-item.groups #object-nav ul li a,
body.single-item.groups nav#object-nav ul li a {
  display: block !important;
  padding: 12px 20px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--bp-text-muted) !important;
  text-decoration: none !important;
  border-bottom: 2.5px solid transparent !important;
  transition: color 0.2s, border-color 0.2s !important;
  white-space: nowrap !important;
  background: transparent !important;
}
body.single-item.groups #object-nav ul li a span {
  background: var(--bp-orange) !important;
  color: #fff !important;
  border-radius: var(--bp-radius-pill) !important;
  font-size: 11px !important;
  padding: 1px 7px !important;
  margin-left: 4px !important;
}
body.single-item.groups #object-nav ul li.current a,
body.single-item.groups #object-nav ul li a:hover,
body.single-item.groups nav#object-nav ul li.current a,
body.single-item.groups nav#object-nav ul li a:hover {
  color: var(--bp-orange) !important;
  border-bottom: 2.5px solid var(--bp-orange) !important;
  font-weight: 500 !important;
  background: transparent !important;
}

/* --- サブナビ --- */
body.single-item.groups #subnav ul {
  display: flex !important;
  list-style: none !important;
  padding: 8px 16px !important;
  margin: 0 !important;
  background: var(--bp-orange-light) !important;
  border-bottom: 1px solid var(--bp-orange-mid) !important;
  gap: 8px !important;
}
body.single-item.groups #subnav ul li {
  background: transparent !important;
  border: none !important;
}
body.single-item.groups #subnav ul li a {
  font-size: 13px !important;
  color: var(--bp-brown) !important;
  text-decoration: none !important;
  padding: 4px 12px !important;
  border-radius: var(--bp-radius-pill) !important;
}
body.single-item.groups #subnav ul li.current a,
body.single-item.groups #subnav ul li a:hover {
  background: var(--bp-orange) !important;
  color: #fff !important;
}

/* --- コンテンツエリア --- */
body.single-item.groups #item-body {
  background: #fff !important;
  border-radius: var(--bp-radius-card) !important;
  padding: 24px !important;
  box-shadow: var(--bp-shadow) !important;
}

/* --- アクティビティ投稿フォーム --- */
body.single-item.groups #whats-new-form textarea,
body.single-item.groups #whats-new-form input[type="text"] {
  border: 1.5px solid var(--bp-gray-border) !important;
  border-radius: 8px !important;
  padding: 12px !important;
  font-size: 14px !important;
  color: var(--bp-text) !important;
  background: #FFFAF4 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.single-item.groups #whats-new-form textarea:focus,
body.single-item.groups #whats-new-form input[type="text"]:focus {
  border-color: var(--bp-orange) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(200,134,74,0.15) !important;
}
body.single-item.groups #whats-new-submit input[type="submit"],
body.single-item.groups .activity-form input[type="submit"] {
  background: var(--bp-orange) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--bp-radius-pill) !important;
  padding: 8px 20px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}
body.single-item.groups #whats-new-submit input[type="submit"]:hover {
  background: var(--bp-orange-dark) !important;
}

/* --- アクティビティフィード --- */
body.single-item.groups #activity-stream li.activity-item {
  background: #FFFAF4 !important;
  border: 1px solid var(--bp-gray-border) !important;
  border-radius: 12px !important;
  padding: 16px !important;
  margin-bottom: 12px !important;
  list-style: none !important;
}
body.single-item.groups #activity-stream .activity-avatar img {
  border-radius: 50% !important;
  border: 2px solid var(--bp-orange-mid) !important;
}
body.single-item.groups #activity-stream .activity-meta a {
  color: var(--bp-orange) !important;
  text-decoration: none !important;
  font-size: 12px !important;
}

/* --- グループ管理者エリア --- */
body.single-item.groups #item-header-content #item-buttons a,
body.single-item.groups #item-header-content #item-buttons button {
  background: transparent !important;
  border: 1.5px solid var(--bp-orange) !important;
  color: var(--bp-orange) !important;
  border-radius: var(--bp-radius-pill) !important;
  padding: 6px 16px !important;
  font-size: 13px !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

/* --- グループ管理者アイコン --- */
body.single-item.groups #item-header-content .group-admins {
  display: none !important;
}
