/* ==========================================================================
   brand.css — FileTrove's brand palette, site-wide.

   SCHEME F — "steel slate" (owner pick 2026-08-12): a muted, editorial,
   archive-grade steel blue. The quietest scheme of the set — the accent
   recedes and the trove imagery carries the color. One family for
   EVERYTHING blue: buttons (primary AND info), bare links, focus rings,
   accordions, active states, tints — and the site chrome (nav/footer)
   deepens from charcoal to slate navy via the --bs-dark re-point below.

   Loaded by headAssets.php right after Bootstrap on EVERY page, so all of
   this re-points at runtime — no markup changes anywhere. Documented in
   filetrove-system-manual.md ("Brand palette"). Bump FT_BRAND_CSS_VER in
   headAssets.php whenever this file changes (cache buster).

   The family:
     accent            #3D5A80   rgb(61,90,128) — fills, links, checks
     hover / deep      #2F4664   — button hover, outline text, link hover
     active            #263A54   — button pressed
     text emphasis     #1B2A41   — labels in the accent's voice; ALSO the chrome
     active tint       #DCE5EF   — accordion open, selected rows/tabs
     inset panel       #EAF0F6   — panels, placeholders, icon circles
     band              #F5F8FB   — alternating section backgrounds
     border subtle     #C3D0DE
     focus ring        rgba(61,90,128,.25)
     chrome (bg-dark)  #1B2A41   — nav + footer on every page
   Tint RULE: band → panel → active are the SAME hue at three volumes;
   never introduce a fourth pale blue.
   ========================================================================== */

:root{
  /* both stock families point at the one brand family */
  --bs-primary: #3D5A80;
  --bs-primary-rgb: 61,90,128;
  --bs-primary-text-emphasis: #1B2A41;
  --bs-primary-bg-subtle: #DCE5EF;
  --bs-primary-border-subtle: #C3D0DE;
  --bs-info: #3D5A80;
  --bs-info-rgb: 61,90,128;
  --bs-info-text-emphasis: #1B2A41;
  --bs-info-bg-subtle: #DCE5EF;
  --bs-info-border-subtle: #C3D0DE;
  /* every bare <a> on the site */
  --bs-link-color: #3D5A80;
  --bs-link-color-rgb: 61,90,128;
  --bs-link-hover-color: #2F4664;
  --bs-link-hover-color-rgb: 47,70,100;
  /* the chrome: every .bg-dark (nav, footer) becomes slate navy */
  --bs-dark: #1B2A41;
  --bs-dark-rgb: 27,42,65;
  /* brand ROLE vars for page layers (landing.css derives from these +
     the --bs-* family above; a scheme change touches THIS file only) */
  --ft-band:  #F5F8FB;   /* alternating section backgrounds */
  --ft-panel: #EAF0F6;   /* inset panels, placeholders, icon circles */
}

/* ---- buttons: component vars are compiled literals, so both blue
        button families get the same explicit block ---- */
.btn-primary, .btn-info{
  --bs-btn-color: #fff;
  --bs-btn-bg: #3D5A80;
  --bs-btn-border-color: #3D5A80;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #2F4664;
  --bs-btn-hover-border-color: #2F4664;
  --bs-btn-focus-shadow-rgb: 61,90,128;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #263A54;
  --bs-btn-active-border-color: #263A54;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #3D5A80;
  --bs-btn-disabled-border-color: #3D5A80;
}
/* outline text runs one shade deeper than the border for readability */
.btn-outline-primary, .btn-outline-info{
  --bs-btn-color: #2F4664;
  --bs-btn-border-color: #3D5A80;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #3D5A80;
  --bs-btn-hover-border-color: #3D5A80;
  --bs-btn-focus-shadow-rgb: 61,90,128;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #3D5A80;
  --bs-btn-active-border-color: #3D5A80;
  --bs-btn-disabled-color: #3D5A80;
}

/* badges on the accent carry white, not Bootstrap's baked-in black */
.text-bg-info{ color: #fff !important; }

/* ---- form focus: Bootstrap bakes primary-blue literals here ---- */
.form-control:focus, .form-select:focus{
  border-color: #C3D0DE;
  box-shadow: 0 0 0 .25rem rgba(61,90,128,.25);
}
.form-check-input:focus{
  border-color: #C3D0DE;
  box-shadow: 0 0 0 .25rem rgba(61,90,128,.25);
}
.form-check-input:checked{
  background-color: #3D5A80;
  border-color: #3D5A80;
}

/* ---- stock active states that carry literal primary blue ---- */
.nav-pills{ --bs-nav-pills-link-active-bg: #3D5A80; }
.dropdown-menu{ --bs-dropdown-link-active-bg: #3D5A80; }
.list-group{ --bs-list-group-active-bg: #3D5A80; --bs-list-group-active-border-color: #3D5A80; }
.pagination{
  --bs-pagination-active-bg: #3D5A80;
  --bs-pagination-active-border-color: #3D5A80;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-hover-color: var(--bs-link-hover-color);
}
