:root{
  --bg:#0e131a;
  --surface:#171f29;
  --surface-2:#1f2937;
  --border:#2a3441;
  --mint:#35e0a1;
  --mint-dim:#1f8f66;
  --amber:#ffab5e;
  --text:#eef2f5;
  --muted:#8fa0b2;
  --radius:16px;
  --font:'Vazirmatn', Tahoma, sans-serif;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}

body{
  font-family:var(--font);
  background:
    radial-gradient(ellipse 900px 500px at 85% -10%, rgba(53,224,161,0.10), transparent),
    radial-gradient(ellipse 700px 500px at 0% 20%, rgba(255,171,94,0.06), transparent),
    var(--bg);
  color:var(--text);
  line-height:1.75;
  overflow-x:hidden;
}

img, svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
button{font-family:var(--font); cursor:pointer;}
ul{list-style:none;}

.container{max-width:1180px; margin:0 auto; padding:0 24px;}
section{padding:96px 0;}
.section-flush-top{padding-top:0;}
.section-surface{background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.muted{color:var(--muted);}

h1,h2,h3{font-weight:800; letter-spacing:-0.01em;}

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600; color:var(--mint);
  letter-spacing:0.3px; margin-bottom:14px;
}
.eyebrow::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--mint); box-shadow:0 0 10px var(--mint);}

.skip-link{position:absolute; inset-inline-start:-9999px;}
.skip-link:focus{inset-inline-start:16px; top:16px; z-index:100; background:var(--mint); color:#08201a; padding:10px 16px; border-radius:8px;}
.screen-reader-text{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap;}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

/* ورود هنگام اسکرول در assets/css/animations.css تعریف شده است. */

/* ===== Header ===== */
.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:blur(14px);
  background:rgba(14,19,26,0.75);
  border-bottom:1px solid var(--border);
}
.nav{display:flex; align-items:center; gap:16px; padding:16px 0;}

/* منو کنار برند در سمت راست می‌نشیند. در حالت راست‌چین inline-end سمت
   چپ است، پس حاشیه‌ی خودکار آنجا دکمه‌ی «دریافت قیمت» را به لبه‌ی
   چپ هل می‌دهد و منو کنار برند می‌ماند. */
@media (min-width:901px){
  .site-nav{margin-inline-end:auto;}
  .nav-links{gap:26px;}
}
.brand{display:flex; align-items:center; gap:10px; font-weight:800; font-size:18px;}
.brand-mark, .brand .custom-logo{width:38px; height:38px; flex-shrink:0;}
.brand-name{color:var(--mint);}
.brand-tagline{font-weight:600;}
/* سر و ته پنل فقط در منوی تمام‌صفحه‌ی موبایل معنا دارد. */
.nav-panel-head, .nav-panel-foot{display:none;}
.nav-links{display:flex; gap:32px; font-size:15px; color:var(--muted);}
.nav-links a:hover{color:var(--text);}
.nav-cta{display:flex; align-items:center; gap:14px;}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius:12px; font-weight:700; font-size:15px;
  border:none; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-primary{background:var(--mint); color:#08201a;}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(53,224,161,0.25);}
.btn-ghost{background:transparent; color:var(--text); border:1px solid var(--border);}
.btn-ghost:hover{border-color:var(--mint); color:var(--mint);}
.btn-block{width:100%; margin-top:8px;}
.btn-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px;}
.btn:focus-visible, a:focus-visible{outline:2px solid var(--mint); outline-offset:2px;}

/* دکمه‌ی همیشه یک‌خطی؛ در موبایل جمع‌وجورتر می‌شود. */
.btn{white-space:nowrap;}

/* ===== منوی موبایل ===== */
.nav-toggle{
  display:none; /* فقط در موبایل */
  background:transparent; border:1px solid var(--border); border-radius:10px;
  width:42px; height:42px; cursor:pointer; padding:0;
  align-items:center; justify-content:center; flex-shrink:0;
}
.nav-toggle-bars{display:flex; flex-direction:column; gap:4px; width:18px;}
.nav-toggle-bars span{
  display:block; height:2px; width:100%; border-radius:2px; background:var(--text);
  transition:transform .25s ease, opacity .2s ease;
}
/* سه خط به ضربدر تبدیل می‌شود */
.site-header.nav-open .nav-toggle-bars span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.site-header.nav-open .nav-toggle-bars span:nth-child(2){opacity:0;}
.site-header.nav-open .nav-toggle-bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

