/*
 Theme Name:   Neve Child — StumpBusters
 Theme URI:    https://stumpbustersllc.com
 Description:  Child theme for StumpBusters LLC — Year 4000 overhaul
 Author:       LXB Studio
 Template:     neve
 Version:      2.0.0
 Text Domain:  neve-child
*/

/* ============================================================

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  /* Backgrounds */
  --bg:           #080808;
  --bg-2:         #0f0f0f;
  --bg-3:         #161616;
  --bg-card:      #0c0c0c;
  --bg-elevated:  #111111;

  /* Text */
  --text:         #E8E8DE;
  --text-dim:     #9a9a8a;
  --text-mid:     #b0b0a0;
  --text-bright:  #f0f0e0;

  /* Accent */
  --accent:       #B8FF00;
  --accent-dim:   #7aaa00;
  --accent-tint:  rgba(184,255,0,0.08);
  --accent-glow:  rgba(184,255,0,0.25);

  /* Borders */
  --border:       #1E1E1E;
  --border-mid:   #2E2E2E;
  --border-accent: rgba(184,255,0,0.15);

  /* State */
  --danger:       #FF3C3C;

  /* Font families */
  --f-display:    system-ui, -apple-system, sans-serif;
  --f-body:       system-ui, -apple-system, sans-serif;
  --f-mono:       ui-monospace, Consolas, monospace;

  /* Override Neve's own CSS custom properties */
  --bodyfontfamily:     system-ui, -apple-system, sans-serif;
  --headingsfontfamily: system-ui, -apple-system, sans-serif;

  /* Override Neve color system */
  --nv-primary-accent:   #B8FF00;
  --nv-secondary-accent: #8acc00;
  --nv-site-bg:          #080808;
  --nv-light-bg:         #0f0f0f;
  --nv-dark-bg:          #040404;
  --nv-text-color:       #E8E8DE;
  --nv-text-dark-bg:     #E8E8DE;
  --nv-c-1:              #B8FF00;
  --nv-c-2:              #9a9a8a;
}

/* ============================================================
   GLOBAL RESET — DARK CANVAS
   ============================================================ */
html {
  background: var(--bg) !important;
  scroll-behavior: smooth;
}

body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: var(--f-body) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ============================================================
   SUBTLE GRID BACKGROUND — HUD FEEL
   ============================================================ */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(184,255,0,0.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184,255,0,0.015) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
}

/* ============================================================
   TYPOGRAPHY — BODY
   ============================================================ */
body,
p,
li,
td,
input,
textarea,
select,
button {
  font-family: var(--f-body) !important;
  color: var(--text);
}

a {
  color: var(--accent) !important;
  text-decoration: none !important;
  transition: color 0.2s ease, opacity 0.2s ease;
}

a:hover {
  color: var(--text-bright) !important;
  opacity: 0.9;
}

/* ============================================================
   TYPOGRAPHY — HEADINGS
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.entry-title {
  font-family: var(--f-display) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  color: var(--text-bright) !important;
}

h1, .entry-title { font-size: clamp(1.8rem, 4vw, 2.8rem) !important; }
h2 { font-size: clamp(1.4rem, 3vw, 2.2rem) !important; }
h3 { font-size: clamp(1.1rem, 2.5vw, 1.6rem) !important; }

/* Accent line under h2s inside content */
.entry-content h2::after {
  content: '';
  display: block;
  width: 40px;
  height: 2px;
  background: var(--accent);
  margin-top: 12px;
  opacity: 0.6;
}

.entry-content h2:has(+ *) {
  margin-bottom: 20px !important;
}

/* ============================================================
   TYPOGRAPHY — SITE IDENTITY
   ============================================================ */
.site-title,
.site-title a,
.site-title * {
  font-family: var(--f-display) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--text-bright) !important;
}

.nv-title-tagline-wrap small {
  font-family: var(--f-mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--text-dim) !important;
}

/* ============================================================
   HEADER — DARK FROSTED BAR
   ============================================================ */
.hfg_header,
.header--row,
.header-main,
.header-main-inner,
.header-bottom,
.header-top {
  background: rgba(8,8,8,0.92) !important;
  backdrop-filter: blur(16px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.2) !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Bottom glow line on header */
.header--row.header-main::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--accent-glow), transparent);
  pointer-events: none;
}

/* ============================================================
   NAV MENU
   ============================================================ */
