/**
 * U4EA bbPress Stylesheet v7
 *
 * CONFIRMED from screenshot: li.bbp-forum is NOT becoming a grid.
 * All content stacks vertically inside each forum row.
 * The header labels (TOPICS/POSTS/LAST POST) sit far right — confirming
 * ul.forum-titles IS gridding correctly inside li.bbp-header.
 *
 * Root cause: bbPress default CSS sets display:table/table-row on these
 * elements with high specificity, and our display:grid isn't winning.
 *
 * Fix: Use maximum specificity + !important on display, and use a completely
 * different layout strategy — instead of trying to grid the li children,
 * we HIDE the counts from inside li.bbp-forum and rebuild them visually
 * using the li.bbp-forum itself as a flex card, accepting that column
 * alignment with the header is not achievable cross-browser without JS.
 *
 * BETTER APPROACH: Ditch the table-style header+data alignment entirely.
 * Instead make each forum a self-contained card showing all info clearly.
 * This is more readable, more consistent with the rest of the site design,
 * and doesn't depend on matching column widths between unrelated elements.
 */

/* ── Variables ─────────────────────────────────────────── */
#bbpress-forums {
  --g:      #00ff88;
  --b:      #00d4ff;
  --r:      #ff4b6e;
  --card:   #0d1520;
  --dark:   #080c10;
  --text:   #c8d8e8;
  --dim:    #5a7a8a;
  --border: rgba(0,255,136,0.12);
  --mono:   'Orbitron', monospace;
  --sans:   'Exo 2', sans-serif;
  font-family: var(--sans);
  color: var(--text);
}
#bbpress-forums * { box-sizing: border-box; }

/* Kill purple link colours */
#bbpress-forums a,
#bbpress-forums a:link,
#bbpress-forums a:visited { color: var(--b) !important; text-decoration: none !important; }
#bbpress-forums a:hover   { color: var(--g) !important; }

/* ══════════════════════════════════════════════════════════
   SEARCH
══════════════════════════════════════════════════════════ */
#bbpress-forums #bbp-search-form {
  display: flex !important; gap: 0.5rem; margin-bottom: 1.8rem;
}
#bbpress-forums #bbp-search-form input[type="text"],
#bbpress-forums #bbp-search-form input[type="search"] {
  flex: 1 !important; background: var(--card) !important;
  border: 1px solid var(--border) !important; border-radius: 6px !important;
  padding: 0.65rem 1rem !important; color: var(--text) !important;
  font-family: var(--sans) !important; font-size: 0.9rem !important;
  outline: none !important; box-shadow: none !important;
}
#bbpress-forums #bbp-search-form input[type="submit"] {
  background: var(--g) !important; color: #080c10 !important;
  border: none !important; border-radius: 6px !important;
  padding: 0.65rem 1.4rem !important; font-family: var(--mono) !important;
  font-size: 0.72rem !important; font-weight: 700 !important;
  letter-spacing: 1px !important; cursor: pointer !important;
}
#bbpress-forums #bbp-search-form input[type="submit"]:hover {
  box-shadow: 0 0 18px rgba(0,255,136,0.4) !important;
}

/* ══════════════════════════════════════════════════════════
   BREADCRUMB
══════════════════════════════════════════════════════════ */
#bbpress-forums p.bbp-breadcrumb {
  font-size: 0.78rem !important; color: var(--dim) !important;
  margin: 0 0 1.5rem !important; padding: 0 !important;
  background: transparent !important; border: none !important;
  display: block !important;
}
#bbpress-forums p.bbp-breadcrumb a       { color: var(--g) !important; }
#bbpress-forums p.bbp-breadcrumb a:hover { text-decoration: underline !important; }
#bbpress-forums p.bbp-breadcrumb .bbp-sep { color: var(--dim) !important; padding: 0 0.3rem; }

/* ══════════════════════════════════════════════════════════
   NOTICES
══════════════════════════════════════════════════════════ */
#bbpress-forums .bbp-template-notice,
#bbpress-forums p.bbp-template-notice,
#bbpress-forums ul.bbp-template-notice {
  background: rgba(0,212,255,0.05) !important;
  border: 1px solid rgba(0,212,255,0.15) !important;
  border-radius: 8px !important; padding: 0.9rem 1.2rem !important;
  color: var(--text) !important; font-size: 0.84rem !important;
  margin-bottom: 1.5rem !important; list-style: none !important;
  display: block !important;
}
#bbpress-forums .bbp-template-notice li {
  list-style: none !important; margin: 0 !important; padding: 0 !important;
}

