/* ── HIDE GENERATEPRESS ELEMENTS ── */
.site-header, #site-header, .main-navigation, #site-navigation,
.site-branding, .header-widget, .generate-back-to-top,
.footer-bar, #footer-bar, .site-footer, #colophon,
.widget-area, #sidebar { display: none !important; }

.site-content, #content, .content-area, #primary,
.inside-article, article, .entry-content, main,
.site-main, #main { 
  max-width: 100% !important; 
  padding: 0 !important; 
  margin: 0 !important;
  display: block !important;
}

body.rr-forum { padding: 0 !important; margin: 0 !important; }
/* ============================================================
   RR FORUM — forum.css v2.0
   Clean, functional, Sterling Sky inspired
   ============================================================ */

:root {
  --canvas:     #F4F5F7;
  --surface:    #FFFFFF;
  --border:     rgba(30,40,60,0.13);
  --accent:     #1A3A6B;
  --accent-h:   #14305A;
  --accent-dim: rgba(26,58,107,0.08);
  --gold:       #D4820A;
  --gold-h:     #C4780A;
  --text:       #0E1520;
  --text-body:  rgba(14,21,32,0.78);
  --text-muted: rgba(14,21,32,0.48);
  --nav-dark:   #1A2E52;
  --subnav:     #243660;
  --font-d:     'Fraunces', Georgia, serif;
  --font-b:     'DM Sans', system-ui, sans-serif;
  --r-sm:       6px;
  --r-md:       10px;
  --r-lg:       14px;
  --sh-sm:      0 1px 4px rgba(14,21,32,0.08);
  --sh-md:      0 4px 16px rgba(14,21,32,0.10);
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: var(--font-b); background: var(--canvas); color: var(--text); -webkit-font-smoothing: antialiased; font-size: 15px; line-height: 1.65; }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }

/* Hide WP admin bar gap */
#wpadminbar { display: none !important; }
html { margin-top: 0 !important; }

/* ── HEADER — single nav bar ── */
.rrf-header { position: sticky; top: 0; z-index: 1000; }
.rrf-nav { background: var(--nav-dark); box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.rrf-nav-inner {
  max-width: 1280px; margin: 0 auto; padding: 0 24px;
  display: flex; align-items: center; gap: 8px; height: 56px; position: relative;
}
.rrf-nav-logo { flex-shrink: 0; display: flex; align-items: center; margin-right: 8px; }
.rrf-nav-logo img { height: 30px; width: auto; opacity: .92; filter: brightness(10); }
.rrf-nav-links { display: flex; flex-direction: row; align-items: center; gap: 2px; flex: 1; }
.rrf-nav-links a {
  display: inline-flex; padding: 8px 14px; font-size: 14px; font-weight: 500;
  color: rgba(255,255,255,.82); border-radius: 4px; transition: all .15s; white-space: nowrap;
  letter-spacing: .01em;
}
.rrf-nav-links a:hover { background: rgba(255,255,255,.12); color: #fff; }
.rrf-nav-right { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.rrf-nav-username { font-size: 13px; font-weight: 600; color: rgba(255,255,255,.85); }
.rrf-avatar { border-radius: 50%; width: 28px; height: 28px; }
.rrf-nav-ghost {
  padding: 7px 14px; border: 1.5px solid rgba(255,255,255,.3); border-radius: var(--r-sm);
  font-size: 13px; font-weight: 500; color: rgba(255,255,255,.8); transition: all .2s; white-space: nowrap;
}
.rrf-nav-ghost:hover { border-color: rgba(255,255,255,.7); color: #fff; }
.rrf-nav-register {
  padding: 8px 18px; background: var(--gold); color: #fff !important; border-radius: var(--r-sm);
  font-size: 13.5px; font-weight: 700; transition: background .2s; white-space: nowrap;
}
.rrf-nav-register:hover { background: var(--gold-h); }
.rrf-mobile-toggle { display: none; background: none; border: none; cursor: pointer; font-size: 26px; color: rgba(255,255,255,.9); padding: 4px 8px; line-height: 1; }

/* ── MOBILE NAV ── */
.rrf-mobile-nav { display: none; flex-direction: column; background: var(--nav-dark); border-top: 1px solid rgba(255,255,255,.1); }
.rrf-mobile-nav.open { display: flex; }
.rrf-mobile-nav a { padding: 13px 20px; font-size: 14px; color: rgba(255,255,255,.85); border-bottom: 1px solid rgba(255,255,255,.07); }
.rrf-mobile-nav a:hover { background: rgba(255,255,255,.08); }

/* ── PAGE LAYOUT ── */
.rrf-page-wrap {
  max-width: 1280px; margin: 0 auto; padding: 24px 20px 80px;
  display: grid !important; grid-template-columns: 1fr 280px !important; gap: 24px; align-items: start;
}
.rrf-main { min-width: 0; width: 100%; }
.rrf-sidebar { position: sticky; top: 76px; width: 100%; }

/* ── STATS BAR ── */
.rrf-stats {
  display: flex; background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-lg); overflow: hidden; margin-bottom: 20px; box-shadow: var(--sh-sm);
}
.rrf-stat { flex: 1; padding: 14px 10px; text-align: center; border-right: 1px solid var(--border); }
.rrf-stat:last-child { border-right: none; }
.rrf-stat-n { font-family: var(--font-d); font-size: 30px; font-weight: 900; color: var(--accent); line-height: 1; margin-bottom: 4px; }
.rrf-stat-l { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .08em; font-weight: 500; }

/* ── FORUM INDEX ── */
#bbpress-forums { font-family: var(--font-b); }
#bbpress-forums ul, #bbpress-forums ol { list-style: none; padding: 0; margin: 0; }
#bbpress-forums li.bbp-header { display: none !important; }

/* Forum group title */
#bbpress-forums .bbp-forum-title.bbp-forum-title {
  font-family: var(--font-d); font-size: 11px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--text-muted); padding: 16px 0 8px;
  border-bottom: 2px solid var(--border); margin-bottom: 8px; display: block;
}

/* Forum card */
#bbpress-forums li.bbp-forum {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md);
  margin-bottom: 6px; list-style: none; overflow: hidden;
  display: grid; grid-template-columns: 1fr 72px 72px 160px;
  transition: border-color .2s, box-shadow .2s;
}
#bbpress-forums li.bbp-forum:hover { border-color: rgba(26,58,107,0.25); box-shadow: var(--sh-sm); }

