/* =========================================
   NM Blog Content – class-based (nm-*)
   Designed for future "class-only" blog HTML
   Container: .nm-blog-content
   ========================================= */

.nm-blog-content{
  color: rgba(17,24,39,.92);
  font-size: 16px !important;
  line-height: 2.15 !important;
  letter-spacing: -0.1px;
}

/* Make headings anchor-friendly under sticky headers */
.nm-blog-content h2,
.nm-blog-content h3,
.nm-blog-content h4{
  scroll-margin-top: 110px;
}

.nm-blog-content h2{
  font-size: clamp(18px, 1.5vw, 24px);
  font-weight: 950;
  margin: 26px 0 10px;
  letter-spacing: -0.2px;
}

.nm-blog-content h3{
  font-size: clamp(16px, 1.2vw, 19px);
  font-weight: 900;
  margin: 18px 0 8px;
}

.nm-blog-content p{
  margin: 0 0 12px;
  color: rgba(17,24,39,.86);
}

.nm-blog-content a{
  color: #0f766e;
  font-weight: 900;
  text-decoration: none !important;
  border-bottom: 1px dashed rgba(15,118,110,.45);
}
.nm-blog-content a:hover{
  border-bottom-style: solid;
}

.nm-blog-content ul,
.nm-blog-content ol{
  margin: 10px 0 14px;
  padding-inline-start: 18px;
}

.nm-blog-content li{
  margin-bottom: 8px;
  color: rgba(17,24,39,.84);
}

/* Images inside content */
.nm-blog-content img{
  max-width: 100%;
  height: auto;
  border-radius: 18px;
  display: block;
  margin: 12px auto;
  box-shadow: 0 12px 26px rgba(17,24,39,.08);
}

/* Blockquote */
.nm-blog-content blockquote{
  margin: 16px 0;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.02);
  line-height: 2;
}

/* Inline code / pre */
.nm-blog-content code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.92em;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.05);
  border: 1px solid rgba(0,0,0,.07);
}

.nm-blog-content pre{
  margin: 14px 0;
  padding: 14px 16px;
  border-radius: 18px;
  background: #0b1220;
  color: #e5e7eb;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.08);
  line-height: 1.8;
}

.nm-blog-content pre code{
  background: transparent;
  border: none;
  padding: 0;
  border-radius: 0;
  color: inherit;
}

/* TOC (if you generate it) */
.nm-toc{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 20px;
  background:
    radial-gradient(700px 220px at 15% 10%, rgba(22,163,74,.10), transparent 60%),
    radial-gradient(700px 220px at 85% 10%, rgba(14,165,233,.08), transparent 60%),
    rgba(255,255,255,.96);
  padding: 14px 16px;
  margin: 12px 0 18px;
}

.nm-toc .nm-toc-title{
  font-weight: 950;
  margin: 0 0 10px;
  font-size: 14px;
  opacity: .92;
}

.nm-toc ul{ margin: 0; padding-inline-start: 18px; }
.nm-toc li{ margin-bottom: 8px; }
.nm-toc a{ font-weight: 900; }

/* Tables */
.nm-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.08);
  margin: 14px 0;
}

.nm-table th,
.nm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  vertical-align: top;
  line-height: 1.9;
}

.nm-table th{
  background: rgba(0,0,0,.03);
  font-weight: 950;
}

.nm-table tr:last-child td{ border-bottom: none; }

/* =========================================
   NM BOX system (tip/warning/checklist/example/summary/cta)
   Base: .nm-box + modifier
   ========================================= */

.nm-box{
  border-radius: 20px;
  border: 1px solid rgba(0,0,0,.08);
  padding: 14px 16px;
  margin: 14px 0;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 20px rgba(17,24,39,.06);
}

.nm-box .nm-box-title{
  font-weight: 950;
  margin: 0 0 8px;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.nm-box.tip{
  background: radial-gradient(700px 220px at 20% 0%, rgba(14,165,233,.16), transparent 60%), rgba(255,255,255,.92);
}

.nm-box.warning{
  background: radial-gradient(700px 220px at 20% 0%, rgba(245,158,11,.18), transparent 60%), rgba(255,255,255,.92);
}

.nm-box.checklist{
  background: radial-gradient(700px 220px at 20% 0%, rgba(22,163,74,.16), transparent 60%), rgba(255,255,255,.92);
}

.nm-box.example{
  background: radial-gradient(700px 220px at 20% 0%, rgba(99,102,241,.14), transparent 60%), rgba(255,255,255,.92);
}

.nm-box.summary{
  background: radial-gradient(700px 220px at 20% 0%, rgba(148,163,184,.18), transparent 60%), rgba(255,255,255,.92);
}

.nm-box.cta{
  background:
    radial-gradient(700px 220px at 18% 10%, rgba(22,163,74,.18), transparent 60%),
    radial-gradient(700px 220px at 88% 10%, rgba(14,165,233,.10), transparent 60%),
    rgba(255,255,255,.96);
}

.nm-cta-row{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.nm-cta-row a{
  border-bottom: none !important;
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 8px 18px rgba(17,24,39,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
}

/* small helpers commonly useful in content */
.nm-muted{opacity:.78}
.nm-center{text-align:center}

/* === Hotfix: Reading comfort (Persian-friendly) === */

.nm-blog-content p,
.nm-blog-content li{
  font-size: 16px !important;
  line-height: 2.25 !important;
  margin: 0 0 14px !important;
}

.nm-blog-content h2{ margin-top: 30px !important; }
.nm-blog-content h3{ margin-top: 22px !important; }

/* === Author avatar: perfect circle === */
.nm-blog-show .teacher-avatar{
  width: 96px;
  height: 96px;
  border-radius: 999px;
  overflow: hidden;
  border: 4px solid rgba(255,255,255,.7);
  box-shadow: 0 10px 22px rgba(17,24,39,.10);
}

.nm-blog-show .teacher-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 999px !important;
}

/* === Fix: cart-banner inherited height on mobile === */
.nm-blog-hero.cart-banner{
  height: auto !important;
  min-height: unset !important;
  padding-bottom: 22px !important;
}

.nm-blog-hero .container,
.nm-blog-hero .row{
  height: auto !important;
  min-height: unset !important;
}

/* === Hero cleanup for current markup === */
.nm-blog-hero h1{
  max-width: 820px;
  margin: 0 auto;
}

.nm-blog-hero .blog-meta-badges{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.nm-blog-hero .blog-chip{
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.95) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.nm-blog-hero .js-share-blog{
  justify-content: center;
  margin-top: 12px !important;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.nm-blog-hero .js-share-blog .ml-5{ margin-left: 0 !important; }

@media (max-width: 576px){
  .nm-blog-hero .d-flex.flex-column.flex-sm-row{
    gap: 10px;
  }
}

/* === Related cards date badge contrast === */
.nm-blog-show .blog-grid-card .badge.created-at{
  background: rgba(17,24,39,.72) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.nm-blog-show .blog-grid-card .badge.created-at i{
  color: #fff !important;
}