@media (max-width:900px){
  /* ردیف موبایل: آیکن منو راست، لوگو دقیقاً وسط، دکمه چپ.
     لوگو از جریان خارج و نسبت به کل عرض وسط‌چین می‌شود تا باز شدن منو
     (که ردیف دوم را اضافه می‌کند) جای آن را جابه‌جا نکند. */
  /* هم‌تراز با بقیه‌ی محتوای صفحه؛ بدون این، هدر به لبه‌ی نمایشگر می‌چسبد. */
  .nav{flex-wrap:wrap; gap:10px; position:relative; min-height:42px; padding:16px 24px;}
  .nav-toggle{display:inline-flex; order:1;}
  .nav-cta{order:2; margin-inline-start:auto;}

  /* فقط لوگوی هدر؛ بدون این محدودیت، لوگوی فوتر هم absolute می‌شود و
     به بالای صفحه می‌پرد. */
  .nav .brand{
    order:0;
    position:absolute; top:16px; left:50%; transform:translateX(-50%);
    height:42px; margin:0; pointer-events:none;
  }
  .nav .brand a{pointer-events:auto;}

  /* ===== منوی تمام‌صفحه =====
     پنل از محل دکمه‌ی منو (بالا-راست) به شکل دایره باز می‌شود. */
  .site-nav{
    position:fixed; inset:0; z-index:120;
    display:flex; flex-direction:column;
    padding:20px 24px calc(24px + env(safe-area-inset-bottom));
    background:
      radial-gradient(120% 80% at 100% 0%, rgba(45,212,191,.16), transparent 60%),
      var(--bg, #0b1220);
    overflow-y:auto; overscroll-behavior:contain;
    visibility:hidden;
    clip-path:circle(0px at calc(100% - 45px) 45px);
    transition:clip-path .55s cubic-bezier(.77,0,.18,1), visibility 0s linear .55s;
  }
  .site-header.nav-open .site-nav{
    visibility:visible;
    clip-path:circle(150% at calc(100% - 45px) 45px);
    transition:clip-path .55s cubic-bezier(.77,0,.18,1), visibility 0s;
  }
  /* backdrop-filter روی هدر برای فرزندِ fixed یک containing block می‌سازد و
     پنل را به اندازه‌ی هدر محدود می‌کند؛ تا وقتی منو باز است خنثی می‌شود. */
  .site-header.nav-open{backdrop-filter:none; -webkit-backdrop-filter:none;}

  .nav-panel-head{display:flex; align-items:center; justify-content:space-between; gap:16px;}
  .nav-panel-foot{display:flex;}
  .nav-back{
    display:inline-flex; align-items:center; gap:8px;
    background:transparent; border:1px solid var(--border); border-radius:999px;
    padding:9px 16px 9px 12px; color:var(--text); font:inherit; font-size:14px; cursor:pointer;
  }
  .nav-back svg{width:18px; height:18px;}
  .nav-back:hover{border-color:var(--mint); color:var(--mint);}
  .nav-panel-brand{display:inline-flex;}

  /* آیتم‌ها بزرگ و یکی‌یکی ظاهر می‌شوند */
  .site-nav .nav-links{
    display:flex; flex-direction:column; gap:0;
    margin:auto 0; padding:24px 0; font-size:clamp(22px, 7vw, 30px); font-weight:800;
  }
  .site-nav .nav-links li{
    border-bottom:1px solid var(--border);
    opacity:0; transform:translateY(16px);
    transition:opacity .38s ease, transform .38s cubic-bezier(.22,1,.36,1);
  }
  .site-header.nav-open .site-nav .nav-links li{opacity:1; transform:none;}
  .site-header.nav-open .site-nav .nav-links li:nth-child(1){transition-delay:.16s;}
  .site-header.nav-open .site-nav .nav-links li:nth-child(2){transition-delay:.22s;}
  .site-header.nav-open .site-nav .nav-links li:nth-child(3){transition-delay:.28s;}
  .site-header.nav-open .site-nav .nav-links li:nth-child(4){transition-delay:.34s;}
  .site-header.nav-open .site-nav .nav-links li:nth-child(5){transition-delay:.40s;}
  .site-header.nav-open .site-nav .nav-links li:nth-child(6){transition-delay:.46s;}
  .site-nav .nav-links a{display:block; padding:16px 2px; color:var(--text);}
  .site-nav .nav-links a:hover{color:var(--mint);}
  /* خط زیرِ آیتم‌ها در حالت افقی معنا دارد، در موبایل نه */
  .site-nav a::after{display:none;}

  .nav-panel-foot{
    display:flex; flex-direction:column; gap:12px; align-items:stretch;
    opacity:0; transform:translateY(16px);
    transition:opacity .38s ease .5s, transform .38s ease .5s;
  }
  .site-header.nav-open .nav-panel-foot{opacity:1; transform:none;}
  .nav-panel-foot .btn-block{display:block; text-align:center;}
  .nav-panel-phone{text-align:center; font-size:17px; font-weight:700; color:var(--mint);}

  /* وقتی منو باز است، صفحه‌ی پشت آن نباید اسکرول شود */
  body.nav-locked{overflow:hidden;}

  /* دکمه‌ی هدر باید در نیمه‌ی چپ جا شود تا به لوگوی وسط نخورد */
  .btn-cta{padding:9px 11px; font-size:12.5px;}
  .nav .brand{font-size:16px; gap:8px;}
  .brand-tagline{display:none;}
}

/* متن کوتاه دکمه فقط در نمایشگرهای باریک، تا دکمه در نیمه‌ی چپ جا شود
   و به لوگوی وسط‌چین نخورد. */
.cta-short{display:none;}
@media (max-width:430px){
  .cta-full{display:none;}
  .cta-short{display:inline;}
  .btn-cta{padding:9px 12px; font-size:12.5px;}
}

/* نمایشگرهای خیلی باریک: اجزا جمع‌تر می‌شوند تا دکمه به لوگوی وسط نخورد. */
@media (max-width:360px){
  .nav{padding-inline:16px;}
  .nav .brand{font-size:15px; gap:6px;}
  .nav .brand-mark, .nav .brand .custom-logo{width:34px; height:34px;}
  .btn-cta{padding:8px 10px; font-size:12px;}
}

/* ===== Hero ===== */
.hero{padding:64px 0 40px;}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:start;}
@media (max-width:980px){ .hero-grid{grid-template-columns:1fr;} }
.hero h1{font-size:clamp(32px,4.4vw,52px); line-height:1.28; margin-bottom:20px;}
.hero h1 span{color:var(--mint);}
.hero p.lead{font-size:18px; color:var(--muted); max-width:52ch; margin-bottom:32px;}