#bbpress-forums li.bbp-forum .bbp-forum-info { padding: 16px 20px; min-width: 0; }
#bbpress-forums li.bbp-forum .bbp-forum-title {
  font-family: var(--font-d) !important; font-size: 17px !important; font-weight: 700 !important;
  color: var(--accent) !important; display: block; margin-bottom: 5px; text-transform: none !important;
  letter-spacing: -.01em !important; padding: 0 !important; border: none !important; line-height: 1.2 !important;
}
#bbpress-forums li.bbp-forum .bbp-forum-title:hover { color: var(--accent-h) !important; }
#bbpress-forums li.bbp-forum .bbp-forum-content { font-size: 13.5px; color: var(--text-body); line-height: 1.5; }

#bbpress-forums li.bbp-forum .bbp-forum-topic-count,
#bbpress-forums li.bbp-forum .bbp-forum-reply-count {
  border-left: 1px solid var(--border); padding: 14px 8px;
  text-align: center; font-size: 12px; color: var(--text-muted);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
#bbpress-forums li.bbp-forum .bbp-forum-topic-count span,
#bbpress-forums li.bbp-forum .bbp-forum-reply-count span { display: none; }
#bbpress-forums li.bbp-forum .bbp-forum-topic-count::before { font-family: var(--font-d); font-size: 18px; font-weight: 700; color: var(--text); content: attr(data-count); }

#bbpress-forums li.bbp-forum .bbp-forum-freshness {
  border-left: 1px solid var(--border); padding: 10px 12px;
  font-size: 11.5px; color: var(--text-muted); line-height: 1.5; min-width: 0;
}
#bbpress-forums li.bbp-forum .bbp-forum-freshness a { color: var(--accent); }

/* ── TOPIC LIST ── */
#bbpress-forums li.bbp-topic {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md);
  padding: 12px 16px; margin-bottom: 6px; list-style: none;
  display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center;
  transition: border-color .2s;
}
#bbpress-forums li.bbp-topic:hover { border-color: rgba(26,58,107,0.2); }
#bbpress-forums li.bbp-topic .bbp-topic-title a { font-family: var(--font-d); font-size: 14px; font-weight: 700; color: var(--text); }
#bbpress-forums li.bbp-topic .bbp-topic-title a:hover { color: var(--accent); }
#bbpress-forums li.bbp-topic .bbp-topic-meta { font-size: 11.5px; color: var(--text-muted); margin-top: 3px; }
#bbpress-forums li.bbp-topic .bbp-topic-reply-count {
  font-family: var(--font-d); font-size: 16px; font-weight: 700; color: var(--accent);
  background: var(--accent-dim); padding: 6px 12px; border-radius: var(--r-sm); text-align: center;
}

