/*
Theme Name: Gazette
Theme URI: https://gazettecast.com/
Author: Omid Azami
Author URI: https://omidazami.ir/
Description: قالب اختصاصی پادکست گازت — «آرشیو مطبوعاتی». سبک، بدون صفحه‌ساز، با پنل بومی شناسنامهٔ نمره و دریافت خودکار از فید.
Version: 1.3.2
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gazette
*/

/* ==========================================================================
   فونت — ایران‌سنس لوکال
   ========================================================================== */
@font-face{
  font-family:'IRANSans'; font-style:normal; font-weight:400; font-display:swap;
  src:url('assets/fonts/IRANSansWeb.woff2') format('woff2'),
      url('assets/fonts/IRANSansWeb.woff') format('woff');
}
@font-face{
  font-family:'IRANSans'; font-style:normal; font-weight:500; font-display:swap;
  src:url('assets/fonts/IRANSansWeb_Medium.woff2') format('woff2'),
      url('assets/fonts/IRANSansWeb_Medium.woff') format('woff');
}
@font-face{
  font-family:'IRANSans'; font-style:normal; font-weight:700; font-display:swap;
  src:url('assets/fonts/IRANSansWeb_Bold.woff2') format('woff2'),
      url('assets/fonts/IRANSansWeb_Bold.woff') format('woff');
}

/* ==========================================================================
   توکن‌ها
   ⚠️ همهٔ اندازه‌ها px است، نه rem — تجربهٔ قالب قبلی نشان داد
   وقتی html اندازهٔ غیرپیش‌فرض دارد، rem غیرقابل پیش‌بینی می‌شود.
   ========================================================================== */
:root{
  --paper:#f2eee4; --paper-2:#eae5d8; --paper-3:#e2dccb;
  --ink:#1b1815; --ink-soft:#4a443c; --ink-faint:#8a8175;
  --rule:#cdc5b4; --rule-bold:#1b1815;
  --green:#203E32; --green-soft:#3c5a4c;

  --measure:68ch;
  --gutter:clamp(20px, 4vw, 56px);
  --maxw:1280px;
  --narrow:900px;

  --t--1:clamp(12px, 11.4px + .16vw, 13.5px);
  --t-0: clamp(16px, 15.2px + .28vw, 18px);
  --t-1: clamp(19px, 17.4px + .6vw, 24px);
  --t-2: clamp(25px, 20px + 1.8vw, 37px);
  --t-3: clamp(34px, 24px + 3.4vw, 58px);
  --t-4: clamp(48px, 26px + 6.4vw, 112px);
}

*,*::before,*::after{ box-sizing:border-box }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto }
  *{ animation:none !important; transition:none !important }
}

body{
  margin:0;
  background-color:var(--paper);
  color:var(--ink-soft);
  font-family:'IRANSans', Tahoma, sans-serif;
  font-size:var(--t-0);
  line-height:1.95;
  font-variant-numeric:tabular-nums;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

/* بافت کاغذ — SVG درون‌خطی، بدون درخواست شبکه */
body::after{
  content:''; position:fixed; inset:0; pointer-events:none; z-index:1; opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
}

img{ max-width:100%; height:auto; display:block }
a{ color:inherit; text-decoration:none }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--green); outline-offset:3px;
}

.wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); position:relative; z-index:2 }
.wrap--narrow{ max-width:var(--narrow) }

.skip{ position:absolute; right:-9999px; top:0; background:var(--green); color:var(--paper); padding:10px 16px; z-index:99 }
.skip:focus{ right:16px; top:16px }

h1,h2,h3,h4{ color:var(--ink); margin:0; line-height:1.2; letter-spacing:-.02em; font-weight:700 }

/* ==========================================================================
   پیشانی
   ========================================================================== */
/* یک ردیف: نشان و شعار سمت راست، منو انتهای سمت چپ.
   در RTL اولین المان DOM سمت راست می‌نشیند، پس brand قبل از nav می‌آید. */
.masthead{ border-bottom:3px double var(--rule-bold) }
.masthead__bar{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:14px clamp(20px,3vw,40px); padding-block:clamp(14px,2vw,20px);
}

.brand{ display:flex; align-items:center; gap:clamp(12px,1.6vw,20px); min-width:0 }
.brand__logo{ max-height:clamp(52px,5.5vw,74px); width:auto; flex:none }
.brand__name{ font-size:var(--t-2); font-weight:700; letter-spacing:-.03em; line-height:1 }
.brand__tag{
  font-size:var(--t--1); color:var(--ink-soft); letter-spacing:.02em;
  line-height:1.6; text-wrap:balance;
}
.nav{
  display:flex; flex-wrap:wrap; gap:clamp(14px,2vw,32px); justify-content:flex-end;
  font-size:var(--t--1); letter-spacing:.09em; margin:0; padding:0; list-style:none;
}

