/* ============================================================
   Site-wide overrides: consistent styling across all pages
   ============================================================ */

/* --- Dark navbar (matches the dark-hero aesthetic of the home page) --- */
.navbar-default {
  background-color: #1a1a1a;
  border-color: #333;
}
.navbar-default .navbar-brand,
.navbar-default .navbar-nav > li > a {
  color: #ccc;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: #15518d;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  color: #fff;
  background-color: #333;
}
.navbar-default .navbar-toggle {
  border-color: #555;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #333;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #ccc;
}
.navbar-default .navbar-collapse {
  border-color: #333;
}
/* Dropdown menus */
.navbar-default .dropdown-menu {
  background-color: #222;
  border-color: #444;
}
.navbar-default .dropdown-menu > li > a {
  color: #ccc;
}
.navbar-default .dropdown-menu > li > a:hover,
.navbar-default .dropdown-menu > li > a:focus {
  color: #fff;
  background-color: #15518d;
}

/* --- Body: compensate for fixed navbar on non-home pages --- */
body:not(.home) {
  padding-top: 50px;
}

/* --- Fix link backgrounds in content areas --- */
.main-content a,
.wrap article a,
.wrap p a,
.faq-answers a,
.blog-post a,
.content-info a {
  background: none;
  color: #15518d;
}
.main-content a:hover,
.wrap article a:hover,
.wrap p a:hover,
.faq-answers a:hover,
.blog-post a:hover {
  color: #0e3761;
  text-decoration: underline;
}

/* --- Hero: ensure cover background on all page types --- */
.hero {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* --- Page content sections: consistent white background with padding --- */
body:not(.home) .main-content,
body:not(.home) .actions,
body:not(.home) .faq-questions,
body:not(.home) .faq-answers,
body:not(.home) .blog-post {
  background: #fff;
}

/* --- Content padding consistency --- */
body:not(.home) .main-content .container,
body:not(.home) .faq-questions .container,
body:not(.home) .faq-answers .container {
  padding-top: 20px;
  padding-bottom: 40px;
}

/* --- Category archive pages: panel titles consistent with home --- */
body.archive.tax-object_category .intro .panel h1 {
  font-size: 2em;
  margin-top: 0;
}

/* --- Blog: clean post styling matching home page content sections --- */
body.developer-blog .blog-post {
  border-bottom: 2px solid #eee;
  padding-bottom: 40px;
}
body.developer-blog .blog-post img {
  max-width: 100%;
  height: auto;
}
body.developer-blog .main-content {
  padding: 40px 0;
}

/* --- Footer: keep dark/consistent --- */
.content-info {
  background: #1a1a1a;
  color: #aaa;
}
.content-info a {
  background: none !important;
  color: #aaa;
}
.content-info a:hover {
  color: #fff;
}

/* --- Consistent h1/h2 in content panels --- */
.panel-dark h1,
.panel-dark h2,
.panel-dark h3 {
  color: #fff;
}

/* --- Database page category grid spacing --- */
body.database .categories {
  padding: 40px 0;
}

/* --- Footer social icons --- */
.social-nav {
  float: right;
}
.social-nav li {
  display: inline-block;
  padding: 0;
  margin: 0 2px;
}
.social-nav a {
  display: inline-block;
  opacity: 0.85;
  transition: opacity 0.2s;
}
.social-nav a:hover {
  opacity: 1;
}
.social-nav img {
  display: block;
}
