/* ═══════════════════════════════
   GLOBAL TEXT FIX (NO OVERLAP)
   ═══════════════════════════════ */

body {
  font-weight: 400;
  line-height: 1.6;
}

/* Paragraphs & Lists */
p, li {
  margin-bottom: 15px;
  line-height: 1.6;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  line-height: 1.3;
  margin-bottom: 12px;
  font-weight: 700;
}

/* Fix inline text issues */
span {
  line-height: inherit;
  font-weight: inherit;
}

/* Images don't break layout */
img {
  max-width: 100%;
  height: auto;
}

/* Fix Elementor content spacing */
.elementor-widget-container {
  overflow: visible;
}

/* ═══════════════════════════════
   BLOG CONTENT SPECIFIC
   ═══════════════════════════════ */

.entry-content p,
.post-content p {
  margin-bottom: 16px;
}

/* ═══════════════════════════════
   MOBILE FIX
   ═══════════════════════════════ */

@media (max-width: 767px) {
  body {
    line-height: 1.5;
  }

  h1, h2, h3 {
    line-height: 1.2;
  }
}

 YOAST FAQ SPACING FIX (FRONTEND ONLY)
   ═══════════════════════════════════════════ */
body:not(.wp-admin) .schema-faq-section {
  margin-bottom: 10px;
  padding: 0;
}

body:not(.wp-admin) .schema-faq-question {
  margin: 0 0 5px 0;
  line-height: 1.4;
}

body:not(.wp-admin) .schema-faq-answer {
  margin: 0 0 10px;
  padding: 0;
}

body:not(.wp-admin) .wp-block-yoast-faq-block p {
  margin: 0 0 8px 0;
  line-height: 1.5;
}

/* ================================
   BLOG TYPOGRAPHY ONLY
   Applies only to single blog posts
================================ */

/* Blog Content Base */
body.single-post .entry-content {
  font-family: inherit;
  color: #222222;
}

/* Paragraphs */
body.single-post .entry-content p {
  font-size: 16px !important;
  line-height: 1.75 !important;
  margin-top: 0;
  margin-bottom: 16px !important;
  font-weight: 400 !important;
}

/* H1 */
body.single-post .entry-content h1 {
  font-size: 30px !important;
  line-height: 1.3 !important;
  margin-top: 30px !important;
  margin-bottom: 16px !important;
  font-weight: 600 !important;
  letter-spacing: -0.1px !important;
}

/* H2 - premium readable heading */
body.single-post .entry-content h2 {
  font-size: 23px !important;
  line-height: 1.42 !important;
  margin-top: 30px !important;
  margin-bottom: 12px !important;
  font-weight: 500 !important;
  letter-spacing: -0.1px !important;
}

/* H3 */
body.single-post .entry-content h3 {
  font-size: 20px !important;
  line-height: 1.4 !important;
  margin-top: 22px !important;
  margin-bottom: 8px !important;
  font-weight: 500 !important;
  letter-spacing: -0.05px !important;
}

/* H4 */
body.single-post .entry-content h4 {
  font-size: 18px !important;
  line-height: 1.4 !important;
  margin-top: 18px !important;
  margin-bottom: 6px !important;
  font-weight: 500 !important;
}

/* H5 */
body.single-post .entry-content h5 {
  font-size: 16px !important;
  line-height: 1.45 !important;
  margin-top: 16px !important;
  margin-bottom: 6px !important;
  font-weight: 500 !important;
}

/* H6 */
body.single-post .entry-content h6 {
  font-size: 15px !important;
  line-height: 1.45 !important;
  margin-top: 14px !important;
  margin-bottom: 6px !important;
  font-weight: 500 !important;
}

/* Lists */
body.single-post .entry-content ul,
body.single-post .entry-content ol {
  margin-top: 0;
  margin-bottom: 18px !important;
  padding-left: 22px !important;
}

body.single-post .entry-content li {
  font-size: 16px !important;
  line-height: 1.75 !important;
  margin-bottom: 8px !important;
  font-weight: 400 !important;
}

/* Divider lines inside blog */
body.single-post .entry-content hr {
  border: 0 !important;
  border-top: 1px solid #e6e6e6 !important;
  margin: 26px 0 22px !important;
}

/* Normal bold text inside paragraphs/lists */
body.single-post .entry-content p strong,
body.single-post .entry-content p b,
body.single-post .entry-content li strong,
body.single-post .entry-content li b {
  font-weight: 700 !important;
}

/* Prevent old manually-bolded headings from becoming too heavy */
body.single-post .entry-content h1 strong,
body.single-post .entry-content h1 b {
  font-weight: 600 !important;
}

body.single-post .entry-content h2 strong,
body.single-post .entry-content h2 b {
  font-weight: 500 !important;
}

body.single-post .entry-content h3 strong,
body.single-post .entry-content h3 b,
body.single-post .entry-content h4 strong,
body.single-post .entry-content h4 b,
body.single-post .entry-content h5 strong,
body.single-post .entry-content h5 b,
body.single-post .entry-content h6 strong,
body.single-post .entry-content h6 b {
  font-weight: 500 !important;
}

/* Mobile Optimization */
@media (max-width: 768px) {

  body.single-post .entry-content h1 {
    font-size: 26px !important;
    line-height: 1.35 !important;
  }

  body.single-post .entry-content h2 {
    font-size: 22px !important;
    line-height: 1.4 !important;
    margin-top: 26px !important;
    margin-bottom: 10px !important;
  }

  body.single-post .entry-content h3 {
    font-size: 19px !important;
    line-height: 1.4 !important;
  }

  body.single-post .entry-content h4 {
    font-size: 17px !important;
    line-height: 1.4 !important;
  }

  body.single-post .entry-content h5 {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  body.single-post .entry-content h6 {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  body.single-post .entry-content p,
  body.single-post .entry-content li {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }

  body.single-post .entry-content hr {
    margin: 24px 0 20px !important;
  }
}