/*
Theme Name: Ad Forum Child
Theme URI: https://onlineadforum.com
Description: Reddit-style advertising community theme. Child of flavor theme.
Author: Above The Fold
Author URI: https://abovethefold.in
Template: twentytwentyfive
Version: 3.2.0
License: GNU General Public License v2 or later
Text Domain: adforum-child
*/

/* ============================================
   AD/FORUM — Design System v2
   Reddit meets Product Hunt
   ============================================ */

/* ---------- Tokens ---------- */
:root {
  --c-navy: #0F172A;
  --c-navy-light: #1E293B;
  --c-orange: #F97316;
  --c-orange-hover: #EA580C;
  --c-indigo: #6366F1;
  --c-surface: #F8FAFC;
  --c-card: #FFFFFF;
  --c-text: #0F172A;
  --c-text-2: #64748B;
  --c-text-3: #94A3B8;
  --c-border: #E2E8F0;
  --c-border-h: #CBD5E1;
  --c-success: #10B981;
  --c-danger: #EF4444;
  --font-display: 'Sora', sans-serif;
  --font-body: 'Source Sans 3', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-full: 9999px;
  --shadow-sm: 0 1px 2px rgba(15,23,42,.05);
  --shadow-md: 0 4px 12px rgba(15,23,42,.08);
  --shadow-lg: 0 8px 24px rgba(15,23,42,.12);
}

/* ---------- Reset / Global ---------- */
body.adforum,
body.af-home {
  font-family: var(--font-body) !important;
  color: var(--c-text) !important;
  background: var(--c-surface) !important;
  line-height: 1.6 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  -webkit-font-smoothing: antialiased;
  margin: 0 !important;
  padding: 0 !important;
}
body.adforum h1, body.adforum h2, body.adforum h3, body.adforum h4,
body.af-home h1, body.af-home h2, body.af-home h3, body.af-home h4 {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  line-height: 1.25 !important;
}
body.adforum a:where(:not(.wp-element-button)),
body.af-home a:where(:not(.wp-element-button)) {
  text-decoration: none !important;
}
body:not(.logged-in) #wpadminbar { display: none !important; }
body:not(.logged-in) { margin-top: 0 !important; }
.wp-site-blocks, .has-global-padding { padding: 0 !important; }
code, pre { font-family: var(--font-mono); }

/* ---------- Wrapper ---------- */
.af-wrapper { min-height: 100vh; display: flex; flex-direction: column; }
.af-main { flex: 1; padding: 2rem 0; }
.af-contain { max-width: 980px; margin: 0 auto; padding: 0 1.25rem; }
.af-contain--narrow { max-width: 720px; }

/* ===========================================
   HEADER
   =========================================== */
.af-header {
  background: var(--c-navy);
  border-bottom: 3px solid var(--c-orange);
  position: sticky; top: 0; z-index: 999;
  box-shadow: 0 2px 16px rgba(15,23,42,.2);
}
body.logged-in.admin-bar .af-header { top: 32px; }
@media (max-width:782px) { body.logged-in.admin-bar .af-header { top: 46px; } }

