/* ============================================
   JORUVA BLOG POSTS - DARK THEME
   Module: 11-blog.css
   
   PART A: Single blog posts
   PART B: Blog archive / listing page
   ============================================ */

/* ============================================
   PART A: SINGLE BLOG POSTS
   Targets: body.single-post
   ============================================ */

/* ============================================
   1. PAGE BACKGROUND & CONTAINER
   ============================================ */

body.single-post {
  background-color: var(--jrv-dark) !important;
}

body.single-post #primary,
body.single-post .ast-container,
body.single-post .site-content {
  background-color: var(--jrv-dark) !important;
}

body.single-post article.post {
  background-color: transparent !important;
}

/* ============================================
   2. ENTRY HEADER (Title, Meta)
   ============================================ */

body.single-post .entry-header {
  padding: 80px 0 40px;
  text-align: left;
  max-width: 800px;
  margin: 0 auto;
}

body.single-post .entry-title {
  color: #ffffff !important;
  font-size: 2.75rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin-bottom: 16px !important;
}

body.single-post .entry-meta,
body.single-post .entry-meta a,
body.single-post .posted-on,
body.single-post .byline,
body.single-post .cat-links {
  color: var(--jrv-text-muted) !important;
  font-size: 14px !important;
}

body.single-post .entry-meta a:hover {
  color: var(--jrv-sky) !important;
}

/* ============================================
   3. ENTRY CONTENT - TYPOGRAPHY
   ============================================ */

body.single-post .entry-content {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 0 20px 60px !important;
}

body.single-post .entry-content p {
  color: var(--jrv-text-muted) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  margin-bottom: 1.5em !important;
}

/* Lead paragraph styling */
body.single-post .entry-content > p:first-of-type,
body.single-post .entry-content p.lead {
  color: #ffffff !important;
  font-size: 1.25rem !important;
  line-height: 1.6 !important;
  border-left: 3px solid var(--jrv-blue);
  padding-left: 20px;
  margin-bottom: 2em !important;
}

/* ============================================
   4. HEADINGS
   ============================================ */

body.single-post .entry-content h2 {
  color: #ffffff !important;
  font-size: 1.875rem !important;
  font-weight: 700 !important;
  margin-top: 2.5em !important;
  margin-bottom: 0.75em !important;
  padding-top: 1em;
  border-top: 1px solid var(--jrv-border);
}

body.single-post .entry-content h2:first-of-type {
  border-top: none;
  padding-top: 0;
  margin-top: 1.5em !important;
}

body.single-post .entry-content h3 {
  color: #ffffff !important;
  font-size: 1.375rem !important;
  font-weight: 600 !important;
  margin-top: 2em !important;
  margin-bottom: 0.5em !important;
}

body.single-post .entry-content h4 {
  color: var(--jrv-sky) !important;
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  margin-top: 1.5em !important;
  margin-bottom: 0.5em !important;
}

/* ============================================
   5. LISTS
   ============================================ */

body.single-post .entry-content ul,
body.single-post .entry-content ol {
  color: var(--jrv-text-muted) !important;
  margin-bottom: 1.5em !important;
  padding-left: 1.5em !important;
}

body.single-post .entry-content li {
  color: var(--jrv-text-muted) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  margin-bottom: 0.5em !important;
}

body.single-post .entry-content li strong {
  color: #ffffff !important;
}

/* ============================================
   6. LINKS
   ============================================ */

body.single-post .entry-content a {
  color: var(--jrv-sky) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

body.single-post .entry-content a:hover {
  color: #ffffff !important;
}

/* ============================================
   7. TABLES
   ============================================ */

body.single-post .entry-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 2em 0 !important;
  background: var(--jrv-dark-card) !important;
  border: 1px solid var(--jrv-border) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

body.single-post .entry-content thead {
  background: rgba(1, 78, 252, 0.15) !important;
}

body.single-post .entry-content th {
  color: #ffffff !important;
  font-weight: 600 !important;
  text-align: left !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--jrv-border) !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

body.single-post .entry-content td {
  color: var(--jrv-text-muted) !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--jrv-border) !important;
  font-size: 15px !important;
}

body.single-post .entry-content tr:last-child td {
  border-bottom: none !important;
}

body.single-post .entry-content tr:hover td {
  background: rgba(255, 255, 255, 0.03) !important;
}

/* ============================================
   8. BLOCKQUOTES & CALLOUTS
   ============================================ */

body.single-post .entry-content blockquote {
  background: rgba(1, 78, 252, 0.08) !important;
  border-left: 4px solid var(--jrv-blue) !important;
  border-radius: 0 12px 12px 0 !important;
  padding: 24px 28px !important;
  margin: 2em 0 !important;
  font-style: normal !important;
}