/* موبایل: شعار جا نمی‌شود و مخفی می‌شود. اگر چیدمان space-between بماند،
   منو ته سمت چپ می‌چسبد و وسط ردیف یک حفرهٔ خالی می‌ماند. پس هر دو را
   به سمت راست جمع می‌کنیم تا منو کنار لوگو بنشیند. */
@media (max-width:520px){
  .brand__tag{ display:none }
  .masthead__bar{ justify-content:flex-start; column-gap:clamp(14px,4vw,22px) }
  .nav{ justify-content:flex-start }
}
.nav a{ display:inline-block; padding-block:2px; border-bottom:1px solid transparent; transition:color .2s, border-color .2s }
.nav a:hover{ color:var(--green); border-bottom-color:var(--green) }
.nav .current-menu-item > a{ border-bottom-color:var(--rule-bold); font-weight:500 }

/* ==========================================================================
   عناصر مشترک
   ========================================================================== */
.kicker{ font-size:var(--t--1); letter-spacing:.18em; color:var(--green); margin:0 0 14px }

.btn{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--green); color:var(--paper);
  padding:13px 26px; font-size:var(--t--1); letter-spacing:.08em;
  border:1px solid var(--green); border-radius:0; cursor:pointer;
  font-family:inherit; transition:background .2s, transform .12s;
}
.btn:hover{ background:var(--green-soft); color:var(--paper) }
.btn:active{ transform:translateY(1px) }
.btn--ghost{ background:transparent; color:var(--green) }
.btn--ghost:hover{ background:var(--green); color:var(--paper) }

.section-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap;
  border-bottom:3px double var(--rule-bold); padding-bottom:10px; margin-bottom:4px;
}
.section-head h2{ font-size:var(--t-1) }
.section-head span{ font-size:var(--t--1); color:var(--ink-faint); letter-spacing:.1em }

.colophon{ margin:0; border-top:1px solid var(--rule-bold); font-size:var(--t--1) }
.colophon > div{
  display:grid; grid-template-columns:120px 1fr; gap:16px;
  padding-block:9px; border-bottom:1px solid var(--rule);
}
.colophon dt{ color:var(--ink-faint); letter-spacing:.05em }
.colophon dd{ margin:0; color:var(--ink) }

.tag{
  display:inline-block; font-size:var(--t--1); color:var(--green);
  border:1px solid var(--rule); padding:1px 9px; letter-spacing:.06em;
}

/* ==========================================================================
   صفحهٔ اصلی — نمرهٔ تازه
   ========================================================================== */
/* موبایل: عنوان و توضیح ← کاور ← شناسنامه و دکمه‌ها.
   دسکتاپ: کاور ستون کناری، از بالا تا پایین. */
.lead{
  display:grid; grid-template-columns:1fr; gap:clamp(22px,3.2vw,30px);
  padding-block:clamp(28px,5vw,60px); border-bottom:1px solid var(--rule);
}
@media (min-width:860px){
  .lead{
    grid-template-columns:minmax(0,1fr) 340px;
    grid-template-areas:"head cover" "body cover";
    column-gap:clamp(24px,4vw,48px); row-gap:22px;
    align-items:start;
  }
  .lead__head{ grid-area:head }
  .lead__cover{ grid-area:cover }
  .lead__body{ grid-area:body }
}
.lead__head > :last-child, .lead__body > :last-child{ margin-bottom:0 }

.lead h1, .lead h2{ font-size:var(--t-3); margin:0 0 16px; line-height:1.18; text-wrap:balance }
.lead__intro{ margin:0 0 22px; max-width:var(--measure); color:var(--ink-soft); text-wrap:pretty }
.lead__cover{ border:1px solid var(--rule); padding:9px; background:var(--paper-2); margin:0 }
.lead__cover img{ width:100%; filter:saturate(.88) contrast(1.03) }
.lead__actions{ margin-top:26px; display:flex; gap:12px; flex-wrap:wrap }

