/* ============================================================
   Mina — Blog single post
   Long-form Persian reading layout. Brand tokens only (mina-global.css).
   ============================================================ */

.mina-post{
  --mp-ink: var(--mina-dark);
  --mp-soft: color-mix(in srgb, var(--mina-dark) 82%, transparent);
  --mp-line: color-mix(in srgb, var(--mina-green) 16%, transparent);
  --mp-tint: color-mix(in srgb, var(--mina-accent) 9%, var(--mina-bg-white));
  background: var(--mina-bg-warm);
  color: var(--mp-ink);
  font-family: 'IRANSans','Vazirmatn',Tahoma,sans-serif;
  direction: rtl;
  text-align: right;
  padding-bottom: 72px;
}
.mina-post *{ box-sizing:border-box; }

/* Reading progress */
.mina-post .reading-progress{ position:fixed; inset-inline:0; top:0; height:3px; z-index:9999; background:transparent; pointer-events:none; }
.mina-post .reading-progress span{ display:block; height:100%; width:0; background:var(--mina-accent); transition:width .08s linear; }

.mp-wrap{ max-width:1140px; margin:0 auto; padding:28px clamp(16px,5vw,48px) 0; }

/* Breadcrumb */
.mp-crumbs{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:13px; color:var(--mina-muted); margin-bottom:22px; }
.mp-crumbs a{ color:var(--mina-muted); text-decoration:none; }
.mp-crumbs a:hover{ color:var(--mina-green); }

/* Hero */
.mp-hero{ max-width:820px; margin-bottom:26px; }
.mp-kicker{ display:inline-block; font-size:13px; font-weight:700; color:var(--mina-accent-2); background:color-mix(in srgb,var(--mina-accent) 14%,transparent); padding:6px 14px; border-radius:999px; text-decoration:none; margin-bottom:16px; }
.mp-title{ font-size:clamp(26px,4.2vw,42px); line-height:1.55; font-weight:900; color:var(--mina-bg-dark); margin:0 0 18px; letter-spacing:0; }
.mp-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; font-size:14px; color:var(--mina-muted); }
.mp-meta__author{ display:inline-flex; align-items:center; gap:10px; }
.mp-meta__author img{ width:40px; height:40px; border-radius:50%; object-fit:cover; border:2px solid var(--mina-bg-white); box-shadow:0 2px 10px color-mix(in srgb,var(--mina-dark) 14%,transparent); }
.mp-meta__author span{ display:flex; flex-direction:column; line-height:1.4; }
.mp-meta__author b{ color:var(--mina-bg-dark); font-weight:800; }
.mp-meta__author small{ font-size:12px; }
.mp-meta__dot{ opacity:.5; }

/* Cover */
.mp-cover{ margin:0 0 36px; border-radius:24px; overflow:hidden; background:var(--mp-tint); aspect-ratio:16/8; }
.mp-cover__img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Layout */
.mp-grid{ display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:48px; align-items:start; }
.mp-body{ min-width:0; max-width:760px; }

/* TOC */
.mp-toc ol{ list-style:none; margin:0; padding:0; counter-reset:toc; }
.mp-toc li{ counter-increment:toc; }
.mp-toc a{ display:flex; gap:10px; padding:8px 0; font-size:14px; line-height:1.8; color:var(--mp-soft); text-decoration:none; border-bottom:1px dashed var(--mp-line); }
.mp-toc li:last-child a{ border-bottom:0; }
.mp-toc a::before{ content:counter(toc,persian); flex:0 0 auto; min-width:22px; height:22px; margin-top:3px; border-radius:50%; display:grid; place-items:center; font-size:12px; font-weight:700; color:var(--mina-green); background:color-mix(in srgb,var(--mina-green) 10%,transparent); }
.mp-toc a:hover,
.mp-toc a.is-active{ color:var(--mina-bg-dark); font-weight:700; }
.mp-toc a.is-active::before{ background:var(--mina-green); color:var(--mina-bg-white); }

.mp-side{ position:sticky; top:96px; }
.mp-toc--side{ background:var(--mina-bg-white); border:1px solid var(--mp-line); border-radius:18px; padding:18px 18px 10px; max-height:calc(100vh - 130px); overflow:auto; }
.mp-toc--side strong{ display:block; font-size:15px; color:var(--mina-bg-dark); margin-bottom:8px; }