/* ── SINGLE REPLY ── */
#bbpress-forums li.bbp-reply {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md);
  padding: 18px 20px; margin-bottom: 8px; list-style: none;
}
#bbpress-forums .bbp-reply-content, #bbpress-forums .bbp-topic-content { font-size: 15px; line-height: 1.78; color: var(--text-body); }
#bbpress-forums .bbp-author-name { font-weight: 700; color: var(--accent); font-size: 13.5px; }
#bbpress-forums .bbp-author-role { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); }

/* ── BUTTONS ── */
#bbpress-forums input[type="submit"], .bbp-submit-wrapper input[type="submit"] {
  background: var(--gold); color: #fff; border: none; border-radius: var(--r-sm);
  padding: 10px 24px; font-family: var(--font-b); font-size: 14px; font-weight: 700; cursor: pointer; transition: background .2s;
}
#bbpress-forums input[type="submit"]:hover { background: var(--gold-h); }
#bbpress-forums a.button {
  display: inline-flex; align-items: center; padding: 7px 14px;
  background: var(--accent-dim); color: var(--accent); border: 1.5px solid rgba(26,58,107,0.2);
  border-radius: var(--r-sm); font-size: 13px; font-weight: 600; transition: all .2s;
}
#bbpress-forums a.button:hover { background: rgba(26,58,107,.14); border-color: var(--accent); }

/* ── FORMS ── */
#bbpress-forums input[type="text"], #bbpress-forums input[type="email"],
#bbpress-forums textarea, #bbpress-forums select {
  width: 100%; padding: 9px 12px; border: 1.5px solid var(--border);
  border-radius: var(--r-sm); font-family: var(--font-b); font-size: 14px;
  color: var(--text); background: var(--surface); transition: border-color .2s;
}
#bbpress-forums input:focus, #bbpress-forums textarea:focus { outline: none; border-color: var(--accent); }
#bbpress-forums label { font-size: 13px; font-weight: 600; color: var(--text-body); margin-bottom: 5px; display: block; }

/* ── BREADCRUMB ── */
#bbpress-forums .bbp-breadcrumb {
  font-size: 13px; color: var(--text-muted); margin-bottom: 16px;
  padding-bottom: 12px; border-bottom: 1px solid var(--border);
}
#bbpress-forums .bbp-breadcrumb a { color: var(--accent); }

/* ── PAGINATION ── */
.bbp-pagination-links a, .bbp-pagination-links span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 32px; height: 32px; border: 1px solid var(--border); border-radius: var(--r-sm);
  font-size: 13px; color: var(--text-body); margin: 2px; transition: all .2s;
}
.bbp-pagination-links a:hover { border-color: var(--accent); color: var(--accent); }
.bbp-pagination-links span.current { background: var(--accent); border-color: var(--accent); color: #fff; }

/* ── SIDEBAR ── */
.rrf-widget { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; margin-bottom: 16px; box-shadow: var(--sh-sm); }
.rrf-widget-head {
  background: var(--nav-dark); color: #fff; padding: 11px 18px;
  font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  display: flex; align-items: center; gap: 8px;
}
.rrf-widget-body { padding: 16px 18px; font-size: 13.5px; line-height: 1.6; }

.rrf-login-widget .rrf-btn-login {
  display: block; text-align: center; padding: 10px; background: var(--accent); color: #fff;
  border-radius: var(--r-sm); font-weight: 700; font-size: 14px; margin-bottom: 8px; transition: background .2s;
}
.rrf-login-widget .rrf-btn-login:hover { background: var(--accent-h); }
.rrf-login-widget .rrf-btn-register {
  display: block; text-align: center; padding: 10px; background: var(--gold); color: #fff;
  border-radius: var(--r-sm); font-weight: 700; font-size: 14px; transition: background .2s;
}
.rrf-login-widget .rrf-btn-register:hover { background: var(--gold-h); }
.rrf-login-note { font-size: 11.5px; color: var(--text-muted); text-align: center; margin-top: 10px; }

.rrf-stats-widget .rrf-stat-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 0; border-bottom: 1px solid var(--border); font-size: 13.5px; color: var(--text-body);
}
.rrf-stats-widget .rrf-stat-row:last-child { border-bottom: none; }
.rrf-stats-widget .rrf-stat-row strong { font-family: var(--font-d); font-size: 18px; font-weight: 900; color: var(--accent); }