/* ارقام */
.figures{ display:grid; grid-template-columns:repeat(2,1fr); border-bottom:1px solid var(--rule) }
@media (min-width:760px){ .figures{ grid-template-columns:repeat(4,1fr) } }
.figures > div{ padding:clamp(20px,3vw,34px) 12px; text-align:center; border-inline-start:1px solid var(--rule) }
.figures > div:first-child{ border-inline-start:0 }
@media (max-width:759px){
  .figures > div:nth-child(odd){ border-inline-start:0 }
  .figures > div:nth-child(-n+2){ border-bottom:1px solid var(--rule) }
}
.figures b{ display:block; font-size:var(--t-2); font-weight:700; letter-spacing:-.02em; line-height:1.1; color:var(--ink) }
.figures span{ display:block; font-size:var(--t--1); color:var(--ink-faint); margin-top:6px; letter-spacing:.06em }

/* نقل‌قول */
.pull{ padding-block:clamp(36px,6vw,80px); border-bottom:1px solid var(--rule); text-align:center }
.pull blockquote{ margin:0 auto; max-width:38ch; font-size:var(--t-2); font-weight:500; line-height:1.5; color:var(--ink); text-wrap:balance }
.pull cite{ display:block; margin-top:18px; font-size:var(--t--1); font-style:normal; color:var(--ink-faint); letter-spacing:.12em }

/* ==========================================================================
   دفتر نمره‌ها
   ========================================================================== */
.ledger{ padding-block:clamp(28px,5vw,52px) }
.season{ margin-top:clamp(28px,4vw,44px) }
.season__head{ display:flex; align-items:baseline; gap:16px; padding-block:9px; border-bottom:1px solid var(--rule-bold) }
.season__head h3{ font-size:var(--t-1) }
.season__head span{ font-size:var(--t--1); color:var(--ink-faint); letter-spacing:.08em }

/* --------------------------------------------------------------------------
   گرید کارت‌های نمره

   🔴 جایگزین لیست ردیفی قبلی. آن لیست سه ستون دور از هم داشت
      (۵۸px / 1fr / 200px) با align-items:baseline روی متن‌هایی با اندازهٔ
      ۲۴ و ۱۶ و ۱۲ پیکسل — خط پایه هرگز یکی نمی‌شد و وسط صفحه خالی می‌ماند.
      حالا گرید واقعی است و هر کارت یک ستون کامل.

   کاورها در منبع ۴۰۰×۴۰۰‌اند، پس ستون عمداً باریک نگه داشته شده
   تا تصویر کشیده و تار نشود.
   -------------------------------------------------------------------------- */
.grid{
  display:grid; gap:clamp(20px,2.6vw,34px) clamp(16px,2vw,26px);
  grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
  padding-block:clamp(18px,2.5vw,30px); margin:0; list-style:none;
}
@media (min-width:600px){ .grid{ grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)) } }
@media (min-width:900px){ .grid{ grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)) } }

.card{ display:flex; flex-direction:column; min-width:0 }
.card[hidden]{ display:none }

.card__link{ display:block; margin-bottom:14px }

.card__cover{
  margin:0; aspect-ratio:1; overflow:hidden;
  border:1px solid var(--rule); background:var(--paper-2);
}
.card__cover img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:opacity .25s, transform .45s cubic-bezier(.2,.7,.3,1);
}
.card:hover .card__cover img{ opacity:.88; transform:scale(1.035) }

.card__cover--empty{
  display:grid; place-items:center;
  color:var(--ink-faint); font-size:var(--t-1); letter-spacing:.06em;
}

/* برچسب و شمارهٔ نمره — تابع عنوان، نه غالب بر آن.
   ⚠️ ترتیب RTL: برچسب «نمره» باید در DOM قبل از عدد بیاید تا سمت راست بنشیند. */
.card__eyebrow{
  display:flex; align-items:baseline; gap:7px; margin:0 0 6px;
  font-size:var(--t--1); line-height:1.2;
}
.card__label{ color:var(--ink-faint); letter-spacing:.12em }
.card__num{ color:var(--green); font-weight:700; letter-spacing:.01em }

/* عنوان عنصر غالب کارت است. */
.card__title{
  margin:0; font-size:var(--t-0); font-weight:700; line-height:1.5;
  letter-spacing:-.01em; text-wrap:pretty; color:var(--ink);
}
.card__title a{ border-bottom:1px solid transparent; transition:border-color .2s, color .2s }
.card:hover .card__title a{ color:var(--green); border-bottom-color:var(--green) }

.card__sub{ margin:5px 0 0; font-size:var(--t--1); color:var(--ink-faint); line-height:1.5 }