.badges{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:8px;}
.badge{
  font-size:13.5px; font-weight:600; color:var(--text);
  background:var(--surface); border:1px solid var(--border);
  padding:8px 14px; border-radius:999px; display:flex; align-items:center; gap:6px;
}
.badge svg{width:15px; height:15px; color:var(--mint);}

/* ===== Trust strip ===== */
.trust{border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:28px 0;}
.trust-row{display:flex; flex-wrap:wrap; gap:28px; justify-content:space-between; font-size:14px; color:var(--muted);}
.trust-row div{display:flex; align-items:center; gap:8px;}
.trust-row svg{width:18px; height:18px; color:var(--mint); flex-shrink:0;}

/* ===== Section headers ===== */
.sec-head{max-width:640px; margin-bottom:48px;}
.sec-head h1, .sec-head h2{font-size:clamp(26px,3vw,36px); margin-bottom:12px;}
.sec-head p{color:var(--muted); font-size:16px;}

/* ===== Services ===== */
.services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media (max-width:900px){ .services-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .services-grid{grid-template-columns:1fr;} }
.service-card{
  background:var(--surface); border:1px solid var(--border); border-radius:14px;
  padding:24px; transition:border-color .2s ease, transform .2s ease;
}
.service-card:hover{border-color:var(--mint-dim); transform:translateY(-3px);}
.service-card svg{width:26px; height:26px; color:var(--mint); margin-bottom:14px;}
.service-card h3{font-size:16.5px; margin-bottom:8px;}
.service-card p{font-size:14px; color:var(--muted);}