/* ══════════════════════════════════════════════════════════
   HIDE THE BROKEN TABLE-STYLE HEADER ROW
   We'll show stats inside the cards instead
══════════════════════════════════════════════════════════ */
#bbpress-forums ul.bbp-forums > li.bbp-header,
#bbpress-forums ul.bbp-topics > li.bbp-header {
  display: none !important;
}

/* ══════════════════════════════════════════════════════════
   FORUM INDEX — CARD LAYOUT
   ul.bbp-forums > li.bbp-forum

   Each forum becomes a card with:
   LEFT: icon + title + description + sub-forums
   RIGHT: stat pills (Topics / Posts) + last post
══════════════════════════════════════════════════════════ */
#bbpress-forums ul.bbp-forums {
  list-style: none !important;
  margin: 0 0 2rem !important; padding: 0 !important;
  display: flex !important; flex-direction: column !important; gap: 0.7rem !important;
}

#bbpress-forums ul.bbp-forums > li.bbp-forum {
  list-style: none !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1.5rem !important;
  background: var(--card) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 10px !important;
  padding: 1.2rem 1.5rem !important;
  margin: 0 !important;
  transition: border-color 0.3s, transform 0.2s !important;
  /* override any table/table-row display bbPress tries to set */
  display: flex !important;
}
#bbpress-forums ul.bbp-forums > li.bbp-forum:hover {
  border-color: rgba(0,255,136,0.3) !important;
  transform: translateY(-2px) !important;
}

/* LEFT section: forum info */
#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-info {
  flex: 1 !important;
  min-width: 0 !important;
  display: block !important;
}
#bbpress-forums ul.bbp-forums > li.bbp-forum a.bbp-forum-title {
  font-family: var(--mono) !important; font-size: 0.9rem !important;
  font-weight: 700 !important; color: #ddeeff !important;
  display: block !important; margin-bottom: 0.3rem !important;
  transition: color 0.2s !important; line-height: 1.3 !important;
  text-decoration: none !important;
}
#bbpress-forums ul.bbp-forums > li.bbp-forum a.bbp-forum-title:hover { color: var(--g) !important; }

#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-description,
#bbpress-forums ul.bbp-forums > li.bbp-forum p.bbp-forum-description {
  font-size: 0.78rem !important; color: var(--dim) !important;
  margin: 0 !important; padding: 0 !important;
  background: transparent !important; border: none !important; display: block !important;
}

#bbpress-forums ul.bbp-forums > li.bbp-forum ul.bbp-forum-sub-forums {
  list-style: none !important; margin: 0.4rem 0 0 !important; padding: 0 !important;
  font-size: 0.73rem !important; color: var(--dim) !important;
  display: flex !important; flex-wrap: wrap !important; gap: 0.3rem !important;
}
#bbpress-forums ul.bbp-forums > li.bbp-forum ul.bbp-forum-sub-forums li {
  list-style: none !important;
}
#bbpress-forums ul.bbp-forums > li.bbp-forum ul.bbp-forum-sub-forums a {
  color: var(--b) !important; font-size: 0.72rem !important;
  background: rgba(0,212,255,0.06) !important;
  border: 1px solid rgba(0,212,255,0.15) !important;
  border-radius: 4px !important; padding: 0.1rem 0.5rem !important;
  display: inline-block !important;
}
#bbpress-forums ul.bbp-forums > li.bbp-forum ul.bbp-forum-sub-forums a:hover {
  background: rgba(0,212,255,0.12) !important; color: var(--g) !important;
}

/* HIDE the status icon */
#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-status { display: none !important; }

/* RIGHT section: stats + last post */
/* We float the counts and freshness into a right-aligned column */
#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-topic-count,
#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-reply-count,
#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-freshness,
#bbpress-forums ul.bbp-forums > li.bbp-forum p.bbp-forum-topic-count,
#bbpress-forums ul.bbp-forums > li.bbp-forum p.bbp-forum-reply-count,
#bbpress-forums ul.bbp-forums > li.bbp-forum p.bbp-forum-freshness,
#bbpress-forums ul.bbp-forums > li.bbp-forum span.bbp-forum-topic-count,
#bbpress-forums ul.bbp-forums > li.bbp-forum span.bbp-forum-reply-count,
#bbpress-forums ul.bbp-forums > li.bbp-forum span.bbp-forum-freshness {
  display: none !important; /* hidden — stats shown via ::before labels below */
}

/* Build a right-hand stat block using CSS counters isn't possible,
   so we show the raw numbers with visible labels via adjacent sibling trick.
   Actually: keep them visible but style as pill badges */