body.single-post .entry-content blockquote p {
  color: #ffffff !important;
  font-size: 1.1rem !important;
  margin-bottom: 0 !important;
}

/* ============================================
   9. HORIZONTAL RULES
   ============================================ */

body.single-post .entry-content hr {
  border: none !important;
  border-top: 1px solid var(--jrv-border) !important;
  margin: 3em 0 !important;
}

/* ============================================
   10. CODE & PRE
   ============================================ */

body.single-post .entry-content code {
  background: rgba(255, 255, 255, 0.1) !important;
  color: var(--jrv-sky) !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  font-size: 0.9em !important;
}

body.single-post .entry-content pre {
  background: var(--jrv-dark-card) !important;
  border: 1px solid var(--jrv-border) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  overflow-x: auto !important;
}

body.single-post .entry-content pre code {
  background: transparent !important;
  padding: 0 !important;
}

/* ============================================
   11. IMAGES & FIGURES
   ============================================ */

body.single-post .entry-content img {
  border-radius: 12px !important;
  max-width: 100% !important;
  height: auto !important;
}

body.single-post .entry-content figure {
  margin: 2em 0 !important;
}

body.single-post .entry-content figcaption {
  color: var(--jrv-text-dim) !important;
  font-size: 14px !important;
  text-align: center !important;
  margin-top: 12px !important;
}

/* ============================================
   12. CTA BUTTONS IN CONTENT
   ============================================ */

body.single-post .entry-content a.button,
body.single-post .entry-content .wp-block-button__link {
  display: inline-block !important;
  background: var(--jrv-blue) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  transition: background 0.2s ease !important;
  margin: 8px 8px 8px 0 !important;
}

body.single-post .entry-content a.button:hover,
body.single-post .entry-content .wp-block-button__link:hover {
  background: var(--jrv-deep-blue) !important;
  color: #ffffff !important;
}

body.single-post .entry-content a.button-secondary {
  background: transparent !important;
  border: 1px solid var(--jrv-border-light) !important;
  color: #ffffff !important;
}

body.single-post .entry-content a.button-secondary:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}

/* ============================================
   13. POST NAVIGATION & FOOTER
   ============================================ */

body.single-post .post-navigation,
body.single-post .nav-links {
  border-top: 1px solid var(--jrv-border) !important;
  margin-top: 40px !important;
  padding-top: 40px !important;
}

body.single-post .post-navigation a,
body.single-post .nav-links a {
  color: var(--jrv-sky) !important;
}

body.single-post .post-navigation .nav-subtitle,
body.single-post .nav-links .nav-subtitle {
  color: var(--jrv-text-dim) !important;
}

body.single-post .post-navigation .nav-title,
body.single-post .nav-links .nav-title {
  color: #ffffff !important;
}

/* ============================================
   14. COMMENTS SECTION (if enabled)
   ============================================ */