/* ===== How it works ===== */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
@media (max-width:900px){ .steps{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .steps{grid-template-columns:1fr;} }
.step{position:relative; padding-top:8px;}
.step-num{
  font-size:13px; font-weight:800; color:var(--mint); border:1px solid var(--mint-dim);
  width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  margin-bottom:16px;
}
.step h3{font-size:16px; margin-bottom:8px;}
.step p{font-size:14px; color:var(--muted);}

/* ===== Why us ===== */
.why-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media (max-width:700px){ .why-grid{grid-template-columns:1fr;} }
.why-item{
  display:flex; gap:14px; background:var(--surface); border:1px solid var(--border);
  border-radius:14px; padding:20px;
}
.why-item svg{width:22px; height:22px; color:var(--amber); flex-shrink:0; margin-top:2px;}
.why-item h3{font-size:15.5px; margin-bottom:6px;}
.why-item p{font-size:13.5px; color:var(--muted);}

/* ===== Address ===== */
.addr-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:stretch;}
@media (max-width:900px){ .addr-grid{grid-template-columns:1fr;} }
.addr-card{background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:28px;}
.addr-side{display:flex; flex-direction:column; gap:24px;}
.addr-line{display:flex; gap:12px; margin-bottom:18px;}
.addr-line svg{width:20px; height:20px; color:var(--mint); flex-shrink:0; margin-top:3px;}
.addr-line h3{font-size:14px; color:var(--muted); margin-bottom:4px; font-weight:600;}
.addr-line p{font-size:15.5px;}
.addr-line a{color:var(--mint);}
.map-frame{border-radius:16px; overflow:hidden; border:1px solid var(--border); min-height:320px; flex:1;}
.map-frame iframe{width:100%; height:100%; min-height:320px; border:0; filter:grayscale(0.15) invert(0.92) contrast(0.9);}
.whatsapp-card h3{font-size:16px; margin-bottom:6px;}
.whatsapp-card p{font-size:13.5px; margin-bottom:6px;}
.whatsapp-number{color:var(--mint); font-weight:700; font-size:14.5px;}

/* ===== Generic page / posts ===== */
.page-content{padding:64px 0;}
.entry-content{font-size:15.5px; color:var(--text);}
.entry-content p, .entry-content ul, .entry-content ol{margin-bottom:18px;}
.entry-content ul, .entry-content ol{padding-inline-start:22px; list-style:disc;}
.entry-content a{color:var(--mint);}
.entry-content h2, .entry-content h3{margin:28px 0 12px;}
.entry-content img{border-radius:12px;}
.post-meta{font-size:13px; color:var(--muted); margin-bottom:10px;}
.post-thumb{margin-bottom:22px;}

/* ===== Blog: header ===== */
.blog:not(body){padding:64px 0 96px;}
.blog-head{max-width:720px; margin-bottom:44px;}
.blog-head h1{font-size:clamp(28px,3.4vw,42px); line-height:1.3; margin-bottom:14px;}
.blog-lead{color:var(--muted); font-size:16.5px;}

.blog-filters{display:flex; flex-wrap:wrap; gap:8px; margin-top:26px;}
.filter-chip{
  display:inline-flex; align-items:center; gap:7px;
  font-size:13.5px; font-weight:600; padding:8px 15px; border-radius:999px;
  border:1px solid var(--border); background:var(--surface); color:var(--muted);
  transition:border-color .18s ease, color .18s ease, transform .18s ease;
}
.filter-chip:hover{border-color:var(--mint-dim); color:var(--text); transform:translateY(-1px);}
.filter-chip.is-active{background:rgba(53,224,161,0.12); border-color:var(--mint); color:var(--mint);}
.filter-count{
  font-size:11.5px; font-variant-numeric:tabular-nums; opacity:.75;
  background:rgba(255,255,255,0.06); border-radius:999px; padding:1px 7px;
}

.blog-search{display:flex; gap:10px; margin-top:24px; flex-wrap:wrap;}
.blog-search input[type=search]{
  flex:1; min-width:220px; background:var(--surface-2); border:1px solid var(--border);
  color:var(--text); padding:12px 16px; border-radius:12px; font-family:inherit; font-size:15px; outline:none;
}
.blog-search input[type=search]:focus{border-color:var(--mint);}

/* ===== Blog: cards ===== */
.post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:980px){ .post-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .post-grid{grid-template-columns:1fr;} }

.post-card{
  display:flex; flex-direction:column; overflow:hidden;
  background:var(--surface); border:1px solid var(--border); border-radius:16px;
  transition:border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.post-card:hover{
  border-color:var(--mint-dim); transform:translateY(-4px);
  box-shadow:0 22px 40px -24px rgba(0,0,0,0.7);
}

.post-card-media{display:block; aspect-ratio:16/10; overflow:hidden; background:var(--surface-2); position:relative;}
.post-card-media img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.post-card:hover .post-card-media img{transform:scale(1.05);}
.post-card-placeholder{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  color:var(--border); background:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.02) 0 12px, transparent 12px 24px), var(--surface-2);
}
.post-card-placeholder svg{width:44px; height:44px;}

