/* Life Success Engine: bbPress styling (forums, topics, replies, forms) */

#bbpress-forums { font-size: 16px; line-height: 1.5; color: var(--ink); overflow: visible; }
#bbpress-forums a { color: var(--link); }
#bbpress-forums p, #bbpress-forums li { font-size: inherit; }

/* Search and breadcrumb */
#bbpress-forums #bbp-search-form { margin: 0 0 16px; }
#bbpress-forums #bbp-search-form #bbp_search { width: min(320px, 60%); padding: 10px 18px; font: inherit; border: 1px solid var(--hairline); border-radius: var(--radius-pill); }
#bbpress-forums #bbp-search-form #bbp_search_submit { padding: 10px 20px; font: 600 15px/1.2 var(--font); background: var(--control); color: var(--control-ink); border: 0; border-radius: var(--radius-pill); cursor: pointer; }
#bbpress-forums #bbp-search-form #bbp_search_submit:hover { background: #d4d4d8; }
.bbp-breadcrumb { margin: 0 0 20px; font-size: 14px; color: var(--ink-soft); }
.bbp-breadcrumb p { margin: 0; }
.bbp-breadcrumb a { color: var(--ink-soft) !important; }
.bbp-breadcrumb-sep { margin: 0 6px; }

/* Lists as rounded cards */
#bbpress-forums ul.bbp-lead-topic, #bbpress-forums ul.bbp-topics, #bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-replies, #bbpress-forums ul.bbp-search-results {
  margin: 0 0 24px; background: var(--white); border: 1px solid var(--hairline); border-radius: 20px; overflow: hidden; clear: both;
}
#bbpress-forums li.bbp-header, #bbpress-forums li.bbp-footer {
  background: var(--canvas); border: 0; padding: 12px 16px; font-size: 14px; font-weight: 600; color: var(--ink-soft); text-align: left;
}
#bbpress-forums li.bbp-header ul, #bbpress-forums li.bbp-footer ul { margin: 0; }
#bbpress-forums li.bbp-body ul.forum, #bbpress-forums li.bbp-body ul.topic { border-top: 1px solid var(--hairline); padding: 16px 8px; }
#bbpress-forums li.bbp-body ul.forum:first-child, #bbpress-forums li.bbp-body ul.topic:first-child { border-top: 0; }
#bbpress-forums div.even, #bbpress-forums ul.even { background: var(--white); }
#bbpress-forums div.odd, #bbpress-forums ul.odd { background: var(--white); }
#bbpress-forums li.bbp-forum-info, #bbpress-forums li.bbp-topic-title { text-align: left; }
#bbpress-forums li.bbp-forum-topic-count, #bbpress-forums li.bbp-forum-reply-count,
#bbpress-forums li.bbp-topic-voice-count, #bbpress-forums li.bbp-topic-reply-count { font-size: 15px; font-variant-numeric: tabular-nums; }

/* Titles and links */
#bbpress-forums a.bbp-forum-title, #bbpress-forums a.bbp-topic-permalink {
  color: var(--ink); font-size: 17px; font-weight: 600; text-decoration: none;
}
#bbpress-forums a.bbp-forum-title:hover, #bbpress-forums a.bbp-topic-permalink:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
#bbpress-forums .bbp-forum-content, #bbpress-forums .bbp-topic-meta, #bbpress-forums .bbp-meta { font-size: 14px; color: var(--ink-soft); }
#bbpress-forums .bbp-topic-meta a, #bbpress-forums .bbp-forum-freshness a, #bbpress-forums .bbp-topic-freshness a { color: var(--ink-soft); }
#bbpress-forums .bbp-forums-list { border: 0; margin: 8px 0 0; padding: 0; font-size: 14px; }
#bbpress-forums .bbp-forums-list li { display: inline-block; margin: 0 14px 0 0; }
#bbpress-forums .bbp-forums-list a { color: var(--ink-soft); font-weight: 400; }
#bbpress-forums img.avatar { border-radius: 50%; }
#bbpress-forums .bbp-author-name, #bbpress-forums .bbp-author-name a { font-weight: 600; text-decoration: none; }

