/*
Theme Name: Astra Child
Template: astra
Description: BrightRise Pulse – Cyberpunk/Blade Runner Neon Child Theme for Astra. Custom sci-fi neon colors and glow styles.
Author: Your Name
Version: 1.0
*/


/* Import Orbitron font with display=swap for performance */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@700;900&display=swap');

/* Universal styles */
body {
  background: #000 !important;
  color: #e2eafc !important;
  font-family: 'Orbitron', Arial, sans-serif !important;
  letter-spacing: 1px !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* Headings and site title with neon pink/cyan/purple shadow */
.site-title, .ast-site-title, h1, h2, h3 {
  font-family: 'Orbitron', Arial, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: #00fff7 !important; /* Neon cyan, adjust as preferred */
  text-shadow: 0 0 24px #ff2eff, 0 0 18px #00fff7, 0 0 10px #a259ff, 0 0 2px #ffffff !important;
    /* neon pink, cyan, purple, and white glow */
}

/* Links - neon blue with cyan glow, hover pink */
a {
  color: #18a0fb !important;
  text-shadow: 0 0 9px #00fff7 !important;
  transition: color 0.3s ease !important;
}
a:hover {
  color: #ff2eff !important;
  text-shadow: 0 0 12px #ff2eff !important;
}

/* Main call-to-action Buttons - neon gradient, glow, black text */
.button, button, input[type="submit"], .wp-block-button__link {
  background: linear-gradient(90deg, #00fff7 20%, #a259ff 70%) !important;
  color: #000 !important;
  font-weight: 800 !important;
  border-radius: 8px !important;
  border: none !important;
  box-shadow: 0 0 26px #00fff7, 0 0 32px #a259ff !important;
  letter-spacing: 1.5px !important;
  transition: all 0.3s ease !important;
}
.button:hover, button:hover, input[type="submit"]:hover, .wp-block-button__link:hover {
  background: linear-gradient(90deg, #ff2eff 15%, #00fff7 85%) !important;
  color: #e2eafc !important;
  box-shadow: 0 0 28px #ff2eff, 0 0 38px #00fff7 !important;
}

/* Neon section cards, widgets, backdrops */
.section, .card, .widget, .ast-container, .container {
  background: rgba(0,0,0,0.96) !important;
  border-radius: 12px !important;
  box-shadow: 0 0 36px #00fff7, 0 0 16px #a259ff !important;
  border: 1.5px solid #ff2eff40 !important;
}

/* Footer - glow and accent links */
.site-footer {
  background: #000 !important;
  color: #00fff7 !important;
  padding: 22px 16px !important;
  text-align: center !important;
  border-top: 2px solid #ff2eff70 !important;
  box-shadow: 0 0 22px #a259ff !important;
}
.site-footer a {
  color: #00fff7 !important;
  text-shadow: 0 0 10px #a259ff !important;
  font-weight: bold !important;
  font-size: 1.06em !important;
  padding: 0 8px !important;
  transition: color 0.3s ease !important;
}

input[type="search"], .search-field {
  font-size: 1em !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  background: rgba(45, 0, 54, 0.82) !important;
  color: #00fff7 !important;
  border: 2px solid #a259ff !important;
  box-shadow: 0 0 10px #a259ff !important;
  transition: all 0.3s ease !important;
}
.search-submit, .search-form button {
  background: linear-gradient(90deg, #00fff7, #ff2eff) !important;
  color: #000 !important;
  border-radius: 10px !important;
  font-size: 1.12em !important;
  margin-left: 2px !important;
  box-shadow: 0 0 13px #00fff7 !important;
  transition: all 0.3s ease !important;
}

/* Logo styling */
.site-logo img, .custom-logo-link img {
  width: 180px !important;
  height: auto !important;
  margin: 14px auto !important;
  display: block !important;
  background: none !important;
  border-radius: 10px !important;
  box-shadow: 0 0 20px #a259ff, 0 0 10px #ff2eff80 !important;
  transition: all 0.3s ease !important;
}

/* --- Mobile Optimizations --- */
@media (max-width: 600px) {
  body {
    font-size: 1.10em !important;
    padding: 0 !important;
  }
  .site-footer {
    background: #000 !important;
    color: #00fff7 !important;
    padding: 18px 0 !important;
    text-align: center !important;
    box-shadow: 0 0 18px #ff2eff !important;
  }
  .site-footer a {
    color: #ff2eff !important;
    font-size: 1em !important;
    padding: 0 6px !important;
    text-shadow: 0 0 6px #00fff7 !important;
  }
  input[type="search"], .search-field {
    font-size: 1em !important;
    padding: 10px 12px !important;
    width: 85vw !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }
  .search-submit, .search-form button {
    padding: 0 16px !important;
    font-size: 1.22em !important;
    border-radius: 7px !important;
    margin-left: 2px !important;
    background: #ff2eff !important;
    color: #000 !important;
    box-shadow: 0 0 10px #ff2eff !important;
  }
  .site-logo img, .custom-logo-link img {
    max-width: 130px !important;
    box-shadow: 0 0 12px #a259ff88 !important;
  }
  h1, h2, h3 {
    margin-top: 18px !important;
    margin-bottom: 14px !important;
    font-size: 1.28em !important;
  }
  .ast-container, .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .site-header, .main-header-bar {
    background: #000 !important;
    box-shadow: 0 0 18px #a259ff80 !important;
    border-radius: 0 0 18px 18px !important;
    min-height: 68px !important;
    padding: 13px 0 9px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* === PAGE TEXT WIDTH FIX === */
.about-content p,
.mission p,
.feature-card p {
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  word-wrap: break-word !important;
  line-height: 1.7em !important;
  font-size: 1.05em !important;
}

.home-intro p,
.mission p {
  text-align: center !important;
}

/* Keep hero title from breaking into multiple lines */
.hero-title {
  display: inline-block !important;
  white-space: nowrap !important;
}

/* Make all main content areas fill wider space */
.ast-container,
.entry-content {
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 2% !important;
}

@media (max-width: 600px) {
  .site-title, .ast-site-title {
    color: #00fff7 !important;
    text-shadow: 0 0 10px #a259ff, 0 0 4px #ff2eff !important;
    font-size: 1.14em !important;
    font-weight: bold !important;
    letter-spacing: 2px !important;
    margin: 9px 0 0 0 !important;
    text-align: center !important;
    background: none !important;
  }
  .main-header-bar-navigation {
    background: none !important;
    box-shadow: none !important;
  }
}

.contact-page-wrapper {
  color: #e2eafc !important;
  padding: 60px 5% !important;
}
.contact-hero {
  text-align: center !important;
  margin-bottom: 50px !important;
}
.contact-hero h1 {
  font-size: 2.2em !important;
  color: #00fff7 !important;
  text-shadow: 0 0 20px #ff2eff !important;
}
.contact-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 40px !important;
}
.contact-info, .contact-form {
  background: rgba(0,0,0,0.8) !important;
  border: 1.5px solid #ff2eff40 !important;
  box-shadow: 0 0 20px #00fff7, 0 0 10px #a259ff !important;
  border-radius: 12px !important;
  padding: 30px !important;
}
.contact-info a.neon-link {
  color: #00fff7 !important;
  text-shadow: 0 0 8px #00fff7 !important;
}
.contact-info a.neon-link:hover {
  color: #ff2eff !important;
  text-shadow: 0 0 10px #ff2eff !important;
}

.about-page-wrapper {
  padding: 60px 5% !important;
  color: #e2eafc !important;
}
.about-hero h1 {
  text-align: center !important;
  font-size: 2.4em !important;
  color: #00fff7 !important;
  text-shadow: 0 0 22px #ff2eff !important;
  margin-bottom: 40px !important;
}
.about-content p {
  font-size: 1.1em !important;
  line-height: 1.8em !important;
  margin-bottom: 20px !important;
}
.about-content blockquote {
  text-align: center !important;
  font-size: 1.3em !important;
  color: #ff2eff !important;
  text-shadow: 0 0 10px #00fff7 !important;
  margin: 40px auto !important;
  font-weight: bold !important;
}

/* === FINAL HEADER FIXES FOR ASTRA CHILD === */

/* Make top bar (header) full-width and unified with page background */
.site-header,
.ast-primary-header-bar,
.main-header-bar,
.ast-builder-grid-row {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: linear-gradient(90deg, #000 0%, #001220 100%) !important;
  box-shadow: 0 0 25px #00fff7 !important;
  border-bottom: 1px solid #ff2eff70 !important;
}

/* Ensure Astra container doesn't clip your header */
.ast-container {
  max-width: 100% !important;
  padding: 0 3% !important;
}

/* Align logo and navigation properly */
.ast-builder-layout-element.site-branding {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-left: 1% !important;
}

/* Make logo a bit larger and glow */
.site-logo img,
.custom-logo-link img {
  max-height: 90px !important;
  width: auto !important;
  filter: drop-shadow(0 0 10px #ff2eff) drop-shadow(0 0 6px #00fff7) !important;
}

/* Push the navigation all the way to the right */
.ast-main-header-nav {
  margin-left: auto !important;
}

/* Clean, readable text rendering */
body, p, a, li, span {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}

/* Make menu links evenly spaced and glow on hover */
.main-header-menu a {
  color: #00fff7 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  font-weight: 700 !important;
  padding: 16px 22px !important;
  text-shadow: 0 0 10px #00fff7 !important;
  transition: all 0.3s ease !important;
}

.main-header-menu a:hover {
  color: #ff2eff !important;
  text-shadow: 0 0 14px #ff2eff !important;
}

/* Optional sticky header */
.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
}

/* === CSS VARIABLES FOR CONSISTENCY === */
:root {
  --brand: #7A1F3D;     /* deep maroon */
  --plum: #5E2A5A;      /* dark violet */
  --accent: #E94A72;    /* crimson-rose */
  --ember: #BB2649;     /* warm maroon mid */
  --ink: #EAE4E8;       /* soft text */
  --base: #0F0A0A;      /* page bg */
  --surface: #1A1114;   /* cards */
  --glow: #FFB3C6;      /* gentle glow */
}

/* site background + text */
body { 
  background: var(--base) !important; 
  color: var(--ink) !important; 
}

/* cards/sections */
.section, .card, .widget, .ast-container, .container {
  background: var(--surface) !important;
  border: 1px solid color-mix(in oklab, var(--accent) 25%, transparent) !important;
  box-shadow: 0 0 24px color-mix(in oklab, var(--plum) 25%, transparent) !important;
}

/* links */
a { 
  color: var(--accent) !important; 
  text-shadow: 0 0 6px color-mix(in oklab, var(--glow) 40%, transparent) !important; 
}
a:hover { 
  color: var(--ink) !important; 
  text-shadow: 0 0 10px var(--accent) !important; 
}

/* buttons (fallback for non-Tailwind buttons) */
.button, button, input[type="submit"], .wp-block-button__link {
  background: linear-gradient(90deg, var(--brand), var(--plum)) !important;
  color: #0b0b0b !important; 
  font-weight: 800 !important; 
  border-radius: 12px !important;
  box-shadow: 0 0 22px color-mix(in oklab, var(--brand) 35%, transparent) !important;
}
.button:hover, button:hover, input[type="submit"]:hover, .wp-block-button__link:hover {
  background: linear-gradient(90deg, var(--accent), var(--ember)) !important;
  color: var(--ink) !important; 
  box-shadow: 0 0 28px var(--accent) !important;
}

/* header bar (Astra hidden; our Tailwind header shows—this keeps any fallback aligned) */
.site-header, .ast-primary-header-bar { 
  background: var(--base) !important; 
  border-bottom: 1px solid var(--plum) !important; 
}

/* Active/current menu item highlighting */
.brp-menu-item.current-menu-item > a,
.brp-menu-item.current_page_parent > a,
.brp-menu-item.current_page_ancestor > a {
  color: var(--accent, #E94A72) !important;
  text-shadow: 0 0 6px #E94A72 !important;
}

/* Accessible focus ring */
header a:focus {
  outline: 2px solid var(--accent, #E94A72) !important;
  outline-offset: 2px !important;
  border-radius: 6px !important;
}

/* Footer link + social polish */
footer a { 
  text-decoration: none !important; 
}
footer a:hover { 
  color: var(--accent, #E94A72) !important; 
}

.brp-social {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 2.25rem !important; 
  width: 2.25rem !important;
  border-radius: 9999px !important;
  background: rgba(0,0,0,0.25) !important;
  color: var(--ink, #E5E5EA) !important;
  border: 1px solid var(--plum, #5E2A5A) !important;
  transition: transform .15s ease, box-shadow .15s ease, color .15s ease, background .15s ease, border-color .15s ease !important;
}
.brp-social:hover {
  transform: translateY(-1px) !important;
  background: rgba(233,74,114,0.12) !important;
  color: #E94A72 !important;
  box-shadow: 0 0 14px rgba(233,74,114,.35) !important;
  border-color: #E94A72 !important;
}

/* Newsletter input focus */
footer input[type="email"]:focus {
  outline: 2px solid var(--accent, #E94A72) !important;
  outline-offset: 2px !important;
}

/* Sticky CTA safe spacing (avoid covering other fixed UI) */
#brp-sticky-cta { 
  pointer-events: none !important; 
}
#brp-sticky-cta > div { 
  pointer-events: auto !important; 
}

/* Respect mobile keyboards and very short viewports */
@media (max-height: 500px) {
  #brp-sticky-cta { 
    display: none !important; 
  }
}

/* ---- BRP • Contact Form 7 ---- */
.brp-cf7 .sr-only {
  position: absolute !important; 
  width: 1px; 
  height: 1px; 
  padding: 0; 
  margin: -1px;
  overflow: hidden; 
  clip: rect(0,0,0,0); 
  white-space: nowrap; 
  border: 0;
}

.brp-cf7 .brp-field { 
  margin-bottom: 14px; 
}
.brp-cf7 input[type="text"],
.brp-cf7 input[type="email"],
.brp-cf7 textarea {
  width: 100% !important;
  color: var(--ink, #E5E5EA) !important;
  background: rgba(0,0,0,0.6) !important;
  border: 1px solid var(--plum, #5E2A5A) !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  box-shadow: 0 0 14px rgba(94,42,90,0.25) inset !important;
}

.brp-cf7 textarea { 
  min-height: 160px; 
  resize: vertical; 
}

.brp-cf7 input::placeholder,
.brp-cf7 textarea::placeholder {
  color: rgba(229,229,234,0.55) !important;
}

.brp-cf7 input:focus,
.brp-cf7 textarea:focus {
  outline: 2px solid var(--accent, #E94A72) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 20px rgba(233,74,114,0.25) !important;
}

.brp-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
}
.brp-row .brp-field {
  flex: 1 1 48% !important;
}

/* Error + success states */
.brp-cf7 span.wpcf7-not-valid-tip { 
  color: #ff9db2; 
  font-size: 0.85rem; 
  margin-top: 6px; 
  display: block; 
}
.brp-cf7 .wpcf7-response-output { 
  border: 1px solid var(--plum, #5E2A5A) !important; 
  background: rgba(0,0,0,0.4) !important; 
  color: var(--ink, #E5E5EA) !important; 
  border-radius: 12px !important; 
  padding: 10px 12px !important; 
  margin: 10px 0 0 !important;
}

/* Submit button */
.brp-cf7 .brp-actions { 
  margin-top: 8px; 
}
.brp-cf7 .brp-btn {
  appearance: none !important;
  cursor: pointer !important;
  border: 0 !important;
  padding: 10px 18px !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  color: #000 !important;
  background-image: linear-gradient(to right, var(--brand, #A259FF), var(--plum, #5E2A5A)) !important;
  box-shadow: 0 0 20px rgba(94,42,90,0.45) !important;
  transition: transform .15s ease, box-shadow .15s ease !important;
}
.brp-cf7 .brp-btn:hover { 
  transform: scale(1.03) !important; 
  box-shadow: 0 0 26px rgba(233,74,114,0.45) !important; 
}
.brp-cf7 .brp-btn:focus { 
  outline: 2px solid var(--accent, #E94A72) !important; 
  outline-offset: 2px !important; 
}

/* === Latest Posts Grid (neon noir) === */
:root {
  /* Fallbacks if your tokens aren't set somewhere else */
  --brand: #c86bd1;   /* warm plum/pink */
  --accent: #ff6ea8;   /* neon rose */
  --plum: #5a2a5f;   /* deep plum line */
  --ink: #e7e0ea;   /* warm off-white */
  --surface: #150e16;   /* near-black surface */
  --base: #0a070b;   /* true black base */
}

.text-brand { color: var(--brand) !important; } 
.text-accent { color: var(--accent) !important; } 
.text-ink\/80 { color: color-mix(in oklab, var(--ink) 80%, transparent) !important; } 
.text-ink\/85 { color: color-mix(in oklab, var(--ink) 85%, transparent) !important; }
.bg-surface\/95 { background-color: color-mix(in oklab, var(--surface) 95%, transparent) !important; }
.bg-base { background-color: var(--base) !important; }
.border-plum\/30 { border-color: color-mix(in oklab, var(--plum) 30%, transparent) !important; }
.drop-shadow-\[0_0_12px_var\(--plum\)\] { filter: drop-shadow(0 0 12px var(--plum)) !important; }

/* Cards */
.brp-card {
  backdrop-filter: saturate(120%) blur(0.5px) !important;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease !important;
}
.brp-card:hover,
.brp-card:focus-within {
  border-color: color-mix(in oklab, var(--accent) 55%, var(--plum)) !important;
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--accent) 50%, transparent),
    0 0 24px color-mix(in oklab, var(--accent) 50%, transparent) !important;
  transform: translateY(-2px) !important;
}

/* Chips */
.brp-chip {
  --brp-chip-bg: color-mix(in oklab, var(--surface) 85%, transparent) !important;
  --brp-chip-ring: color-mix(in oklab, var(--accent) 30%, transparent) !important;
  display: inline-flex !important; 
  align-items: center !important; 
  gap: .375rem !important;
  padding: .25rem .55rem !important; 
  border-radius: 999px !important;
  border: 1px solid var(--brp-chip-ring) !important;
  background: var(--brp-chip-bg) !important;
  color: var(--ink) !important;
  font-size: .75rem !important; 
  line-height: 1 !important; 
  text-decoration: none !important;
  transition: border-color .2s ease, color .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}
.brp-chip:hover, .brp-chip:focus {
  outline: none !important;
  border-color: var(--accent) !important;
  color: var(--brand) !important;
  box-shadow: 0 0 14px color-mix(in oklab, var(--accent) 40%, transparent) !important;
}
.brp-chip--cat::before {
  content: "●" !important; 
  font-size: .55rem !important; 
  color: var(--brand) !important;
}
.brp-chip--tag { 
  opacity: .9 !important; 
}
.brp-chip--tag:hover { 
  opacity: 1 !important; 
}

/* Pagination */
.brp-page-link a,
.brp-page-link span {
  display: inline-flex !important; 
  align-items: center !important; 
  justify-content: center !important;
  min-width: 2.25rem !important; 
  height: 2.25rem !important; 
  padding: 0 .5rem !important; 
  border-radius: .65rem !important;
  border: 1px solid color-mix(in oklab, var(--plum) 40%, transparent) !important;
  background: color-mix(in oklab, var(--surface) 92%, transparent) !important;
  color: var(--ink) !important;
  text-decoration: none !important; 
  font-weight: 600 !important;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, color .15s ease !important;
}
.brp-page-link a:hover {
  color: var(--brand) !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 14px color-mix(in oklab, var(--accent) 35%, transparent) !important;
  transform: translateY(-1px) !important;
}
.brp-page-link .current {
  background: color-mix(in oklab, var(--accent) 18%, var(--surface)) !important;
  border-color: var(--accent) !important;
  color: var(--brand) !important;
  box-shadow: 0 0 16px color-mix(in oklab, var(--accent) 40%, transparent) !important;
}

/* Small accessibility nudge for links */
a:focus-visible { 
  outline: none !important; 
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--accent) 55%, transparent) !important; 
  border-radius: .5rem !important; 
}

/* === BrightRise Pulse • Single Post Readability (Refined) === */
.brp-prose {
  color: var(--ink) !important;
  background: transparent !important;
  max-width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
  line-height: 1.8 !important;
  font-size: 1.07rem !important;
  font-family: "Inter", "IBM Plex Sans", sans-serif !important;
  letter-spacing: 0.01em !important;
  opacity: 0.96 !important;
}

/* === BrightRise Pulse • Base Post Background Fix === */
body.single-post,
.single-post .site-content,
.single-post .ast-container {
  background: var(--base) !important;
  color: var(--ink) !important;
}

.single-post p {
  color: var(--ink) !important;
  opacity: 0.96 !important;
}

/* === BRP • Remove inline black text colors on posts === */
.single-post [style*="color:#000"],
.single-post [style*="color: #000"],
.single-post [style*="color:rgb(0,0,0)"] {
  color: var(--ink) !important;
}

/* Paragraphs & text */
.brp-prose p,
.brp-prose li,
.brp-prose blockquote {
  color: var(--ink) !important;
  font-size: 1.07rem !important;
  line-height: 1.8 !important;
  margin-bottom: 1.25rem !important;
}

/* Links */
.brp-prose a {
  color: var(--accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: color 0.2s ease, text-shadow 0.2s ease !important;
}
.brp-prose a:hover {
  color: var(--brand) !important;
  text-shadow: 0 0 8px color-mix(in oklab, var(--brand) 40%, transparent) !important;
}

/* Emphasis */
.brp-prose strong,
.brp-prose b {
  color: var(--accent) !important;
  font-weight: 600 !important;
}

/* Headings */
.brp-prose h1,
.brp-prose h2,
.brp-prose h3,
.brp-prose h4 {
  font-family: "Orbitron", sans-serif !important;
  color: var(--accent) !important;
  text-align: center !important;
  letter-spacing: 0.015em !important;
  margin: 2rem auto 1rem !important;
  line-height: 1.3 !important;
  text-shadow: 0 0 10px color-mix(in oklab, var(--accent) 25%, transparent) !important;
}

.brp-prose h2 {
  font-size: 1.7rem !important;
}
.brp-prose h3 {
  font-size: 1.35rem !important;
  opacity: 0.9 !important;
}

/* Blockquotes */
.brp-prose blockquote {
  background: color-mix(in oklab, var(--surface) 92%, transparent) !important;
  border-left: 3px solid color-mix(in oklab, var(--accent) 45%, transparent) !important;
  padding: 1rem 1.25rem !important;
  margin: 1.5rem 0 !important;
  font-style: italic !important;
  color: color-mix(in oklab, var(--ink) 85%, var(--accent) 10%) !important;
  border-radius: 6px !important;
}

/* Lists */
.brp-prose ul,
.brp-prose ol {
  margin-left: 1.25rem !important;
  padding-left: 1rem !important;
}

/* Images */
.brp-prose img {
  display: block !important;
  margin: 2rem auto !important;
  border-radius: 8px !important;
  box-shadow: 0 0 20px #a259ff, 0 0 10px #ff2eff !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Hide empty image placeholders or style them */
.brp-prose img[src=""],
.brp-prose img:not([src]),
.brp-prose .wp-block-image:empty,
.brp-prose figure:empty {
  display: none !important;
}

/* Style placeholder images */
.brp-prose .wp-block-image {
  background: rgba(0,0,0,0.3) !important;
  border: 2px dashed #a259ff !important;
  border-radius: 8px !important;
  padding: 2rem !important;
  text-align: center !important;
  margin: 2rem auto !important;
}

.brp-prose .wp-block-image::before {
  content: "🖼️ IMAGE PLACEHOLDER 🖼️" !important;
  color: #00fff7 !important;
  font-family: "Orbitron", sans-serif !important;
  font-weight: 700 !important;
  text-shadow: 0 0 8px #ff2eff !important;
  display: block !important;
}

/* Code blocks */
.brp-prose pre,
.brp-prose code {
  font-family: "IBM Plex Mono", monospace !important;
  background: color-mix(in oklab, var(--surface) 90%, transparent) !important;
  border-radius: 6px !important;
  padding: 0.25rem 0.4rem !important;
  color: var(--accent) !important;
}

/* Slightly brighter article body for contrast */
body.single-post {
  background: color-mix(in oklab, var(--base) 98%, transparent) !important;
}

/* === BrightRise Neon Footer Form === */
.neon-subscribe {
  background: rgba(0,0,0,0.85) !important;
  border: 1.5px solid #a259ff !important;
  border-radius: 10px !important;
  box-shadow: 0 0 25px #ff2eff55, 0 0 15px #00fff755 !important;
  padding: 18px !important;
  text-align: center !important;
  max-width: 420px !important;
  margin: 0 auto !important;
}

.neon-subscribe .neon-text {
  font-family: 'Orbitron', sans-serif !important;
  color: #00fff7 !important;
  text-shadow: 0 0 12px #ff2eff !important;
  text-transform: uppercase !important;
  font-size: 1.1em !important;
  letter-spacing: 1px !important;
  margin-bottom: 12px !important;
}

.neon-subscribe input[type="email"] {
  background: rgba(0,0,0,0.75) !important;
  border: 1.5px solid #a259ff !important;
  color: #00fff7 !important;
  font-family: 'Orbitron', sans-serif !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  width: 100% !important;
  box-shadow: 0 0 10px #a259ff !important;
  outline: none !important;
}

.neon-subscribe input[type="email"]::placeholder {
  color: #a259ff !important;
}

.neon-subscribe input[type="submit"] {
  margin-top: 12px !important;
  background: linear-gradient(90deg, #00fff7, #ff2eff) !important;
  border: none !important;
  color: #000 !important;
  font-weight: bold !important;
  font-family: 'Orbitron', sans-serif !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  cursor: pointer !important;
  box-shadow: 0 0 20px #ff2eff, 0 0 20px #00fff7 !important;
  transition: 0.3s !important;
}

.neon-subscribe input[type="submit"]:hover {
  background: linear-gradient(90deg, #ff2eff, #00fff7) !important;
  box-shadow: 0 0 30px #ff2eff !important;
}

/* === BRP • Ad wrapper polish === */
.brp-ad {
  margin: 1.25rem auto !important;
  padding: .75rem !important;
  border: 1px solid #a259ff !important;
  background: rgba(0,0,0,0.8) !important;
  border-radius: 12px !important;
  box-shadow: 0 0 20px #a259ff, 0 0 10px #ff2eff !important;
  max-width: 100% !important;
  text-align: center !important;
}

.brp-ad-bottom {
  margin: 2rem 0 !important;
  padding: 1.5rem !important;
  background: rgba(0,0,0,0.6) !important;
  border: 2px solid #00fff7 !important;
  border-radius: 15px !important;
  box-shadow: 0 0 25px #00fff7, 0 0 15px #a259ff !important;
  text-align: center !important;
}

/* Footer ad styling - subtle and non-intrusive */
.brp-footer-ad {
  background: rgba(0,0,0,0.3) !important;
  border-top: 1px solid #a259ff40 !important;
  border-bottom: 1px solid #a259ff40 !important;
}

.brp-ad-footer {
  background: rgba(0,0,0,0.4) !important;
  border: 1px solid #a259ff60 !important;
  border-radius: 8px !important;
  padding: 1rem !important;
  box-shadow: 0 0 15px #a259ff30 !important;
  opacity: 0.8 !important;
  transition: opacity 0.3s ease !important;
}

.brp-ad-footer:hover {
  opacity: 1 !important;
  box-shadow: 0 0 20px #a259ff50 !important;
}

.brp-ad-footer::before {
  content: "Advertisement" !important;
  display: block !important;
  color: #a259ff !important;
  font-family: "Orbitron", sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.8rem !important;
  text-shadow: 0 0 5px #a259ff !important;
  margin-bottom: 0.5rem !important;
  letter-spacing: 1px !important;
  opacity: 0.7 !important;
}
.brp-ad-top { 
  margin: 1rem 0 1.25rem !important; 
}
.align-center { 
  text-align: center !important; 
}

/* === BRP • Hide post navigation temporarily === */
.brp-post-nav {
  display: none !important;
}

/* === BRP • single layout grid === */
.brp-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px !important;
  gap: 28px !important;
}
@media (max-width: 1024px) {
  .brp-layout { 
    grid-template-columns: 1fr !important; 
  }
  .brp-sidebar { 
    order: 2 !important; 
  }
}
.brp-entry-header { 
  text-align: center !important; 
  margin: 1rem 0 1.25rem !important; 
}
.brp-meta { 
  opacity: .85 !important; 
  font-size: .92rem !important; 
}
.brp-meta__sep { 
  margin: 0 .5rem !important; 
  opacity: .5 !important; 
}

.brp-author-box { 
  margin: 2rem auto 0 !important; 
}
.brp-author-box__inner {
  display: flex !important; 
  gap: 14px !important; 
  align-items: center !important;
  padding: 14px !important; 
  border: 1px solid color-mix(in oklab, var(--plum) 40%, transparent) !important;
  border-radius: 12px !important; 
  background: color-mix(in oklab, var(--surface) 92%, transparent) !important;
  box-shadow: 0 0 14px color-mix(in oklab, var(--plum) 22%, transparent) !important;
}
.brp-author-box__name { 
  margin: 0 0 .25rem !important; 
  color: var(--brand, #7A1F3D) !important; 
}
.brp-author-box__bio { 
  margin: 0 !important; 
  opacity: .9 !important; 
}

/* === BRP • Single Post Contrast & Inline Override Fix === */

/* Force dark background sitewide on posts */
body.single-post,
.single-post .site,
.single-post .ast-container,
.single-post .site-content,
.single-post .entry-content {
  background: var(--base) !important;
  color: var(--ink) !important;
}

/* Reset any block editor inline background or text colors */
.single-post [style*="background-color"],
.single-post [style*="color:#000"],
.single-post [style*="color: #000"],
.single-post [style*="color:rgb(0,0,0)"] {
  background-color: transparent !important;
  color: var(--ink) !important;
}

/* Ensure paragraphs and lists always use theme ink color */
.single-post p,
.single-post li,
.single-post span,
.single-post div {
  color: var(--ink) !important;
  opacity: 0.96 !important;
  line-height: 1.8 !important;
}

/* Slight tint panel so text doesn't sit on pure black */
.single-post .entry-content {
  background: color-mix(in oklab, var(--surface) 96%, transparent) !important;
  border-radius: 10px !important;
  padding: 2rem 2.5rem !important;
  box-shadow: 0 0 24px color-mix(in oklab, var(--plum) 25%, transparent) !important;
}

/* === BRP • Global Post Background Override === */

/* Force dark base on every post canvas */
body.single-post,
.single-post .site,
.single-post .site-content,
.single-post .ast-container,
.single-post .entry-content,
.single-post .wp-block-group,
.single-post .wp-block-cover,
.single-post .wp-block-post-content {
  background: var(--base) !important;
  color: var(--ink) !important;
}

/* Remove any Gutenberg block backgrounds or text colors */
.single-post [style*="background-color"],
.single-post [style*="color:#000"],
.single-post [style*="color: #000"],
.single-post [style*="color:rgb(0,0,0)"],
.single-post [style*="color: rgb(0, 0, 0)"] {
  background-color: transparent !important;
  color: var(--ink) !important;
}

/* Override WordPress block default white backgrounds */
.single-post .wp-block-group.has-background,
.single-post .wp-block-cover.has-background-dim,
.single-post .wp-block-post-content.has-background {
  background: var(--base) !important;
}

/* Slight contrast layer for readability */
.single-post .entry-content {
  background: color-mix(in oklab, var(--surface) 96%, transparent) !important;
  border-radius: 10px !important;
  padding: 2rem 2.5rem !important;
  box-shadow: 0 0 24px color-mix(in oklab, var(--plum) 25%, transparent) !important;
}

/* Always use theme text color */
.single-post p,
.single-post li,
.single-post span,
.single-post div {
  color: var(--ink) !important;
  opacity: 0.97 !important;
}

/* === BRP • Final Single-Post Contrast Reset === */
body.single-post,
.single-post .site,
.single-post .site-content,
.single-post .ast-container,
.single-post .entry-content,
.single-post .wp-block-group,
.single-post .wp-block-cover,
.single-post .wp-block-post-content {
  background: var(--base) !important;
  color: var(--ink) !important;
}

/* strip block editor white/gray surfaces */
.single-post [class*="has-background"],
.single-post [style*="background-color"],
.single-post [style*="background:#fff"],
.single-post [style*="color:#000"],
.single-post [style*="color: #000"] {
  background: transparent !important;
  color: var(--ink) !important;
}

/* give prose area a subtle dark panel */
.brp-prose {
  background: color-mix(in oklab, var(--surface) 96%, transparent) !important;
  border-radius: 10px !important;
  padding: 2rem 2.5rem !important;
  box-shadow: 0 0 22px color-mix(in oklab, var(--plum) 25%, transparent) !important;
  color: var(--ink) !important;
  line-height: 1.8 !important;
  font-size: 1.07rem !important;
}

/* title and meta readability */
.entry-title.hero-title {
  text-shadow: 0 0 12px color-mix(in oklab, var(--accent) 40%, transparent) !important;
  color: var(--accent) !important;
}
.brp-meta { 
  color: var(--ink) !important; 
  opacity: .85 !important; 
}

/* unify comment form background */
.comment-respond,
.comment-form {
  background: color-mix(in oklab, var(--surface) 95%, transparent) !important;
  border-radius: 8px !important;
  padding: 1.25rem 1.5rem !important;
  box-shadow: 0 0 16px color-mix(in oklab, var(--plum) 25%, transparent) !important;
}
.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"] {
  background: rgba(20, 10, 20, 0.8) !important;
  border: 1px solid color-mix(in oklab, var(--plum) 45%, transparent) !important;
  color: var(--ink) !important;
}
.comment-form textarea:focus,
.comment-form input:focus {
  outline: 2px solid var(--accent) !important;
  box-shadow: 0 0 12px color-mix(in oklab, var(--accent) 40%, transparent) !important;
}

/* === BRP • Astra Container Background Fix === */

/* Remove Astra's light container backgrounds */
.single-post .ast-container,
.single-post .site-content,
.single-post .ast-row,
.single-post #primary,
.single-post #main,
.single-post .content-area {
  background: var(--base) !important;
  color: var(--ink) !important;
}

/* Reset Astra global color variables (used by newer Astra builds) */
body.single-post {
  --ast-global-color-0: var(--base) !important;        /* Site background */
  --ast-global-color-1: var(--surface) !important;     /* Card surface */
  --ast-global-color-2: var(--ink) !important;         /* Text */
  --ast-global-color-background: var(--base) !important;
  --ast-global-color-content-bg: var(--base) !important;
  --wp--preset--color--base: var(--base) !important;
  --wp--preset--color--background: var(--base) !important;
}

/* Force all nested blocks to be transparent */
.single-post .entry-content,
.single-post .entry-content * {
  background-color: transparent !important;
  color: var(--ink) !important;
}

/* === BRP • Final kill switch for Astra wrapper background === */
body.single-post,
.single-post #content.site-content {
  background: var(--base) !important;
  color: var(--ink) !important;
}

/* reset any Astra light background tokens */
body.single-post {
  --ast-global-color-0: var(--base) !important;
  --ast-global-color-1: var(--surface) !important;
  --ast-global-color-content-bg: var(--base) !important;
  --wp--preset--color--base: var(--base) !important;
  --wp--preset--color--background: var(--base) !important;
}

/* be sure the main and article areas stay transparent */
.single-post #primary,
.single-post #main,
.single-post .brp-article,
.single-post .entry-content {
  background: transparent !important;
  color: var(--ink) !important;
}

/* === BRP • Force dark base on Astra main wrapper === */
body.single-post,
.single-post .site-main,
.single-post #primary.site-main {
  background: var(--base) !important;
  color: var(--ink) !important;
}

/* === BRP • Override Astra site wrapper background === */
body.single-post,
body.single-post #page.site {
  background: var(--base) !important;
  color: var(--ink) !important;
}

/* Make sure all inner wrappers are transparent */
body.single-post #content,
body.single-post .site-content,
body.single-post #primary,
body.single-post .site-main,
body.single-post .brp-article,
body.single-post .entry-content {
  background: transparent !important;
  color: var(--ink) !important;
}

/* Reset Astra global color variables to dark palette */
body.single-post {
  --ast-global-color-0: var(--base) !important;
  --ast-global-color-1: var(--surface) !important;
  --ast-global-color-2: var(--ink) !important;
  --ast-global-color-background: var(--base) !important;
  --ast-global-color-content-bg: var(--base) !important;
  --wp--preset--color--base: var(--base) !important;
  --wp--preset--color--background: var(--base) !important;
}

/* === BRP: kill pale box + boost readability in single posts === */
.single .prose-invert,
.single .brp-prose { 
  background: transparent !important; 
}

/* === BRP: Force full width for single posts === */
.single-post .ast-container,
.single-post .ast-row,
.single-post .entry-content,
.single-post .brp-prose {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding-left: 2% !important;
  padding-right: 2% !important;
}

.single .prose-invert *,
.single .brp-prose * { 
  background: transparent !important; 
}

/* Gutenberg "has-background" blocks (Group/Paragraph) */
.single .wp-block-group.has-background,
.single .wp-block-paragraph.has-background {
  background: transparent !important;
}

/* Paragraphs & lists: readable ink on noir */
.single .prose-invert p,
.single .prose-invert li,
.single .brp-prose p,
.single .brp-prose li {
  color: var(--ink) !important;
  opacity: 0.95 !important;
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
}

/* Optional: links pop with accent */
.single .prose-invert a,
.single .brp-prose a { 
  color: var(--brand) !important; 
  text-decoration: underline !important; 
  text-underline-offset: 3px !important; 
}
.single .prose-invert a:hover,
.single .brp-prose a:hover { 
  color: var(--accent) !important; 
}

/* === BRP • FINAL BACKGROUND FIX - NUCLEAR OPTION === */
/* Force dark background on ALL elements in single posts */
body.single-post,
body.single-post *,
body.single-post *::before,
body.single-post *::after {
  background-color: #0a070b !important;
  background: #0a070b !important;
}

/* Even more aggressive - target body directly */
body.single-post {
  background: #0a070b !important;
  background-color: #0a070b !important;
}

/* Target the main page wrapper */
body.single-post #page,
body.single-post .site,
body.single-post .site-content {
  background: #0a070b !important;
  background-color: #0a070b !important;
}

/* Override any inline styles that might be setting white backgrounds */
body.single-post [style*="background-color: white"],
body.single-post [style*="background-color: #fff"],
body.single-post [style*="background-color: #ffffff"],
body.single-post [style*="background-color: rgb(255, 255, 255)"],
body.single-post [style*="background-color: rgb(255,255,255)"],
body.single-post [style*="background: white"],
body.single-post [style*="background: #fff"],
body.single-post [style*="background: #ffffff"],
body.single-post [style*="background: rgb(255, 255, 255)"],
body.single-post [style*="background: rgb(255,255,255)"] {
  background-color: #0a070b !important;
  background: #0a070b !important;
}

/* Force dark background on main content areas */
body.single-post .site-content,
body.single-post .ast-container,
body.single-post .ast-row,
body.single-post #primary,
body.single-post #main,
body.single-post .content-area,
body.single-post .site-main,
body.single-post .brp-single,
body.single-post .brp-article,
body.single-post .entry-content {
  background-color: #0a070b !important;
  background: #0a070b !important;
}

/* Override WordPress block editor backgrounds */
body.single-post .wp-block-group,
body.single-post .wp-block-cover,
body.single-post .wp-block-post-content,
body.single-post .wp-block-paragraph,
body.single-post .wp-block-heading,
body.single-post .wp-block-list,
body.single-post .wp-block-quote,
body.single-post .wp-block-code,
body.single-post .wp-block-preformatted {
  background-color: transparent !important;
  background: transparent !important;
}

/* Ensure text is visible on dark background */
body.single-post p,
body.single-post li,
body.single-post span,
body.single-post div,
body.single-post h1,
body.single-post h2,
body.single-post h3,
body.single-post h4,
body.single-post h5,
body.single-post h6 {
  color: var(--ink) !important;
}

/* Override any inline text colors that might be black */
body.single-post [style*="color: black"],
body.single-post [style*="color: #000"],
body.single-post [style*="color: #000000"],
body.single-post [style*="color: rgb(0, 0, 0)"],
body.single-post [style*="color: rgb(0,0,0)"] {
  color: var(--ink) !important;
}

/* === BRP • Comments Section Styling === */
.brp-comments {
  margin: 2rem 0 !important;
  padding: 1.5rem !important;
  background: color-mix(in oklab, var(--surface) 95%, transparent) !important;
  border-radius: 12px !important;
  border: 1px solid color-mix(in oklab, var(--plum) 40%, transparent) !important;
  box-shadow: 0 0 20px color-mix(in oklab, var(--plum) 25%, transparent) !important;
}

.brp-comments-title {
  color: var(--accent) !important;
  font-family: "Orbitron", sans-serif !important;
  font-size: 1.4rem !important;
  margin-bottom: 1.5rem !important;
  text-shadow: 0 0 10px color-mix(in oklab, var(--accent) 30%, transparent) !important;
}

.brp-comment-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 2rem 0 !important;
}

.brp-comment {
  margin-bottom: 1.5rem !important;
  padding: 1rem !important;
  background: color-mix(in oklab, var(--surface) 90%, transparent) !important;
  border-radius: 8px !important;
  border-left: 3px solid color-mix(in oklab, var(--accent) 50%, transparent) !important;
}

.brp-comment-body {
  color: var(--ink) !important;
}

.brp-comment-meta {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  margin-bottom: 0.75rem !important;
}

.brp-comment-avatar {
  border-radius: 50% !important;
  box-shadow: 0 0 10px color-mix(in oklab, var(--plum) 30%, transparent) !important;
}

.brp-comment-author-name {
  color: var(--brand) !important;
  font-weight: 600 !important;
  font-style: normal !important;
}

.brp-comment-metadata {
  color: color-mix(in oklab, var(--ink) 70%, transparent) !important;
  font-size: 0.9rem !important;
}

.brp-comment-content {
  color: var(--ink) !important;
  line-height: 1.6 !important;
  margin-bottom: 0.75rem !important;
}

.brp-comment-content p {
  margin-bottom: 0.5rem !important;
  color: var(--ink) !important;
}

.brp-comment-reply a {
  color: var(--accent) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  padding: 0.25rem 0.75rem !important;
  border-radius: 6px !important;
  background: color-mix(in oklab, var(--surface) 85%, transparent) !important;
  border: 1px solid color-mix(in oklab, var(--accent) 40%, transparent) !important;
  transition: all 0.2s ease !important;
}

.brp-comment-reply a:hover {
  background: color-mix(in oklab, var(--accent) 20%, transparent) !important;
  box-shadow: 0 0 8px color-mix(in oklab, var(--accent) 30%, transparent) !important;
}

/* Comment form styling */
.brp-comment-form-comment textarea,
.brp-comment-form-author input,
.brp-comment-form-email input,
.brp-comment-form-url input {
  background: rgba(20, 10, 20, 0.8) !important;
  border: 1px solid color-mix(in oklab, var(--plum) 45%, transparent) !important;
  color: var(--ink) !important;
  border-radius: 8px !important;
  padding: 0.75rem !important;
  width: 100% !important;
  font-family: inherit !important;
}

.brp-comment-form-comment textarea:focus,
.brp-comment-form-author input:focus,
.brp-comment-form-email input:focus,
.brp-comment-form-url input:focus {
  outline: 2px solid var(--accent) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 12px color-mix(in oklab, var(--accent) 40%, transparent) !important;
}

.brp-comment-form-comment textarea::placeholder,
.brp-comment-form-author input::placeholder,
.brp-comment-form-email input::placeholder,
.brp-comment-form-url input::placeholder {
  color: color-mix(in oklab, var(--ink) 60%, transparent) !important;
}

.brp-comment-notes {
  color: color-mix(in oklab, var(--ink) 80%, transparent) !important;
  font-size: 0.9rem !important;
  margin-bottom: 1rem !important;
}

/* Submit button - FORCE VISIBLE */
#commentform input[type="submit"],
.comment-form input[type="submit"],
input[type="submit"] {
  background: linear-gradient(135deg, #ff2eff, #a259ff, #00fff7) !important;
  color: #000000 !important;
  border: 3px solid #ffffff !important;
  padding: 12px 24px !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 0 25px #ff2eff, 0 0 15px #a259ff, 0 0 10px #00fff7 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  font-family: "Orbitron", sans-serif !important;
}

#commentform input[type="submit"]:hover,
.comment-form input[type="submit"]:hover,
input[type="submit"]:hover {
  background: linear-gradient(135deg, #00fff7, #ff2eff, #a259ff) !important;
  color: #000000 !important;
  box-shadow: 0 0 35px #00fff7, 0 0 25px #ff2eff, 0 0 15px #a259ff !important;
  transform: translateY(-2px) scale(1.05) !important;
  border-color: #ff2eff !important;
}

/* Comment navigation */
.brp-comment-navigation {
  display: flex !important;
  justify-content: space-between !important;
  margin: 1.5rem 0 !important;
}

.brp-nav-previous a,
.brp-nav-next a {
  color: var(--accent) !important;
  text-decoration: none !important;
  padding: 0.5rem 1rem !important;
  border-radius: 6px !important;
  background: color-mix(in oklab, var(--surface) 90%, transparent) !important;
  border: 1px solid color-mix(in oklab, var(--accent) 40%, transparent) !important;
  transition: all 0.2s ease !important;
}

.brp-nav-previous a:hover,
.brp-nav-next a:hover {
  background: color-mix(in oklab, var(--accent) 20%, transparent) !important;
  box-shadow: 0 0 8px color-mix(in oklab, var(--accent) 30%, transparent) !important;
}

/* Screen reader only class */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* === BRP • Custom Neon Intro Styling === */
.brp-neon-intro {
  padding: 2rem !important;
  background: rgba(0,0,0,0.4) !important;
  border: 2px solid #a259ff !important;
  border-radius: 15px !important;
  box-shadow: 0 0 30px #a259ff, 0 0 15px #ff2eff !important;
  margin: 2rem 0 !important;
}

.brp-intro-text {
  font-size: 1.3rem !important;
  text-align: center !important;
  color: #00fff7 !important;
  text-shadow: 0 0 15px #ff2eff !important;
  font-family: "Orbitron", sans-serif !important;
  font-weight: 700 !important;
  margin-bottom: 2rem !important;
}

.neon-highlight {
  color: #ff2eff !important;
  text-shadow: 0 0 8px #ff2eff !important;
  font-weight: 600 !important;
}

.brp-mission-statement {
  background: rgba(0,0,0,0.6) !important;
  border: 1px solid #00fff7 !important;
  border-radius: 10px !important;
  padding: 1.5rem !important;
  margin: 2rem 0 !important;
  box-shadow: 0 0 20px #00fff7 !important;
}

.brp-mission-statement h3 {
  color: #00fff7 !important;
  text-shadow: 0 0 12px #ff2eff !important;
  font-family: "Orbitron", sans-serif !important;
  text-align: center !important;
  font-size: 1.5rem !important;
  margin-bottom: 1rem !important;
}

.brp-closing {
  text-align: center !important;
  font-size: 1.1rem !important;
  color: #e7e0ea !important;
  font-style: italic !important;
  margin-top: 2rem !important;
}

.neon-glow {
  color: #a259ff !important;
  text-shadow: 0 0 10px #a259ff, 0 0 20px #ff2eff !important;
  font-weight: 700 !important;
}

/* === PERFORMANCE & ACCESSIBILITY OPTIMIZATIONS === */

/* Respect user's motion preferences */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  :root {
    --neon-primary: #ffffff;
    --neon-secondary: #00ffff;
    --neon-accent: #ff00ff;
  }
  
  .site-title, h1, h2, h3 {
    color: var(--neon-primary) !important;
    text-shadow: 0 0 10px var(--neon-secondary) !important;
  }
  
  a {
    color: var(--neon-secondary) !important;
  }
  
  .button, button {
    background: var(--neon-accent) !important;
    color: #000 !important;
  }
}

/* Print styles */
@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  
  a, a:visited {
    text-decoration: underline !important;
  }
  
  .site-header, .site-footer {
    display: none !important;
  }
}

/* ===== FIX: Single post title edge padding and wrapping ===== */
.single-post .entry-header,
.single-post .entry-title {
  padding-left: clamp(16px, 4vw, 40px) !important;
  padding-right: clamp(16px, 4vw, 40px) !important;
}

.single-post .entry-title {
  overflow-wrap: anywhere;
}

/* Stronger rule to enforce side gutters on single post titles */
body.single-post .entry-header .entry-title,
.ast-single-post .entry-header .entry-title {
  margin-left: clamp(16px, 4vw, 40px) !important;
  margin-right: clamp(16px, 4vw, 40px) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Ensure the header container itself has gutters regardless of container overrides */
body.single-post .site-content .entry-header,
body.single-post .site-content .entry-header .ast-container,
body.single-post.ast-single-post .entry-header,
body.single-post.ast-single-post .entry-header .ast-container {
  padding-left: clamp(16px, 4vw, 40px) !important;
  padding-right: clamp(16px, 4vw, 40px) !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .single-post .entry-title {
    font-size: min(9vw, 2.25rem) !important;
  }
}

/* Directly pad the single-post header wrapper used in our template */
.single-post .brp-entry-header {
  padding-left: clamp(16px, 4vw, 40px) !important;
  padding-right: clamp(16px, 4vw, 40px) !important;
  box-sizing: border-box !important;
}

.single-post .hero-title {
  margin-left: 0 !important;
  margin-right: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  line-break: anywhere !important;
  hyphens: auto !important;
  font-size: clamp(1.8rem, 5vw, 3rem) !important;
}

/* Constrain header inner width and center */
.single-post .brp-entry-header {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}