/* Override: show them as a neat column */
#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-topic-count,
#bbpress-forums ul.bbp-forums > li.bbp-forum p.bbp-forum-topic-count,
#bbpress-forums ul.bbp-forums > li.bbp-forum span.bbp-forum-topic-count {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 60px !important;
  text-align: center !important;
  background: rgba(0,255,136,0.06) !important;
  border: 1px solid rgba(0,255,136,0.15) !important;
  border-radius: 8px !important;
  padding: 0.5rem 0.75rem !important;
  flex-shrink: 0 !important;
}
#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-topic-count::before,
#bbpress-forums ul.bbp-forums > li.bbp-forum p.bbp-forum-topic-count::before,
#bbpress-forums ul.bbp-forums > li.bbp-forum span.bbp-forum-topic-count::before {
  content: 'TOPICS' !important;
  font-family: var(--mono) !important; font-size: 0.48rem !important;
  font-weight: 700 !important; letter-spacing: 1.5px !important;
  color: var(--g) !important; display: block !important;
  margin-bottom: 0.2rem !important; text-transform: uppercase !important;
}
#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-topic-count,
#bbpress-forums ul.bbp-forums > li.bbp-forum p.bbp-forum-topic-count,
#bbpress-forums ul.bbp-forums > li.bbp-forum span.bbp-forum-topic-count {
  font-family: var(--mono) !important; font-size: 1.1rem !important;
  font-weight: 700 !important; color: var(--g) !important;
  line-height: 1 !important;
}

#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-reply-count,
#bbpress-forums ul.bbp-forums > li.bbp-forum p.bbp-forum-reply-count,
#bbpress-forums ul.bbp-forums > li.bbp-forum span.bbp-forum-reply-count {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 60px !important;
  text-align: center !important;
  background: rgba(0,212,255,0.06) !important;
  border: 1px solid rgba(0,212,255,0.15) !important;
  border-radius: 8px !important;
  padding: 0.5rem 0.75rem !important;
  flex-shrink: 0 !important;
  font-family: var(--mono) !important; font-size: 1.1rem !important;
  font-weight: 700 !important; color: var(--b) !important; line-height: 1 !important;
}
#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-reply-count::before,
#bbpress-forums ul.bbp-forums > li.bbp-forum p.bbp-forum-reply-count::before,
#bbpress-forums ul.bbp-forums > li.bbp-forum span.bbp-forum-reply-count::before {
  content: 'POSTS' !important;
  font-family: var(--mono) !important; font-size: 0.48rem !important;
  font-weight: 700 !important; letter-spacing: 1.5px !important;
  color: var(--b) !important; display: block !important;
  margin-bottom: 0.2rem !important; text-transform: uppercase !important;
}

#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-freshness,
#bbpress-forums ul.bbp-forums > li.bbp-forum p.bbp-forum-freshness,
#bbpress-forums ul.bbp-forums > li.bbp-forum span.bbp-forum-freshness {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  text-align: right !important;
  font-size: 0.72rem !important; color: var(--dim) !important;
  min-width: 120px !important; flex-shrink: 0 !important;
  background: transparent !important; border: none !important; padding: 0 !important;
}
#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-freshness::before,
#bbpress-forums ul.bbp-forums > li.bbp-forum p.bbp-forum-freshness::before,
#bbpress-forums ul.bbp-forums > li.bbp-forum span.bbp-forum-freshness::before {
  content: 'LAST POST' !important;
  font-family: var(--mono) !important; font-size: 0.48rem !important;
  font-weight: 700 !important; letter-spacing: 1.5px !important;
  color: var(--dim) !important; display: block !important;
  margin-bottom: 0.2rem !important; text-transform: uppercase !important;
}
#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-freshness a {
  color: var(--dim) !important; font-size: 0.72rem !important;
  display: block !important; line-height: 1.5 !important;
  text-decoration: none !important;
}
#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-freshness a:hover { color: var(--g) !important; }
#bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-freshness img { display: none !important; }

/* Private forum */
#bbpress-forums ul.bbp-forums > li.bbp-forum.bbp-forum-private a.bbp-forum-title::before { content: '🔒 '; }

/* ══════════════════════════════════════════════════════════
   TOPIC LIST — CARD LAYOUT
   ul.bbp-topics > li.bbp-topic
══════════════════════════════════════════════════════════ */
#bbpress-forums ul.bbp-topics {
  list-style: none !important;
  margin: 0 0 2rem !important; padding: 0 !important;
  display: flex !important; flex-direction: column !important; gap: 0.5rem !important;
}