.rrf-rules-widget ul { list-style: none; padding: 0; }
.rrf-rules-widget li {
  font-size: 13.5px; color: var(--text-body); padding: 9px 0;
  border-bottom: 1px solid var(--border); display: flex; gap: 10px; line-height: 1.5;
}
.rrf-rules-widget li:last-child { border-bottom: none; }
.rrf-rules-widget li::before { content: '✓'; color: var(--gold); font-weight: 700; flex-shrink: 0; }

.rrf-tool-link {
  display: block; font-size: 13.5px; color: var(--accent);
  padding: 9px 0; border-bottom: 1px solid var(--border); transition: color .2s;
}
.rrf-tool-link:hover { color: var(--accent-h); }
.rrf-tool-link:last-child { border-bottom: none; }
.rrf-tool-link--all { color: var(--gold) !important; font-weight: 600; }

/* ── FOOTER ── */
.rrf-footer { background: var(--nav-dark); padding: 40px 20px 0; margin-top: 60px; }
.rrf-footer-inner {
  max-width: 1280px; margin: 0 auto; padding-bottom: 32px;
  display: grid; grid-template-columns: 220px 1fr; gap: 40px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.rrf-footer-brand img { opacity: .8; margin-bottom: 10px; }
.rrf-footer-brand p { color: rgba(255,255,255,.5); font-size: 12.5px; line-height: 1.6; }
.rrf-footer-sub a { color: rgba(255,255,255,.6); text-decoration: underline; }
.rrf-footer-cols { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.rrf-footer-col-title { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.38); margin-bottom: 12px; }
.rrf-footer-col a { display: block; font-size: 12.5px; color: rgba(255,255,255,.62); margin-bottom: 9px; transition: color .2s; }
.rrf-footer-col a:hover { color: #fff; }
.rrf-footer-copy { max-width: 1280px; margin: 0 auto; padding: 16px 0; display: flex; justify-content: space-between; }
.rrf-footer-copy span { font-size: 11.5px; color: rgba(255,255,255,.32); }

/* ── TABLET (max 900px) ── */
@media (max-width: 900px) {
  .rrf-page-wrap {
    grid-template-columns: 1fr;
    padding: 20px 16px 60px;
  }
  .rrf-sidebar {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .rrf-footer-inner { grid-template-columns: 1fr; gap: 24px; }
  .rrf-footer-cols { grid-template-columns: repeat(3,1fr); }
}

/* ── MOBILE (max 640px) ── */
@media (max-width: 640px) {

  /* ---- NAV ---- */
  .rrf-nav-links { display: none !important; }
  .rrf-nav-right { display: none !important; }
  .rrf-mobile-toggle {
    display: block !important;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 28px;
    color: #fff;
    padding: 4px 8px;
    line-height: 1;
    margin-left: auto;
  }
  .rrf-nav-inner {
    padding: 0 16px;
    height: 50px;
  }
  .rrf-nav-logo { margin-right: auto; }
  .rrf-nav-logo img { height: 24px; }

  /* Mobile nav dropdown */
  .rrf-mobile-nav {
    display: none;
    flex-direction: column;
    background: var(--nav-dark);
    border-top: 1px solid rgba(255,255,255,.1);
  }
  .rrf-mobile-nav.open {
    display: flex !important;
  }
  .rrf-mobile-nav a {
    padding: 14px 20px;
    font-size: 15px;
    color: rgba(255,255,255,.9);
    border-bottom: 1px solid rgba(255,255,255,.07);
    display: block;
  }
  .rrf-mobile-nav a:last-child {
    background: var(--gold);
    color: #fff;
    font-weight: 700;
    text-align: center;
  }

  /* ---- LAYOUT ---- */
  .rrf-page-wrap {
    grid-template-columns: 1fr;
    padding: 14px 12px 48px;
    gap: 16px;
  }
  .rrf-sidebar {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  /* ---- STATS BAR ---- */
  .rrf-stats { flex-wrap: wrap; }
  .rrf-stat { flex: 1 1 calc(50% - 1px); }
  .rrf-stat:nth-child(2) { border-right: none; }
  .rrf-stat:nth-child(3),
  .rrf-stat:nth-child(4) { border-top: 1px solid var(--border); }
  .rrf-stat-n { font-size: 22px; }

  /* ---- FORUM CARDS ---- */
  #bbpress-forums li.bbp-forum {
    display: block !important;
    grid-template-columns: unset !important;
  }
  #bbpress-forums li.bbp-forum .bbp-forum-info {
    padding: 14px 16px !important;
    display: block !important;
    width: 100% !important;
  }
  #bbpress-forums li.bbp-forum .bbp-forum-title {
    font-size: 15px !important;
    white-space: normal !important;
    word-break: break-word !important;
    display: block !important;
    overflow: visible !important;
  }
  #bbpress-forums li.bbp-forum .bbp-forum-content {
    font-size: 13px !important;
    display: block !important;
  }
  #bbpress-forums li.bbp-forum .bbp-forum-topic-count,
  #bbpress-forums li.bbp-forum .bbp-forum-reply-count,
  #bbpress-forums li.bbp-forum .bbp-forum-freshness {
    display: none !important;
  }

  /* ---- TOPIC LIST ---- */
  #bbpress-forums li.bbp-topic {
    grid-template-columns: 1fr;
    display: block;
  }
  #bbpress-forums li.bbp-topic .bbp-topic-reply-count { display: none; }

  /* ---- FOOTER ---- */
  .rrf-footer { padding: 28px 16px 0; }
  .rrf-footer-inner { grid-template-columns: 1fr; gap: 20px; }
  .rrf-footer-cols { grid-template-columns: 1fr; gap: 12px; }
  .rrf-footer-copy { flex-direction: column; gap: 4px; text-align: center; }

  /* ---- FORMS ---- */
  #bbpress-forums input[type="text"],
  #bbpress-forums input[type="email"],
  #bbpress-forums textarea {
    font-size: 16px !important;
  }

  /* ---- WIDGETS ---- */
  .rrf-widget { width: 100%; }
  .rrf-widget-body { padding: 14px 16px; }
}