.af-header__inner {
  max-width: 1120px; margin: 0 auto; padding: 0 1.25rem;
  height: 56px; display: flex; align-items: center; gap: 1.5rem;
}
.af-header__logo {
  font-family: var(--font-display); font-size: 1.35rem; font-weight: 700;
  color: #FFF !important; white-space: nowrap; flex-shrink: 0;
}
.af-header__logo:hover { opacity: .9; color: #FFF !important; }
.af-header__slash { color: var(--c-orange); font-weight: 800; }
.af-header__nav {
  display: flex; align-items: center; gap: .2rem; flex: 1;
}
.af-header__nav > a {
  font-family: var(--font-display); font-size: .8rem; font-weight: 500;
  color: #94A3B8 !important; padding: .35rem .65rem; border-radius: var(--r-sm);
  transition: color .15s, background .15s; white-space: nowrap;
}
.af-header__nav > a:hover { color: #FFF !important; background: rgba(255,255,255,.07); }
.af-header__nav > a.is-active { color: #FFF !important; background: rgba(255,255,255,.1); }
.af-header__spacer { flex: 1; }
.af-header__link--muted { color: #64748B !important; }
.af-header__link--muted:hover { color: #CBD5E1 !important; }
.af-header__user { display: inline-flex !important; align-items: center; gap: .4rem; }
.af-header__user img { width: 22px; height: 22px; border-radius: 50%; }
.af-header__cta {
  background: var(--c-orange) !important; color: #FFF !important;
  font-family: var(--font-display) !important; font-weight: 600 !important;
  font-size: .8rem !important; padding: .4rem 1rem !important;
  border-radius: var(--r-md) !important; transition: background .15s !important;
}
.af-header__cta:hover { background: var(--c-orange-hover) !important; color: #FFF !important; }

/* hamburger */
.af-header__toggle {
  display: none; flex-direction: column; gap: 4px;
  background: none; border: none; cursor: pointer; padding: .5rem; margin-left: auto;
}
.af-header__toggle span { display: block; width: 20px; height: 2px; background: #CBD5E1; border-radius: 1px; transition: .2s; }
.af-header__toggle.is-active span:nth-child(1) { transform: rotate(45deg) translate(4px,4px); }
.af-header__toggle.is-active span:nth-child(2) { opacity: 0; }
.af-header__toggle.is-active span:nth-child(3) { transform: rotate(-45deg) translate(4px,-4px); }

@media (max-width: 768px) {
  .af-header__toggle { display: flex; }
  .af-header__inner { gap: 0; }
  .af-header__nav {
    display: none; position: absolute; top: 56px; left: 0; right: 0;
    background: var(--c-navy); border-bottom: 3px solid var(--c-orange);
    flex-direction: column; padding: .75rem 1.25rem 1rem; gap: .15rem;
    box-shadow: var(--shadow-lg);
  }
  .af-header__nav.is-open { display: flex; }
  .af-header__spacer { display: none; }
  .af-header__nav > a { padding: .6rem .75rem; width: 100%; }
}

/* ===========================================
   BUTTONS
   =========================================== */
.af-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--font-display); font-weight: 600; font-size: .875rem;
  padding: .6rem 1.35rem; border-radius: var(--r-md);
  cursor: pointer; transition: all .15s; border: none; text-decoration: none !important;
}
.af-btn--primary { background: var(--c-orange); color: #FFF !important; }
.af-btn--primary:hover { background: var(--c-orange-hover); color: #FFF !important; transform: translateY(-1px); box-shadow: var(--shadow-md); }
.af-btn--secondary { background: transparent; color: var(--c-orange) !important; border: 1px solid var(--c-border); }
.af-btn--secondary:hover { border-color: var(--c-orange); }
.af-btn--outline { background: transparent; color: #FFF !important; border: 1px solid rgba(255,255,255,.3); }
.af-btn--outline:hover { border-color: #FFF; background: rgba(255,255,255,.05); color: #FFF !important; }
.af-btn--lg { font-size: 1rem; padding: .8rem 2rem; }

/* ===========================================
   HERO (Homepage)
   =========================================== */
.af-hero {
  background: var(--c-navy);
  background-image: radial-gradient(ellipse at 20% 50%, rgba(249,115,22,.08) 0%, transparent 60%),
                    radial-gradient(ellipse at 80% 50%, rgba(99,102,241,.06) 0%, transparent 60%);
  padding: 5rem 1.25rem 4.5rem; text-align: center;
}
.af-hero__inner { max-width: 680px; margin: 0 auto; }
.af-hero__badge {
  display: inline-block; font-family: var(--font-display); font-size: .75rem;
  font-weight: 600; text-transform: uppercase; letter-spacing: .1em;
  color: var(--c-orange); background: rgba(249,115,22,.1);
  padding: .3rem .8rem; border-radius: var(--r-full); margin-bottom: 1.25rem;
}
.af-hero__title {
  font-size: clamp(2rem, 5vw, 3rem) !important; color: #FFF !important;
  margin: 0 0 1rem !important; line-height: 1.15 !important;
}
.af-hero__title span { color: var(--c-orange); }
.af-hero__subtitle {
  font-size: 1.125rem; color: #94A3B8; line-height: 1.7; margin: 0 0 2rem;
}
.af-hero__actions { display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; }

/* ===========================================
   SECTIONS (Homepage)
   =========================================== */
.af-section { padding: 3.5rem 1.25rem; }
.af-section--alt { background: #FFF; }
.af-section__inner { max-width: 980px; margin: 0 auto; }
.af-section__title {
  font-size: 1.5rem !important; text-align: center; margin: 0 0 .4rem !important;
}
.af-section__subtitle {
  text-align: center; color: var(--c-text-2); font-size: .95rem; margin: 0 0 2rem;
}
.af-section__cta { text-align: center; margin-top: 1.5rem; }

/* ---------- Forum Grid (Homepage) ---------- */
.af-forum-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem;
}
@media (max-width: 768px) { .af-forum-grid { grid-template-columns: 1fr; } }

.af-forum-card {
  display: flex; align-items: flex-start; gap: .875rem;
  background: var(--c-card); border: 1px solid var(--c-border); border-radius: var(--r-lg);
  padding: 1.125rem 1rem; transition: all .15s; text-decoration: none !important;
}
.af-forum-card:hover { border-color: var(--c-orange); box-shadow: var(--shadow-md); transform: translateY(-2px); }
.af-forum-card__icon { font-size: 1.5rem; line-height: 1; flex-shrink: 0; margin-top: 2px; }
.af-forum-card__body h3 {
  font-size: .9rem !important; font-weight: 700 !important; color: var(--c-text) !important; margin: 0 0 .2rem !important;
}
.af-forum-card__body p { font-size: .8rem; color: var(--c-text-2); margin: 0; line-height: 1.4; }
.af-forum-card__count {
  font-family: var(--font-mono); font-size: .7rem; color: var(--c-text-3);
  white-space: nowrap; margin-left: auto; flex-shrink: 0;
}

/* ---------- Steps ---------- */
.af-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
@media (max-width: 768px) { .af-steps { grid-template-columns: 1fr; gap: 1.5rem; } }
.af-step { text-align: center; }
.af-step__number {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(249,115,22,.1); color: var(--c-orange);
  font-family: var(--font-display); font-weight: 700; font-size: 1.25rem;
  margin-bottom: .75rem;
}
.af-step h3 { font-size: 1rem !important; margin: 0 0 .35rem !important; }
.af-step p { font-size: .875rem; color: var(--c-text-2); margin: 0; }

/* ---------- Latest Topics ---------- */
.af-topics-list { display: flex; flex-direction: column; gap: .5rem; }
.af-topic-row {
  display: flex; align-items: center; gap: 1rem;
  background: var(--c-card); border: 1px solid var(--c-border); border-radius: var(--r-md);
  padding: .875rem 1.25rem; transition: all .15s; text-decoration: none !important;
}
.af-topic-row:hover { border-color: var(--c-border-h); box-shadow: var(--shadow-sm); }
.af-topic-row__votes {
  display: flex; flex-direction: column; align-items: center;
  font-family: var(--font-mono); font-weight: 700; font-size: 1rem; color: var(--c-text);
  min-width: 48px; line-height: 1;
}
.af-topic-row__votes small { font-size: .6rem; font-weight: 500; color: var(--c-text-3); text-transform: uppercase; letter-spacing: .04em; }
.af-topic-row__body { flex: 1; min-width: 0; }
.af-topic-row__body h4 {
  font-size: .9375rem !important; font-weight: 600 !important; color: var(--c-text) !important;
  margin: 0 0 .2rem !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.af-topic-row__meta { font-size: .75rem; color: var(--c-text-3); display: flex; gap: .4rem; flex-wrap: wrap; }
.af-topic-row__forum { color: var(--c-orange); font-weight: 600; }
.af-empty { text-align: center; padding: 2rem; color: var(--c-text-2); }
.af-empty a { color: var(--c-orange) !important; font-weight: 600; }

/* ---------- CTA Banner ---------- */
.af-cta-banner {
  background: var(--c-navy);
  background-image: radial-gradient(ellipse at 50% 100%, rgba(249,115,22,.1) 0%, transparent 60%);
  padding: 4rem 1.25rem; text-align: center;
}
.af-cta-banner__inner { max-width: 520px; margin: 0 auto; }
.af-cta-banner h2 { color: #FFF !important; font-size: 1.5rem !important; margin: 0 0 .5rem !important; }
.af-cta-banner p { color: #94A3B8; margin: 0 0 1.5rem; }

/* ===========================================
   FORUMS PAGE — custom cards
   =========================================== */
.af-forums-header {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem;
  margin-bottom: 1.5rem;
}
.af-forums-header__title { font-size: 1.5rem !important; margin: 0 !important; }
.af-forums-header__desc { color: var(--c-text-2); font-size: .9375rem; margin: .25rem 0 0; }

.af-search-bar { margin-bottom: 1.75rem; }
.af-search-bar form {
  display: flex; gap: .5rem;
}
.af-search-bar__input {
  flex: 1; border: 1px solid var(--c-border); border-radius: var(--r-md);
  padding: .625rem 1rem; font-family: var(--font-body); font-size: .9rem;
  background: var(--c-card); box-shadow: var(--shadow-sm);
  transition: border-color .15s, box-shadow .15s;
}
.af-search-bar__input:focus {
  border-color: var(--c-orange); box-shadow: 0 0 0 3px rgba(249,115,22,.1); outline: none;
}
.af-search-bar__input::placeholder { color: var(--c-text-3); }
.af-search-bar__btn {
  font-family: var(--font-display); font-weight: 600; font-size: .8125rem;
  background: var(--c-navy); color: #FFF; border: none; border-radius: var(--r-md);
  padding: .625rem 1.5rem; cursor: pointer; transition: background .15s;
}
.af-search-bar__btn:hover { background: var(--c-navy-light); }

/* --- Category sections --- */
.af-cat { margin-bottom: 1.5rem; }
.af-cat__header {
  display: flex; align-items: center; gap: .75rem; width: 100%;
  background: var(--c-card); border: 1px solid var(--c-border); border-radius: var(--r-md);
  padding: .75rem 1.25rem; cursor: pointer; text-align: left;
  font-family: inherit; font-size: inherit; color: inherit;
  transition: background .15s;
}
.af-cat__header:hover { background: #F1F5F9; }
.af-cat__title { font-size: .875rem !important; margin: 0 !important; flex: 1; text-transform: uppercase; letter-spacing: .04em; }
.af-cat__count { font-size: .75rem; color: var(--c-text-3); font-family: var(--font-mono); }
.af-cat__chevron { color: var(--c-text-3); transition: transform .2s; flex-shrink: 0; }
.af-cat.is-collapsed .af-cat__chevron { transform: rotate(-90deg); }
.af-cat.is-collapsed .af-cat__body { display: none; }
.af-cat__body { margin-top: .5rem; display: flex; flex-direction: column; gap: .375rem; }

/* --- Forum row cards --- */
.af-forum-row {
  display: flex; align-items: center; gap: 1rem;
  background: var(--c-card); border: 1px solid var(--c-border); border-radius: var(--r-md);
  padding: .875rem 1.25rem; transition: all .15s; text-decoration: none !important;
}
.af-forum-row:hover { border-color: var(--c-orange); box-shadow: var(--shadow-sm); }
.af-forum-row__icon { font-size: 1.5rem; flex-shrink: 0; line-height: 1; }
.af-forum-row__body { flex: 1; min-width: 0; }
.af-forum-row__name { font-size: .9375rem !important; font-weight: 700 !important; color: var(--c-text) !important; margin: 0 !important; }
.af-forum-row__desc { font-size: .8125rem; color: var(--c-text-2); margin: .15rem 0 0; line-height: 1.4; }
.af-forum-row__stats {
  display: flex; flex-direction: column; align-items: flex-end; gap: .1rem; flex-shrink: 0;
}
.af-forum-row__stat { font-family: var(--font-mono); font-size: .7rem; color: var(--c-text-3); white-space: nowrap; }

@media (max-width: 600px) {
  .af-forum-row { flex-wrap: wrap; }
  .af-forum-row__stats { flex-direction: row; gap: .75rem; width: 100%; padding-left: 2.5rem; }
  .af-forums-header { flex-direction: column; }
}

/* ===========================================
   SINGLE TOPIC / REPLIES (bbPress defaults restyled)
   =========================================== */
.af-topic-title {
  font-size: 1.35rem !important; margin: 0 0 1.25rem !important;
}
#bbpress-forums { font-family: var(--font-body); font-size: 14px; }
#bbpress-forums ul, #bbpress-forums li { list-style: none; }
#bbpress-forums .bbp-template-notice {
  background: var(--c-card) !important; border: 1px solid var(--c-border) !important;
  border-left: 3px solid var(--c-orange) !important; border-radius: var(--r-md) !important;
  padding: .75rem 1.25rem !important; margin-bottom: 1rem !important;
}
#bbpress-forums .bbp-template-notice ul { margin: 0 !important; padding: 0 !important; }
#bbpress-forums .bbp-template-notice li,
#bbpress-forums .bbp-template-notice p { font-size: .875rem !important; color: var(--c-text-2) !important; margin: 0 !important; }

/* topic list in single forum */
#bbpress-forums .bbp-topics .bbp-body li {
  background: var(--c-card) !important; border: 1px solid var(--c-border) !important;
  border-radius: var(--r-md) !important; margin-bottom: .4rem !important;
  padding: .875rem 1.25rem !important; box-shadow: var(--shadow-sm) !important;
  transition: border-color .15s !important;
}
#bbpress-forums .bbp-topics .bbp-body li:hover { border-color: var(--c-border-h) !important; }
#bbpress-forums .bbp-topic-permalink {
  font-family: var(--font-display) !important; font-weight: 600 !important;
  color: var(--c-text) !important; text-decoration: none !important;
}
#bbpress-forums .bbp-topic-permalink:hover { color: var(--c-orange) !important; }
#bbpress-forums a.bbp-author-name { color: var(--c-orange) !important; font-weight: 600 !important; text-decoration: none !important; }

/* replies */
#bbpress-forums .bbp-replies .bbp-body > ul > li,
#bbpress-forums .bbp-replies .bbp-body > li {
  background: var(--c-card) !important; border: 1px solid var(--c-border) !important;
  border-radius: var(--r-md) !important; margin-bottom: .6rem !important;
  padding: 0 !important; overflow: hidden; box-shadow: var(--shadow-sm) !important;
}
#bbpress-forums .bbp-reply-header, #bbpress-forums .bbp-topic-header {
  background: #F8FAFC !important; border-bottom: 1px solid var(--c-border) !important;
  padding: .5rem 1.25rem !important; display: flex !important;
  justify-content: space-between !important; font-size: .75rem !important; color: var(--c-text-3) !important;
}
#bbpress-forums .bbp-reply-header a, #bbpress-forums .bbp-topic-header a {
  color: var(--c-text-3) !important; font-size: .75rem !important; text-decoration: none !important;
}
#bbpress-forums .bbp-reply-content, #bbpress-forums .bbp-topic-content { padding: 1rem 1.25rem !important; }
#bbpress-forums .bbp-reply-content::after { content: ""; display: table; clear: both; }
#bbpress-forums .bbp-author-role {
  font-size: .625rem; text-transform: uppercase; letter-spacing: .04em;
  color: var(--c-text-3); background: var(--c-surface); padding: .1rem .4rem; border-radius: var(--r-full);
}
#bbpress-forums ul.bbp-threaded-replies { margin-left: 1.5rem !important; padding-left: 1rem !important; border-left: 2px solid var(--c-border) !important; }

/* voting on topics/replies */
#bbpress-forums .bbp_voting { float: left; display: flex; flex-direction: column; align-items: center; margin-right: 1rem; }
#bbpress-forums .bbp_voting a { color: var(--c-text-3) !important; text-decoration: none !important; padding: 2px; border-radius: var(--r-sm); }
#bbpress-forums .bbp_voting a:hover { background: rgba(249,115,22,.08); color: var(--c-orange) !important; }
#bbpress-forums .bbp_voting .vote_score { font-family: var(--font-mono); font-weight: 700; font-size: .875rem; }

/* forms */
#bbpress-forums fieldset.bbp-form {
  background: var(--c-card) !important; border: 1px solid var(--c-border) !important;
  border-radius: var(--r-lg) !important; padding: 1.5rem !important; margin: 1.5rem 0 !important;
}
#bbpress-forums fieldset.bbp-form legend { font-family: var(--font-display) !important; font-size: 1rem !important; font-weight: 600 !important; }
#bbpress-forums fieldset.bbp-form input[type="text"],
#bbpress-forums fieldset.bbp-form input[type="password"],
#bbpress-forums fieldset.bbp-form textarea,
#bbpress-forums fieldset.bbp-form select {
  border: 1px solid var(--c-border) !important; border-radius: var(--r-md) !important;
  padding: .5rem .75rem !important; font-size: .875rem !important; width: 100% !important;
  box-sizing: border-box !important; font-family: var(--font-body) !important;
}
#bbpress-forums fieldset.bbp-form input:focus, #bbpress-forums fieldset.bbp-form textarea:focus {
  border-color: var(--c-orange) !important; box-shadow: 0 0 0 3px rgba(249,115,22,.1) !important; outline: none !important;
}
#bbpress-forums .bbp-submit-wrapper button, #bbpress-forums .bbp-submit-wrapper input[type="submit"],
#bbpress-forums button.button, #bbpress-forums input.button[type="submit"] {
  font-family: var(--font-display) !important; font-weight: 600 !important;
  background: var(--c-orange) !important; color: #FFF !important; border: none !important;
  border-radius: var(--r-md) !important; padding: .625rem 1.5rem !important; cursor: pointer !important;
}
#bbpress-forums .bbp-submit-wrapper button:hover, #bbpress-forums .bbp-submit-wrapper input[type="submit"]:hover {
  background: var(--c-orange-hover) !important;
}

/* search in bbpress */
#bbpress-forums div.bbp-search-form { display: none !important; }

/* hide default forum list on archive (we replaced it) */
body.forum-archive #bbpress-forums { display: none !important; }

/* breadcrumbs */
.bbp-breadcrumb { font-size: .8125rem; color: var(--c-text-3); margin-bottom: 1rem; }
.bbp-breadcrumb a { color: var(--c-text-2) !important; }
.bbp-breadcrumb a:hover { color: var(--c-orange) !important; }

/* header/footer rows */
#bbpress-forums li.bbp-header { background: transparent !important; border: none !important; border-bottom: 1px solid var(--c-border) !important; }
#bbpress-forums li.bbp-header li { font-family: var(--font-display) !important; font-size: .6875rem !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .08em !important; color: var(--c-text-3) !important; }
#bbpress-forums li.bbp-footer { display: none !important; }

/* admin links */
#bbpress-forums .bbp-admin-links { font-size: .6875rem !important; opacity: 0; transition: opacity .15s; }
#bbpress-forums .bbp-body li:hover .bbp-admin-links { opacity: 1; }
#bbpress-forums .bbp-admin-links a { color: var(--c-text-3) !important; }
#bbpress-forums .bbp-admin-links a:hover { color: var(--c-orange) !important; }

/* ===========================================
   ARTICLE (About, Rules)
   =========================================== */
.af-article__title {
  font-size: 1.75rem !important; margin: 0 0 1.25rem !important;
  padding-bottom: 1rem; border-bottom: 1px solid var(--c-border);
}
.af-article__content h1, .af-article__content h2 { font-size: 1.125rem !important; margin: 1.75rem 0 .6rem !important; }
.af-article__content p { font-size: .9375rem !important; line-height: 1.7 !important; color: var(--c-text-2) !important; margin-bottom: .875rem !important; }
.af-article__content ul, .af-article__content ol { padding-left: 1.25rem !important; margin-bottom: 1rem !important; }
.af-article__content li { font-size: .9375rem !important; line-height: 1.7 !important; color: var(--c-text-2) !important; margin-bottom: .3rem !important; }
.af-article__content strong { color: var(--c-text) !important; }
.af-article__content a { color: var(--c-orange) !important; font-weight: 500 !important; }
.af-article__content a:hover { color: var(--c-orange-hover) !important; }

/* ===========================================
   BUDDYPRESS
   =========================================== */
#buddypress { font-family: var(--font-body) !important; }
#buddypress h1, #buddypress h2, #buddypress h3 { font-family: var(--font-display) !important; }
#buddypress #members-list li {
  background: var(--c-card); border: 1px solid var(--c-border);
  border-radius: var(--r-md); padding: 1rem; margin-bottom: .5rem;
}

