/* Force readable Persian typography for CKEditor content pages.
   Inline font styles from CKEditor are stripped at render time; these rules
   are the final authority for fragment content inside site templates. */

.content-page-body {
  direction: rtl !important;
  text-align: right;
  font-family: "IRANYekan", Tahoma, sans-serif !important;
  font-size: 16px !important;
  line-height: 2 !important;
  color: #374151;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.content-page-body,
.content-page-body *:not(svg):not(path):not(i):not(.fa):not([class*="fa-"]) {
  font-family: "IRANYekan", Tahoma, sans-serif !important;
}

.content-page-body p,
.content-page-body li,
.content-page-body td,
.content-page-body th,
.content-page-body span,
.content-page-body div,
.content-page-body section,
.content-page-body article {
  font-size: 16px !important;
  line-height: 2 !important;
}

.content-page-body > *:first-child {
  margin-top: 0 !important;
}

.content-page-body > *:last-child {
  margin-bottom: 0 !important;
}

.content-page-body h1,
.content-page-body h2,
.content-page-body h3,
.content-page-body h4,
.content-page-body h5,
.content-page-body h6 {
  color: #111827;
  font-weight: 700 !important;
  line-height: 1.65 !important;
  margin: 1.6em 0 0.7em !important;
  font-family: "IRANYekan", Tahoma, sans-serif !important;
}

.content-page-body h1 { font-size: 1.75rem !important; }
.content-page-body h2 { font-size: 1.45rem !important; color: hsl(var(--primary-btn)); }
.content-page-body h3 { font-size: 1.2rem !important; }
.content-page-body h4 { font-size: 1.05rem !important; }

.content-page-body p {
  margin: 0 0 1.15em !important;
  text-align: justify;
  text-justify: inter-word;
}

.content-page-body strong,
.content-page-body b {
  color: #111827;
  font-weight: 700 !important;
}

.content-page-body a {
  color: hsl(var(--primary-btn));
  text-decoration: underline;
  text-underline-offset: 3px;
}

.content-page-body a:hover {
  color: hsl(var(--brand-primary-dark));
}

.content-page-body ul,
.content-page-body ol {
  margin: 0 0 1.3em !important;
  padding: 0 1.5em 0 0 !important;
}

.content-page-body ul { list-style: disc; }
.content-page-body ol { list-style: persian; }

.content-page-body li {
  margin: 0.4em 0 !important;
  padding-right: 0.2em;
}

.content-page-body li::marker {
  color: hsl(var(--primary-btn));
}

.content-page-body blockquote {
  margin: 1.4em 0 !important;
  padding: 0.95em 1.15em !important;
  border-right: 4px solid hsl(var(--primary-btn));
  background: hsl(var(--brand-primary-soft));
  border-radius: 0 12px 12px 0;
  color: #4b5563;
}

.content-page-body hr {
  border: 0;
  border-top: 1px solid #e5e7eb;
  margin: 2em 0 !important;
}

.content-page-body img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 1.25em auto;
  display: block;
}

.content-page-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0 !important;
}

.content-page-body th,
.content-page-body td {
  border: 1px solid #e5e7eb;
  padding: 0.75em 1em !important;
  text-align: right;
}

.content-page-body th {
  background: #f9fafb;
  font-weight: 700 !important;
  color: #111827;
}

@media (max-width: 767px) {
  .content-page-body,
  .content-page-body p,
  .content-page-body li,
  .content-page-body td,
  .content-page-body th,
  .content-page-body span,
  .content-page-body div {
    font-size: 15px !important;
  }

  .content-page-body h1 { font-size: 1.5rem !important; }
  .content-page-body h2 { font-size: 1.3rem !important; }
}