.post-card-body{padding:22px; display:flex; flex-direction:column; flex:1;}
.post-card-meta{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  font-size:12.5px; color:var(--muted); margin-bottom:12px;
}
.post-cat{
  color:var(--mint); font-weight:700; background:rgba(53,224,161,0.1);
  border-radius:999px; padding:3px 10px;
}
.post-cat:hover{background:rgba(53,224,161,0.18);}
.post-card-meta .dot{opacity:.5;}

.post-card-title{font-size:18.5px; line-height:1.6; margin-bottom:10px;}
.post-card-title a{transition:color .18s ease;}
.post-card:hover .post-card-title a{color:var(--mint);}
.post-card-excerpt{font-size:14px; color:var(--muted); margin-bottom:18px; flex:1;}

.post-card-more{
  display:inline-flex; align-items:center; gap:6px; align-self:flex-start;
  font-size:13.5px; font-weight:700; color:var(--mint);
}
.post-card-more svg{width:15px; height:15px; transition:transform .2s ease;}
.post-card:hover .post-card-more svg{transform:translateX(-4px);}

/* خبر اصلی: کارت پهن دو ستونه */
.post-card.is-featured{
  grid-column:1 / -1; flex-direction:row; margin-bottom:20px;
  border-color:var(--mint-dim);
}
.post-card.is-featured .post-card-media{flex:1.15; aspect-ratio:auto; min-height:340px;}
.post-card.is-featured .post-card-body{flex:1; justify-content:center; padding:38px;}
.post-card.is-featured .post-card-title{font-size:clamp(22px,2.4vw,30px);}
.post-card.is-featured .post-card-excerpt{font-size:15.5px;}
@media (max-width:860px){
  .post-card.is-featured{flex-direction:column;}
  .post-card.is-featured .post-card-media{min-height:220px;}
  .post-card.is-featured .post-card-body{padding:24px;}
}

.blog-empty{
  text-align:center; padding:70px 24px; border:1px dashed var(--border);
  border-radius:18px; background:var(--surface);
}
.blog-empty svg{width:52px; height:52px; color:var(--border); margin:0 auto 18px;}
.blog-empty h2{font-size:20px; margin-bottom:10px;}
.blog-empty p{color:var(--muted); font-size:14.5px; margin-bottom:22px;}

/* ===== Pagination ===== */
.pagination{margin-top:44px;}
.pagination .nav-links{display:flex; gap:8px; flex-wrap:wrap; justify-content:center;}
.pagination a, .pagination .current{
  display:inline-flex; align-items:center; justify-content:center; min-width:42px;
  padding:9px 16px; border-radius:10px; font-size:14px; font-weight:600;
  border:1px solid var(--border); color:var(--muted); transition:all .18s ease;
}
.pagination a:hover{border-color:var(--mint-dim); color:var(--text);}
.pagination .current{background:rgba(53,224,161,0.12); border-color:var(--mint); color:var(--mint);}

/* ===== Single post ===== */
.read-progress{position:fixed; top:0; inset-inline:0; height:3px; z-index:60; background:transparent;}
.read-progress span{display:block; height:100%; width:0; background:var(--mint); box-shadow:0 0 12px var(--mint);}

.single-width{max-width:760px;}
.single-head{padding:56px 0 28px;}
.crumbs{font-size:13px; color:var(--muted); display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px;}
.crumbs a:hover{color:var(--mint);}
.single-head h1{font-size:clamp(28px,3.8vw,44px); line-height:1.35; margin-bottom:20px;}
.single-meta{display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:13.5px; color:var(--muted);}
.single-meta .author{display:flex; align-items:center; gap:9px;}
.single-meta .author-name{color:var(--text); font-weight:600;}
.single-meta .dot{opacity:.5;}

/* آواتار نویسنده: دایره‌ی حرف‌اول همیشه رندر می‌شود و تصویر روی آن می‌نشیند.
   اگر گراواتار در دسترس نباشد (که روی بعضی هاست‌های ایرانی رایج است)،
   تصویر حذف می‌شود و همان دایره باقی می‌ماند. */