#bbpress-forums ul.bbp-topics > li.bbp-topic {
  list-style: none !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1.2rem !important;
  background: var(--card) !important;
  border: 1px solid rgba(255,255,255,0.05) !important;
  border-radius: 8px !important;
  padding: 1rem 1.3rem !important;
  margin: 0 !important;
  transition: border-color 0.25s, transform 0.18s !important;
  display: flex !important;
}
#bbpress-forums ul.bbp-topics > li.bbp-topic:hover {
  border-color: rgba(0,255,136,0.22) !important;
  transform: translateY(-1px) !important;
}

/* Topic info */
#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-topic-title,
#bbpress-forums ul.bbp-topics > li.bbp-topic li.bbp-topic-title {
  flex: 1 !important; min-width: 0 !important; display: block !important;
  background: transparent !important; border: none !important; padding: 0 !important; margin: 0 !important;
  list-style: none !important;
}

#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-topic-title a,
#bbpress-forums ul.bbp-topics > li.bbp-topic li.bbp-topic-title a {
  font-family: var(--mono) !important; font-size: 0.84rem !important;
  font-weight: 700 !important; color: #ddeeff !important;
  display: block !important; margin-bottom: 0.2rem !important;
  transition: color 0.2s !important; line-height: 1.3 !important;
  text-decoration: none !important;
}
#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-topic-title a:hover { color: var(--g) !important; }

#bbpress-forums ul.bbp-topics > li.bbp-topic p.bbp-topic-meta,
#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-topic-meta {
  font-size: 0.7rem !important; color: var(--dim) !important;
  margin: 0 !important; padding: 0 !important; display: block !important;
  background: transparent !important; border: none !important;
}
#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-topic-meta a { color: var(--b) !important; }

/* Reply count pill */
#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-topic-count,
#bbpress-forums ul.bbp-topics > li.bbp-topic li.bbp-topic-count,
#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-reply-count,
#bbpress-forums ul.bbp-topics > li.bbp-topic li.bbp-reply-count {
  display: flex !important; flex-direction: column !important;
  align-items: center !important; justify-content: center !important;
  min-width: 52px !important; text-align: center !important;
  background: rgba(0,255,136,0.06) !important;
  border: 1px solid rgba(0,255,136,0.15) !important;
  border-radius: 8px !important; padding: 0.45rem 0.65rem !important;
  flex-shrink: 0 !important;
  font-family: var(--mono) !important; font-size: 1rem !important;
  font-weight: 700 !important; color: var(--g) !important; line-height: 1 !important;
  list-style: none !important;
}
#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-topic-count::before,
#bbpress-forums ul.bbp-topics > li.bbp-topic li.bbp-topic-count::before {
  content: 'REPLIES' !important;
  font-family: var(--mono) !important; font-size: 0.44rem !important;
  font-weight: 700 !important; letter-spacing: 1.5px !important;
  color: var(--g) !important; display: block !important;
  margin-bottom: 0.15rem !important;
}
#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-reply-count::before,
#bbpress-forums ul.bbp-topics > li.bbp-topic li.bbp-reply-count::before {
  content: 'VOICES' !important;
  font-family: var(--mono) !important; font-size: 0.44rem !important;
  font-weight: 700 !important; letter-spacing: 1.5px !important;
  color: var(--g) !important; display: block !important;
  margin-bottom: 0.15rem !important;
}

/* Last post freshness */
#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-freshness,
#bbpress-forums ul.bbp-topics > li.bbp-topic li.bbp-freshness {
  display: flex !important; flex-direction: column !important;
  align-items: flex-end !important; text-align: right !important;
  min-width: 110px !important; flex-shrink: 0 !important;
  font-size: 0.7rem !important; color: var(--dim) !important;
  background: transparent !important; border: none !important;
  padding: 0 !important; margin: 0 !important; list-style: none !important;
}
#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-freshness::before,
#bbpress-forums ul.bbp-topics > li.bbp-topic li.bbp-freshness::before {
  content: 'LAST POST' !important;
  font-family: var(--mono) !important; font-size: 0.44rem !important;
  font-weight: 700 !important; letter-spacing: 1.5px !important;
  color: var(--dim) !important; display: block !important; margin-bottom: 0.2rem !important;
}
#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-freshness a,
#bbpress-forums ul.bbp-topics > li.bbp-topic li.bbp-freshness a {
  color: var(--dim) !important; font-size: 0.7rem !important;
  display: block !important; line-height: 1.5 !important; text-decoration: none !important;
}
#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-freshness a:hover { color: var(--g) !important; }
#bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-freshness img,
#bbpress-forums ul.bbp-topics > li.bbp-topic li.bbp-freshness img { display: none !important; }

