/* ==========================================================================
   Harrison County Assessor — public site redesign (Foundation pass)
   Scope: shared chrome only (topbar, nav, page-header banner, footer).
   Does not touch Bootstrap primary/global utility classes so existing
   page content (Batch B/C) is unaffected until those pages are reskinned.
   Design system source: Public Website Redesign/concept-v1-homepage.html
   ========================================================================== */

:root {
  --rd-white:#ffffff; --rd-off-white:#f6f7f9; --rd-cream:#faf6ec;
  --rd-navy:#142c4a; --rd-navy-deep:#0d1f38; --rd-navy-2:#1c3a63;
  --rd-gold-fill:#c9a227; --rd-gold-fill-dim:#a8850f; --rd-gold-ink:#8a6410;
  --rd-ink:#1a1d21; --rd-ink-2:#4b5058; --rd-on-navy:#f5f3ea; --rd-on-navy-2:#c9d3e0;
  --rd-line:#e2e5ea; --rd-radius:10px;
  --rd-display: Georgia, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", serif;
}

/* ---- Top contact bar ---- */
.masthead-top {
  background: var(--rd-navy-deep);
  color: var(--rd-on-navy-2);
  font-size: 0.85rem;
}
.masthead-top .wrap {
  display: flex; justify-content: space-between; align-items: center;
  gap: 1rem; padding: 0.55rem 0; flex-wrap: wrap;
}
.masthead-top a { color: var(--rd-on-navy); text-decoration: none; font-weight: 600; }
.masthead-top a:hover { color: var(--rd-gold-fill); }
.masthead-top .rd-social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  background: rgba(245,243,234,0.12); color: var(--rd-on-navy); margin-left: 0.4rem;
}
.masthead-top .rd-social a:hover { background: var(--rd-gold-fill); color: var(--rd-navy-deep); }

/* ---- Primary nav ---- */
.masthead-nav.sticky-top { background: var(--rd-white); border-bottom: 1px solid var(--rd-line); z-index: 30; }
.masthead-nav .navbar-brand h1 { color: var(--rd-navy); font-weight: 800; }
.masthead-nav .navbar { padding: 0.35rem 0; }
.masthead-nav .navbar-nav .nav-link {
  color: var(--rd-navy); font-weight: 700; font-size: 0.95rem;
  padding: 0.85rem 1.05rem; border-bottom: 3px solid transparent;
}
.masthead-nav .navbar-nav .nav-link:hover,
.masthead-nav .navbar-nav .nav-link.active { color: var(--rd-gold-ink); border-bottom-color: var(--rd-gold-fill); }
.masthead-nav .dropdown-menu {
  border: 1px solid var(--rd-line); border-radius: 0 0 8px 8px;
  box-shadow: 0 18px 30px -18px rgba(20,44,74,0.35); padding: 0.4rem 0;
}
.masthead-nav .dropdown-item { color: var(--rd-ink-2); font-weight: 600; font-size: 0.92rem; padding: 0.55rem 1.25rem; }
.masthead-nav .dropdown-item:hover, .masthead-nav .dropdown-item:focus {
  background: var(--rd-cream); color: var(--rd-gold-ink);
}
.masthead-nav .navbar-toggler { border-color: var(--rd-line); }

/* ---- Short page-header banner (all inner pages) ---- */
.page-banner-strip {
  background: var(--rd-navy-deep); border-bottom: 4px solid var(--rd-gold-fill);
  padding: 1.35rem 0; display: flex; align-items: center;
}
.page-banner-strip .wrap { display: flex; align-items: center; gap: 0.9rem; }
.page-banner-strip .crest {
  width: 52px; height: 52px; border-radius: 50%; background: #fdfcf8; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; border: 2px solid var(--rd-gold-fill);
}
.page-banner-strip .crest img { width: 42px; height: 42px; border-radius: 50%; display: block; }
.page-banner-strip .rd-title { font-family: var(--rd-display); color: #fff; font-size: 1.35rem; font-weight: 700; margin: 0; }
.page-banner-strip .rd-tagline { color: var(--rd-on-navy-2); font-size: 0.85rem; margin: 0; }

/* ---- Footer ---- */
footer.site-footer { background: var(--rd-navy-deep); color: var(--rd-on-navy-2); }
footer.site-footer h4 { color: #fff; font-family: var(--rd-display); }
footer.site-footer p { color: var(--rd-on-navy-2); }
footer.site-footer .btn-link { color: var(--rd-on-navy-2); text-decoration: none; }
footer.site-footer .btn-link:hover { color: var(--rd-gold-fill); }
footer.site-footer .rd-social .btn { background: rgba(245,243,234,0.12); color: var(--rd-on-navy); border: none; }
footer.site-footer .rd-social .btn:hover { background: var(--rd-gold-fill); color: var(--rd-navy-deep); }
.copyright.site-copyright { background: var(--rd-navy-deep); border-top: 1px solid rgba(255,255,255,0.12); color: var(--rd-on-navy-2); }
.copyright.site-copyright a { color: var(--rd-on-navy); }
.copyright.site-copyright a:hover { color: var(--rd-gold-fill) !important; }

/* ---- Back to top ---- */
.back-to-top.rd-back-to-top { background: var(--rd-gold-fill); border-color: var(--rd-gold-fill); color: var(--rd-navy-deep); }
.back-to-top.rd-back-to-top:hover { background: var(--rd-gold-fill-dim); border-color: var(--rd-gold-fill-dim); }