.author-avatar-wrap{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; overflow:hidden; flex-shrink:0;
  background:linear-gradient(135deg, var(--mint-dim), var(--surface-2));
}
.author-initial{
  font-weight:800; color:var(--text); line-height:1;
  font-size:.55em; /* نسبت به اندازه‌ی دایره */
}
.author-avatar-wrap .author-initial{font-size:14px;}
.post-card-meta .author-avatar-wrap .author-initial{font-size:11px;}
.author-avatar{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; border-radius:50%;
}

.post-card-meta .card-author{display:inline-flex; align-items:center; gap:6px;}
.post-card-meta .card-author .author-name{color:var(--text); font-weight:600;}

.single-hero{margin:8px 0 40px; border-radius:20px; overflow:hidden; border:1px solid var(--border);}
.single-hero img{width:100%; height:auto; display:block;}
.single-hero figcaption{font-size:12.5px; color:var(--muted); padding:12px 18px; background:var(--surface);}

.single-post .entry-content{font-size:17px; line-height:2.1;}
.single-post .entry-content h2{font-size:24px; margin:40px 0 14px;}
.single-post .entry-content h3{font-size:19px; margin:32px 0 12px;}
.single-post .entry-content blockquote{
  margin:28px 0; padding:18px 22px; border-inline-start:3px solid var(--mint);
  background:var(--surface); border-radius:0 12px 12px 0; color:var(--text); font-size:16px;
}
.single-post .entry-content img{margin:24px auto; border-radius:14px;}
.single-post .entry-content code{
  background:var(--surface-2); border:1px solid var(--border); border-radius:6px;
  padding:2px 7px; font-size:14px;
}

.single-tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:36px;}
.tag-chip{
  font-size:13px; color:var(--muted); border:1px solid var(--border);
  border-radius:999px; padding:6px 13px; transition:all .18s ease;
}
.tag-chip:hover{border-color:var(--mint); color:var(--mint);}

.single-share{
  display:flex; align-items:center; flex-wrap:wrap; gap:10px;
  margin-top:32px; padding-top:26px; border-top:1px solid var(--border);
}
.share-label{font-size:13.5px; color:var(--muted); margin-inline-end:4px;}
.share-btn{
  font-family:inherit; font-size:13.5px; font-weight:600; cursor:pointer;
  background:var(--surface); border:1px solid var(--border); color:var(--text);
  border-radius:10px; padding:9px 16px; transition:all .18s ease;
}
.share-btn:hover{border-color:var(--mint); color:var(--mint);}
.share-btn.is-copied{border-color:var(--mint); color:var(--mint); background:rgba(53,224,161,0.1);}

.single-cta{
  display:flex; align-items:center; justify-content:space-between; gap:22px; flex-wrap:wrap;
  margin:48px 0 8px; padding:30px; border-radius:18px;
  background:linear-gradient(135deg, rgba(53,224,161,0.1), rgba(53,224,161,0.02));
  border:1px solid var(--mint-dim);
}
.single-cta h2{font-size:20px; margin-bottom:6px;}
.single-cta p{font-size:14.5px; color:var(--muted);}

.post-nav{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:44px;}
@media (max-width:640px){ .post-nav{grid-template-columns:1fr;} }
.post-nav-item{
  background:var(--surface); border:1px solid var(--border); border-radius:14px;
  padding:18px 20px; transition:border-color .2s ease, transform .2s ease;
}
.post-nav-item:hover{border-color:var(--mint-dim); transform:translateY(-2px);}
.post-nav-item.is-prev{text-align:end;}
.post-nav-label{display:block; font-size:12px; color:var(--mint); font-weight:700; margin-bottom:6px;}
.post-nav-title{display:block; font-size:14.5px; font-weight:600; line-height:1.7;}

.related{padding:80px 0 0; margin-top:60px; border-top:1px solid var(--border);}
.related .sec-head{margin-bottom:32px;}

/* ===== Footer ===== */
.site-footer{border-top:1px solid var(--border); padding:44px 0 28px;}
.foot-grid{display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; margin-bottom:28px;}
.foot-brand{max-width:340px; font-size:14px; color:var(--muted);}
.foot-brand .brand{margin-bottom:12px;}
.foot-col h4{font-size:14px; margin-bottom:14px;}
.foot-col a, .foot-col p, .foot-col li{display:block; font-size:13.5px; color:var(--muted); margin-bottom:9px;}
.foot-col a:hover{color:var(--mint);}
.foot-col .nav-links, .foot-col .foot-menu{display:block;}
.foot-bottom{font-size:13px; color:var(--muted); border-top:1px solid var(--border); padding-top:18px;}