.mp-toc--mobile{ display:none; background:var(--mina-bg-white); border:1px solid var(--mp-line); border-radius:16px; padding:4px 16px; margin-bottom:26px; }
.mp-toc--mobile summary{ cursor:pointer; padding:12px 0; font-weight:800; color:var(--mina-bg-dark); list-style:none; }
.mp-toc--mobile summary::-webkit-details-marker{ display:none; }
.mp-toc--mobile summary::after{ content:'▾'; float:left; color:var(--mina-green); }
.mp-toc--mobile[open] summary::after{ content:'▴'; }

/* ---------- Article typography ---------- */
.mp-content{ font-size:17.5px; line-height:2.05; color:var(--mp-ink); overflow-wrap:break-word; }
.mp-content > *:first-child{ margin-top:0; }
.mp-content p{ margin:0 0 1.15em; }
.mp-content .mina-post-subtitle{ font-size:19px; line-height:1.95; font-weight:700; color:var(--mina-green); border-right:4px solid var(--mina-accent); padding:4px 18px 4px 0; margin:0 0 1.6em; }

.mp-content h2{ font-size:clamp(21px,2.6vw,25px); line-height:1.7; font-weight:800; color:var(--mina-bg-dark); margin:2.3em 0 .75em; padding-right:16px; position:relative; scroll-margin-top:100px; }
.mp-content h2::before{ content:''; position:absolute; right:0; top:.5em; bottom:.5em; width:5px; border-radius:4px; background:var(--mina-accent); }
.mp-content h3{ font-size:clamp(18px,2.1vw,20px); line-height:1.8; font-weight:800; color:var(--mina-green); margin:1.8em 0 .55em; scroll-margin-top:100px; }
.mp-content h4,
.mp-content h5,
.mp-content h6{ font-size:17.5px; font-weight:800; color:var(--mina-bg-dark); margin:1.5em 0 .5em; }

.mp-content a{ color:var(--mina-green); text-decoration:underline; text-decoration-color:color-mix(in srgb,var(--mina-accent) 70%,transparent); text-underline-offset:5px; text-decoration-thickness:1.5px; }
.mp-content a:hover{ color:var(--mina-bg-dark); text-decoration-color:var(--mina-accent); }
.mp-content strong,
.mp-content b{ font-weight:800; color:var(--mina-bg-dark); }

.mp-content ul,
.mp-content ol{ margin:0 0 1.3em; padding:0 1.4em 0 0; }
.mp-content li{ margin:0 0 .45em; padding-right:4px; }
.mp-content ul li::marker{ color:var(--mina-accent); font-size:1.15em; }
.mp-content ol li::marker{ color:var(--mina-green); font-weight:800; }

.mp-content blockquote{ margin:1.6em 0; padding:18px 22px; background:var(--mp-tint); border-right:4px solid var(--mina-accent); border-radius:14px; color:var(--mina-bg-dark); font-weight:600; }
.mp-content blockquote p:last-child{ margin-bottom:0; }

.mp-content img{ max-width:100%; height:auto; border-radius:16px; }
.mp-content figure{ margin:1.8em 0; }
.mp-content figcaption{ font-size:13px; color:var(--mina-muted); text-align:center; margin-top:8px; }

.mp-content table{ width:100%; border-collapse:collapse; margin:1.6em 0; font-size:15px; background:var(--mina-bg-white); border-radius:14px; overflow:hidden; display:block; overflow-x:auto; }
.mp-content th,
.mp-content td{ padding:12px 14px; border-bottom:1px solid var(--mp-line); text-align:right; }
.mp-content th{ background:color-mix(in srgb,var(--mina-green) 10%,var(--mina-bg-white)); color:var(--mina-bg-dark); font-weight:800; }
.mp-content hr{ border:0; height:1px; background:var(--mp-line); margin:2.2em 0; }
/* Neutralise WP block-library table defaults (3px thead rule + full grid). */
.mp-content .wp-block-table{ margin:1.6em 0; }
.mp-content .wp-block-table table{ margin:0; border:1px solid var(--mp-line); }
.mp-content .wp-block-table thead{ border-bottom:0; }
.mp-content .wp-block-table th,
.mp-content .wp-block-table td{ border:0; border-bottom:1px solid var(--mp-line); }
.mp-content .wp-block-table tbody tr:last-child td{ border-bottom:0; }
.mp-content .wp-block-table td:first-child{ font-weight:700; color:var(--mina-bg-dark); white-space:nowrap; }