/* ===========================================
   FOOTER
   =========================================== */
.af-footer {
  background: var(--c-navy); color: #64748B; margin-top: auto;
  border-top: 1px solid rgba(255,255,255,.06);
}
.af-footer__inner { max-width: 1120px; margin: 0 auto; padding: 3rem 1.25rem 2rem; }
.af-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 3rem; margin-bottom: 2rem; }
@media (max-width: 768px) { .af-footer__grid { grid-template-columns: 1fr; gap: 2rem; } }
.af-footer__col h4 {
  font-family: var(--font-display); font-size: .75rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .08em; color: #94A3B8; margin: 0 0 .75rem;
}
.af-footer__col a {
  display: block; font-size: .8125rem; color: #64748B !important; padding: .2rem 0; transition: color .15s;
}
.af-footer__col a:hover { color: var(--c-orange) !important; }
.af-footer__logo {
  font-family: var(--font-display); font-size: 1.25rem; font-weight: 700;
  color: #CBD5E1 !important; display: block; margin-bottom: .35rem;
}
.af-footer__logo:hover { color: #FFF !important; }
.af-footer__brand p { font-size: .8125rem; color: #475569; margin: 0 0 .35rem; }
.af-footer__copy { font-size: .75rem !important; color: #475569 !important; }
.af-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.06); padding-top: 1.25rem;
  font-size: .75rem; color: #475569; text-align: center;
}

/* ===========================================
   RESPONSIVE FINAL
   =========================================== */
@media (max-width: 768px) {
  .af-hero { padding: 3rem 1rem 2.5rem; }
  .af-hero__title { font-size: 1.75rem !important; }
  .af-section { padding: 2.5rem 1rem; }
  .af-contain { padding: 0 1rem; }
}

/* ===========================================
   SINGLE FORUM — banner header
   =========================================== */
.af-forum-banner {
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
  background: var(--c-card); border: 1px solid var(--c-border); border-radius: var(--r-lg);
  padding: 1.5rem 1.75rem; margin-bottom: 1.25rem; box-shadow: var(--shadow-sm);
}
.af-forum-banner__left { display: flex; align-items: center; gap: 1rem; }
.af-forum-banner__icon { font-size: 2rem; line-height: 1; }
.af-forum-banner__title { font-size: 1.35rem !important; margin: 0 !important; }
.af-forum-banner__desc { font-size: .875rem; color: var(--c-text-2); margin: .2rem 0 0; }
.af-forum-banner__right { display: flex; gap: 1.5rem; flex-shrink: 0; }
.af-forum-banner__stat {
  display: flex; flex-direction: column; align-items: center; gap: .1rem;
}
.af-forum-banner__stat strong {
  font-family: var(--font-mono); font-size: 1.25rem; font-weight: 700; color: var(--c-text);
}
.af-forum-banner__stat span { font-size: .6875rem; color: var(--c-text-3); text-transform: uppercase; letter-spacing: .06em; }
.af-forum-actions { margin-bottom: 1.25rem; }
@media (max-width: 600px) {
  .af-forum-banner { flex-direction: column; align-items: flex-start; }
  .af-forum-banner__right { flex-direction: row; gap: 1.5rem; }
}

/* ===========================================
   SINGLE TOPIC — breadcrumb + meta bar
   =========================================== */
.af-breadcrumb {
  font-family: var(--font-display); font-size: .8rem; color: var(--c-text-3);
  margin-bottom: .75rem; display: flex; align-items: center; gap: .4rem;
}
.af-breadcrumb a { color: var(--c-text-2) !important; font-weight: 500; }
.af-breadcrumb a:hover { color: var(--c-orange) !important; }
.af-breadcrumb span { color: var(--c-text-3); }

.af-topic-meta-bar {
  display: flex; flex-wrap: wrap; gap: .4rem; align-items: center;
  font-size: .8125rem; color: var(--c-text-3); margin-bottom: 1.5rem;
  padding-bottom: 1rem; border-bottom: 1px solid var(--c-border);
}
.af-topic-meta-bar strong { color: var(--c-orange); font-weight: 600; }

/* ===========================================
   VOTING WIDGET — Reddit-style
   =========================================== */
#bbpress-forums .bbp-voting,
#bbpress-forums .bbp-voting.bbp-voting-float {
  float: left !important; display: flex !important; flex-direction: column !important;
  align-items: center !important; gap: 0 !important;
  margin-right: 1rem !important; margin-top: .25rem !important;
  min-width: 40px !important;
}
#bbpress-forums .bbp-voting a.vote {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 36px !important; height: 28px !important;
  border-radius: var(--r-sm) !important; cursor: pointer !important;
  font-size: 0 !important; /* hide text */
  transition: all .15s !important; color: var(--c-text-3) !important;
  text-decoration: none !important; position: relative;
}
#bbpress-forums .bbp-voting a.vote::after {
  font-size: 14px; display: block;
}
#bbpress-forums .bbp-voting a.vote.up::after { content: '▲'; }
#bbpress-forums .bbp-voting a.vote.down::after { content: '▼'; }
#bbpress-forums .bbp-voting a.vote.up:hover { color: var(--c-orange) !important; background: rgba(249,115,22,.08) !important; }
#bbpress-forums .bbp-voting a.vote.down:hover { color: var(--c-indigo) !important; background: rgba(99,102,241,.08) !important; }
#bbpress-forums .bbp-voting a.vote.up.voted { color: var(--c-orange) !important; }
#bbpress-forums .bbp-voting a.vote.down.voted { color: var(--c-indigo) !important; }
#bbpress-forums .bbp-voting .score {
  font-family: var(--font-mono) !important; font-size: .9375rem !important;
  font-weight: 700 !important; color: var(--c-text) !important;
  text-align: center !important; padding: 2px 0 !important; line-height: 1 !important;
  min-width: 36px !important;
}