/* ── SINGLE TOPIC PAGE FIXES ── */

/* Hide duplicate breadcrumb - bbPress outputs it twice */
#bbpress-forums .bbp-breadcrumb + .bbp-breadcrumb { display: none !important; }

/* Hide IP address next to username */
.bbp-author-ip { display: none !important; }

/* Hide duplicate "Viewing X posts" */
.bbp-template-notice.info + .bbp-template-notice.info { display: none !important; }
ul.bbp-lead-topic + .bbp-topic-meta .bbp-topic-meta { display: none; }

/* Topic header */
.bbp-topic-header { margin-bottom: 20px; }
h1.bbp-single-topic-title,
.bbp-single-forum-description { 
  font-family: var(--font-d) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  margin-bottom: 8px !important;
}

/* Topic meta bar */
.bbp-topic-subscription,
.bbp-topic-tags,
.bbp-topic-freshness-link {
  font-size: 13px;
  color: var(--text-muted);
}

/* Lead topic (first post) */
ul.bbp-lead-topic { list-style: none; padding: 0; margin: 0 0 16px; }
ul.bbp-lead-topic li.bbp-body {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin-bottom: 12px;
}

/* Author column */
.bbp-topic-author, .bbp-reply-author {
  background: var(--accent-dim);
  border-right: 1px solid var(--border);
  padding: 20px 16px;
  width: 140px;
  min-width: 140px;
  text-align: center;
  vertical-align: top;
}
.bbp-topic-author .bbp-author-name,
.bbp-reply-author .bbp-author-name {
  font-weight: 700;
  color: var(--accent);
  font-size: 14px;
  display: block;
  margin-top: 8px;
}
.bbp-topic-author .bbp-author-role,
.bbp-reply-author .bbp-author-role {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-muted);
  margin-top: 3px;
  display: block;
}
.bbp-author-avatar img {
  border-radius: 50%;
  width: 48px;
  height: 48px;
}

/* Post content area */
.bbp-topic-content, .bbp-reply-content {
  padding: 20px 24px;
  font-size: 15px;
  line-height: 1.78;
  color: var(--text-body);
  vertical-align: top;
}
.bbp-topic-content p, .bbp-reply-content p { margin-bottom: 14px; }
.bbp-topic-content p:last-child, .bbp-reply-content p:last-child { margin-bottom: 0; }

/* Post table layout fix */
#bbpress-forums table.bbp-topic,
#bbpress-forums table.bbp-reply {
  width: 100%;
  border-collapse: collapse;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin-bottom: 12px;
}

/* Post footer - edit/reply links */
.bbp-topic-footer, .bbp-reply-footer {
  padding: 10px 20px;
  border-top: 1px solid var(--border);
  background: var(--canvas);
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12.5px;
  color: var(--text-muted);
}
.bbp-topic-footer a, .bbp-reply-footer a {
  color: var(--text-muted);
  transition: color .2s;
  font-weight: 500;
}
.bbp-topic-footer a:hover, .bbp-reply-footer a:hover { color: var(--accent); }