/* Inline CTA (mid-article) */
.mp-inline-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin:2.2em 0; padding:20px 22px; border-radius:18px; background:var(--mina-bg-dark); color:var(--mina-bg-white); }
.mp-inline-cta__kicker{ width:100%; font-size:12.5px; font-weight:700; color:var(--mina-accent); }
.mp-inline-cta__title{ flex:1 1 260px; font-size:18px; line-height:1.7; font-weight:800; color:var(--mina-bg-white) !important; }
.mp-content .mp-inline-cta__btn,
.mp-inline-cta__btn{ flex:0 0 auto; background:var(--mina-accent); color:var(--mina-bg-white) !important; text-decoration:none !important; padding:11px 20px; border-radius:999px; font-weight:800; font-size:14.5px; }
.mp-inline-cta__btn:hover{ background:var(--mina-accent-2); }

/* Share */
.mp-share{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:36px 0 0; padding-top:22px; border-top:1px solid var(--mp-line); font-size:14px; color:var(--mina-muted); }
.mp-share span{ flex:1 1 100%; }
.mp-share a,
.mp-share button{ font:inherit; font-weight:700; font-size:14px; padding:9px 18px; border-radius:999px; border:1px solid var(--mp-line); background:var(--mina-bg-white); color:var(--mina-bg-dark); text-decoration:none; cursor:pointer; }
.mp-share a:hover,
.mp-share button:hover{ border-color:var(--mina-green); color:var(--mina-green); }

/* Author (E-E-A-T) */
.mp-author{ display:flex; gap:22px; align-items:flex-start; margin:56px 0 0; padding:26px; background:var(--mina-bg-white); border:1px solid var(--mp-line); border-radius:22px; max-width:1060px; }
.mp-author img{ width:96px; height:96px; border-radius:50%; object-fit:cover; flex:0 0 auto; }
.mp-author__label{ display:block; font-size:12.5px; color:var(--mina-accent-2); font-weight:700; }
.mp-author__name{ display:block; font-size:20px; font-weight:900; color:var(--mina-bg-dark); margin:2px 0; }
.mp-author__role{ display:block; font-size:13.5px; color:var(--mina-green); font-weight:700; margin-bottom:8px; }
.mp-author p{ margin:0 0 10px; font-size:15px; line-height:2; color:var(--mp-soft); }
.mp-author a{ font-weight:800; color:var(--mina-green); text-decoration:none; font-size:14.5px; }

/* End CTA */
.mp-cta{ margin:28px 0 0; padding:clamp(26px,4vw,40px); border-radius:24px; background:var(--mina-bg-dark); color:var(--mina-bg-white); text-align:center; }
.mp-cta__kicker{ display:inline-block; font-size:13px; font-weight:700; color:var(--mina-accent); margin-bottom:8px; }
.mp-cta__title{ font-size:clamp(21px,3vw,28px); line-height:1.6; font-weight:900; color:var(--mina-bg-white); margin:0 0 10px; }
.mp-cta p{ max-width:620px; margin:0 auto 20px; font-size:15.5px; line-height:2; color:color-mix(in srgb,var(--mina-bg-white) 82%,transparent); }
.mp-cta__btn{ display:inline-block; background:var(--mina-accent); color:var(--mina-bg-white); padding:14px 30px; border-radius:999px; font-weight:800; text-decoration:none; }
.mp-cta__btn:hover{ background:var(--mina-accent-2); color:var(--mina-bg-white); }