.builder-item--primary-menu {
  --fontfamily: system-ui, -apple-system, sans-serif !important;
}

.builder-item--primary-menu .nav-ul a,
.builder-item--primary-menu .nav-ul li a,
#primary-menu a,
.primary-menu-ul a {
  font-family: var(--f-display) !important;
  color: var(--text-mid) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  transition: color 0.25s ease !important;
  position: relative;
}

.primary-menu-ul a:hover,
.primary-menu-ul .current-menu-item a,
.primary-menu-ul .nv-active a {
  color: var(--accent) !important;
}

/* Active indicator dot */
.primary-menu-ul .current-menu-item a::after,
.primary-menu-ul .nv-active a::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 6px var(--accent-glow);
}

/* ============================================================
   CTA BUTTON — HEADER
   ============================================================ */
.builder-item--button_base .button-primary,
.builder-item--button_base a.button {
  background: var(--accent) !important;
  color: #080808 !important;
  font-family: var(--f-display) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 2px !important;
  padding: 10px 20px !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 0 12px rgba(184,255,0,0.15);
}

.builder-item--button_base .button-primary:hover,
.builder-item--button_base a.button:hover {
  background: var(--text-bright) !important;
  color: #080808 !important;
  box-shadow: 0 0 20px rgba(184,255,0,0.3) !important;
}

/* ============================================================
   MAIN CONTENT AREA
   ============================================================ */
.neve-main,
.page .neve-main,
.single .neve-main,
.archive .neve-main,
.blog .neve-main {
  background: var(--bg) !important;
}

.container {
  overflow: visible !important;
}

.nv-single-post-wrap,
.entry-content {
  overflow: visible !important;
  color: var(--text) !important;
}

/* Content paragraphs */
.entry-content p {
  color: var(--text) !important;
  line-height: 1.75 !important;
  margin-bottom: 1.4em !important;
}

/* Strong / bold */
.entry-content strong,
.entry-content b {
  color: var(--text-bright) !important;
  font-weight: 600 !important;
}

/* Lists */
.entry-content ul,
.entry-content ol {
  color: var(--text) !important;
}

.entry-content li {
  margin-bottom: 0.5em;
}

.entry-content ul li::marker {
  color: var(--accent-dim) !important;
}

/* ============================================================
   BLOCKQUOTES
   ============================================================ */
.entry-content blockquote,
blockquote {
  border-left: 2px solid var(--accent) !important;
  background: var(--bg-2) !important;
  padding: 20px 24px !important;
  margin: 24px 0 !important;
  border-radius: 0 4px 4px 0 !important;
  color: var(--text-mid) !important;
  font-style: italic;
}

/* ============================================================
   HORIZONTAL RULES / SEPARATORS
   ============================================================ */
hr,
.wp-block-separator {
  border-color: var(--border) !important;
  opacity: 0.5;
}

/* ============================================================
   IMAGES — SUBTLE TREATMENT
   ============================================================ */
.entry-content img,
.wp-block-image img {
  border-radius: 3px;
  border: 1px solid var(--border) !important;
}

.wp-block-image figcaption {
  font-family: var(--f-mono) !important;
  font-size: 0.75rem !important;
  color: var(--text-dim) !important;
  letter-spacing: 0.04em;
  margin-top: 8px !important;
}

/* ============================================================
   SIDEBAR
   ============================================================ */
.nv-sidebar-wrap,
.widget-area {
  background: transparent !important;
}