/* ===== دیدگاه‌ها ===== */
.comments{
  margin-top:52px; padding-top:36px; border-top:1px solid var(--border);
}
.comments-title{font-size:20px; margin-bottom:24px;}
.comments-closed{color:var(--muted); font-size:14px;}

.comment-list{list-style:none; margin:0 0 36px; padding:0;}
.comment-list .children{list-style:none; margin:14px 0 0; padding-inline-start:26px;}
@media (max-width:560px){ .comment-list .children{padding-inline-start:14px;} }

.comment-item{margin-bottom:16px;}
.comment-body{
  background:var(--surface); border:1px solid var(--border);
  border-radius:14px; padding:18px 20px;
}
.comment-head{display:flex; align-items:center; gap:12px; margin-bottom:12px;}
.comment-avatar{border-radius:50%; flex-shrink:0;}
.comment-author{display:block; font-weight:700; font-size:14.5px; color:var(--text);}
.comment-date{display:block; font-size:12.5px; color:var(--muted); margin-top:2px;}
.comment-pending{
  font-size:13px; color:var(--amber); background:rgba(255,171,94,0.08);
  border:1px solid rgba(255,171,94,0.3); border-radius:8px; padding:8px 12px; margin-bottom:10px;
}
.comment-content{font-size:14.5px; line-height:1.95; color:var(--text);}
.comment-content p{margin-bottom:10px;}
.comment-content p:last-child{margin-bottom:0;}
.comment-actions{margin-top:12px;}
.comment-reply-link{
  font-size:13px; font-weight:700; color:var(--mint);
  border:1px solid var(--border); border-radius:8px; padding:6px 14px;
  display:inline-block; transition:border-color .2s ease, background-color .2s ease;
}
.comment-reply-link:hover{border-color:var(--mint); background:rgba(53,224,161,0.08);}

/* --- فرم دیدگاه --- */
.comment-respond{
  background:var(--surface); border:1px solid var(--border);
  border-radius:16px; padding:26px;
}
.comment-reply-title{font-size:18px; margin-bottom:8px;}
.comment-reply-title small{font-size:13px; font-weight:500; margin-inline-start:10px;}
.comment-reply-title small a{color:var(--amber);}
.comment-notes, .comment-form-cookies-consent label{
  font-size:13px; color:var(--muted);
}
.comment-notes{margin-bottom:18px;}

.comment-form p{margin-bottom:16px;}
.comment-form label{
  display:block; font-size:13px; color:var(--muted);
  margin-bottom:8px; font-weight:600;
}
.comment-form .required{color:var(--amber);}

.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url],
.comment-form textarea{
  width:100%; background:var(--surface-2); border:1px solid var(--border);
  color:var(--text); padding:12px 14px; border-radius:10px;
  font-family:inherit; font-size:15px; outline:none;
  transition:border-color .18s ease;
}
.comment-form textarea{resize:vertical; min-height:120px; line-height:1.9;}
.comment-form input:focus, .comment-form textarea:focus{border-color:var(--mint);}
.comment-form input::placeholder, .comment-form textarea::placeholder{color:var(--muted); opacity:.7;}

/* سه فیلد نام/ایمیل/سایت کنار هم در دسکتاپ */
.comment-form-author, .comment-form-email, .comment-form-url{
  display:inline-block; width:calc(33.333% - 8px); vertical-align:top;
}
.comment-form-author, .comment-form-email{margin-inline-end:10px;}
@media (max-width:640px){
  .comment-form-author, .comment-form-email, .comment-form-url{
    display:block; width:100%; margin-inline-end:0;
  }
}

.comment-form-cookies-consent{display:flex; align-items:flex-start; gap:9px;}
.comment-form-cookies-consent input{margin-top:3px; accent-color:var(--mint); flex-shrink:0;}
.comment-form-cookies-consent label{margin-bottom:0;}

/* وردپرس دکمه را به‌صورت input[type=submit] می‌سازد، نه button. */
.form-submit{margin-bottom:0;}
.form-submit input[type=submit]{
  cursor:pointer; font-family:inherit;
  padding:13px 28px; border-radius:12px; border:none;
  background:var(--mint); color:#08201a; font-weight:700; font-size:15px;
  transition:transform .15s ease, box-shadow .2s ease;
}
.form-submit input[type=submit]:hover{
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(53,224,161,0.25);
}