/* ===========================================
   TOPIC LIST IN FORUM — Reddit-style cards
   =========================================== */
#bbpress-forums ul.bbp-topics { padding: 0 !important; margin: 0 !important; }
#bbpress-forums ul.bbp-topics > li.bbp-header {
  background: transparent !important; border: none !important;
  display: none !important; /* hide header, the cards are self-explanatory */
}
#bbpress-forums ul.bbp-topics > li.bbp-body { padding: 0 !important; }
#bbpress-forums ul.bbp-topics > li.bbp-body > ul { padding: 0 !important; margin: 0 !important; }
#bbpress-forums ul.bbp-topics li.bbp-body li {
  display: flex !important; align-items: flex-start !important; gap: 1rem !important;
  background: var(--c-card) !important; border: 1px solid var(--c-border) !important;
  border-radius: var(--r-md) !important; padding: 1rem 1.25rem !important;
  margin-bottom: .5rem !important; box-shadow: var(--shadow-sm) !important;
  transition: border-color .15s, box-shadow .15s !important;
}
#bbpress-forums ul.bbp-topics li.bbp-body li:hover {
  border-color: var(--c-border-h) !important; box-shadow: var(--shadow-md) !important;
}
/* Topic voting inline */
#bbpress-forums ul.bbp-topics .bbp-voting { float: none !important; margin: 0 !important; flex-shrink: 0 !important; }
/* Topic title and meta */
#bbpress-forums ul.bbp-topics .bbp-topic-title { flex: 1 !important; min-width: 0 !important; }
#bbpress-forums ul.bbp-topics .bbp-topic-permalink {
  font-family: var(--font-display) !important; font-size: .9375rem !important;
  font-weight: 600 !important; color: var(--c-text) !important;
  text-decoration: none !important; display: block !important;
  line-height: 1.35 !important;
}
#bbpress-forums ul.bbp-topics .bbp-topic-permalink:hover { color: var(--c-orange) !important; }
#bbpress-forums ul.bbp-topics .bbp-topic-meta {
  margin-top: .3rem !important; font-size: .75rem !important; color: var(--c-text-3) !important;
}
#bbpress-forums ul.bbp-topics .bbp-topic-started-by { font-size: .75rem !important; color: var(--c-text-3) !important; }
#bbpress-forums ul.bbp-topics .bbp-topic-started-by a { color: var(--c-text-2) !important; font-weight: 500; }
/* Reply count */
#bbpress-forums ul.bbp-topics .bbp-topic-reply-count {
  font-family: var(--font-mono) !important; font-size: .75rem !important;
  color: var(--c-text-3) !important; white-space: nowrap !important; flex-shrink: 0 !important;
}
/* Freshness */
#bbpress-forums ul.bbp-topics .bbp-topic-freshness {
  font-size: .75rem !important; color: var(--c-text-3) !important;
  white-space: nowrap !important; flex-shrink: 0 !important; text-align: right !important;
}
/* Voice count — hide on topic list for cleaner look */
#bbpress-forums ul.bbp-topics .bbp-topic-voice-count { display: none !important; }