body.single-post .comments-area {
  background: var(--jrv-dark-card) !important;
  border: 1px solid var(--jrv-border) !important;
  border-radius: 16px !important;
  padding: 40px !important;
  margin-top: 60px !important;
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-post .comments-title {
  color: #ffffff !important;
}

body.single-post .comment-body {
  color: var(--jrv-text-muted) !important;
}

/* ============================================
   15. SIDEBAR OVERRIDE (if present)
   ============================================ */

body.single-post #secondary,
body.single-post .widget-area {
  background: transparent !important;
}

body.single-post .widget-title {
  color: #ffffff !important;
}

body.single-post .widget {
  color: var(--jrv-text-muted) !important;
}

body.single-post .widget a {
  color: var(--jrv-sky) !important;
}

/* ============================================
   16. DISCLAIMER/FOOTER NOTE STYLING
   ============================================ */

body.single-post .entry-content > p:last-of-type em,
body.single-post .entry-content .disclaimer {
  color: var(--jrv-text-dim) !important;
  font-size: 14px !important;
  border-top: 1px solid var(--jrv-border);
  padding-top: 20px;
  margin-top: 40px !important;
  display: block;
}

/* ============================================
   17. RESPONSIVE ADJUSTMENTS
   ============================================ */

@media (max-width: 768px) {
  body.single-post .entry-title {
    font-size: 2rem !important;
  }
  
  body.single-post .entry-content {
    padding: 0 16px 40px !important;
  }
  
  body.single-post .entry-content h2 {
    font-size: 1.5rem !important;
  }
  
  body.single-post .entry-content h3 {
    font-size: 1.25rem !important;
  }
  
  body.single-post .entry-content table {
    font-size: 14px !important;
  }
  
  body.single-post .entry-content th,
  body.single-post .entry-content td {
    padding: 10px 12px !important;
  }
}

/* ============================================
   18. ASTRA THEME SPECIFIC OVERRIDES
   ============================================ */

body.single-post .ast-single-post-title {
  color: #ffffff !important;
}

body.single-post .ast-single-post .entry-content {
  color: var(--jrv-text-muted) !important;
}

body.single-post .ast-comment-list li {
  background: transparent !important;
}

body.single-post .ast-separate-container .ast-article-single {
  background: transparent !important;
  padding: 0 !important;
}

/* Remove any Astra white backgrounds */
body.single-post .ast-separate-container .ast-article-post,
body.single-post .ast-separate-container .ast-article-single,
body.single-post .ast-separate-container .comment-respond {
  background-color: transparent !important;
}


/* ============================================
   PART B: BLOG ARCHIVE / LISTING PAGE
   Targets: body.blog, body.archive
   ============================================ */

/* ============================================
   B1. PAGE BACKGROUND
   ============================================ */

body.blog,
body.archive {
  background-color: var(--jrv-dark) !important;
}

body.blog .site-content,
body.blog #primary,
body.blog .ast-container,
body.archive .site-content,
body.archive #primary,
body.archive .ast-container {
  background-color: var(--jrv-dark) !important;
}

/* ============================================
   B2. CUSTOM BLOG HEADER (Procurement Intelligence)
   ============================================ */

.jrv-blog-header {
  background: linear-gradient(135deg, rgba(1,78,252,0.08) 0%, rgba(0,51,160,0.05) 100%);
  border-bottom: 1px solid var(--jrv-border);
  padding: 60px 20px 50px;
  margin-bottom: 40px;
}

.jrv-blog-header-inner {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.jrv-blog-label {
  display: inline-block;
  background: rgba(1,78,252,0.15);
  border: 1px solid rgba(1,78,252,0.3);
  border-radius: 50px;
  padding: 8px 20px;
  margin-bottom: 20px;
  color: var(--jrv-sky);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.jrv-blog-title {
  font-size: clamp(2rem, 5vw, 3rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 20px 0 !important;
  line-height: 1.2 !important;
}

.jrv-blog-desc {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--jrv-text-muted) !important;
  margin: 0 auto;
  max-width: 650px;
}

/* Hide default Astra archive description when custom header is present */
body.blog .ast-archive-description {
  display: none !important;
}

/* ============================================
   B3. POST CARDS IN ARCHIVE
   ============================================ */

body.blog article.post,
body.archive article.post {
  background: var(--jrv-dark-card) !important;
  border: 1px solid var(--jrv-border) !important;
  border-radius: 12px !important;
  margin-bottom: 24px !important;
  padding: 24px !important;
  transition: border-color 0.2s ease;
}

body.blog article.post:hover,
body.archive article.post:hover {
  border-color: rgba(255,255,255,0.2) !important;
}

body.blog .entry-title a,
body.archive .entry-title a {
  color: #ffffff !important;
  text-decoration: none !important;
}

body.blog .entry-title a:hover,
body.archive .entry-title a:hover {
  color: var(--jrv-sky) !important;
}

body.blog .entry-meta,
body.blog .entry-meta a,
body.archive .entry-meta,
body.archive .entry-meta a {
  color: var(--jrv-text-muted) !important;
  font-size: 14px !important;
}

body.blog .entry-content,
body.blog .entry-summary,
body.archive .entry-content,
body.archive .entry-summary {
  color: var(--jrv-text-muted) !important;
}

body.blog .read-more a,
body.archive .read-more a {
  color: var(--jrv-sky) !important;
}

/* ============================================
   B4. SIDEBAR WIDGETS (Archive)
   ============================================ */

body.blog #secondary,
body.blog .widget-area,
body.archive #secondary,
body.archive .widget-area {
  background: transparent !important;
}

body.blog .widget,
body.archive .widget {
  background: var(--jrv-dark-card) !important;
  border: 1px solid var(--jrv-border) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
}

body.blog .widget-title,
body.archive .widget-title {
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin-bottom: 16px !important;
}

body.blog .widget a,
body.archive .widget a {
  color: var(--jrv-sky) !important;
}

body.blog .widget li,
body.archive .widget li {
  color: var(--jrv-text-muted) !important;
}

/* ============================================
   B5. RESPONSIVE (Archive)
   ============================================ */

@media (max-width: 768px) {
  .jrv-blog-header {
    padding: 40px 16px 30px;
  }
  
  .jrv-blog-title {
    font-size: 1.75rem !important;
  }
  
  .jrv-blog-desc {
    font-size: 1rem;
  }
}