/* Related */
.mp-related{ margin:56px 0 0; }
.mp-related__title{ font-size:24px; font-weight:900; color:var(--mina-bg-dark); margin:0 0 20px; }
.mp-related__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.mp-card{ display:flex; flex-direction:column; background:var(--mina-bg-white); border:1px solid var(--mp-line); border-radius:20px; overflow:hidden; text-decoration:none; color:inherit; transition:transform .2s ease, box-shadow .2s ease; }
.mp-card:hover{ transform:translateY(-3px); box-shadow:0 14px 32px color-mix(in srgb,var(--mina-dark) 10%,transparent); }
.mp-card__img{ display:block; aspect-ratio:16/9; background:linear-gradient(150deg,var(--mina-green),var(--mina-bg-dark)); }
.mp-card__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.mp-card__body{ display:flex; flex-direction:column; gap:8px; padding:16px 18px 20px; }
.mp-card__body strong{ font-size:16px; line-height:1.8; font-weight:800; color:var(--mina-bg-dark); }
.mp-card__body span{ font-size:14px; line-height:1.9; color:var(--mina-muted); }

/* ---------- Blog index (/blog) + category archives ---------- */
.mb-hero{ max-width:760px; margin-bottom:26px; }
.mb-intro{ font-size:16.5px; line-height:2; color:var(--mp-soft); margin:0; }
.mb-chips{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px; }
.mb-chip{ display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; border:1px solid var(--mp-line); background:var(--mina-bg-white); color:var(--mina-bg-dark); font-size:14px; font-weight:700; text-decoration:none; transition:background .15s ease, color .15s ease, border-color .15s ease; }
.mb-chip small{ font-size:12px; font-weight:700; color:var(--mina-muted); background:color-mix(in srgb,var(--mina-green) 9%,transparent); border-radius:999px; padding:1px 8px; }
.mb-chip:hover{ border-color:var(--mina-green); color:var(--mina-green); }
.mb-chip.is-active{ background:var(--mina-bg-dark); border-color:var(--mina-bg-dark); color:var(--mina-bg-white); }
.mb-chip.is-active small{ background:color-mix(in srgb,var(--mina-bg-white) 18%,transparent); color:var(--mina-bg-white); }
.mb-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.mb-card__cat{ font-size:12.5px !important; font-weight:800; color:var(--mina-accent-2) !important; }
.mb-card__meta{ font-size:12.5px !important; color:var(--mina-muted) !important; margin-top:auto; padding-top:6px; }
.mb-card .mp-card__body{ flex:1 1 auto; }
.mb-pagination{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:40px 0 0; }
.mb-pagination .page-numbers{ min-width:42px; height:42px; padding:0 14px; display:inline-grid; place-items:center; border-radius:999px; border:1px solid var(--mp-line); background:var(--mina-bg-white); color:var(--mina-bg-dark); font-weight:800; text-decoration:none; }
.mb-pagination .page-numbers.current{ background:var(--mina-bg-dark); border-color:var(--mina-bg-dark); color:var(--mina-bg-white); }
.mb-pagination a.page-numbers:hover{ border-color:var(--mina-green); color:var(--mina-green); }
.mb-empty{ font-size:16px; color:var(--mina-muted); padding:40px 0; text-align:center; }
.mina-blog-index .mp-cta{ margin-top:56px; }

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .mb-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mp-grid{ grid-template-columns:minmax(0,1fr); }
  .mp-side{ display:none; }
  .mp-toc--mobile{ display:block; }
  .mp-body{ max-width:none; }
}
@media (max-width: 760px){
  .mp-wrap{ padding-top:18px; }
  .mp-cover{ border-radius:18px; aspect-ratio:16/10; margin-bottom:26px; }
  .mp-content{ font-size:16.5px; line-height:2; }
  .mp-content .mina-post-subtitle{ font-size:17.5px; }
  .mp-related__grid{ grid-template-columns:minmax(0,1fr); }
  .mb-grid{ grid-template-columns:minmax(0,1fr); }
  .mb-chips{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; margin-inline:-4px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .mb-chips::-webkit-scrollbar{ display:none; }
  .mb-chip{ flex:0 0 auto; }
  .mp-author{ flex-direction:column; align-items:center; text-align:center; }
  .mp-inline-cta{ text-align:center; justify-content:center; }
}
@media (prefers-reduced-motion: reduce){
  .mp-card, .mina-post .reading-progress span{ transition:none; }
}

/* ============================================================
   About page (/about/) — .ma-*  (brand tokens only)
   ============================================================ */
.ma-hero{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(24px,4vw,56px); align-items:center; margin-bottom:24px; }
.ma-lead{ font-size:17px; line-height:2.05; color:var(--mp-soft); margin:0 0 22px; }
.ma-facts{ list-style:none; margin:0 0 24px; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ma-facts li{ background:var(--mina-bg-white); border:1px solid var(--mp-line); border-radius:16px; padding:14px 16px; display:flex; flex-direction:column; gap:4px; }
.ma-facts strong{ color:var(--mina-bg-dark); font-weight:900; font-size:15px; direction:ltr; text-align:right; }
.ma-facts span{ font-size:13px; line-height:1.8; color:var(--mina-muted); }
.ma-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.ma-btn{ display:inline-block; padding:13px 26px; border-radius:999px; background:var(--mina-green); color:var(--mina-bg-white); font-weight:800; text-decoration:none; transition:background .2s ease; }
.ma-btn:hover{ background:var(--mina-green-hov); color:var(--mina-bg-white); }
.ma-btn--ghost{ background:transparent; color:var(--mina-green); border:1.5px solid var(--mina-green); }
.ma-btn--ghost:hover{ background:color-mix(in srgb,var(--mina-green) 8%,transparent); color:var(--mina-green); }
.ma-hero__img{ margin:0; }
.ma-hero__img img{ display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:28px; box-shadow:0 18px 44px color-mix(in srgb,var(--mina-dark) 14%,transparent); }

.ma-section{ margin-top:clamp(40px,6vw,64px); }
.ma-section h2{ font-size:clamp(22px,3vw,30px); line-height:1.6; font-weight:900; color:var(--mina-bg-dark); margin:0 0 16px; }
.ma-prose{ max-width:820px; }
.ma-prose p, .ma-sub, .ma-note p{ font-size:16.5px; line-height:2.1; color:var(--mp-soft); margin:0 0 14px; }
.ma-pills{ list-style:none; margin:18px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.ma-pills li{ font-size:14px; font-weight:700; color:var(--mina-green); background:color-mix(in srgb,var(--mina-green) 9%,transparent); padding:8px 16px; border-radius:999px; }

.ma-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ma-card{ background:var(--mina-bg-white); border:1px solid var(--mp-line); border-radius:20px; padding:22px; }
.ma-card h3{ font-size:17px; line-height:1.7; font-weight:900; color:var(--mina-bg-dark); margin:0 0 8px; }
.ma-card p{ font-size:15px; line-height:2; color:var(--mp-soft); margin:0; }

.ma-certs{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin-top:18px; }
.ma-certs figure{ margin:0; background:var(--mina-bg-white); border:1px solid var(--mp-line); border-radius:16px; padding:8px; }
.ma-certs img{ display:block; width:100%; aspect-ratio:4/3; object-fit:contain; border-radius:10px; }

.ma-quote{ margin:0; background:var(--mp-tint); border-radius:20px; padding:22px; display:flex; flex-direction:column; justify-content:space-between; gap:14px; }
.ma-quote blockquote{ margin:0; padding:0; border:0; }
.ma-quote blockquote p{ margin:0; font-size:15.5px; line-height:2.05; color:var(--mina-dark); }
.ma-quote figcaption{ font-size:13.5px; color:var(--mina-muted); }
.ma-quote figcaption strong{ color:var(--mina-bg-dark); }

.ma-note{ max-width:820px; background:var(--mina-bg-white); border:1px solid var(--mp-line); border-inline-start:4px solid var(--mina-accent); border-radius:18px; padding:22px 24px; }
.ma-note a, .ma-more a, .mp-cta p a{ color:var(--mina-green); font-weight:800; text-decoration:none; }
.mp-cta p a{ color:var(--mina-accent); }
.ma-more{ margin:18px 0 0; }

@media (max-width: 960px){
  .ma-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ma-certs{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px){
  .ma-hero{ grid-template-columns:1fr; }
  .ma-hero__img{ order:-1; max-width:360px; }
  .ma-facts, .ma-grid{ grid-template-columns:1fr; }
  .ma-certs{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