@media (max-width: 600px) {
  #bbpress-forums ul.bbp-topics li.bbp-body li {
    flex-wrap: wrap !important;
  }
  #bbpress-forums ul.bbp-topics .bbp-topic-reply-count,
  #bbpress-forums ul.bbp-topics .bbp-topic-freshness {
    flex-basis: auto !important;
  }
}

/* ===========================================
   SINGLE TOPIC — replies as cards
   =========================================== */
#bbpress-forums .bbp-replies { padding: 0 !important; margin: 0 !important; }
#bbpress-forums .bbp-replies > .bbp-header {
  background: transparent !important; border: none !important;
  border-bottom: 1px solid var(--c-border) !important;
  padding: .5rem 0 !important; margin-bottom: 1rem !important;
}
#bbpress-forums .bbp-replies > .bbp-header li {
  font-family: var(--font-display) !important; font-size: .7rem !important;
  text-transform: uppercase !important; letter-spacing: .08em !important;
  color: var(--c-text-3) !important;
}
#bbpress-forums .bbp-replies .bbp-body { padding: 0 !important; }
#bbpress-forums .bbp-replies .bbp-body > ul { padding: 0 !important; margin: 0 !important; }
#bbpress-forums .bbp-replies .bbp-body > ul > li,
#bbpress-forums .bbp-replies .bbp-body > li {
  background: var(--c-card) !important; border: 1px solid var(--c-border) !important;
  border-radius: var(--r-md) !important; padding: 0 !important;
  margin-bottom: .625rem !important; box-shadow: var(--shadow-sm) !important;
  overflow: hidden !important; transition: border-color .15s !important;
}
#bbpress-forums .bbp-replies .bbp-body li:hover { border-color: var(--c-border-h) !important; }