/* 🔴 تاریخ و مدت آیتم‌های flex جدا هستند، نه یک رشتهٔ متنی با «·» وسطش.
      نویسهٔ «·» خنثی است و در RTL بین دو عدد جابه‌جا می‌شد و
      «۳۷ · دقیقه» نشان می‌داد. هر آیتم flex ران دوسویهٔ مستقل خودش است. */
.card__meta{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:0 9px;
  margin:auto 0 0; padding-top:9px;
  font-size:var(--t--1); color:var(--ink-faint); letter-spacing:.03em;
}
.card__meta span + span::before{
  content:'·'; display:inline-block; margin-inline-end:9px; color:var(--rule);
}

/* --------------------------------------------------------------------------
   فهرست ساده — نتایج جست‌وجو و بایگانی‌های عمومی

   اینجا محتوا مخلوط است (برگه و نمره)، پس کارت با کاور جواب نمی‌دهد.
   یک ستون، عنوان غالب، متا زیرش — بدون ستون‌های دور از هم.
   -------------------------------------------------------------------------- */
.list{ margin:0; padding:0; list-style:none }
.list__item{
  padding-block:16px; border-bottom:1px solid var(--rule);
  transition:background .18s;
}
.list__item:hover{ background:var(--paper-2) }
.list__eyebrow{
  display:flex; align-items:baseline; gap:7px; margin:0 0 5px;
  font-size:var(--t--1); line-height:1.2;
}
.list__title{ margin:0; font-size:var(--t-0); font-weight:700; line-height:1.5; color:var(--ink); text-wrap:pretty }
.list__title a{ border-bottom:1px solid transparent; transition:border-color .2s, color .2s }
.list__item:hover .list__title a{ color:var(--green); border-bottom-color:var(--green) }
.list__meta{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:0 9px;
  margin:6px 0 0; font-size:var(--t--1); color:var(--ink-faint); letter-spacing:.03em;
}
.list__meta span + span::before{
  content:'·'; display:inline-block; margin-inline-end:9px; color:var(--rule);
}

/* ==========================================================================
   صفحهٔ یک نمره
   ========================================================================== */
.crumbs{ padding-block:16px; font-size:var(--t--1); color:var(--ink-faint); letter-spacing:.05em; border-bottom:1px solid var(--rule) }
.crumbs a:hover{ color:var(--green) }
.crumbs span{ margin-inline:8px; color:var(--rule) }

.episode__head{ padding-block:clamp(28px,5vw,52px) clamp(20px,3vw,34px) }

/* شمارهٔ نمره هم‌اندازهٔ بقیهٔ نشانگر است، نه درشت‌تر — تصمیم کاربر ۱۴۰۵/۰۵/۱۷. */
.episode__eyebrow{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px;
  margin:0 0 26px; font-size:var(--t--1); letter-spacing:.14em; color:var(--ink-faint);
}
.episode__eyebrow b{ font-weight:700; color:var(--green); letter-spacing:.02em }

.episode__head h1{ font-size:var(--t-3); line-height:1.16; text-wrap:balance }

/* توضیح زیر عنوان — آرام‌تر از قبل تا با تیتر رقابت نکند. */
.episode__standfirst{
  margin:18px 0 0; max-width:var(--measure); font-size:var(--t-0);
  line-height:1.85; color:var(--ink-soft); font-weight:400; text-wrap:pretty;
}

/* پخش‌کننده */
.player{
  display:grid; gap:clamp(18px,3vw,30px); grid-template-columns:1fr; align-items:center;
  background:var(--paper-2); border:1px solid var(--rule-bold);
  padding:clamp(16px,2.5vw,24px); margin-block:clamp(22px,4vw,36px);
}
@media (min-width:680px){ .player{ grid-template-columns:auto 1fr } }
.player__cover{ width:clamp(80px,18vw,120px); border:1px solid var(--rule); background:var(--paper); padding:6px; margin:0 }
.player__cover img{ filter:saturate(.88) contrast(1.03) }
.player__body{ min-width:0 }
.player__meta{ margin:0 0 14px; font-size:var(--t--1); color:var(--ink-soft); letter-spacing:.05em }
.player__meta b{ display:block; color:var(--ink); font-size:var(--t-0); margin-bottom:2px }
.player audio{ width:100%; display:block }
.player__note{ margin:14px 0 0; font-size:var(--t--1); color:var(--ink-faint) }
.player__note a:hover{ color:var(--green) }

