/* ============================================
   RCCF SITEWIDE BRAND CSS
   Applies navy/gold palette + Source Sans Pro
   to Astra defaults, bbPress, and Ultimate Member
   across every page except the custom homepage.
   ============================================ */

:root{
  --rccf-navy:#054D6F;
  --rccf-blue:#3F8CC9;
  --rccf-blue-pale:#EAF3FA;
  --rccf-gold:#C9932F;
  --rccf-ink:#1C2430;
  --rccf-ink-soft:#4A5568;
  --rccf-line:#DDE3E8;
}

/* ---- Typography ---- */
body, .ast-container, p, li, a, span, div {
  font-family: 'Source Sans Pro', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 700;
  color: var(--rccf-navy);
}

/* ---- Astra header (site-title, nav links) ---- */
.site-header .site-title a,
.ast-header-titlebar .site-title a {
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 700;
  color: var(--rccf-navy) !important;
}
.main-header-menu a,
.ast-header-navigation a {
  color: var(--rccf-ink) !important;
  font-weight: 500;
}
.main-header-menu a:hover,
.ast-header-navigation a:hover {
  color: var(--rccf-blue) !important;
}
.site-header,
.ast-header-break-point .site-header {
  border-bottom: 1px solid var(--rccf-line);
}

/* ---- Astra footer ---- */
.ast-small-footer,
footer.site-footer {
  background: var(--rccf-navy) !important;
  color: #A9B9D6 !important;
}
.ast-small-footer a { color: #fff !important; }

/* ---- Links & buttons everywhere ---- */
a { color: var(--rccf-blue); }
a:hover { color: var(--rccf-navy); }

.ast-button, button, input[type="submit"],
.bbp-submit-wrapper button,
.um-button {
  background: var(--rccf-navy) !important;
  color: #fff !important;
  border-radius: 2px !important;
  font-weight: 500 !important;
  border: none !important;
}
.ast-button:hover, button:hover, input[type="submit"]:hover,
.um-button:hover {
  background: var(--rccf-blue) !important;
}

/* ---- bbPress forum listings ---- */
.bbp-forums-list, .bbp-topics-list, .bbp-forum-content {
  border: 1px solid var(--rccf-line);
  border-radius: 8px;
  overflow: hidden;
}
li.bbp-header, li.bbp-body > ul, li.bbp-footer {
  background: var(--rccf-blue-pale);
}
li.bbp-forum-info a, li.bbp-topic-title a {
  font-size: 19px;
  color: var(--rccf-navy) !important;
  font-weight: 600;
}
.bbp-topic-meta, .bbp-forum-freshness-info {
  color: var(--rccf-ink-soft);
  font-size: 13px;
}
div.bbp-breadcrumb {
  color: var(--rccf-ink-soft);
  font-size: 13px;
  margin-bottom: 20px;
}

/* ---- Research archive (research CPT) ---- */
.type-research {
  border: 1px solid var(--rccf-line);
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 16px;
}
.type-research:hover { background: var(--rccf-blue-pale); box-shadow: 0 4px 14px rgba(5,77,111,.12); cursor: pointer; }

/* ---- Ultimate Member profile pages ---- */
.um-profile-body, .um-account-side, .um-form {
  font-family: 'Source Sans Pro', sans-serif;
}
.um-profile .um-cover, .um-profile-photo {
  border-color: var(--rccf-navy) !important;
}
.um-profile-nav-item a.active, .um-profile-nav-item a:hover, .um-profile-nav-item a {
  color: var(--rccf-navy) !important;
  border-color: var(--rccf-navy) !important;
}

/* ---- Remove Astra's "Powered by" credit line for a cleaner footer ---- */
.ast-footer-copyright .footer-adv,
.ast-small-footer .footer-adv {
  display: none;
}

/* ---- Page title bar ---- */
.ast-archive-title, .page-title, .entry-title {
  color: var(--rccf-navy);
  font-weight: 700;
}

/* Make the whole research card clickable, not just the title text */
.type-research { position: relative; }
.type-research .entry-title a::after {
  content: "";
  position: absolute;
  inset: 0;
}

/* Force white page background everywhere, overriding Astra's per-page background setting */
body, #content.site-content, .ast-container, .site-main, #primary.content-area {
  background: #fff !important;
}