/* Reply header with date + post ID */
#bbpress-forums .bbp-reply-header,
#bbpress-forums .bbp-topic-header {
  background: var(--c-surface) !important; border-bottom: 1px solid var(--c-border) !important;
  padding: .4rem 1.25rem !important; display: flex !important;
  justify-content: space-between !important; align-items: center !important;
  font-size: .75rem !important; color: var(--c-text-3) !important;
}
#bbpress-forums .bbp-reply-header a { color: var(--c-text-3) !important; text-decoration: none !important; font-size: .75rem !important; }

/* Reply body */
#bbpress-forums .bbp-reply-content,
#bbpress-forums .bbp-topic-content {
  padding: 1rem 1.25rem !important; font-size: .9375rem !important; line-height: 1.7 !important;
}
#bbpress-forums .bbp-reply-content::after { content: ""; display: table; clear: both; }

/* Author sidebar */
#bbpress-forums .bbp-reply-author,
#bbpress-forums .bbp-topic-author {
  text-align: center;
}
#bbpress-forums .bbp-reply-author img.avatar,
#bbpress-forums .bbp-topic-author img.avatar {
  border-radius: 50% !important; border: 2px solid var(--c-border) !important;
}
#bbpress-forums a.bbp-author-name {
  font-family: var(--font-display) !important; font-weight: 600 !important;
  font-size: .8125rem !important; color: var(--c-orange) !important;
  text-decoration: none !important;
}
#bbpress-forums a.bbp-author-name:hover { color: var(--c-orange-hover) !important; }
#bbpress-forums .bbp-author-role {
  font-family: var(--font-display) !important; font-size: .6rem !important;
  font-weight: 600 !important; text-transform: uppercase !important;
  letter-spacing: .04em !important; color: var(--c-text-3) !important;
  background: var(--c-surface) !important; padding: .1rem .45rem !important;
  border-radius: var(--r-full) !important; display: inline-block !important;
}

/* Threaded replies — Reddit-style indent */
#bbpress-forums ul.bbp-threaded-replies {
  margin-left: 1.5rem !important; padding-left: 1rem !important;
  border-left: 2px solid var(--c-border) !important;
}

/* Rank badge from functions.php */
.af-flair {
  font-family: var(--font-display); font-size: .6rem; font-weight: 600;
  padding: .1rem .4rem; border-radius: var(--r-full);
  text-transform: uppercase; letter-spacing: .03em; display: inline-block;
}
.af-rank-newbie { background: #F1F5F9; color: #64748B; }
.af-rank-contributor { background: rgba(16,185,129,.1); color: #059669; }
.af-rank-regular { background: rgba(59,130,246,.1); color: #2563EB; }
.af-rank-veteran { background: rgba(99,102,241,.1); color: #4F46E5; }
.af-rank-expert { background: rgba(249,115,22,.1); color: #EA580C; }
.af-rank-guru { background: rgba(168,85,247,.1); color: #7C3AED; }
.af-rank-legend { background: rgba(245,158,11,.1); color: #D97706; border: 1px solid rgba(245,158,11,.3); }

/* ===========================================
   EMPTY STATES
   =========================================== */
.af-empty-state {
  text-align: center; padding: 3rem 1rem;
  background: var(--c-card); border: 1px dashed var(--c-border);
  border-radius: var(--r-lg); margin: 1rem 0;
}
.af-empty-state__icon { font-size: 2.5rem; margin-bottom: .75rem; }
.af-empty-state h3 { font-size: 1.125rem !important; margin: 0 0 .35rem !important; }
.af-empty-state p { color: var(--c-text-2); font-size: .9rem; margin: 0 0 1.25rem; }

/* ===========================================
   BUDDYPRESS PROFILE
   =========================================== */
#buddypress { font-family: var(--font-body) !important; }
#buddypress h1, #buddypress h2, #buddypress h3 { font-family: var(--font-display) !important; }

/* Profile header */
#buddypress #item-header-content {
  background: var(--c-card) !important; border: 1px solid var(--c-border) !important;
  border-radius: var(--r-lg) !important; padding: 1.5rem !important;
  box-shadow: var(--shadow-sm) !important;
}
#buddypress #item-header-avatar img {
  border-radius: 50% !important; border: 3px solid var(--c-border) !important;
}
#buddypress .item-title {
  font-family: var(--font-display) !important; font-size: 1.5rem !important;
  font-weight: 700 !important;
}
/* Nav tabs */
#buddypress .bp-navs li a,
#buddypress .item-list-tabs li a {
  font-family: var(--font-display) !important; font-size: .8125rem !important;
  font-weight: 500 !important; border-radius: var(--r-sm) !important;
  transition: all .15s !important;
}
#buddypress .bp-navs li.current a,
#buddypress .bp-navs li.selected a {
  background: var(--c-orange) !important; color: #FFF !important;
}
/* Member cards */
#buddypress #members-list li,
#buddypress ul.members-list li {
  background: var(--c-card) !important; border: 1px solid var(--c-border) !important;
  border-radius: var(--r-md) !important; padding: 1rem !important;
  margin-bottom: .5rem !important; transition: border-color .15s !important;
}
#buddypress #members-list li:hover { border-color: var(--c-border-h) !important; }
#buddypress #members-list .item-title a { color: var(--c-orange) !important; font-weight: 600 !important; }

/* Specialization badges */
.af-specialization-badge {
  font-family: var(--font-display); font-size: .6875rem; font-weight: 600;
  padding: .2rem .6rem; border-radius: var(--r-full);
  background: rgba(249,115,22,.08); color: var(--c-orange);
  border: 1px solid rgba(249,115,22,.2); display: inline-block; margin: .1rem;
}
.af-karma-display { font-family: var(--font-mono); font-weight: 600; color: var(--c-orange); }
.af-karma-label { font-size: .75rem; color: var(--c-text-3); }

/* Activity stream */
#buddypress ul.activity-list li {
  background: var(--c-card) !important; border: 1px solid var(--c-border) !important;
  border-radius: var(--r-md) !important; margin-bottom: .5rem !important;
  padding: 1rem !important;
}
/* BuddyPress search */
#buddypress .dir-search input[type="search"],
#buddypress .dir-search input[type="text"] {
  border: 1px solid var(--c-border) !important; border-radius: var(--r-md) !important;
  padding: .5rem .875rem !important; font-family: var(--font-body) !important;
  font-size: .875rem !important;
}
#buddypress .dir-search input:focus {
  border-color: var(--c-orange) !important;
  box-shadow: 0 0 0 3px rgba(249,115,22,.1) !important; outline: none !important;
}