.widget {
  background: var(--bg-2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 3px !important;
  padding: 20px !important;
  margin-bottom: 24px !important;
}

.widget-title,
.widget h2 {
  font-family: var(--f-mono) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
  border-bottom: 1px solid var(--border) !important;
}

/* ============================================================
   BLOG INDEX — POST CARDS (MINIMAL)
   ============================================================ */
.nv-index-posts .nv-post-wrap,
.nv-index-posts article {
  background: transparent !important;
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 32px !important;
  margin-bottom: 32px !important;
}

.nv-index-posts .nv-post-wrap:last-child,
.nv-index-posts article:last-child {
  border-bottom: none !important;
}

/* Post titles on index */
.blog-entry-title a,
.entry-title a {
  color: var(--text-bright) !important;
  font-family: var(--f-display) !important;
  transition: color 0.2s ease !important;
}

.blog-entry-title a:hover,
.entry-title a:hover {
  color: var(--accent) !important;
}

/* Post meta */
.nv-meta-list,
.nv-meta-list a,
.nv-meta-list li,
.post-meta,
.post-meta a {
  font-family: var(--f-mono) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.08em !important;
  color: var(--text-dim) !important;
  text-transform: uppercase;
}

.nv-meta-list a:hover {
  color: var(--accent) !important;
}

/* Post thumbnail on index */
.nv-post-thumbnail-wrap img {
  border-radius: 3px !important;
  border: 1px solid var(--border) !important;
  filter: saturate(0.85) brightness(0.95);
  transition: filter 0.3s ease;
}

.nv-post-thumbnail-wrap:hover img {
  filter: saturate(1) brightness(1);
}

/* Excerpt text */
.excerpt-wrap,
.entry-summary,
.entry-summary p {
  color: var(--text-mid) !important;
  font-size: 0.92rem !important;
  line-height: 1.65 !important;
}

/* Read more link */
.nv-read-more-wrap a,
a.more-link {
  font-family: var(--f-mono) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  border: 1px solid var(--border-accent) !important;
  padding: 6px 14px !important;
  border-radius: 2px !important;
  transition: all 0.2s ease !important;
  display: inline-block !important;
}

.nv-read-more-wrap a:hover,
a.more-link:hover {
  background: var(--accent-tint) !important;
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

/* ============================================================
   SINGLE POST — COVER / HEADER
   ============================================================ */
.nv-post-cover {
  background: var(--bg-2) !important;
}

.nv-post-cover .nv-overlay {
  background: var(--bg) !important;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.page-numbers,
.nav-links a,
.nav-links span {
  background: var(--bg-2) !important;
  color: var(--text-mid) !important;
  border: 1px solid var(--border) !important;
  border-radius: 2px !important;
  font-family: var(--f-mono) !important;
  font-size: 0.8rem !important;
  transition: all 0.2s ease !important;
}

.nav-links a:hover,
.page-numbers:hover {
  background: var(--accent-tint) !important;
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

.nav-links .current,
.page-numbers.current {
  background: var(--accent) !important;
  color: #080808 !important;
  border-color: var(--accent) !important;
}

/* ============================================================
   FORMS — INPUTS
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea,
select {
  background: var(--bg-2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: 2px !important;
  font-family: var(--f-body) !important;
  transition: border-color 0.2s ease !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px var(--accent-tint) !important;
}

/* Submit buttons */
input[type="submit"],
button[type="submit"],
.wp-block-button__link {
  background: var(--accent) !important;
  color: #080808 !important;
  font-family: var(--f-display) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 2px !important;
  cursor: pointer;
  transition: all 0.2s ease !important;
  padding: 12px 24px !important;
}

input[type="submit"]:hover,
button[type="submit"]:hover,
.wp-block-button__link:hover {
  background: var(--text-bright) !important;
  box-shadow: 0 0 16px rgba(184,255,0,0.2) !important;
}

/* ============================================================
   COMMENTS
   ============================================================ */
.nv-comments-wrap,
.comment-respond {
  background: var(--bg-2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 3px !important;
}

.comment-body {
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.comment-author,
.comment-author a {
  font-family: var(--f-display) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-bright) !important;
}

.comment-meta time,
.comment-metadata a {
  font-family: var(--f-mono) !important;
  font-size: 0.65rem !important;
  color: var(--text-dim) !important;
}

/* ============================================================
   FOOTER — DARK ZONE
   ============================================================ */
.site-footer,
footer,
.footer--row,
.footer-top,
.footer-main,
.footer-bottom,
.hfg_footer {
  background: var(--bg) !important;
  border-top: 1px solid var(--border) !important;
  color: var(--text-dim) !important;
}

/* Top glow line on footer */
.footer--row:first-child::before {
  content: '';
  position: absolute;
  top: 0;
  left: 15%;
  right: 15%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(184,255,0,0.12), transparent);
  pointer-events: none;
}

.site-footer a,
footer a,
.hfg_footer a {
  color: var(--text-mid) !important;
}

.site-footer a:hover,
footer a:hover,
.hfg_footer a:hover {
  color: var(--accent) !important;
}

.builder-item--footer_copyright,
.builder-item--footer_copyright * {
  color: var(--text-dim) !important;
  font-family: var(--f-mono) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.06em;
}

/* ============================================================
   SOCIAL ICONS
   ============================================================ */
.builder-item--social_icons a {
  color: var(--text-mid) !important;
  transition: all 0.2s ease !important;
}

.builder-item--social_icons a:hover {
  color: var(--accent) !important;
  transform: translateY(-2px);
}

.builder-item--social_icons a svg {
  fill: currentColor !important;
}

/* ============================================================
   MOBILE MENU SIDEBAR
   ============================================================ */
.header-menu-sidebar,
.header-menu-sidebar-bg {
  background: rgba(8,8,8,0.97) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

.header-menu-sidebar a {
  color: var(--text-mid) !important;
  font-family: var(--f-display) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.header-menu-sidebar a:hover {
  color: var(--accent) !important;
}

.navbar-toggle,
.close-sidebar-panel .navbar-toggle {
  color: var(--text-mid) !important;
}

.navbar-toggle svg {
  fill: var(--text-mid) !important;
}

/* ============================================================
   SCROLLBAR — DARK THIN
   ============================================================ */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: var(--bg);
}

::-webkit-scrollbar-thumb {
  background: var(--border-mid);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--accent-dim);
}

/* Firefox */
html {
  scrollbar-width: thin;
  scrollbar-color: var(--border-mid) var(--bg);
}

/* ============================================================
   SELECTION HIGHLIGHT
   ============================================================ */
::selection {
  background: var(--accent) !important;
  color: #080808 !important;
}

::-moz-selection {
  background: var(--accent) !important;
  color: #080808 !important;
}

/* ============================================================
   DISPLAY POSTS SHORTCODE — DARK
   ============================================================ */
.display-posts-listing.image-left .listing-item {
  overflow: hidden;
  margin-bottom: 32px;
  width: 100%;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border);
}

.display-posts-listing.image-left .image {
  float: left;
  margin: 0 16px 0 0;
}

.display-posts-listing.image-left .title {
  display: block;
  color: var(--text-bright) !important;
}

.display-posts-listing.image-left .excerpt-dash {
  display: none;
}

/* ============================================================
   EMBED FIX — CARRY FORWARD
   ============================================================ */
.container,
.nv-single-post-wrap,
.entry-content,
.wp-block-html {
  overflow: visible !important;
}

.entry-content iframe,
.wp-block-html iframe {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  border: 1px solid var(--border) !important;
  border-radius: 3px !important;
  margin: 24px 0 !important;
  min-height: 320px;
}

iframe[src*="redditmedia"],
iframe[id^="reddit-embed"] {
  height: 600px !important;
  min-height: 600px !important;
  aspect-ratio: unset !important;
}

.wp-block-embed.is-type-video .wp-block-embed__wrapper {
  position: relative !important;
  overflow: hidden !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
}

.wp-block-embed.is-type-video .wp-block-embed__wrapper iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: unset !important;
}

.wp-block-embed__wrapper {
  position: relative;
  overflow: hidden;
}

/* ============================================================
   UTILITY — MONO LABELS (reusable class)
   ============================================================ */
.mono-label {
  font-family: var(--f-mono) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--text-dim) !important;
}

/* ============================================================
   TAG / CATEGORY PILLS
   ============================================================ */
.nv-tags-list a,
.cat-links a,
.tag-links a,
a[rel="tag"] {
  font-family: var(--f-mono) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background: var(--bg-2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-mid) !important;
  padding: 3px 10px !important;
  border-radius: 2px !important;
  display: inline-block !important;
  margin: 2px !important;
  transition: all 0.2s ease !important;
}

.nv-tags-list a:hover,
.cat-links a:hover,
a[rel="tag"]:hover {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
  background: var(--accent-tint) !important;
}

/* ============================================================
   POST SHARE / SOCIAL SHARE
   ============================================================ */
.nv-post-share a {
  color: var(--text-mid) !important;
  transition: color 0.2s ease !important;
}

.nv-post-share a:hover {
  color: var(--accent) !important;
}

/* ============================================================
   RELATED POSTS
   ============================================================ */
.nv-related-posts {
  border-top: 1px solid var(--border) !important;
  padding-top: 32px !important;
}

.nv-related-posts .related-title {
  font-family: var(--f-mono) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  margin-bottom: 24px !important;
}

/* ============================================================
   RANK MATH BREADCRUMBS
   ============================================================ */
.rank-math-breadcrumb,
.rank-math-breadcrumb a {
  font-family: var(--f-mono) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--text-dim) !important;
}