/* Sticky / closed */
#bbpress-forums ul.bbp-topics > li.bbp-topic.super-sticky,
#bbpress-forums ul.bbp-topics > li.bbp-topic.sticky {
  border-color: rgba(0,212,255,0.2) !important;
}
#bbpress-forums ul.bbp-topics > li.bbp-topic.bbp-topic-closed {
  border-color: rgba(255,75,110,0.15) !important;
}

/* ══════════════════════════════════════════════════════════
   SINGLE TOPIC REPLIES
══════════════════════════════════════════════════════════ */
#bbpress-forums ul.bbp-replies {
  list-style: none !important;
  margin: 0 0 2rem !important; padding: 0 !important;
  display: flex !important; flex-direction: column !important; gap: 1rem !important;
}

#bbpress-forums ul.bbp-replies > li.bbp-reply {
  list-style: none !important;
  background: var(--card) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 10px !important;
  overflow: hidden !important; margin: 0 !important; padding: 0 !important;
  display: grid !important;
  grid-template-columns: 110px 1fr !important;
  grid-template-rows: auto 1fr !important;
  transition: border-color 0.25s !important;
}
#bbpress-forums ul.bbp-replies > li.bbp-reply:hover       { border-color: rgba(0,255,136,0.15) !important; }
#bbpress-forums ul.bbp-replies > li.bbp-reply:first-child { border-color: var(--border) !important; }

#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-author {
  grid-column: 1 !important; grid-row: 1 / 3 !important;
  background: rgba(0,0,0,0.22) !important;
  border-right: 1px solid rgba(255,255,255,0.05) !important;
  padding: 1.2rem 0.75rem !important;
  display: flex !important; flex-direction: column !important;
  align-items: center !important; gap: 0.5rem !important; text-align: center !important;
}
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-author img {
  border-radius: 50% !important; border: 2px solid rgba(0,255,136,0.2) !important;
  width: 52px !important; height: 52px !important; display: block !important;
}
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-author .bbp-author-name,
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-author .bbp-author-name a {
  font-family: var(--mono) !important; font-size: 0.63rem !important;
  font-weight: 700 !important; color: #ddeeff !important;
  text-decoration: none !important; word-break: break-word !important; line-height: 1.3 !important;
}
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-author .bbp-author-role {
  font-size: 0.57rem !important; text-transform: uppercase !important;
  letter-spacing: 1px !important; color: var(--g) !important;
  background: rgba(0,255,136,0.08) !important; border: none !important;
  border-radius: 3px !important; padding: 0.15rem 0.4rem !important; display: inline-block !important;
}
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-author .bbp-author-ip { display: none !important; }

#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-header {
  grid-column: 2 !important; grid-row: 1 !important;
  display: flex !important; justify-content: space-between !important;
  align-items: center !important; padding: 0.55rem 1.2rem !important;
  background: rgba(0,0,0,0.18) !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  flex-wrap: wrap !important; gap: 0.4rem !important;
}
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-post-date,
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-post-date a {
  font-size: 0.68rem !important; color: var(--dim) !important; text-decoration: none !important;
}
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-admin-links {
  display: inline-flex !important; align-items: center !important;
  gap: 0.25rem !important;
  font-size: 0 !important; /* collapses " | " text-node separators */
  margin-left: auto !important; /* push to right side of header regardless of DOM order */
}
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-admin-links .bbp-admin-links-sep {
  display: none !important;
}
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-admin-links a {
  font-size: 0.68rem !important; color: var(--dim) !important;
  font-family: var(--sans) !important;
  text-decoration: none !important;
  padding: 0.1rem 0.3rem !important; border-radius: 3px !important;
  border: 1px solid transparent !important;
  transition: color 0.2s, background 0.2s, border-color 0.2s !important;
}
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-admin-links a:hover {
  color: var(--g) !important;
  background: rgba(0,255,136,0.07) !important;
  border-color: rgba(0,255,136,0.18) !important;
}

#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-content {
  grid-column: 2 !important; grid-row: 2 !important;
  padding: 1rem 1.2rem !important; color: var(--text) !important;
  font-size: 0.9rem !important; line-height: 1.8 !important;
  background: transparent !important; border: none !important;
}
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-content p           { margin: 0 0 0.7rem !important; }
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-content p:last-child { margin-bottom: 0 !important; }
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-content a            { color: var(--g) !important; }
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-content code {
  background: rgba(0,0,0,0.4) !important; border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 4px !important; padding: 0.1rem 0.35rem !important;
  font-size: 0.84em !important; color: var(--b) !important;
}
#bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-content blockquote {
  border-left: 3px solid var(--g) !important;
  border-top: none !important; border-right: none !important; border-bottom: none !important;
  margin: 0.6rem 0 !important; padding: 0.4rem 1rem !important;
  background: rgba(0,255,136,0.04) !important; color: #8a9aaa !important;
  border-radius: 0 5px 5px 0 !important;
}