/* متن */
.prose{ max-width:var(--measure); margin-block:clamp(22px,4vw,36px) }
.prose p{ margin:0 0 20px; text-wrap:pretty }
.prose p:last-child{ margin-bottom:0 }
.prose h3{ margin:clamp(28px,4vw,44px) 0 12px; font-size:var(--t-1) }
.prose ul{ margin:0 0 20px; padding:0; list-style:none }
.prose ul li{ position:relative; padding-inline-start:22px; margin-bottom:7px }
.prose ul li::before{ content:'—'; position:absolute; inset-inline-start:0; color:var(--green) }
.prose blockquote{
  margin:clamp(22px,4vw,36px) 0; padding-inline-start:20px;
  border-inline-start:3px solid var(--green);
  font-size:var(--t-1); font-weight:500; line-height:1.6; color:var(--ink);
}
.prose blockquote cite{ display:block; margin-top:10px; font-size:var(--t--1); font-style:normal; color:var(--ink-faint); letter-spacing:.08em }
/* پاراگراف نخست فقط کمی متمایز است، نه یک بلوک درشت و ول.
   قبلاً var(--t-1) بود (۱۹ تا ۲۴px) و کنار متن بدنه زمخت به‌نظر می‌رسید. */
.prose--opening > p:first-of-type{ font-size:var(--t-0); font-weight:500; line-height:1.9; color:var(--ink) }
/* ⚠️ drop cap عمداً نیست — در خط فارسی حرف اول را از کلمه جدا می‌کند. */

/* سربرگ برگه‌های معمولی — دربارهٔ ما، حمایت و مانند آن‌ها.
   صفحهٔ نمره تیتر var(--t-3) دارد چون تیتر تحریریه است؛ برگه نه. */
.page-head{ padding-block:clamp(24px,4vw,40px) clamp(14px,2vw,22px); border-bottom:1px solid var(--rule) }
.page-head h1{ font-size:var(--t-2); line-height:1.25; text-wrap:balance }

/* پیمایش */
.pager{ display:grid; gap:1px; grid-template-columns:1fr; background:var(--rule); border-block:1px solid var(--rule); margin-top:clamp(28px,5vw,52px) }
@media (min-width:640px){ .pager{ grid-template-columns:1fr 1fr } }
.pager a{ background:var(--paper); padding:22px clamp(16px,3vw,28px); transition:background .18s }
.pager a:hover{ background:var(--paper-2) }

/* 🔴 خانهٔ خالی (وقتی نمرهٔ بعدی یا قبلی وجود ندارد).
      بدون این، پس‌زمینهٔ ظرف — که برای ساختن خط جداکننده var(--rule) است —
      از پشت خانهٔ خالی دیده می‌شد و مثل تصویری که لود نشده به‌نظر می‌رسید. */
.pager > span{ background:var(--paper) }

.pager small{ display:block; font-size:var(--t--1); color:var(--ink-faint); letter-spacing:.12em; margin-bottom:6px }
.pager b{ font-size:clamp(14px, 13.2px + .2vw, 15.5px); font-weight:500; line-height:1.45; color:var(--ink) }
.pager a:last-child{ text-align:start }
@media (min-width:640px){ .pager a:last-child{ text-align:end } }

/* ==========================================================================
   بایگانی — فیلتر و جست‌وجو
   ========================================================================== */
.filters{ display:grid; gap:16px; padding-block:clamp(18px,3vw,30px); border-bottom:1px solid var(--rule) }
.filters__row{ display:flex; flex-wrap:wrap; gap:8px; align-items:center }
.chip{
  font-family:inherit; font-size:var(--t--1); letter-spacing:.05em; color:var(--ink-soft);
  background:transparent; border:1px solid var(--rule); padding:7px 15px; cursor:pointer;
  transition:background .18s, color .18s, border-color .18s;
}
.chip:hover{ border-color:var(--green); color:var(--green) }
.chip[aria-pressed="true"]{ background:var(--green); border-color:var(--green); color:var(--paper) }
.chip small{ opacity:.7; margin-inline-start:6px }
.search{ display:flex; align-items:center; gap:10px; border:1px solid var(--rule); background:var(--paper); padding:7px 14px; min-width:min(100%,300px) }
.search input{ font-family:inherit; font-size:var(--t--1); color:var(--ink); background:transparent; border:0; outline:0; width:100%; padding-block:4px }
.search:focus-within{ border-color:var(--green) }
.search svg{ width:16px; height:16px; flex:0 0 auto; color:var(--ink-faint) }
.result-count{ font-size:var(--t--1); color:var(--ink-faint); letter-spacing:.05em }
.empty{ padding-block:clamp(44px,8vw,90px); text-align:center; color:var(--ink-faint) }
.empty b{ display:block; font-size:var(--t-1); color:var(--ink); margin-bottom:8px; font-weight:500 }

