/* ============================================
   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:1180px;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;
}