/* ══════════════════════════════════════════════════════════
   FORMS
══════════════════════════════════════════════════════════ */
#bbpress-forums #new-post {
  background: var(--card) !important; border: 1px solid var(--border) !important;
  border-radius: 10px !important; padding: 1.8rem !important;
  margin: 2rem 0 1rem !important; box-shadow: none !important;
}
#bbpress-forums #new-post fieldset { border: none !important; padding: 0 !important; margin: 0 0 1rem !important; }
#bbpress-forums #new-post legend {
  display: block !important; width: 100% !important;
  font-family: var(--mono) !important; font-size: 0.75rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 2px !important; color: var(--g) !important;
  padding: 0 0 0.8rem !important; border: none !important;
  border-bottom: 1px solid rgba(0,255,136,0.1) !important;
  margin-bottom: 1.2rem !important; background: transparent !important;
}
#bbpress-forums #new-post label {
  display: block !important; font-size: 0.8rem !important; font-weight: 600 !important;
  color: #aabbc8 !important; margin-bottom: 0.4rem !important; background: transparent !important;
}
#bbpress-forums #new-post input[type="text"],
#bbpress-forums #new-post input[type="email"],
#bbpress-forums #new-post textarea,
#bbpress-forums #new-post select {
  width: 100% !important; background: var(--dark) !important;
  border: 1px solid rgba(0,255,136,0.15) !important; border-radius: 6px !important;
  padding: 0.7rem 1rem !important; color: #fff !important;
  font-family: var(--sans) !important; font-size: 0.9rem !important; line-height: 1.6 !important;
  resize: vertical !important; outline: none !important; box-shadow: none !important;
  transition: border-color 0.25s !important;
}
#bbpress-forums #new-post input:focus,
#bbpress-forums #new-post textarea:focus {
  border-color: rgba(0,255,136,0.5) !important;
  box-shadow: 0 0 0 3px rgba(0,255,136,0.06) !important;
}
#bbpress-forums #new-post .bbp-submit-wrapper {
  display: flex !important; justify-content: flex-end !important;
  margin-top: 1.2rem !important; gap: 1rem !important;
}
#bbpress-forums #new-post input[type="submit"],
#bbpress-forums #new-post .bbp-submit-wrapper input {
  background: var(--g) !important; color: var(--dark) !important;
  border: none !important; border-radius: 4px !important; padding: 0.72rem 2rem !important;
  font-family: var(--mono) !important; font-size: 0.78rem !important;
  font-weight: 700 !important; letter-spacing: 1px !important; cursor: pointer !important;
  transition: box-shadow 0.25s, transform 0.15s !important;
}
#bbpress-forums #new-post input[type="submit"]:hover {
  box-shadow: 0 0 20px rgba(0,255,136,0.45) !important; transform: translateY(-1px) !important;
}
#bbpress-forums .bbp-login-form,
#bbpress-forums .bbp-no-access {
  background: var(--card) !important; border: 1px solid var(--border) !important;
  border-radius: 10px !important; padding: 1.5rem !important;
  margin: 2rem 0 !important; text-align: center !important; color: var(--dim) !important;
}
#bbpress-forums .bbp-login-form a,
#bbpress-forums .bbp-no-access a { color: var(--g) !important; }

/* ══════════════════════════════════════════════════════════
   PAGINATION
══════════════════════════════════════════════════════════ */
#bbpress-forums .bbp-pagination {
  background: transparent !important; border: none !important;
  padding: 0.8rem 0 !important; margin: 0 !important;
}
#bbpress-forums .bbp-pagination-count {
  font-size: 0.73rem !important; color: var(--dim) !important;
  display: block !important; text-align: center !important;
  margin-bottom: 0.4rem !important; background: transparent !important;
  border: none !important; padding: 0 !important;
}
#bbpress-forums .bbp-pagination-links {
  display: flex !important; gap: 0.4rem !important;
  flex-wrap: wrap !important; justify-content: center !important;
}
#bbpress-forums .bbp-pagination-links a,
#bbpress-forums .bbp-pagination-links span {
  display: inline-flex !important; align-items: center !important;
  justify-content: center !important; min-width: 34px !important; height: 34px !important;
  padding: 0 0.5rem !important; border-radius: 5px !important;
  font-family: var(--mono) !important; font-size: 0.7rem !important; font-weight: 700 !important;
  text-decoration: none !important; border: 1px solid rgba(0,255,136,0.2) !important;
  color: var(--text) !important; background: transparent !important; transition: all 0.2s !important;
}
#bbpress-forums .bbp-pagination-links a:hover {
  background: rgba(0,255,136,0.08) !important; border-color: var(--g) !important; color: var(--g) !important;
}
#bbpress-forums .bbp-pagination-links span.current {
  background: var(--g) !important; border-color: var(--g) !important; color: var(--dark) !important;
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════ */
@media (max-width: 700px) {
  #bbpress-forums ul.bbp-forums > li.bbp-forum,
  #bbpress-forums ul.bbp-topics > li.bbp-topic { flex-wrap: wrap !important; }

  #bbpress-forums ul.bbp-forums > li.bbp-forum .bbp-forum-freshness,
  #bbpress-forums ul.bbp-forums > li.bbp-forum p.bbp-forum-freshness,
  #bbpress-forums ul.bbp-topics > li.bbp-topic .bbp-freshness,
  #bbpress-forums ul.bbp-topics > li.bbp-topic li.bbp-freshness { display: none !important; }
}