/* Reply form */
#bbpress-forums #new-reply-0 {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 24px;
  margin-top: 24px;
}
#bbpress-forums #new-reply-0 h3 {
  font-family: var(--font-d);
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 16px;
}

/* Style the toolbar buttons */
#bbpress-forums .bbp-the-content-wrapper .quicktags-toolbar {
  background: var(--canvas);
  border: 1px solid var(--border);
  border-bottom: none;
  border-radius: var(--r-sm) var(--r-sm) 0 0;
  padding: 6px 8px;
}
#bbpress-forums .bbp-the-content-wrapper .quicktags-toolbar input {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 600;
  padding: 3px 8px;
  cursor: pointer;
  margin: 2px;
}

/* Submit button */
#bbpress-forums .bbp-submit-wrapper {
  margin-top: 16px;
  display: flex;
  align-items: center;
  gap: 16px;
}
#bbpress-forums .bbp-submit-wrapper input[type="submit"] {
  background: var(--gold) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--r-sm) !important;
  padding: 12px 32px !important;
  font-family: var(--font-b) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
#bbpress-forums .bbp-submit-wrapper input[type="submit"]:hover {
  background: var(--gold-h) !important;
}

/* Tags field */
#bbpress-forums p.bbp-topic-tags label,
#bbpress-forums p.bbp-reply-tags label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-body);
  margin-bottom: 5px;
  display: block;
}

/* Favorite/Subscribe links */
.bbp-topic-subscription { float: right; }
.bbp-topic-subscription a {
  font-size: 13px;
  color: var(--accent);
  padding: 5px 12px;
  border: 1px solid rgba(26,58,107,0.2);
  border-radius: var(--r-sm);
  transition: all .2s;
}
.bbp-topic-subscription a:hover {
  background: var(--accent-dim);
}

/* "Viewing X posts" info */
.bbp-template-notice.info {
  background: var(--accent-dim);
  border: 1px solid rgba(26,58,107,0.15);
  border-radius: var(--r-sm);
  padding: 10px 16px;
  margin-bottom: 16px;
  font-size: 13px;
  color: var(--text-muted);
}

/* "Forum > Forums" breadcrumb fix */
#bbpress-forums .bbp-breadcrumb a:first-child + .bbp-breadcrumb-sep + a { }

/* Mobile single topic */
@media (max-width: 640px) {
  .bbp-topic-author, .bbp-reply-author {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    padding: 12px 16px;
    border-right: none;
    border-bottom: 1px solid var(--border);
  }
  .bbp-topic-content, .bbp-reply-content { padding: 16px; }
  #bbpress-forums table.bbp-topic,
  #bbpress-forums table.bbp-reply { display: block; }
  #bbpress-forums table.bbp-topic tbody,
  #bbpress-forums table.bbp-reply tbody,
  #bbpress-forums table.bbp-topic tr,
  #bbpress-forums table.bbp-reply tr,
  #bbpress-forums table.bbp-topic td,
  #bbpress-forums table.bbp-reply td { display: block; width: 100%; }
}

/* ── CUSTOM TOPIC TEMPLATE ── */

/* Topic header */
.rrf-topic-title {
  font-family: var(--font-d);
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 700;
  color: var(--text);
  margin-bottom: 8px;
  letter-spacing: -.02em;
  line-height: 1.2;
}
.rrf-topic-meta {
  font-size: 13px;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
}

/* Post card */
.rrf-post {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  margin-bottom: 12px;
  display: grid;
  grid-template-columns: 140px 1fr;
  overflow: hidden;
}
.rrf-post--topic { border-left: 3px solid var(--accent); }
.rrf-post--reply { border-left: 3px solid var(--border); }

/* Author column */
.rrf-post-author {
  padding: 20px 16px;
  background: var(--accent-dim);
  border-right: 1px solid var(--border);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.rrf-post-author img {
  border-radius: 50%;
  width: 48px;
  height: 48px;
}
.rrf-post-author-name {
  font-weight: 700;
  font-size: 13.5px;
  color: var(--accent);
  line-height: 1.3;
}
.rrf-post-author-role {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-muted);
  background: rgba(26,58,107,0.1);
  padding: 2px 8px;
  border-radius: 100px;
}