/* ===========================================
   GLOBAL POLISH
   =========================================== */
/* All links in content orange on hover */
.af-article__content a:hover,
#bbpress-forums .bbp-reply-content a:hover,
#bbpress-forums .bbp-topic-content a:hover,
#buddypress a:hover { color: var(--c-orange-hover) !important; }

/* Timestamps — relative time already handled by PHP, just style */
.bbp-reply-post-date, .bbp-topic-freshness { color: var(--c-text-3) !important; }

/* Card hover effects — global */
.af-forum-card:hover, .af-topic-row:hover, .af-forum-row:hover {
  border-color: var(--c-orange) !important; box-shadow: var(--shadow-md) !important;
  transform: translateY(-1px);
}
/* Subtle transitions on everything */
.af-forum-card, .af-topic-row, .af-forum-row, .af-cat__header,
#bbpress-forums ul.bbp-topics li.bbp-body li,
#bbpress-forums .bbp-replies .bbp-body li,
#buddypress #members-list li {
  transition: border-color .15s, box-shadow .15s, transform .15s !important;
}

/* Notice boxes */
#bbpress-forums .bbp-template-notice {
  background: var(--c-card) !important; border: 1px solid var(--c-border) !important;
  border-left: 3px solid var(--c-orange) !important; border-radius: var(--r-md) !important;
  padding: .75rem 1.25rem !important; margin-bottom: 1rem !important;
}
#bbpress-forums .bbp-template-notice ul { margin: 0 !important; padding: 0 !important; }
#bbpress-forums .bbp-template-notice li,
#bbpress-forums .bbp-template-notice p { font-size: .875rem !important; color: var(--c-text-2) !important; margin: 0 !important; }

/* Pagination */
#bbpress-forums .bbp-pagination { margin: 1.5rem 0 !important; }
#bbpress-forums .bbp-pagination-count { font-size: .8125rem !important; color: var(--c-text-3) !important; }
#bbpress-forums .bbp-pagination-links a,
#bbpress-forums .bbp-pagination-links span.current {
  font-family: var(--font-display) !important; font-size: .8rem !important;
  font-weight: 600 !important; padding: .35rem .7rem !important;
  border-radius: var(--r-sm) !important;
}
#bbpress-forums .bbp-pagination-links a {
  color: var(--c-text-2) !important; border: 1px solid var(--c-border) !important;
}
#bbpress-forums .bbp-pagination-links a:hover {
  border-color: var(--c-orange) !important; color: var(--c-orange) !important;
}
#bbpress-forums .bbp-pagination-links span.current {
  background: var(--c-orange) !important; color: #FFF !important;
  border: 1px solid var(--c-orange) !important;
}

/* ===========================================
   FORMS — global bbPress forms
   =========================================== */
#bbpress-forums fieldset.bbp-form {
  background: var(--c-card) !important; border: 1px solid var(--c-border) !important;
  border-radius: var(--r-lg) !important; padding: 1.5rem !important;
  margin: 1.5rem 0 !important; box-shadow: var(--shadow-sm) !important;
}
#bbpress-forums fieldset.bbp-form legend {
  font-family: var(--font-display) !important; font-size: 1rem !important;
  font-weight: 600 !important; color: var(--c-text) !important;
}
#bbpress-forums fieldset.bbp-form label {
  font-family: var(--font-display) !important; font-size: .8125rem !important;
  font-weight: 500 !important; color: var(--c-text-2) !important;
}
#bbpress-forums fieldset.bbp-form input[type="text"],
#bbpress-forums fieldset.bbp-form input[type="password"],
#bbpress-forums fieldset.bbp-form textarea,
#bbpress-forums fieldset.bbp-form select {
  border: 1px solid var(--c-border) !important; border-radius: var(--r-md) !important;
  padding: .6rem .875rem !important; font-size: .9rem !important;
  font-family: var(--font-body) !important; width: 100% !important;
  box-sizing: border-box !important; transition: border-color .15s, box-shadow .15s !important;
}
#bbpress-forums fieldset.bbp-form input:focus,
#bbpress-forums fieldset.bbp-form textarea:focus {
  border-color: var(--c-orange) !important;
  box-shadow: 0 0 0 3px rgba(249,115,22,.1) !important; outline: none !important;
}
#bbpress-forums fieldset.bbp-form textarea {
  min-height: 120px !important; resize: vertical !important;
}
#bbpress-forums .bbp-submit-wrapper { text-align: right !important; margin-top: 1rem !important; }
#bbpress-forums .bbp-submit-wrapper button,
#bbpress-forums .bbp-submit-wrapper input[type="submit"],
#bbpress-forums button.button,
#bbpress-forums input.button[type="submit"] {
  font-family: var(--font-display) !important; font-weight: 600 !important;
  font-size: .875rem !important; background: var(--c-orange) !important;
  color: #FFF !important; border: none !important; border-radius: var(--r-md) !important;
  padding: .65rem 1.75rem !important; cursor: pointer !important;
  transition: all .15s !important;
}
#bbpress-forums .bbp-submit-wrapper button:hover,
#bbpress-forums .bbp-submit-wrapper input[type="submit"]:hover {
  background: var(--c-orange-hover) !important; transform: translateY(-1px) !important;
}

/* Admin links — show on hover */
#bbpress-forums .bbp-admin-links {
  font-size: .6875rem !important; opacity: 0 !important; transition: opacity .15s !important;
}
#bbpress-forums .bbp-body li:hover .bbp-admin-links { opacity: 1 !important; }
#bbpress-forums .bbp-admin-links a { color: var(--c-text-3) !important; }
#bbpress-forums .bbp-admin-links a:hover { color: var(--c-orange) !important; }

/* Hide footer rows, hide default search on forum pages */
#bbpress-forums li.bbp-footer { display: none !important; }
#bbpress-forums div.bbp-search-form { display: none !important; }
body.forum-archive #bbpress-forums { display: none !important; }

/* ===========================================
   FIX: Voting arrows — bbp-voting plugin overrides
   The plugin uses .bbp-voting .vote.up / .vote.down / .score
   =========================================== */