.rank-math-breadcrumb a:hover {
  color: var(--accent) !important;
}

/* ============================================================
   TABLES
   ============================================================ */
table,
.wp-block-table table {
  border-collapse: collapse !important;
  width: 100%;
}

table th {
  font-family: var(--f-mono) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  background: var(--bg-2) !important;
  border-bottom: 1px solid var(--border-mid) !important;
  padding: 10px 14px !important;
  text-align: left;
}

table td {
  border-bottom: 1px solid var(--border) !important;
  padding: 10px 14px !important;
  color: var(--text) !important;
}

table tr:hover td {
  background: var(--accent-tint) !important;
}

/* ============================================================
   WP BLOCKS — DARK OVERRIDES
   ============================================================ */

/* Group block */
.wp-block-group {
  color: var(--text) !important;
}

/* Cover block */
.wp-block-cover {
  color: var(--text-bright) !important;
}

/* Details / Accordion */
.wp-block-details summary {
  font-family: var(--f-display) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--text-bright) !important;
  cursor: pointer;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}

.wp-block-details[open] summary {
  color: var(--accent) !important;
  border-color: var(--accent) !important;
}

/* ============================================================
   FOLLOW BUTTONS PLUGIN (social icons)
   ============================================================ */
.sxc-follow-buttons .sxc-follow-button a img {
  filter: grayscale(1) brightness(0.7) !important;
  transition: filter 0.2s ease !important;
}