/* Post body */
.rrf-post-body { padding: 20px 24px; min-width: 0; }
.rrf-post-timestamp {
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 12px;
}
.rrf-post-content {
  font-size: 15px;
  line-height: 1.8;
  color: var(--text-body);
}
.rrf-post-content p { margin-bottom: 14px; }
.rrf-post-content p:last-child { margin-bottom: 0; }
.rrf-post-footer {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
  font-size: 12px;
  color: var(--text-muted);
  display: flex;
  gap: 12px;
}
.rrf-post-footer a { color: var(--text-muted); transition: color .2s; }
.rrf-post-footer a:hover { color: var(--accent); }

/* Hide IP address - nuclear */
.bbp-author-ip,
[class*="bbp-author-ip"] { display: none !important; visibility: hidden !important; }

/* Mobile post layout */
@media (max-width: 640px) {
  .rrf-post { grid-template-columns: 1fr; }
  .rrf-post-author {
    flex-direction: row;
    text-align: left;
    border-right: none;
    border-bottom: 1px solid var(--border);
    padding: 12px 16px;
    gap: 12px;
  }
  .rrf-post-body { padding: 16px; }
}

/* ── FIX DUPLICATE/OVERLAP ISSUES ── */

/* Hide duplicate unsubscribe links */
.bbp-topic-subscription { display: none !important; }

/* Hide duplicate viewing count */
.bbp-body > .bbp-template-notice.info:nth-of-type(2) { display: none !important; }

/* Fix title overlapping breadcrumb */
.rrf-topic-title {
  display: block !important;
  clear: both !important;
  margin-top: 16px !important;
}

/* Hide the duplicate post that appears */
ul.bbp-lead-topic li.bbp-body + li.bbp-body { display: none !important; }

/* Fix bbPress default table layout */
#bbpress-forums table.bbp-topic,
#bbpress-forums table.bbp-reply {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-lg) !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
  display: table !important;
}

/* Author cell */
#bbpress-forums table.bbp-topic td.bbp-topic-author,
#bbpress-forums table.bbp-reply td.bbp-reply-author {
  width: 140px !important;
  min-width: 140px !important;
  padding: 20px 16px !important;
  background: var(--accent-dim) !important;
  border-right: 1px solid var(--border) !important;
  vertical-align: top !important;
  text-align: center !important;
}

/* Content cell */
#bbpress-forums table.bbp-topic td.bbp-topic-content,
#bbpress-forums table.bbp-reply td.bbp-reply-content {
  padding: 20px 24px !important;
  vertical-align: top !important;
  font-size: 15px !important;
  line-height: 1.78 !important;
  color: var(--text-body) !important;
}

/* Show content that was hidden */
#bbpress-forums .bbp-topic-content,
#bbpress-forums .bbp-reply-content {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Forum list page - topic rows */
#bbpress-forums ul.bbp-topics li.bbp-topic {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-md) !important;
  padding: 14px 18px !important;
  margin-bottom: 8px !important;
  list-style: none !important;
  transition: border-color .2s !important;
}
#bbpress-forums ul.bbp-topics li.bbp-topic:hover {
  border-color: rgba(26,58,107,0.25) !important;
}
#bbpress-forums ul.bbp-topics li.bbp-topic .bbp-topic-title {
  font-family: var(--font-d) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
#bbpress-forums ul.bbp-topics li.bbp-topic .bbp-topic-title a {
  color: var(--text) !important;
  text-decoration: none !important;
}
#bbpress-forums ul.bbp-topics li.bbp-topic .bbp-topic-title a:hover {
  color: var(--accent) !important;
}

/* Hide bbPress default header row on topic list */
#bbpress-forums li.bbp-header { display: none !important; }