/* Replace browser default dotted focus outline with a cleaner brand-colored one */
a:focus-visible, .type-research a:focus-visible {
  outline: 2px solid var(--rccf-blue);
  outline-offset: 2px;
}


/* Hide redundant "By [author] /" byline on bbPress forum/topic pages - doesn't make sense for a forum listing */
.single-forum .entry-meta,
.single-topic .entry-meta,
body.forum .entry-meta {
  display: none;
}

/* Hide "This forum is empty" notice when subforums actually exist below it (misleading otherwise) */
.bbp-template-notice:has(+ ul.bbp-forums) {
  display: none;
}

/* Remove underline from forum/topic title links */
li.bbp-forum-info a,
li.bbp-topic-title a {
  text-decoration: none !important;
}

/* Pin Astra's real header to the top of the viewport while scrolling */
.site-header {
  position: sticky;
  top: 0;
  z-index: 999;
}

/* Research Repository: sector overview + filtered list */
.rccf-sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;}
.rccf-sector-card{border:1px solid var(--rccf-line);border-radius:10px;padding:28px 20px;text-align:center;text-decoration:none;transition:background .15s,box-shadow .15s;display:block;}
.rccf-sector-card:hover{background:var(--rccf-blue-pale);box-shadow:0 4px 14px rgba(5,77,111,.12);}
.rccf-sector-card h3{color:var(--rccf-navy);font-size:18px;margin:10px 0 4px;}
.rccf-sector-count{color:var(--rccf-ink-soft);font-size:13px;}
.rccf-filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 24px;align-items:center;}
.rccf-filter-bar select,.rccf-filter-bar input[type=text]{padding:9px 12px;border:1px solid var(--rccf-line);border-radius:4px;font-family:'Source Sans Pro',sans-serif;font-size:14px;}
.rccf-filter-bar input[type=text]{flex:1;min-width:180px;}
.rccf-filter-bar button{background:var(--rccf-navy);color:#fff;border:none;padding:9px 20px;border-radius:4px;font-weight:500;cursor:pointer;}
.rccf-back-link{display:inline-block;margin-bottom:16px;color:var(--rccf-navy);font-weight:500;text-decoration:none;}
.rccf-result-item{border:1px solid var(--rccf-line);border-radius:8px;padding:18px 20px;margin-bottom:12px;display:block;text-decoration:none;transition:background .15s;}
.rccf-result-item:hover{background:var(--rccf-blue-pale);}
.rccf-result-title{color:var(--rccf-navy);font-weight:600;font-size:16px;}
.rccf-result-meta{color:var(--rccf-ink-soft);font-size:13px;margin-top:4px;}
.rccf-pagination{display:flex;gap:8px;justify-content:center;margin-top:24px;flex-wrap:wrap;}
.rccf-pagination a,.rccf-pagination span{padding:8px 14px;border:1px solid var(--rccf-line);border-radius:4px;text-decoration:none;color:var(--rccf-navy);font-size:14px;}
.rccf-pagination .current{background:var(--rccf-navy);color:#fff;border-color:var(--rccf-navy);}
@media (max-width:640px){
  .rccf-sector-grid{grid-template-columns:1fr;}
}

/* Research Repository: sector overview + filtered list */
.rccf-sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;}
.rccf-sector-card{border:1px solid var(--rccf-line);border-radius:10px;padding:28px 20px;text-align:center;text-decoration:none;transition:background .15s,box-shadow .15s;display:block;}
.rccf-sector-card:hover{background:var(--rccf-blue-pale);box-shadow:0 4px 14px rgba(5,77,111,.12);}
.rccf-sector-card h3{color:var(--rccf-navy);font-size:18px;margin:10px 0 4px;}
.rccf-sector-count{color:var(--rccf-ink-soft);font-size:13px;}
.rccf-filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 24px;align-items:center;}
.rccf-filter-bar select,.rccf-filter-bar input[type=text]{padding:9px 12px;border:1px solid var(--rccf-line);border-radius:4px;font-family:'Source Sans Pro',sans-serif;font-size:14px;}
.rccf-filter-bar input[type=text]{flex:1;min-width:180px;}
.rccf-filter-bar button{background:var(--rccf-navy);color:#fff;border:none;padding:9px 20px;border-radius:4px;font-weight:500;cursor:pointer;}
.rccf-back-link{display:inline-block;margin-bottom:16px;color:var(--rccf-navy);font-weight:500;text-decoration:none;}
.rccf-result-item{border:1px solid var(--rccf-line);border-radius:8px;padding:18px 20px;margin-bottom:12px;display:block;text-decoration:none;transition:background .15s;}
.rccf-result-item:hover{background:var(--rccf-blue-pale);}
.rccf-result-title{color:var(--rccf-navy);font-weight:600;font-size:16px;}
.rccf-result-meta{color:var(--rccf-ink-soft);font-size:13px;margin-top:4px;}
.rccf-pagination{display:flex;gap:8px;justify-content:center;margin-top:24px;flex-wrap:wrap;}
.rccf-pagination a,.rccf-pagination span{padding:8px 14px;border:1px solid var(--rccf-line);border-radius:4px;text-decoration:none;color:var(--rccf-navy);font-size:14px;}
.rccf-pagination .current{background:var(--rccf-navy);color:#fff;border-color:var(--rccf-navy);}
@media (max-width:640px){
  .rccf-sector-grid{grid-template-columns:1fr;}
}

/* .section-block/.wrap were only ever defined inline on the homepage - give them
   real definitions here so WordPress-rendered pages (like the research archive)
   using the same class pattern actually stretch to fill their flex parent */
.section-block{padding:64px 40px 20px;width:100%;box-sizing:border-box;}
.wrap{max-width:1600px;margin:0 auto;width:100%;box-sizing:border-box;}

/* Register page: un-float/full-width the button column now that the Login link is hidden,
   so Back/Register no longer squeeze into UM's original half-width layout and overlap */
body.page-id-24 .um-left.um-half {
  float: none !important;
  width: 100% !important;
  display: block !important;
}
body.page-id-24 .rccf-step-nav {
  margin-bottom: 12px;
}

/* RCCF: forum list as tile grid (no PHP template changes — targets existing bbPress markup) */
#bbpress-forums .bbp-forums > li.bbp-header,
#bbpress-forums .bbp-forums > li.bbp-footer {
    display: none;
}

#bbpress-forums .bbp-forums > li.bbp-body {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    width: 100%;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    background: #FFFFFF;
    border: 1px solid #E1E8ED;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics):hover {
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-info {
    flex: 1 1 100%;
    order: 1;
    width: 100%;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-title {
    font-size: 1.05em;
    font-weight: 600;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-content {
    color: #5F6B76;
    font-size: 0.88em;
    margin-top: 6px !important;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-topic-count,
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-reply-count,
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-freshness {
    flex: 0 0 auto;
    order: 2;
    font-size: 0.78em;
    color: #7A8B99;
    margin-top: 14px;
    padding-top: 10px;
    border-top: 1px solid #F0F4F7;
    width: auto;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-topic-count::before {
    content: "Topics: ";
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-reply-count::before {
    content: "Posts: ";
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-freshness {
    flex-basis: 100%;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-topic-freshness-author img {
    width: 20px;
    height: 20px;
    vertical-align: middle;
    border-radius: 50%;
}

@media (max-width: 600px) {
    #bbpress-forums .bbp-forums > li.bbp-body {
        grid-template-columns: 1fr;
    }
}

/* RCCF: tile grid — v2 sizing/spacing fixes */
#bbpress-forums .bbp-forums > li.bbp-body {
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 24px;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) {
    padding: 26px;
    min-height: 200px;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .rccf-forum-icon {
    width: 52px !important;
    height: 52px !important;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .rccf-forum-icon .dashicons,
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .rccf-forum-icon span[style*="width:18px"] {
    font-size: 24px !important;
    width: 24px !important;
    height: 24px !important;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-title {
    font-size: 1.2em;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-content {
    font-size: 0.95em;
    line-height: 1.5;
    margin-top: 10px !important;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-topic-count,
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-reply-count {
    font-size: 0.85em;
    margin-right: 20px;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-freshness {
    font-size: 0.85em;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-topic-freshness-author img {
    width: 24px;
    height: 24px;
}

/* RCCF: tile grid — v3 icon-left horizontal card layout */
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-info {
    display: grid !important;
    grid-template-columns: 52px 1fr;
    column-gap: 18px;
    row-gap: 6px;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .rccf-forum-title-row {
    display: contents !important;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .rccf-forum-icon {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-title {
    grid-column: 2;
    grid-row: 1;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-content {
    grid-column: 2;
    grid-row: 2;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-row-actions,
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-info > .bbp-forums {
    grid-column: 1 / -1;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-topic-count,
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-reply-count,
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-freshness {
    margin-left: 70px;
}

/* RCCF: tile grid — v4 title on own row, icon beside description, stats inline with pipe */
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) {
    display: grid !important;
    grid-template-columns: 52px 1fr auto auto;
    column-gap: 18px;
    row-gap: 10px;
    align-items: start;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-info {
    display: contents !important;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-title {
    grid-column: 1 / -1;
    grid-row: 1;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .rccf-forum-icon {
    grid-column: 1;
    grid-row: 2;
    align-self: center;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-content {
    grid-column: 2;
    grid-row: 2;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-topic-count {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    margin: 0;
    padding: 0;
    border-top: none;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-reply-count {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    margin: 0;
    padding: 0;
    border-top: none;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-reply-count::before {
    content: "| Posts: ";
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-freshness {
    grid-column: 1 / -1;
    grid-row: 3;
    margin: 10px 0 0;
    padding-top: 10px;
    border-top: 1px solid #F0F4F7;
}

/* RCCF: tile grid — v5 vertical pipe divider, stats stacked vertically */
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) {
    grid-template-columns: 52px 1fr auto;
    grid-template-rows: auto auto auto auto;
    row-gap: 6px;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-title {
    grid-column: 1 / -1;
    grid-row: 1;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .rccf-forum-icon {
    grid-column: 1;
    grid-row: 2 / span 2;
    align-self: center;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-content {
    grid-column: 2;
    grid-row: 2 / span 2;
    align-self: start;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-topic-count {
    grid-column: 3;
    grid-row: 2;
    align-self: end;
    border-left: 1px solid #E1E8ED;
    padding-left: 14px;
    margin: 0;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-reply-count {
    grid-column: 3;
    grid-row: 3;
    align-self: start;
    border-left: 1px solid #E1E8ED;
    padding-left: 14px;
    margin: 0;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-reply-count::before {
    content: "Posts: ";
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-freshness {
    grid-column: 1 / -1;
    grid-row: 4;
}

/* RCCF: tile grid — v6 description: 2-line clamp, larger text */
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-content {
    font-size: 1.05em;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* RCCF: tile grid — v7 hide last-post author/time from forum list tiles */
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-freshness {
    display: none;
}

/* RCCF: tile grid — v8 remove fixed min-height, add title-to-body spacing */
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) {
    min-height: auto;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .rccf-forum-icon,
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-content,
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-topic-count {
    margin-top: 14px;
}

/* RCCF: tile grid — v9 pin explicit base font-size so em-based card sizing is predictable */
#bbpress-forums {
    font-size: 16px;
}

/* RCCF: Presentation mode — activated via ?present=1, scales content for projector/casting */
body.rccf-presentation-mode {
    zoom: 1.4;
}

/* RCCF: widen Astra's core content container */
.ast-container {
    max-width: 1600px !important;
}

/* RCCF: Presentation mode — force 3 columns regardless of zoom-reduced effective width */
body.rccf-presentation-mode #bbpress-forums .bbp-forums > li.bbp-body {
    grid-template-columns: repeat(3, 1fr);
}

/* RCCF: Presentation mode — scale content only, leave header at normal size to avoid breakpoint wrap */
body.rccf-presentation-mode {
    zoom: 1;
}

body.rccf-presentation-mode #content.site-content {
    zoom: 1.4;
}

/* RCCF: tile cards — larger default text (not presentation-mode only) */
#bbpress-forums {
    font-size: 18px;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-title {
    font-size: 1.25em;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-content {
    font-size: 1.1em;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-topic-count,
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-reply-count {
    font-size: 0.95em;
}

/* RCCF: tile cards — bigger default text, second pass */
#bbpress-forums {
    font-size: 22px;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-title {
    font-size: 1.3em;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .bbp-forum-content {
    font-size: 1.15em;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-topic-count,
#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) > li.bbp-forum-reply-count {
    font-size: 1em;
}

#bbpress-forums ul[id^="bbp-forum-"]:not(.bbp-topics) .rccf-forum-icon {
    width: 58px !important;
    height: 58px !important;
}

/* RCCF: reset wrapper font-size, scope the larger size specifically to the forum-listing tile grid */
#bbpress-forums {
    font-size: 16px;
}

#bbpress-forums .bbp-forums {
    font-size: 22px;
}

/* RCCF: reply-card avatar — was missing border-radius, rendering as a rectangle */
.rccf-reply-meta img {
    border-radius: 50%;
    object-fit: cover;
}

/* RCCF: circular avatars everywhere in the topic view — lead post AND replies */
#bbpress-forums .bbp-author-avatar img {
    border-radius: 50%;
    object-fit: cover;
}

.rccf-reply-namedate {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* RCCF: hide the duplicate avatar/name/date row inside reply cards —
   this info is already shown by the sidebar avatar and the header date bar. */
.rccf-reply-meta {
    display: none;
}

/* RCCF: compact "Reply to this" button, XDA-style — small outlined pill instead of a solid block */
.rccf-quote-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: transparent !important;
    border: 1px solid var(--rccf-line) !important;
    color: var(--rccf-ink-soft) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    cursor: pointer;
    width: auto !important;
    line-height: 1.2 !important;
}

.rccf-quote-btn:hover {
    background: var(--rccf-blue-pale) !important;
    border-color: var(--rccf-blue) !important;
    color: var(--rccf-blue) !important;
}

/* RCCF: "Submit Your Work" suggestion at the bottom of the research/publications list */
.rccf-submit-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    background: var(--rccf-blue-pale);
    border: 1px solid var(--rccf-line);
    border-radius: 12px;
    padding: 24px 28px;
    margin-top: 32px;
}

.rccf-submit-cta-text h3 {
    margin: 0 0 6px;
    color: var(--rccf-navy);
    font-size: 18px;
}

.rccf-submit-cta-text p {
    margin: 0;
    color: var(--rccf-ink-soft);
    font-size: 14px;
}

.rccf-submit-cta-btn {
    background: var(--rccf-gold);
    color: var(--rccf-ink);
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 700;
    font-size: 14px;
    padding: 12px 22px;
    border-radius: 6px;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
}

.rccf-submit-cta-btn:hover {
    background: #B37F1F;
    color: var(--rccf-ink);
}

@media (max-width: 600px) {
    .rccf-submit-cta {
        flex-direction: column;
        align-items: flex-start;
    }
    .rccf-submit-cta-btn {
        width: 100%;
        text-align: center;
    }
}

/* Forum groups: green = environment topics, blue = administrative topics */
#bbpress-forums ul.forum.rccf-group-green {
  border-left: 5px solid #2E7D32;
  background: #F1F8F2;
}
#bbpress-forums ul.forum.rccf-group-blue {
  border-left: 5px solid #3F8CC9;
  background: #EEF5FB;
}
#bbpress-forums ul.forum.rccf-group-green li.bbp-forum-info a.bbp-forum-title {
  color: #1B5E20;
}
#bbpress-forums ul.forum.rccf-group-blue li.bbp-forum-info a.bbp-forum-title {
  color: #054D6F;
}

/* Forum index cards: square icon left; title + description stacked to its right, vertically centred */
#bbpress-forums ul.forum { align-items: center; }
#bbpress-forums ul.forum li.bbp-forum-info {
  display: grid !important;
  grid-template-columns: 56px 1fr;
  column-gap: 16px;
  align-items: center;
  align-content: center;
  min-height: 0 !important;
}
#bbpress-forums ul.forum li.bbp-forum-info .rccf-forum-title-row { display: contents !important; }
#bbpress-forums ul.forum li.bbp-forum-info .rccf-forum-icon {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 56px !important;
  height: 56px !important;
  border-radius: 12px !important;
}
#bbpress-forums ul.forum li.bbp-forum-info .rccf-forum-title-row > *:not(.rccf-forum-icon),
#bbpress-forums ul.forum li.bbp-forum-info > a.bbp-forum-title {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  margin: 0;
}
#bbpress-forums ul.forum li.bbp-forum-info .bbp-forum-content {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  margin: 0 !important;
  padding: 2px 0 0 !important;
}
#bbpress-forums ul.forum li.bbp-forum-info .bbp-forum-content:empty { display: none; }
#bbpress-forums ul.forum li.bbp-forum-info:has(.bbp-forum-content:empty) .rccf-forum-title-row > *:not(.rccf-forum-icon) { align-self: center; }

/* Homepage forum tiles: square icon box left; title, description and counts to its right */
.rccf-ft-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .rccf-ft-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .rccf-ft-grid { grid-template-columns: 1fr; } }
a.rccf-ft-tile { display: flex; align-items: center; gap: 16px; padding: 16px; min-height: 96px; background: #fff; border: 1px solid #DCE6EE; border-left: 4px solid #2E7D32; border-radius: 8px; color: #054D6F; text-decoration: none; }
a.rccf-ft-tile.rccf-ft-blue { border-left-color: #3F8CC9; }
a.rccf-ft-tile:hover { box-shadow: 0 2px 10px rgba(5, 77, 111, 0.14); }
.rccf-ft-icon { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.rccf-ft-icon .dashicons { font-size: 28px; width: 28px; height: 28px; }
.rccf-ft-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rccf-ft-title { font-weight: 700; font-size: 16px; line-height: 1.25; }
.rccf-ft-desc { font-size: 13px; line-height: 1.35; color: #5B6B76; }
.rccf-ft-meta { display: flex; gap: 14px; font-size: 12px; color: #5B6B76; }
.rccf-ft-meta .dashicons { font-size: 14px; width: 14px; height: 14px; vertical-align: text-bottom; }
.rccf-ft-all { margin: 20px 0 0; font-weight: 600; }

/* Topic rows (XDA-style): avatar left; title, then a spaced meta line with icons */
.rccf-tr { display: flex; align-items: center; gap: 16px; }
.rccf-tr-avatar { flex: 0 0 44px; }
.rccf-tr-avatar a { display: block; line-height: 0; }
.rccf-tr-avatar img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.rccf-tr-body { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
a.bbp-topic-permalink.rccf-tr-title { font-size: 18px; font-weight: 700; line-height: 1.3; color: #054D6F; }
.rccf-tr-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; font-size: 13px; color: #5B6B76; }
.rccf-tr-stat { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.rccf-tr-stat .dashicons { font-size: 16px; width: 16px; height: 16px; color: #8A9AA5; }
.rccf-tr-stat a { color: #054D6F; font-weight: 600; text-decoration: none; }
.rccf-tr-stat a:hover { text-decoration: underline; }
@media (max-width: 600px) {
  .rccf-tr { align-items: flex-start; gap: 12px; }
  .rccf-tr-avatar { flex-basis: 36px; }
  .rccf-tr-avatar img { width: 36px; height: 36px; }
  a.bbp-topic-permalink.rccf-tr-title { font-size: 16px; }
  .rccf-tr-meta { gap: 6px 14px; }
}

/* Topic row meta: the time link must not inherit the large topic-title link style */
li.bbp-topic-title .rccf-tr-meta,
li.bbp-topic-title .rccf-tr-meta a {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  color: #5B6B76;
  text-decoration: none;
}
li.bbp-topic-title .rccf-tr-meta a:hover { color: #054D6F; text-decoration: underline; }

/* Topic row: stats column on the right, divider, then last activity (desktop only) */
@media (min-width: 761px) {
  li.bbp-topic-title .rccf-tr { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; column-gap: 16px; align-items: center; }
  li.bbp-topic-title .rccf-tr-body { display: contents; }
  li.bbp-topic-title .rccf-tr-avatar { grid-column: 1; grid-row: 1; }
  li.bbp-topic-title .rccf-tr .rccf-tr-title { grid-column: 2; grid-row: 1; align-self: center; }
  li.bbp-topic-title .rccf-tr .bbp-topic-pagination { grid-column: 2; grid-row: 2; }
  li.bbp-topic-title .rccf-tr .rccf-tr-meta {
    grid-column: 3; grid-row: 1;
    display: grid; grid-template-columns: 150px 210px; grid-template-rows: auto auto;
    gap: 4px 0; align-items: center;
  }
  li.bbp-topic-title .rccf-tr-meta .rccf-tr-stat:nth-child(1) { grid-column: 1; grid-row: 1; }
  li.bbp-topic-title .rccf-tr-meta .rccf-tr-stat:nth-child(2) { grid-column: 1; grid-row: 2; }
  li.bbp-topic-title .rccf-tr-meta .rccf-tr-stat:nth-child(3) {
    grid-column: 2; grid-row: 1 / span 2; align-self: stretch;
    display: flex; align-items: center;
    border-left: 1px solid #DCE6EE; padding-left: 20px;
  }
}

/* Breadcrumb box spans the full content width (matches the banner above it) */
#bbpress-forums .bbp-breadcrumb,
#bbpress-forums .bbp-breadcrumb > p {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  float: none !important;
}

/* Post cards (XDA-style): tinted author panel left, header row + body right */
#bbpress-forums div.rccf-post {
  display: grid; grid-template-columns: 200px minmax(0, 1fr);
  margin: 0 0 20px !important; padding: 0 !important;
  background: #fff !important; border: 1px solid #DCE6EE !important; border-radius: 12px;
  overflow: hidden; box-shadow: 0 1px 3px rgba(5, 77, 111, 0.06);
}
.rccf-post-author { background: #F1F6FA; border-right: 1px solid #DCE6EE; padding: 24px 16px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
#bbpress-forums .rccf-post-avatar img { width: 72px !important; height: 72px !important; border-radius: 50%; object-fit: cover; }
.rccf-post-name a { font-weight: 700; color: #054D6F; text-decoration: none; overflow-wrap: anywhere; }
.rccf-post-role { display: inline-block; padding: 2px 10px; border-radius: 999px; background: #E3EFF9; color: #185FA5; font-size: 12px; font-weight: 600; }
.rccf-post-author .bbp-reply-ip { font-size: 11px; color: #8A9AA5; }
.rccf-post-main { min-width: 0; display: flex; flex-direction: column; }
.rccf-post-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; padding: 14px 24px; border-bottom: 1px solid #E6EDF3; font-size: 13px; color: #5B6B76; }
.rccf-post-tools { display: inline-flex; align-items: center; gap: 14px; }
.rccf-post-tools span.bbp-admin-links { float: none !important; font-size: 12px; }
a.rccf-post-num { color: #5B6B76; font-weight: 600; text-decoration: none; }
.rccf-share-btn { background: none; border: 0; padding: 0; cursor: pointer; color: #8A9AA5; line-height: 1; }
.rccf-share-btn .dashicons { font-size: 18px; width: 18px; height: 18px; }
.rccf-share-btn:hover, .rccf-share-btn.rccf-copied { color: #054D6F; }
.rccf-post-body { padding: 20px 24px 24px; font-size: 16px; line-height: 1.6; }
.rccf-post-body p { margin: 0 0 12px; }
@media (max-width: 760px) {
  #bbpress-forums div.rccf-post { grid-template-columns: 1fr; }
  .rccf-post-author { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; text-align: left; padding: 14px 16px; border-right: 0; border-bottom: 1px solid #DCE6EE; gap: 6px 12px; }
  #bbpress-forums .rccf-post-avatar img { width: 40px !important; height: 40px !important; }
  .rccf-post-head, .rccf-post-body { padding-left: 16px; padding-right: 16px; }
}

/* Post author panel: no underline on the name; role pill directly under the name on mobile */
#bbpress-forums .rccf-post-name a,
#bbpress-forums .rccf-post-name a:hover,
#bbpress-forums .rccf-post-name a:focus,
#bbpress-forums .rccf-post-name .bbp-author-name {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
#bbpress-forums .rccf-post-name a:hover { color: #3F8CC9; }
a.rccf-post-num, a.rccf-post-num:hover { text-decoration: none !important; }
.rccf-share-btn { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; min-width: 0 !important; color: #8A9AA5 !important; }
.rccf-share-btn:hover, .rccf-share-btn.rccf-copied { background: transparent !important; color: #054D6F !important; }
@media (max-width: 760px) {
  .rccf-post-author { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; align-items: center; justify-items: start; text-align: left; }
  .rccf-post-author .rccf-post-avatar { grid-column: 1; grid-row: 1 / span 2; }
  .rccf-post-author .rccf-post-name { grid-column: 2; grid-row: 1; align-self: end; }
  .rccf-post-author .rccf-post-role { grid-column: 2; grid-row: 2; align-self: start; }
  .rccf-post-author .bbp-reply-ip { grid-column: 2; grid-row: 3; }
}

/* RCCF: Reviewer Dashboard — stats summary bar + card grids (instead of one long vertical stack) */
.rccf-dash-stats {
    display: flex;
    gap: 16px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}

.rccf-dash-stat {
    flex: 1 1 160px;
    background: #fff;
    border: 1px solid var(--rccf-line);
    border-radius: 10px;
    padding: 18px 20px;
    text-align: center;
}

.rccf-dash-stat-num {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: var(--rccf-navy);
    line-height: 1.1;
}

.rccf-dash-stat-label {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: var(--rccf-ink-soft);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.rccf-mod-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 16px;
}

.rccf-mod-grid > div {
    margin-bottom: 0 !important;
}

@media (max-width: 640px) {
    .rccf-dash-stats {
        flex-direction: column;
    }
    .rccf-mod-grid {
        grid-template-columns: 1fr;
    }
}

/* RCCF: dashboard stat cards are now clickable anchors — smooth scroll + hover affordance */
html {
    scroll-behavior: smooth;
}

.rccf-dash-stat {
    text-decoration: none;
    color: inherit;
    display: block;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.rccf-dash-stat:hover {
    border-color: var(--rccf-blue);
    box-shadow: 0 4px 12px rgba(5, 77, 111, 0.08);
    transform: translateY(-2px);
}

/* Offset the jump-to landing so the section header isn't flush against the browser top */
#rccf-section-research,
#rccf-section-verifications,
#rccf-section-forum {
    scroll-margin-top: 20px;
}

/* RCCF: constrain the new header logo to a sensible header height */
.ast-site-identity .custom-logo-link img,
.site-logo-img img,
.ast-header-logo img {
    max-height: 56px !important;
    width: auto !important;
    height: auto !important;
}

/* RCCF: footer logo styling */
.rccf-footer-logo {
    text-align: center;
    padding: 30px 0 10px;
}

.rccf-footer-logo img {
    max-height: 48px;
    width: auto;
    height: auto;
}

/* About page modernization — Sept 2026 */
.rccf-vision-callout {
    background: #EAF3FA;
    border-left: 4px solid #3F8CC9;
    padding: 20px 24px;
    margin: 24px 0;
    border-radius: 4px;
}
.rccf-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 24px 0;
}
.rccf-feature-card {
    background: #fff;
    border: 1px solid #DDE3E8;
    border-radius: 8px;
    padding: 24px 20px;
    text-align: left;
}
.rccf-feature-card .dashicons {
    font-size: 32px;
    width: 32px;
    height: 32px;
    color: #054D6F;
    margin-bottom: 12px;
    display: block;
}
.rccf-feature-card h3 {
    margin: 0 0 8px 0;
    font-size: 1.05rem;
    color: #054D6F;
}
.rccf-feature-card p {
    margin: 0;
    font-size: 0.92rem;
    color: #4A5568;
    line-height: 1.5;
}
.rccf-audience-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0 48px 0;
}
@media (max-width: 600px) {
    .rccf-audience-tags {
        margin-bottom: 64px;
    }
}
.rccf-tag {
    background: #F0F4F7;
    border: 1px solid #DDE3E8;
    color: #054D6F;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 0.88rem;
    font-weight: 500;
}
@media (max-width: 800px) {
    .rccf-feature-grid { grid-template-columns: 1fr; }
}

/* Footer partner logos — Sept 2026 */
.rccf-footer-organizers {
    text-align: center;
    margin-bottom: 20px;
}
.rccf-footer-organizers-label {
    color: #6B7A8D;
    font-size: 0.75rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0 0 14px 0;
}
.rccf-organizer-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 16px;
}
.rccf-organizer-logos a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    transition: transform 0.15s ease;
}
.rccf-organizer-logos a:hover {
    transform: translateY(-2px);
}
.rccf-organizer-logos img {
    max-height: 28px;
    max-width: 110px;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Footer quick links (text-only, replacing logo grid) — Sept 22 */
.rccf-footer-links {
    text-align: left;
    margin-bottom: 20px;
}
.rccf-footer-links-label {
    color: #6B7A8D;
    font-size: 0.75rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0 0 14px 0;
}
.rccf-quicklinks {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}
.rccf-quicklinks a {
    color: #054D6F;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
}
.rccf-quicklinks a:hover {
    text-decoration: underline;
}
