/* ==========================================================================
   MediaNet Master Blog Stylesheet (Consolidated & Polished)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. ARTICLE BODY & TYPOGRAPHY
   -------------------------------------------------------------------------- */
.hs-blog-post .blog-post__body,
.hs-blog-post article.blog-post .blog-post__body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  color: #000000 !important;
  -webkit-font-smoothing: antialiased !important;
}

.hs-blog-post .blog-post__body p,
.hs-blog-post article.blog-post .blog-post__body p,
.hs-blog-post .blog-post__body li,
.hs-blog-post article.blog-post .blog-post__body li {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 1.25rem !important; /* 20px */
  line-height: 1.75 !important;
  color: #000000 !important;
}

/* Main Post Headline (H1) */
html body .blog-post__header h1,
html body .blog-post__title,
html body h1.blog-post_title,
html body .blog-post__body h1,
html body h1 {
  font-size: 3rem !important; /* 48px */
  line-height: 1.08 !important; /* Compact headline spacing */
  color: #121733 !important;
  font-weight: 700 !important;
  margin-bottom: 0.75rem !important;
}

/* In-Body Article Headings */
.hs-blog-post .blog-post__body h2,
html body .blog-post__body h2 {
  font-size: 2.25rem !important; /* 36px */
  line-height: 1.25 !important;
  color: #121733 !important;
  font-weight: 700 !important;
  margin-top: 2.25rem !important;
  margin-bottom: 0.35rem !important;
}

.hs-blog-post .blog-post__body h3,
html body .blog-post__body h3 {
  font-size: 1.75rem !important; /* 28px */
  line-height: 1.3 !important;
  color: #121733 !important;
  font-weight: 700 !important;
  margin-top: 2rem !important;
  margin-bottom: 0.35rem !important;
}

.hs-blog-post .blog-post__body h4 {
  font-size: 1.375rem !important; /* 22px */
  line-height: 1.35 !important;
  color: #121733 !important;
  font-weight: 700 !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0.25rem !important;
}


/* --------------------------------------------------------------------------
   2. TABLE OF CONTENTS STYLING
   -------------------------------------------------------------------------- */
html body .blog-toc-wrapper,
html body #blog-toc,
html body .toc-container {
  background-color: #f8fafc !important;
  border-left: 4px solid #bf1f2e !important;
  padding: 1.25rem 1.5rem !important;
  border-radius: 0 8px 8px 0 !important;
  margin-top: 1.5rem !important;
  margin-bottom: 2rem !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

html body .blog-toc-header,
html body .blog-toc-wrapper p:first-child,
html body .toc-title {
  color: #121733 !important;
  font-weight: 700 !important;
  font-size: 1.125rem !important;
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
}

html body .blog-toc-wrapper ul,
html body .blog-toc-wrapper ol {
  margin: 0 !important;
  padding-left: 1.25rem !important;
  list-style-type: disc !important;
}

html body .blog-toc-wrapper li {
  margin-bottom: 0.5rem !important;
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
}

html body .blog-toc-wrapper a {
  color: #1e293b !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.15s ease !important;
}

html body .blog-toc-wrapper a:hover {
  color: #bf1f2e !important;
  text-decoration: underline !important;
}


/* --------------------------------------------------------------------------
   3. RELATED POSTS SECTION & CARDS GRID
   -------------------------------------------------------------------------- */
/* Section Containment & Bottom Gap Above Blue Banner */
html body section.blog-related-posts,
html body .