/* ── TOPIC HEADER WRAP ── */
.rrf-topic-header-wrap {
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.rrf-topic-title {
  font-family: var(--font-d) !important;
  font-size: clamp(20px, 2.5vw, 28px) !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  margin: 12px 0 8px !important;
  letter-spacing: -.02em !important;
  line-height: 1.2 !important;
  display: block !important;
}
.rrf-topic-meta-bar {
  font-size: 13px;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* ── DIRECT TOPIC TEMPLATE ── */
.rrf-topic-head {
  margin: 12px 0 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.rrf-topic-meta-bar {
  font-size: 13px;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 6px;
}
.rrf-post {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  margin-bottom: 12px;
  display: grid;
  grid-template-columns: 130px 1fr;
  overflow: hidden;
}
.rrf-post--op { border-left: 3px solid var(--accent); }
.rrf-post--reply { border-left: 3px solid var(--border); }
.rrf-post-author {
  padding: 20px 14px;
  background: var(--accent-dim);
  border-right: 1px solid var(--border);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.rrf-post-author img { border-radius: 50%; width: 52px; height: 52px; }
.rrf-post-author-name { font-weight: 700; font-size: 13px; color: var(--accent); line-height: 1.3; }
.rrf-post-author-role {
  font-size: 10px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--text-muted); background: rgba(26,58,107,.1);
  padding: 2px 7px; border-radius: 100px;
}
.rrf-post-body { padding: 18px 22px; min-width: 0; }
.rrf-post-time { font-size: 12px; color: var(--text-muted); margin-bottom: 10px; }
.rrf-post-text { font-size: 15px; line-height: 1.78; color: var(--text-body); }
.rrf-post-text p { margin-bottom: 12px; }
.rrf-post-text p:last-child { margin-bottom: 0; }
.rrf-post-actions {
  margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--border);
  font-size: 12px; color: var(--text-muted);
  display: flex; gap: 12px; flex-wrap: wrap;
}
.rrf-post-actions a { color: var(--text-muted); transition: color .2s; }
.rrf-post-actions a:hover { color: var(--accent); }
.rrf-replies-wrap { margin-top: 4px; }

/* Mobile */
@media (max-width: 640px) {
  .rrf-post { grid-template-columns: 1fr; }
  .rrf-post-author {
    flex-direction: row; text-align: left;
    border-right: none; border-bottom: 1px solid var(--border);
    padding: 12px 16px; gap: 12px;
  }
  .rrf-post-body { padding: 14px 16px; }
}

/* ── FORUM LISTING PAGE FIXES ── */

/* Hide duplicate Unsubscribe and Viewing count */
.bbp-forum-subscription { display: none !important; }
#bbpress-forums .bbp-body + p.bbp-topic-count { display: none !important; }

/* Topic title on listing page - bigger */
#bbpress-forums li.bbp-topic .bbp-topic-title a {
  font-family: var(--font-d) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 4px !important;
}
#bbpress-forums li.bbp-topic .bbp-topic-title a:hover { color: var(--accent) !important; }

/* Topic meta */
#bbpress-forums li.bbp-topic .bbp-topic-meta {
  font-size: 12.5px !important;
  color: var(--text-muted) !important;
}

/* Style the topic list card */
#bbpress-forums ul.bbp-topics li.bbp-topic {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-md) !important;
  padding: 14px 18px !important;
  margin-bottom: 8px !important;
  list-style: none !important;
  transition: border-color .2s !important;
}
#bbpress-forums ul.bbp-topics li.bbp-topic:hover {
  border-color: rgba(26,58,107,0.25) !important;
  box-shadow: var(--sh-sm) !important;
}

/* Create new topic heading */
#bbpress-forums #new-topic-0 h3 {
  font-family: var(--font-d) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  margin-bottom: 16px !important;
}

/* Style new topic form */
#bbpress-forums #new-topic-0 {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-lg) !important;
  padding: 24px !important;
  margin-top: 24px !important;
}

/* Yellow HTML notice - hide or style */
.bbp-template-notice:not(.info) {
  background: rgba(212,130,10,0.08) !important;
  border: 1px solid rgba(212,130,10,0.25) !important;
  border-radius: var(--r-sm) !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  color: var(--text-body) !important;
}

/* Breadcrumb bar - clear separation from title */
.rrf-breadcrumb-bar {
  margin-bottom: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 16px;
}
.rrf-breadcrumb-bar .bbp-breadcrumb {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Topic title - on its own line, clear */
.rrf-topic-head {
  margin-bottom: 20px;
}
.rrf-topic-title {
  font-family: var(--font-d) !important;
  font-size: clamp(20px, 2.5vw, 28px) !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  margin: 0 0 8px !important;
  letter-spacing: -.02em !important;
  line-height: 1.2 !important;
  display: block !important;
  clear: both !important;
}
/* FORUM LISTING - topic title bigger */
#bbpress-forums ul.bbp-topics li.bbp-topic .bbp-topic-title a,
#bbpress-forums li.bbp-topic .bbp-topic-title a {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0E1520 !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 4px !important;
}
#bbpress-forums li.bbp-topic .bbp-topic-title a:hover { color: #1A3A6B !important; }

/* Hide duplicate Unsubscribe */
#bbpress-forums .bbp-forum-subscription { display: none !important; }

/* Hide second Viewing topic count */
#bbpress-forums .bbp-body ~ p { display: none !important; }