/* ==========================================================================
   پاورقی
   ========================================================================== */
.foot{
  border-top:3px double var(--rule-bold); margin-top:clamp(28px,5vw,64px);
  padding-block:clamp(28px,4vw,48px); font-size:var(--t--1); color:var(--ink-soft);
}
.foot__grid{ display:grid; gap:32px; grid-template-columns:1fr }
@media (min-width:760px){ .foot__grid{ grid-template-columns:2fr 1fr 1fr } }
.foot h4{ margin:0 0 12px; font-size:var(--t--1); letter-spacing:.14em; color:var(--ink) }
.foot p{ margin:0; max-width:46ch; line-height:1.9 }
.foot ul{ margin:0; padding:0; list-style:none; display:grid; gap:7px }
.foot a:hover{ color:var(--green) }
.foot__legal{
  margin-top:36px; padding-top:18px; border-top:1px solid var(--rule);
  display:flex; flex-wrap:wrap; gap:8px 24px; justify-content:space-between; color:var(--ink-faint);
}
.foot__social{ display:flex; gap:16px; flex-wrap:wrap; margin-top:14px }
.foot__social a{ display:inline-flex }
.foot__social svg{ width:19px; height:19px }

/* ==========================================================================
   بلوک‌های ادیتور داخل برگه‌ها

   قالب wp-block-library را dequeue می‌کند تا سبک بماند، پس بلوک‌هایی که
   کاربر در ادیتور می‌سازد باید اینجا استایل بگیرند. بدون این، دکمه‌ها با
   پیش‌فرض وردپرس رندر می‌شوند: گوشهٔ کاملاً گرد و خاکستری تیره — درست
   برعکس زبان طراحی سایت.
   ========================================================================== */
.wp-block-buttons{
  display:flex; flex-wrap:wrap; gap:12px;
  margin-block:clamp(18px,3vw,28px); padding:0; list-style:none;
}
.wp-block-button{ margin:0 }
.wp-block-button__link{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--green); color:var(--paper);
  padding:13px 26px; font-size:var(--t--1); font-family:inherit;
  letter-spacing:.06em; line-height:1.4;
  border:1px solid var(--green); border-radius:0;
  transition:background .2s, transform .12s;
}
.wp-block-button__link:hover{ background:var(--green-soft); color:var(--paper) }
.wp-block-button__link:active{ transform:translateY(1px) }

/* دکمهٔ دوم آرام‌تر — دو مسیر هم‌ارز نیستند. */
.wp-block-button:nth-child(n+2) .wp-block-button__link{
  background:transparent; color:var(--green);
}
.wp-block-button:nth-child(n+2) .wp-block-button__link:hover{
  background:var(--green); color:var(--paper);
}

.prose .wp-block-image{ margin-block:clamp(20px,3vw,32px) }
.prose .wp-block-image img{ border:1px solid var(--rule) }
.prose .wp-block-quote{
  margin-block:clamp(20px,3vw,30px); padding-inline-start:0; padding-inline-end:20px;
  border-inline-end:2.4px solid var(--green); border-inline-start:0;
  font-size:var(--t-1); font-weight:500; color:var(--ink);
}
.prose .wp-block-quote cite{ display:block; margin-top:10px; font-size:var(--t--1); font-style:normal; color:var(--ink-faint) }

/* ==========================================================================
   فرم‌ها
   ========================================================================== */
input[type=text], input[type=email], input[type=url], input[type=search], textarea{
  font-family:inherit; font-size:var(--t-0); color:var(--ink);
  background:var(--paper); border:1px solid var(--rule); border-radius:0;
  padding:10px 14px; width:100%; max-width:100%;
}
textarea{ min-height:130px }
input:focus, textarea:focus{ border-color:var(--green); outline:0 }
input[type=submit]{
  background:var(--green); color:var(--paper); border:1px solid var(--green);
  border-radius:0; padding:13px 26px; font-family:inherit; font-size:var(--t--1);
  letter-spacing:.08em; cursor:pointer;
}
input[type=submit]:hover{ background:var(--green-soft) }

/* ==========================================================================
   ۴۰۴
   ========================================================================== */
.notfound{ padding-block:clamp(56px,10vw,120px); text-align:center }
.notfound b{ display:block; font-size:var(--t-3); color:var(--ink); margin-bottom:14px }
