/* ==========================================================================
   AUTAX — dark theme for Blog index, archives and single posts
   Scoped to body.blog / body.archive / body.single-post ONLY, so it cannot
   affect Home, Services, About, Clients or Contact.
   Paste into: Appearance > Customise > Additional CSS
   ========================================================================== */

body.blog,
body.archive,
body.single-post {
  --atx-bg:      #0A0B0E;
  --atx-panel:   #12151C;
  --atx-line:    #1E2430;
  --atx-blue:    #2F6FED;
  --atx-blue-sf: #8FB8FF;
  --atx-white:   #F5F7FA;
  --atx-dim:     #97A3B8;
  background: var(--atx-bg);
}

/* --- main content canvas ------------------------------------------------ */
body.blog .neve-main,
body.archive .neve-main,
body.single-post .neve-main,
body.blog #content,
body.archive #content,
body.single-post #content {
  background: var(--atx-bg);
  color: var(--atx-dim);
}

body.blog .container,
body.archive .container,
body.single-post .container {
  background: transparent;
}

/* --- typography --------------------------------------------------------- */
body.blog h1, body.blog h2, body.blog h3, body.blog h4,
body.archive h1, body.archive h2, body.archive h3, body.archive h4,
body.single-post h1, body.single-post h2,
body.single-post h3, body.single-post h4 {
  font-family: 'Source Serif 4', Georgia, serif;
  color: #fff;
  letter-spacing: -0.01em;
}

body.blog p, body.archive p, body.single-post p,
body.single-post li,
body.blog .entry-summary, body.archive .entry-summary {
  color: var(--atx-dim);
  line-height: 1.7;
}