/* Replies */
#bbpress-forums div.bbp-forum-header, #bbpress-forums div.bbp-topic-header, #bbpress-forums div.bbp-reply-header {
  background: var(--canvas); border: 0; padding: 12px 16px; font-size: 14px;
}
#bbpress-forums div.bbp-reply-author, #bbpress-forums div.bbp-topic-author { padding: 20px 16px; }
#bbpress-forums div.bbp-reply-content, #bbpress-forums div.bbp-topic-content { padding: 20px 20px 20px 0; font-size: 16px; line-height: 1.6; }
#bbpress-forums div.bbp-reply-content p, #bbpress-forums div.bbp-topic-content p { margin: 0 0 1em; }
#bbpress-forums div.bbp-reply-content blockquote, #bbpress-forums div.bbp-topic-content blockquote {
  margin: 0 0 1em; padding: 12px 20px; background: var(--canvas); border: 0; border-radius: 14px;
}
#bbpress-forums .bbp-admin-links { font-size: 12px; letter-spacing: .02em; }
#bbpress-forums .bbp-admin-links a { color: var(--ink-soft); text-decoration: none; }
#bbpress-forums .bbp-admin-links a:hover { color: var(--ink); text-decoration: underline; }
#bbpress-forums .bbp-reply-ip { font-size: 12px; color: var(--ink-soft); }
#bbpress-forums span.bbp-admin-links a.bbp-reply-permalink, #bbpress-forums a.bbp-reply-permalink { color: var(--ink-soft); }

/* Notices and counts */
#bbpress-forums div.bbp-template-notice, #bbpress-forums div.indicator-hint {
  background: var(--canvas); border: 0; border-radius: 16px; padding: 14px 18px; color: var(--ink); margin: 0 0 20px;
}
#bbpress-forums div.bbp-template-notice p { margin: 0; }
#bbpress-forums div.bbp-template-notice.error, #bbpress-forums div.bbp-template-notice.warning { background: #fff4e6; }
.bbp-pagination-count { font-size: 14px; color: var(--ink-soft); margin: 0 0 12px; }
.bbp-pagination { margin: 0 0 24px; }
.bbp-pagination-links { display: flex; flex-wrap: wrap; gap: 6px; }
.bbp-pagination-links a, .bbp-pagination-links span {
  padding: 8px 14px; border-radius: var(--radius-pill); background: var(--canvas); color: var(--ink); font-size: 14px; text-decoration: none; border: 0;
}
.bbp-pagination-links span.current { background: var(--ink); color: var(--white); }
.bbp-pagination-links a:hover { background: var(--control); }
#bbpress-forums #favorite-toggle, #bbpress-forums #subscription-toggle { font-size: 14px; }
#bbpress-forums .bbp-topic-tags { font-size: 14px; }
#bbpress-forums .bbp-topic-tags a { display: inline-block; padding: 3px 12px; background: var(--canvas); border-radius: var(--radius-pill); color: var(--ink); text-decoration: none; }

/* Forms: new topic and reply */
#bbpress-forums fieldset.bbp-form { border: 0; padding: 0; margin: 0 0 24px; }
#bbpress-forums fieldset.bbp-form legend { font-size: 24px; font-weight: 600; padding: 0; margin: 0 0 16px; }
#bbpress-forums fieldset.bbp-form label { font-size: 14px; font-weight: 600; }
#bbpress-forums fieldset.bbp-form input[type="text"], #bbpress-forums fieldset.bbp-form input[type="password"],
#bbpress-forums fieldset.bbp-form select, #bbpress-forums fieldset.bbp-form textarea,
#bbpress-forums #bbp_topic_title, #bbpress-forums #bbp_topic_tags {
  width: 100%; padding: 12px 14px; font: inherit; background: var(--white); color: var(--ink);
  border: 1px solid var(--hairline); border-radius: 14px; box-shadow: none;
}
#bbpress-forums fieldset.bbp-form textarea { font-size: 16px; }
#bbpress-forums .bbp-form .button, #bbpress-forums button.button, #bbpress-forums .bbp-submit-wrapper button {
  padding: 12px 24px; font: 600 16px/1.2 var(--font); background: var(--accent); color: #fff;
  border: 0; border-radius: var(--radius-pill); cursor: pointer;
}
#bbpress-forums .bbp-form .button:hover, #bbpress-forums button.button:hover { background: var(--accent-hover); }
#bbpress-forums .wp-editor-container { border: 1px solid var(--hairline); border-radius: 14px; overflow: hidden; }

@media (max-width: 640px) {
  #bbpress-forums div.bbp-reply-author, #bbpress-forums div.bbp-topic-author { padding: 12px 16px; }
  #bbpress-forums div.bbp-reply-content, #bbpress-forums div.bbp-topic-content { padding: 0 16px 16px; }
}

/* Mastermind discussion shown under blog posts */
.single-post #bbpress-forums { font-size: 17px; }
.single-post #bbpress-forums div.bbp-reply-content, .single-post #bbpress-forums div.bbp-topic-content { font-size: 17px; line-height: 1.65; }
.single-post .bbp-breadcrumb { margin-top: 0; }
.single-post #bbpress-forums .bbp-pagination-count { font-size: 14px; }