@media (max-width: 560px) {
  #bbpress-forums ul.bbp-replies > li.bbp-reply {
    grid-template-columns: 1fr !important;
  }
  #bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-author {
    grid-row: 1 !important; flex-direction: row !important;
    border-right: none !important; border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    padding: 0.8rem 1.2rem !important; justify-content: flex-start !important; gap: 0.8rem !important;
  }
  #bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-header,
  #bbpress-forums ul.bbp-replies > li.bbp-reply .bbp-reply-content { grid-column: 1 !important; }
  #bbpress-forums #new-post { padding: 1rem !important; }
}

/* ══════════════════════════════════════════════════════════
   LEAD TOPIC — custom card (u4ea-lead-topic-card)
   The default bbPress ul.bbp-lead-topic is hidden — its
   internal HTML structure cannot be aligned with reply cards
   via CSS alone (wrong column order, meta label wrappers).
   A PHP hook outputs the custom card before the default markup.
══════════════════════════════════════════════════════════ */

/* Hide the broken default output entirely */
#bbpress-forums ul.bbp-lead-topic { display: none !important; }

/* ── Card shell ── */
.u4ea-lead-topic-card {
  background: rgba(0, 255, 170, 0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-left: 4px solid #00ffaa !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin: 0 0 20px !important; padding: 0 !important;
  display: grid !important;
  grid-template-columns: 110px 1fr !important;
  transition: border-color 0.25s !important;
}
.u4ea-lead-topic-card:hover {
  border-color: rgba(0,255,170,0.2) !important;
  border-left-color: #00ffaa !important;
}

/* ── Author column — identical to .bbp-reply-author ── */
.u4ea-lead-author {
  grid-column: 1 !important; grid-row: 1 / -1 !important;
  background: rgba(0,0,0,0.22) !important;
  border-right: 1px solid rgba(255,255,255,0.05) !important;
  padding: 1.2rem 0.75rem !important;
  display: flex !important; flex-direction: column !important;
  align-items: center !important; gap: 0.5rem !important; text-align: center !important;
  position: relative !important;
}
.u4ea-op-badge {
  position: absolute !important; top: 0.4rem !important; right: 0.4rem !important;
  font-family: var(--mono) !important; font-size: 0.48rem !important; font-weight: 700 !important;
  letter-spacing: 1px !important; color: #050f05 !important;
  background: #00ffaa !important; border-radius: 3px !important;
  padding: 0.08rem 0.3rem !important; line-height: 1.6 !important;
}
.u4ea-lead-author .avatar {
  border-radius: 50% !important; border: 2px solid rgba(0,255,170,0.3) !important;
  width: 52px !important; height: 52px !important; display: block !important;
}
.u4ea-lead-author .bbp-author-name,
.u4ea-lead-author .bbp-author-name a {
  font-family: var(--mono) !important; font-size: 0.63rem !important;
  font-weight: 700 !important; color: #ddeeff !important;
  text-decoration: none !important; word-break: break-word !important; line-height: 1.3 !important;
}
.u4ea-lead-author .bbp-author-role {
  font-size: 0.57rem !important; text-transform: uppercase !important;
  letter-spacing: 1px !important; color: var(--g) !important;
  background: rgba(0,255,136,0.08) !important; border: none !important;
  border-radius: 3px !important; padding: 0.15rem 0.4rem !important; display: inline-block !important;
}

/* ── Content column ── */
.u4ea-lead-content {
  grid-column: 2 !important;
  display: flex !important; flex-direction: column !important;
}

/* Header bar: date + admin links — identical to .bbp-reply-header */
.u4ea-lead-header {
  display: flex !important; justify-content: space-between !important;
  align-items: center !important; padding: 0.55rem 1.2rem !important;
  background: rgba(0,0,0,0.18) !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  flex-wrap: wrap !important; gap: 0.4rem !important;
}
.u4ea-lead-header .bbp-reply-post-date,
.u4ea-lead-header .bbp-reply-post-date a {
  font-size: 0.68rem !important; color: var(--dim) !important; text-decoration: none !important;
}
.u4ea-lead-header .bbp-admin-links {
  display: inline-flex !important; align-items: center !important;
  gap: 0.25rem !important;
  font-size: 0 !important; /* collapses " | " text-node separators */
}
.u4ea-lead-header .bbp-admin-links a {
  font-size: 0.68rem !important; color: var(--dim) !important;
  font-family: var(--sans) !important;
  text-decoration: none !important;
  padding: 0.1rem 0.3rem !important; border-radius: 3px !important;
  border: 1px solid transparent !important;
  transition: color 0.2s, background 0.2s, border-color 0.2s !important;
}
.u4ea-lead-header .bbp-admin-links a:hover {
  color: var(--g) !important;
  background: rgba(0,255,136,0.07) !important;
  border-color: rgba(0,255,136,0.18) !important;
}

/* Body — identical to .bbp-reply-content */
.u4ea-lead-body {
  padding: 1rem 1.2rem !important;
  color: var(--text) !important; font-size: 0.9rem !important; line-height: 1.8 !important;
}
.u4ea-lead-body p            { margin: 0 0 0.7rem !important; }
.u4ea-lead-body p:last-child { margin-bottom: 0 !important; }
.u4ea-lead-body a            { color: var(--g) !important; }
.u4ea-lead-body blockquote {
  border-left: 3px solid var(--g) !important;
  border-top: none !important; border-right: none !important; border-bottom: none !important;
  margin: 0.6rem 0 !important; padding: 0.4rem 1rem !important;
  background: rgba(0,255,136,0.04) !important; color: #8a9aaa !important;
}

/* ── Responsive ── */
@media (max-width: 560px) {
  .u4ea-lead-topic-card { grid-template-columns: 1fr !important; }
  .u4ea-lead-author {
    grid-row: 1 !important; flex-direction: row !important;
    border-right: none !important; border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    padding: 0.8rem 1.2rem !important; justify-content: flex-start !important; gap: 0.8rem !important;
  }
  .u4ea-lead-content { grid-column: 1 !important; }
}

/* ══════════════════════════════════════════════════════════
   NEWEST REPLY
   With order=DESC the first rendered reply is always the
   newest one — so :first-child is all we need. No PHP class.
══════════════════════════════════════════════════════════ */

#bbpress-forums ul.bbp-replies > li.bbp-reply:first-child {
  border-color: rgba(0,255,136,0.3) !important;
  border-left: 4px solid var(--g) !important;
  background: linear-gradient(135deg, rgba(0,255,136,0.03) 0%, var(--card) 55%) !important;
  box-shadow: 0 0 14px rgba(0,255,136,0.06) !important;
}