/* Reset plugin's default styles */
.bbp-voting, .bbp-voting.bbp-voting-float {
  float: left !important; display: flex !important; flex-direction: column !important;
  align-items: center !important; gap: 0 !important;
  margin-right: 1rem !important; min-width: 40px !important;
}
.bbp-voting a.vote {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 36px !important; height: 28px !important; border-radius: 6px !important;
  cursor: pointer !important; transition: all .15s !important;
  color: #94A3B8 !important; text-decoration: none !important;
  font-size: 0 !important; line-height: 0 !important; /* hide "Up"/"Down" text */
  background: transparent !important; border: none !important;
}
.bbp-voting a.vote::before {
  font-size: 12px !important; line-height: 1 !important; display: block !important;
}
.bbp-voting a.vote.up::before { content: '▲' !important; }
.bbp-voting a.vote.down::before { content: '▼' !important; }
.bbp-voting a.vote.up:hover,
.bbp-voting a.vote.up.voted { color: #F97316 !important; background: rgba(249,115,22,.08) !important; }
.bbp-voting a.vote.down:hover,
.bbp-voting a.vote.down.voted { color: #6366F1 !important; background: rgba(99,102,241,.08) !important; }
.bbp-voting .score {
  font-family: 'JetBrains Mono', monospace !important; font-size: .9375rem !important;
  font-weight: 700 !important; color: #0F172A !important;
  text-align: center !important; padding: 2px 0 !important; line-height: 1.2 !important;
  min-width: 36px !important; background: transparent !important;
  border: none !important;
}
/* Hide the "::after" separator that bbp-voting adds */
.bbp-voting + span[style*="display:none"] { display: none !important; }

/* ===========================================
   FIX: Topic cards in single forum — bbPress default grid
   Override the default bbPress topic list layout
   =========================================== */
#bbpress-forums ul.bbp-topics > li.bbp-body > ul { padding: 0 !important; margin: 0 !important; }
#bbpress-forums ul.bbp-topics > li.bbp-body > ul > li {
  display: flex !important; align-items: center !important; gap: .75rem !important;
  background: #FFF !important; border: 1px solid #E2E8F0 !important;
  border-radius: 10px !important; padding: 1rem 1.25rem !important;
  margin-bottom: .5rem !important; box-shadow: 0 1px 2px rgba(15,23,42,.05) !important;
  transition: border-color .15s, box-shadow .15s !important;
  list-style: none !important;
}
#bbpress-forums ul.bbp-topics > li.bbp-body > ul > li:hover {
  border-color: #CBD5E1 !important; box-shadow: 0 4px 12px rgba(15,23,42,.08) !important;
}
/* Voting inside topic cards — don't float */
#bbpress-forums ul.bbp-topics .bbp-voting {
  float: none !important; margin: 0 !important; flex-shrink: 0 !important;
}
/* Topic info area */
#bbpress-forums ul.bbp-topics .bbp-topic-title { flex: 1 !important; min-width: 0 !important; }
/* Counts */
#bbpress-forums ul.bbp-topics .bbp-topic-reply-count,
#bbpress-forums ul.bbp-topics .bbp-topic-voice-count {
  font-family: 'JetBrains Mono', monospace !important; font-size: .75rem !important;
  color: #94A3B8 !important; white-space: nowrap !important; text-align: center !important;
}
/* Freshness */
#bbpress-forums ul.bbp-topics .bbp-topic-freshness {
  font-size: .75rem !important; color: #94A3B8 !important; white-space: nowrap !important;
  text-align: right !important;
}
/* Hide voice count for cleaner look */
#bbpress-forums ul.bbp-topics .bbp-topic-voice-count { display: none !important; }
/* Header row — hide */
#bbpress-forums ul.bbp-topics > li.bbp-header { display: none !important; }

/* ===========================================
   FIX: Reply cards elevation on single topic page
   =========================================== */
#bbpress-forums .bbp-replies .bbp-body > ul > li,
#bbpress-forums .bbp-replies .bbp-body > li {
  background: #FFF !important; border: 1px solid #E2E8F0 !important;
  border-radius: 10px !important; margin-bottom: .75rem !important;
  padding: 0 !important; overflow: hidden !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.05) !important;
  transition: border-color .15s !important;
}
#bbpress-forums .bbp-replies .bbp-body li:hover {
  border-color: #CBD5E1 !important;
}
/* Reply header bar */
#bbpress-forums .bbp-reply-header,
#bbpress-forums .bbp-topic-header {
  background: #F8FAFC !important; border-bottom: 1px solid #E2E8F0 !important;
  padding: .45rem 1.25rem !important; display: flex !important;
  justify-content: space-between !important; align-items: center !important;
  font-size: .75rem !important; color: #94A3B8 !important;
}
#bbpress-forums .bbp-reply-header a { color: #94A3B8 !important; text-decoration: none !important; font-size: .75rem !important; }
/* Reply body */
#bbpress-forums .bbp-reply-content,
#bbpress-forums .bbp-topic-content {
  padding: 1rem 1.25rem !important;
}
#bbpress-forums .bbp-reply-content::after { content: ""; display: table; clear: both; }

/* Author name always orange */
#bbpress-forums a.bbp-author-name,
#bbpress-forums .bbp-author-name {
  color: #F97316 !important; font-weight: 600 !important;
  font-family: 'Sora', sans-serif !important; font-size: .8125rem !important;
}

/* ===========================================
   FIX: Login page — doubled "ad" text
   The ::before/::after approach duplicates text.
   Use a clean approach instead.
   =========================================== */
/* This overrides the functions.php inline styles */

/* ===========================================
   NUCLEAR FIX: bbp-voting plugin arrow override
   The plugin uses CSS border-triangles. Replace entirely.
   =========================================== */
.bbp-voting { margin: 8px 16px 0 0 !important; min-width: 40px !important; }
.bbp-voting a.vote {
  text-indent: 0 !important; width: 36px !important; height: 28px !important;
  border: none !important; border-left: none !important; border-right: none !important;
  border-top: none !important; border-bottom: none !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  margin: 0 auto !important; border-radius: 6px !important;
  font-size: 0 !important; overflow: visible !important;
  background: transparent !important; cursor: pointer !important;
  transition: all .15s !important;
}
.bbp-voting a.vote::before {
  font-size: 11px !important; line-height: 1 !important; display: block !important;
  text-indent: 0 !important; color: #94A3B8;
}
.bbp-voting a.vote.up { border-bottom: none !important; }
.bbp-voting a.vote.up::before { content: '\25B2' !important; }
.bbp-voting a.vote.up:hover { background: rgba(249,115,22,.08) !important; }
.bbp-voting a.vote.up:hover::before { color: #F97316 !important; }
.bbp-voting a.vote.down { border-top: none !important; }
.bbp-voting a.vote.down::before { content: '\25BC' !important; }
.bbp-voting a.vote.down:hover { background: rgba(99,102,241,.08) !important; }
.bbp-voting a.vote.down:hover::before { color: #6366F1 !important; }
/* Voted states */
.bbp-voting.voted-up a.vote.up { border-bottom-color: transparent !important; }
.bbp-voting.voted-up a.vote.up::before { color: #F97316 !important; }
.bbp-voting.voted-down a.vote.down { border-top-color: transparent !important; }
.bbp-voting.voted-down a.vote.down::before { color: #6366F1 !important; }
/* Score */
.bbp-voting .score {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 1rem !important; font-weight: 700 !important;
  color: #0F172A !important; text-align: center !important;
  padding: 1px 0 !important; line-height: 1.2 !important;
  text-shadow: none !important;
}
/* Hide the data-votes tooltip on hover */
.bbp-voting a.vote::after { display: none !important; opacity: 0 !important; }