.sxc-follow-buttons .sxc-follow-button a:hover img {
  filter: grayscale(0) brightness(1) !important;
}

/* ============================================================
   MISC NEVE OVERRIDES
   ============================================================ */
.row .primary-menu-ul > li {
  padding: 0;
}

p.has-text-align-center a.rank-math-link {
  text-decoration: underline !important;
  font-weight: bold !important;
  color: var(--accent) !important;
}

/* Remove any leftover white backgrounds from Neve */
.wrapper,
.neve-main > .container,
.neve-main > .single-post-container,
.neve-main > .archive-container,
.global-styled,
.nv-content-wrap,
#content {
  background: transparent !important;
}

/* Featured post section */
.nv-ft-post,
.nv-ft-post .nv-ft-wrap {
  background: var(--bg-2) !important;
}

/* Neve card overrides */
.nv-index-posts {
  --cardbgcolor: transparent !important;
  --cardcolor: var(--text) !important;
}

/* Post navigation */
.nv-post-navigation {
  border-top: 1px solid var(--border) !important;
  padding-top: 24px !important;
}

.nv-post-navigation a {
  color: var(--text-mid) !important;
}

.nv-post-navigation a:hover {
  color: var(--accent) !important;
}

.nv-post-navigation span {
  font-family: var(--f-mono) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--text-dim) !important;
}

/* ============================================================
   SEARCH RESULTS
   ============================================================ */
.search-form input[type="search"] {
  background: var(--bg-2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}

/* ============================================================
   404 PAGE
   ============================================================ */
.error-404 h1 {
  color: var(--accent) !important;
}

/* ============================================================
   LOADING ANIMATION — PAGE TRANSITION
   ============================================================ */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.entry-content {
  animation: fadeUp 0.4s ease-out;
}

/* ============================================================
   RESPONSIVE TWEAKS
   ============================================================ */
@media (max-width: 960px) {
  h1, .entry-title { font-size: 1.6rem !important; }
  h2 { font-size: 1.3rem !important; }
  
  .header--row.header-main::after {
    display: none;
  }
}

@media (max-width: 576px) {
  .entry-content h2::after {
    width: 30px;
  }
  
  h1, .entry-title { font-size: 1.3rem !important; }
}

/* Fix: display-posts read more buttons — dark text on green */
.display-posts-listing a.more-link,
.display-posts-listing .listing-item a[class*="button"],
.nv-read-more-wrap .button,
a.button.button-primary {
  color: #080808 !important;
  background: #B8FF00 !important;
  border-color: #B8FF00 !important;
}
.display-posts-listing a.more-link:hover,
a.button.button-primary:hover {
  background: #f0f0e0 !important;
  color: #080808 !important;
}

/* Fix: last contrast failure — sb-mono on dark bg */
.sb-mono {
  color: #999988 !important;
}