/* "NEWEST" badge — injected via ::before on the reply header */
#bbpress-forums ul.bbp-replies > li.bbp-reply:first-child .bbp-reply-header::before {
  content: 'NEWEST' !important;
  font-family: var(--mono) !important; font-size: 0.5rem !important; font-weight: 700 !important;
  letter-spacing: 1.5px !important; color: var(--dark) !important;
  background: var(--g) !important; border-radius: 3px !important;
  padding: 0.12rem 0.42rem !important; line-height: 1.6 !important;
  box-shadow: 0 0 8px rgba(0,255,136,0.4) !important;
  margin-right: auto !important;
}

/* "OP" badge on replies by the original poster
   Matches the lead-topic card badge exactly — same font, colour, position.
   position:relative is added here in case the author column doesn't already have it. */
#bbpress-forums ul.bbp-replies > li.bbp-reply.bbp-reply-by-op .bbp-reply-author {
  position: relative !important;
}
#bbpress-forums ul.bbp-replies > li.bbp-reply.bbp-reply-by-op .bbp-reply-author::after {
  content: 'OP' !important;
  position: absolute !important; top: 0.4rem !important; right: 0.4rem !important;
  font-family: var(--mono) !important; font-size: 0.48rem !important; font-weight: 700 !important;
  letter-spacing: 1px !important; color: #050f05 !important;
  background: #00ffaa !important; border-radius: 3px !important;
  padding: 0.08rem 0.3rem !important; line-height: 1.6 !important;
  pointer-events: none !important;
}