body.blog a, body.archive a, body.single-post a { color: var(--atx-blue-sf); }
body.blog a:hover, body.archive a:hover, body.single-post a:hover { color: #fff; }

/* post meta (date / category / read time) */
body.blog .nv-meta-list,
body.archive .nv-meta-list,
body.single-post .nv-meta-list {
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: #6F7C91;
}
body.blog .nv-meta-list a,
body.archive .nv-meta-list a,
body.single-post .nv-meta-list a { color: var(--atx-blue-sf); }
body.blog .nv-meta-list li:not(:last-child):after,
body.archive .nv-meta-list li:not(:last-child):after { color: #3A4557; }

/* --- blog index: each post becomes a card ------------------------------- */
body.blog article.nv-non-grid-article,
body.archive article.nv-non-grid-article {
  background: var(--atx-panel);
  border: 1px solid var(--atx-line);
  border-radius: 6px;
  padding: 28px;
  margin-bottom: 28px;
  transition: border-color .15s ease;
}
body.blog article.nv-non-grid-article:hover,
body.archive article.nv-non-grid-article:hover {
  border-color: var(--atx-blue);
}

body.blog article .entry-title,
body.archive article .entry-title { font-size: 1.5rem; margin-bottom: 10px; }
body.blog article .entry-title a,
body.archive article .entry-title a { color: #fff; text-decoration: none; }
body.blog article .entry-title a:hover,
body.archive article .entry-title a:hover { color: var(--atx-blue-sf); }

/* thumbnails — desaturate slightly so they sit on the dark canvas */
body.blog article img,
body.archive article img,
body.single-post .nv-thumb-wrap img {
  border-radius: 4px;
  filter: saturate(0.88) brightness(0.9);
}

/* "read more" link */
body.blog .nv-non-grid-article .read-more-wrapper a,
body.archive .nv-non-grid-article .read-more-wrapper a {
  display: inline-block;
  background: var(--atx-blue);
  color: #fff !important;
  padding: 9px 20px;
  border-radius: 2px;
  text-decoration: none;
  font-size: 0.9rem;
}
body.blog .nv-non-grid-article .read-more-wrapper a:hover,
body.archive .nv-non-grid-article .read-more-wrapper a:hover { background: #4C81F0; }

/* --- single post -------------------------------------------------------- */
body.single-post .nv-single-post-wrap { background: transparent; }
body.single-post .entry-title { font-size: 2.1rem; line-height: 1.2; margin-bottom: 14px; }
body.single-post .nv-content-wrap { font-size: 1.05rem; }
body.single-post .nv-content-wrap strong { color: var(--atx-white); }

body.single-post blockquote {
  border-left: 3px solid var(--atx-blue);
  background: var(--atx-panel);
  padding: 16px 22px;
  margin: 24px 0;
  color: var(--atx-white);
}

body.single-post .nv-content-wrap table,
body.single-post .nv-content-wrap td,
body.single-post .nv-content-wrap th { border-color: var(--atx-line); color: var(--atx-dim); }
body.single-post .nv-content-wrap th { color: #fff; }

/* tags */
body.single-post .nv-tags-list a {
  display: inline-block;
  border: 1px solid var(--atx-line);
  background: var(--atx-panel);
  color: var(--atx-blue-sf);
  padding: 5px 12px;
  border-radius: 2px;
  margin: 0 6px 6px 0;
  font-size: 0.82rem;
  text-decoration: none;
}
body.single-post .nv-tags-list a:hover { border-color: var(--atx-blue); color: #fff; }

/* prev / next navigation */
body.single-post .nv-post-navigation { border-top: 1px solid var(--atx-line); }
body.single-post .nv-post-navigation a { color: var(--atx-blue-sf); text-decoration: none; }
body.single-post .nv-post-navigation a:hover { color: #fff; }

/* comments */
body.single-post .comments-area { border-top: 1px solid var(--atx-line); }
body.single-post .comments-area .comment-body { border-bottom: 1px solid var(--atx-line); }
body.single-post .comment-respond input[type="text"],
body.single-post .comment-respond input[type="email"],
body.single-post .comment-respond input[type="url"],
body.single-post .comment-respond textarea {
  background: #C6CBD3;
  border: 1px solid #98A0AC;
  color: #1B2029;
  border-radius: 4px;
  padding: 10px 12px;
}
body.single-post .comment-respond input[type="submit"] {
  background: var(--atx-blue);
  color: #fff;
  border: none;
  padding: 12px 26px;
  border-radius: 2px;
  cursor: pointer;
}
body.single-post .comment-respond input[type="submit"]:hover { background: #4C81F0; }

/* --- sidebar / widgets -------------------------------------------------- */
body.blog .nv-sidebar-wrap,
body.archive .nv-sidebar-wrap,
body.single-post .nv-sidebar-wrap { color: var(--atx-dim); }

body.blog .widget, body.archive .widget, body.single-post .widget {
  background: var(--atx-panel);
  border: 1px solid var(--atx-line);
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 20px;
}
body.blog .widget .widget-title,
body.archive .widget .widget-title,
body.single-post .widget .widget-title {
  color: #fff;
  font-size: 1.02rem;
  margin-bottom: 12px;
}
body.blog .widget a, body.archive .widget a, body.single-post .widget a {
  color: var(--atx-blue-sf); text-decoration: none;
}
body.blog .widget li, body.archive .widget li, body.single-post .widget li {
  border-bottom: 1px solid var(--atx-line);
  padding: 7px 0;
}

/* search field inside widgets */
body.blog .widget input[type="search"],
body.archive .widget input[type="search"],
body.single-post .widget input[type="search"] {
  background: #C6CBD3;
  border: 1px solid #98A0AC;
  color: #1B2029;
  border-radius: 4px;
  padding: 9px 12px;
  width: 100%;
}

/* --- pagination --------------------------------------------------------- */
body.blog .nv-page-links a, body.archive .nv-page-links a,
body.blog .page-numbers, body.archive .page-numbers {
  color: var(--atx-blue-sf);
  border: 1px solid var(--atx-line);
  padding: 7px 13px;
  border-radius: 2px;
  text-decoration: none;
  margin-right: 6px;
  display: inline-block;
}
body.blog .page-numbers.current, body.archive .page-numbers.current {
  background: var(--atx-blue);
  border-color: var(--atx-blue);
  color: #fff;
}

/* --- breathing room ----------------------------------------------------- */
/* Neve ships a 60px top margin on .entry-header (single posts) and
   .nv-index-posts (index/archive), with a matching 60px padding on the
   sidebar so the two columns line up. On a white background that reads
   as breathing room; on the dark canvas it reads as an empty block.
   Reduce all three together so the gap closes AND the columns stay
   aligned — changing only one of them knocks the sidebar out of line. */
body.single-post .entry-header { margin-top: 24px; }
body.blog .nv-index-posts,
body.archive .nv-index-posts { margin-top: 24px; }
body.blog .nv-sidebar-wrap,
body.archive .nv-sidebar-wrap,
body.single-post .nv-sidebar-wrap { padding-top: 24px; }

body.blog .archive-container,
body.archive .archive-container,
body.single-post .single-post-container { padding-bottom: 56px; }

/* Neve puts margin-bottom:60px on EVERY direct child of the post article
   (header, featured image, content, tags, navigation). That produces five
   stacked 60px bands down the page — the most visible being the one under
   the featured image. On white it reads as generous spacing; on the dark
   canvas each one looks like an empty block. Normalise them all at once. */
/* the featured image is an inline element, which leaves a stray baseline
   gap under it inside its wrapper */
body.single-post .nv-thumb-wrap img { display: block; }

body.single-post .nv-single-post-wrap > * { margin-bottom: 28px; }
body.single-post .nv-single-post-wrap > *:last-child { margin-bottom: 0; }

/* keep the section separators tight and consistent with the above */
body.single-post .nv-tags-list { margin-top: 28px; }
body.single-post .nv-post-navigation { margin-top: 28px; padding-top: 24px; }
body.single-post .comments-area { margin-top: 28px; padding-top: 24px; }

/* Neve outputs an empty .comments-area when comments are closed —
   suppress the stray rule and spacing it would otherwise leave. */
body.single-post .comments-area:empty,
body.single-post .comments-area:not(:has(*)) {
  border-top: none;
  margin-top: 0;
  padding-top: 0;
}

@media (max-width: 760px) {
  body.blog article.nv-non-grid-article,
  body.archive article.nv-non-grid-article { padding: 20px; }
  body.single-post .entry-title { font-size: 1.6rem; }
}
/* ==========================================================================
   AUTAX — HEADER & FOOTER
   Add this to Appearance > Customise > Additional CSS, BELOW the blog CSS
   you already have. These rules are site-wide on purpose: the header and
   footer are rendered by the Neve theme on every page.
   ========================================================================== */

/* --- HEADER -------------------------------------------------------------
   The menu was rendering at font-weight 100 (hairline), which is the main
   reason it read as unclear. Weight + colour + contrast are all fixed here.
   ----------------------------------------------------------------------- */

/* grey bar behind the menu — same grey as the contact form panel.
   Neve paints the visible bar on .header--row-inner, which sits on top of
   .header--row, so both are set or the inner one covers the change. */
.header--row.header-top,
.header--row.header-main,
.header--row.header-bottom,
.header--row-inner,
.header-top-inner,
.header-main-inner,
.header-bottom-inner {
  background-color: #AFB6C0 !important;
}

/* menu links */
.header--row .nav-ul li a,
.header--row .primary-menu-ul li a,
.nv-nav-wrap .nav-ul li a,
.nv-nav-wrap .nav-ul li .wrap {
  color: #1B3392 !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
}

/* hover + current page */
.header--row .nav-ul li a:hover,
.header--row .nav-ul li.current-menu-item a,
.header--row .nav-ul li.current_page_item a {
  color: #0E1F5E !important;
}

/* dropdown submenus need the same treatment or they inherit the old style */
.header--row .sub-menu,
.nv-nav-wrap .sub-menu {
  background-color: #AFB6C0 !important;
}
.header--row .sub-menu li a {
  color: #1B3392 !important;
}

/* mobile menu toggle */
.header--row .navbar-toggle,
.header--row .navbar-toggle-wrapper button {
  color: #1B3392 !important;
}

/* --- FOOTER -------------------------------------------------------------
   The CA Professional Standards Scheme disclaimer was rendering at
   rgb(39,38,38) — almost black — against the dark footer, so it was
   effectively invisible. This is a required professional disclosure, so
   legibility matters beyond aesthetics.
   ----------------------------------------------------------------------- */

footer .widget-area .textwidget,
footer .widget-area .textwidget p,
footer .widget_text .textwidget p,
footer .widget-area p {
  color: #F5F7FA !important;
}

/* keep footer links readable alongside the now-white text */
footer .widget-area a,
footer .widget-area .textwidget a {
  color: #8FB8FF !important;
}
footer .widget-area a:hover {
  color: #FFFFFF !important;
}