/* ============================================================
   DISIPHEE — Digital Assets
   متغیرها از style.css می‌آیند.
   قوانین برند: بدون سایه، بدون گرادیان، بدون افکت شیشه‌ای،
   فقط رنگ‌های پالت، فاصله‌ها مضرب ۸، دکمه‌ها Pill، گردی کارت ۱۴–۲۴.
   ============================================================ */

.ast-sec, .ast-hero, .ast-cta, .ast-crumb{ box-sizing:border-box; }
.ast-sec *, .ast-hero *, .ast-cta *{ box-sizing:border-box; }

/* ---------- مسیر ناوبری ---------- */
.ast-crumb{
  background:var(--white);
  border-bottom:1px solid var(--stroke);
  padding:14px var(--dzf-gutter);
}
.ast-crumb__inner{
  max-width:var(--dzf-container); margin:0 auto;
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  font-size:13px; color:var(--dzf-muted-2);
}
.ast-crumb a{ color:var(--dzf-muted); }
.ast-crumb a:hover{ color:var(--primary); }
.ast-crumb b{ color:var(--primary); font-weight:600; unicode-bidi:plaintext; }

/* ---------- چیپ ---------- */
.ast-chip{
  display:inline-block; margin-bottom:12px;
  padding:7px 16px; border-radius:999px;
  border:1px solid var(--stroke);
  font-size:12px; font-weight:700; color:var(--primary);
  unicode-bidi:plaintext;
}
.ast-chip--accent{ background:var(--accent); border-color:var(--accent); }

/* ============================================================
   هرو
   ============================================================ */
.ast-hero{
  background:var(--white);
  padding:var(--dzf-space-xxl) var(--dzf-gutter);
  border-bottom:1px solid var(--stroke);
}
.ast-hero__inner{
  max-width:var(--dzf-container); margin:0 auto;
  display:grid; grid-template-columns:.95fr 1.05fr;
  gap:var(--dzf-space-xl); align-items:center;
}
.ast-hero__t{ margin:0 0 var(--dzf-space-sm); font-weight:800; color:var(--primary); }
.ast-hero__t b{
  display:block;
  font-size:clamp(1.6rem, 3.4vw, 2.5rem); line-height:1.3;
  unicode-bidi:plaintext;
}
.ast-hero__t span{
  display:block; margin-top:6px;
  font-size:clamp(.98rem, 1.6vw, 1.25rem);
  font-weight:600; line-height:1.7; color:var(--dzf-muted);
}
.ast-hero__l{
  margin:0 0 var(--dzf-space-md); max-width:58ch;
  font-size:15px; line-height:2; color:var(--dzf-muted);
}
.ast-hero__btns{ display:flex; flex-wrap:wrap; gap:12px; }

/* ---------- گراف ---------- */
.ast-hero__graph{ margin:0; }
.ast-graph{ width:100%; height:auto; display:block; }
.ast-graph__t{
  font-family:var(--dzf-font);
  font-size:15px; font-weight:700;
  fill:var(--primary);
  text-anchor:middle;
}
.ast-graph__t--light{ fill:var(--white); }
.ast-hero__graph figcaption{
  margin-top:var(--dzf-space-sm);
  text-align:center;
  font-size:13px; line-height:1.8; color:var(--dzf-muted-2);
}

/* ============================================================
   سکشن پایه
   ============================================================ */
.ast-sec{ padding:var(--dzf-space-xxl) var(--dzf-gutter); }
.ast-sec__inner{ max-width:var(--dzf-container); margin:0 auto; }
.ast-sec__head{ max-width:72ch; margin-bottom:var(--dzf-space-xl); }
.ast-sec__head h2{
  margin:0 0 12px;
  font-size:clamp(1.3rem, 2.6vw, 1.9rem);
  font-weight:800; line-height:1.5; color:var(--primary);
  text-wrap:balance;
}
.ast-sec__head p{ margin:0; font-size:15px; line-height:2; color:var(--dzf-muted); }
.ast-sec__head--light h2{ color:var(--white); }
.ast-sec__head--light p{ color:var(--bg); opacity:.72; }

/* ============================================================
   دسته‌های دارایی
   ============================================================ */
.ast-groups{ background:var(--white); }
.ast-grid{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  gap:var(--dzf-space-sm);
}
.ast-card{
  display:flex; flex-direction:column;
  background:var(--white);
  border:1px solid var(--stroke);
  border-radius:20px;
  padding:var(--dzf-space-md);
  transition:border-color .22s ease;
}
.ast-card:hover{ border-color:var(--primary); }
.ast-card__top{ display:flex; align-items:center; gap:12px; margin-bottom:var(--dzf-space-sm); }
.ast-card__ico{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; flex-shrink:0;
  border-radius:14px; background:var(--bg); color:var(--primary);
  transition:background-color .22s ease;
}
.ast-card:hover .ast-card__ico{ background:var(--accent); }
.ast-card__ico svg{ width:21px; height:21px; }
.ast-card__top strong{
  display:block; font-size:15px; font-weight:700; color:var(--primary);
  unicode-bidi:plaintext;
}
.ast-card__top span{ font-size:12px; color:var(--dzf-muted-2); }

.ast-card__files{
  display:flex; flex-wrap:wrap; gap:6px;
  margin:0 0 var(--dzf-space-sm); padding:0; list-style:none;
}
.ast-card__files li{
  padding:6px 12px; border-radius:999px;
  background:var(--bg);
  font-size:11.5px; font-weight:600; color:var(--dzf-muted);
  unicode-bidi:plaintext;
}
.ast-card__meta{
  margin-top:auto; padding-top:12px;
  border-top:1px solid var(--stroke);
  font-size:12px; color:var(--dzf-muted-2);
}

/* ============================================================
   مقایسه
   ============================================================ */
.ast-vs__grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  gap:var(--dzf-space-sm);
}
.ast-vs__c{
  background:var(--white);
  border:1px solid var(--stroke);
  border-radius:20px;
  padding:var(--dzf-space-md);
}
.ast-vs__c--good{ border-color:var(--primary); }
.ast-vs__tag{
  display:inline-block; margin-bottom:var(--dzf-space-sm);
  padding:6px 14px; border-radius:999px;
  background:var(--bg);
  font-size:12px; font-weight:700; color:var(--dzf-muted);
}
.ast-vs__tag--on{ background:var(--accent); color:var(--primary); }

.ast-vs__files{ margin:0 0 var(--dzf-space-sm); padding:0; list-style:none; }
.ast-vs__files li{
  padding:10px 14px; margin-bottom:6px;
  border:1px dashed var(--stroke); border-radius:12px;
  font-size:13px; color:var(--dzf-muted-2);
  direction:ltr; text-align:left;
}
.ast-vs__c p{ margin:0; font-size:13.5px; line-height:1.9; color:var(--dzf-muted); }

.ast-vs__chain{ margin-bottom:var(--dzf-space-sm); }
.ast-vs__node{
  padding:14px 16px; border-radius:14px;
  background:var(--primary);
  margin-bottom:8px;
}
.ast-vs__node b{ display:block; font-size:15px; color:var(--white); unicode-bidi:plaintext; }
.ast-vs__node span{ font-size:12px; color:var(--bg); opacity:.6; }

.ast-vs__vers{
  margin:0; padding:0 0 0 0; list-style:none;
  border-inline-start:2px solid var(--stroke);
  margin-inline-start:16px;
}
.ast-vs__vers li{
  position:relative;
  padding:9px 20px;
  font-size:13px; color:var(--dzf-muted-2);
  unicode-bidi:plaintext;
}
.ast-vs__vers li::before{
  content:""; position:absolute;
  inset-inline-start:-6px; top:15px;
  width:10px; height:10px; border-radius:999px;
  background:var(--white); border:2px solid var(--dzf-muted-3);
}
.ast-vs__vers li.is-now{ color:var(--primary); font-weight:700; }
.ast-vs__vers li.is-now::before{ background:var(--accent); border-color:var(--accent); }

/* ============================================================
   شیء دارایی
   ============================================================ */
.ast-obj{ background:var(--primary); }
.ast-obj__win{
  max-width:900px; margin:0 auto;
  background:var(--white);
  border-radius:24px;
  padding:var(--dzf-space-md);
}
.ast-obj__bar{ display:flex; gap:6px; margin-bottom:var(--dzf-space-sm); }
.ast-obj__bar i{ width:8px; height:8px; border-radius:999px; background:var(--stroke); }
.ast-obj__bar i:first-child{ background:var(--accent); }

.ast-obj__head{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding-bottom:var(--dzf-space-sm);
  border-bottom:1px solid var(--stroke);
}
.ast-obj__ico{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; flex-shrink:0;
  border-radius:14px; background:var(--accent); color:var(--primary);
}
.ast-obj__ico svg{ width:21px; height:21px; }
.ast-obj__head strong{ display:block; font-size:15px; color:var(--primary); unicode-bidi:plaintext; }
.ast-obj__head > div > span{ font-size:12px; color:var(--dzf-muted-2); }
.ast-obj__ver{
  margin-inline-start:auto;
  padding:6px 14px; border-radius:999px;
  background:var(--bg);
  font-size:12px; font-weight:700; color:var(--primary);
  unicode-bidi:plaintext;
}

.ast-obj__tabs{
  display:flex; flex-wrap:wrap; gap:6px;
  margin:var(--dzf-space-sm) 0; padding:0 0 var(--dzf-space-sm);
  border-bottom:1px solid var(--stroke);
  list-style:none;
}
.ast-obj__tabs li{
  padding:8px 16px; border-radius:999px;
  font-size:12.5px; font-weight:600; color:var(--dzf-muted-2);
  unicode-bidi:plaintext;
}
.ast-obj__tabs li.is-on{ background:var(--primary); color:var(--bg); }

.ast-obj__body{ display:flex; flex-direction:column; }
.ast-obj__row{
  display:flex; align-items:center; gap:12px;
  padding:14px 0;
  border-bottom:1px solid var(--stroke);
}
.ast-obj__row:last-child{ border-bottom:0; padding-bottom:0; }
.ast-obj__row > span{
  width:120px; flex-shrink:0;
  font-size:12.5px; color:var(--dzf-muted-2);
  unicode-bidi:plaintext;
}
.ast-obj__row > b{ font-size:14px; color:var(--primary); unicode-bidi:plaintext; }
.ast-obj__row--tags > div{ display:flex; flex-wrap:wrap; gap:6px; }
.ast-obj__row--tags i{
  font-style:normal;
  padding:6px 13px; border-radius:999px;
  background:var(--bg);
  font-size:11.5px; font-weight:600; color:var(--primary);
  unicode-bidi:plaintext;
}

/* ============================================================
   دارایی‌های متصل
   ============================================================ */
.ast-conn{ background:var(--white); }
.ast-conn__flow{
  display:grid; grid-template-columns:repeat(5, minmax(0,1fr));
  gap:1px; background:var(--stroke);
  border-radius:20px; overflow:hidden;
  margin:0 0 var(--dzf-space-md); padding:0; list-style:none;
}
.ast-conn__flow li{
  background:var(--white);
  padding:var(--dzf-space-md) 12px;
  text-align:center;
}
.ast-conn__flow li:first-child{ background:var(--accent); }
.ast-conn__flow b{ display:block; font-size:14px; color:var(--primary); unicode-bidi:plaintext; }
.ast-conn__flow span{ font-size:12px; color:var(--dzf-muted-2); }
.ast-conn__flow li:first-child span{ color:var(--primary); opacity:.7; }

.ast-conn__ask{
  display:flex; align-items:center; flex-wrap:wrap;
  gap:var(--dzf-space-sm);
  background:var(--primary);
  border-radius:20px;
  padding:var(--dzf-space-md);
}
.ast-conn__askico{
  display:flex; align-items:center; justify-content:center;
  width:46px; height:46px; flex-shrink:0;
  border-radius:14px; background:var(--accent); color:var(--primary);
}
.ast-conn__askico svg{ width:22px; height:22px; }
.ast-conn__ask > div:nth-child(2){ flex:1; min-width:220px; }
.ast-conn__ask strong{ display:block; font-size:15px; color:var(--white); line-height:1.6; }
.ast-conn__ask p{ margin:4px 0 0; font-size:13.5px; color:var(--bg); opacity:.7; }
.ast-conn__btns{ display:flex; flex-wrap:wrap; gap:8px; }
.ast-conn__btn{
  padding:9px 18px; border-radius:999px;
  border:1.5px solid rgba(226,227,231,.35);
  font-size:13px; font-weight:600; color:var(--bg);
}
.ast-conn__btn--on{
  background:var(--accent); border-color:var(--accent); color:var(--primary);
}
.ast-conn__note{
  margin:var(--dzf-space-md) 0 0;
  font-size:13.5px; color:var(--dzf-muted-2);
}

/* ============================================================
   سلامت دارایی‌ها
   ============================================================ */
.ast-health{
  display:grid; grid-template-columns:repeat(5, minmax(0,1fr));
  gap:var(--dzf-space-sm);
  margin:0; padding:0; list-style:none;
}
.ast-health li{
  background:var(--white);
  border:1px solid var(--stroke);
  border-radius:20px;
  padding:var(--dzf-space-md);
  border-top:3px solid var(--dzf-muted-3);
}
.ast-health li.is-good{ border-top-color:var(--accent); }
.ast-health li.is-warn{ border-top-color:var(--dzf-muted); }
.ast-health li.is-bad{ border-top-color:var(--primary); }
.ast-health__k{
  display:block; font-size:11.5px; font-weight:700; color:var(--dzf-muted-2);
  unicode-bidi:plaintext;
}
.ast-health__v{
  display:block; margin:8px 0 4px;
  font-size:1.9rem; font-weight:800; line-height:1; color:var(--primary);
}
.ast-health__d{ display:block; font-size:12.5px; line-height:1.7; color:var(--dzf-muted); }

/* ============================================================
   پیشنهادهای هوش مصنوعی
   ============================================================ */
.ast-ai{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  gap:var(--dzf-space-sm);
  margin:0; padding:0; list-style:none;
}
.ast-ai li{
  background:var(--white);
  border:1px solid var(--stroke);
  border-inline-start:3px solid var(--accent);
  border-radius:20px;
  padding:var(--dzf-space-md);
}
.ast-ai__lvl{
  display:inline-block; margin-bottom:12px;
  padding:5px 12px; border-radius:999px;
  background:var(--bg);
  font-size:11px; font-weight:700; color:var(--dzf-muted);
}
.ast-ai__lvl--warn{ background:var(--accent); color:var(--primary); }
.ast-ai li strong{ display:block; font-size:14px; line-height:1.7; color:var(--primary); }
.ast-ai li p{ margin:8px 0 0; font-size:12.5px; line-height:1.85; color:var(--dzf-muted-2); }

/* ============================================================
   زنجیره‌ی ماژول‌ها
   ============================================================ */
.ast-chain-sec{ background:var(--white); }
.ast-chain{
  display:grid; grid-template-columns:repeat(5, minmax(0,1fr));
  gap:var(--dzf-space-sm);
  margin:0; padding:0; list-style:none;
}
.ast-chain__c{
  display:block; height:100%;
  background:var(--white);
  border:1px solid var(--stroke);
  border-radius:20px;
  padding:var(--dzf-space-md);
  transition:border-color .22s ease;
}
.ast-chain__c:hover{ border-color:var(--primary); }
.ast-chain__c.is-soon{ opacity:.66; }
.ast-chain__c.is-soon:hover{ border-color:var(--stroke); }
.ast-chain__c.is-here{ background:var(--primary); border-color:var(--primary); }
.ast-chain__n{
  display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; margin-bottom:12px;
  border-radius:999px;
  background:var(--bg); color:var(--primary);
  font-size:13px; font-weight:700;
}
.ast-chain__c.is-here .ast-chain__n{ background:var(--accent); }
.ast-chain__c strong{
  display:block; font-size:14px; color:var(--primary);
  unicode-bidi:plaintext;
}
.ast-chain__fa{ display:block; margin-top:2px; font-size:12px; color:var(--dzf-muted-2); }
.ast-chain__c.is-here strong{ color:var(--white); }
.ast-chain__c.is-here .ast-chain__fa{ color:var(--bg); opacity:.6; }

.ast-chain__flag,
.ast-chain__soon{
  display:inline-block; margin-top:10px; font-style:normal;
  padding:4px 10px; border-radius:999px;
  font-size:10.5px; font-weight:700;
}
.ast-chain__flag{ background:var(--accent); color:var(--primary); }
.ast-chain__soon{
  background:var(--bg); border:1px solid var(--stroke); color:var(--dzf-muted-2);
}

/* ============================================================
   CTA
   ============================================================ */
.ast-cta{
  background:var(--primary);
  padding:var(--dzf-space-xxl) var(--dzf-gutter);
  text-align:center;
}
.ast-cta__inner{ max-width:760px; margin:0 auto; }
.ast-cta h2{
  margin:0 0 var(--dzf-space-sm);
  font-size:clamp(1.4rem, 2.8vw, 2.1rem);
  font-weight:800; line-height:1.5; color:var(--white);
  text-wrap:balance;
}
.ast-cta > .ast-cta__inner > p{
  margin:0 auto var(--dzf-space-md);
  max-width:60ch;
  font-size:15px; line-height:2; color:var(--bg); opacity:.72;
}
.ast-cta__btns{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.ast-cta .dzf-hbtn--solid{
  background:var(--accent) !important;
  color:var(--primary) !important;
  border-color:var(--accent) !important;
}
.ast-cta .dzf-hbtn--solid:hover{
  background:var(--white) !important; border-color:var(--white) !important;
}
.ast-cta .dzf-hbtn--ghost{
  color:var(--bg) !important;
  border-color:rgba(226,227,231,.35) !important;
}

/* هاور دکمه‌ی شبح روی کارت تیره.
   بدون این، قانون بالا (color:var(--bg)) با `.dzf-hbtn--ghost:hover`
   در style.css هم‌وزن می‌شود و چون این فایل دیرتر لود می‌شود برنده
   می‌ماند — یعنی پس‌زمینه زرد می‌شد ولی متن روشن باقی می‌ماند. */
.ast-cta .dzf-hbtn--ghost:hover{ background:var(--accent) !important; color:var(--primary) !important; border-color:var(--accent) !important; }

.ast-cta__sub{
  margin:var(--dzf-space-md) 0 0 !important;
  font-size:13.5px; color:var(--bg); opacity:.6;
}
.ast-cta__sub a{ color:var(--accent); font-weight:600; }

/* ============================================================
   واکنش‌گرایی
   ============================================================ */
@media (max-width:1100px){
  .ast-hero__inner{ grid-template-columns:1fr; gap:var(--dzf-space-lg); }
  .ast-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .ast-ai{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .ast-health{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .ast-chain{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .ast-conn__flow{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (max-width:860px){
  .ast-sec, .ast-hero, .ast-cta{
    padding-top:var(--dzf-space-xl); padding-bottom:var(--dzf-space-xl);
  }
  .ast-vs__grid{ grid-template-columns:1fr; }
  .ast-obj__row{ flex-wrap:wrap; }
  .ast-obj__row > span{ width:100%; }
}
@media (max-width:560px){
  .ast-grid,
  .ast-ai,
  .ast-health,
  .ast-chain,
  .ast-conn__flow{ grid-template-columns:1fr; }
  .ast-conn__btns .ast-conn__btn{ flex:1; text-align:center; }
}
@media (prefers-reduced-motion: reduce){
  .ast-card, .ast-card__ico, .ast-chain__c{ transition-duration:.01ms !important; }
}

/* ============================================================
   تکمیل‌های ساختاری
   ============================================================ */

/* ستون «بدون سیستم» در بخش مقایسه.
   این کلاس در HTML بود ولی هیچ قانونی نداشت، پس دو ستونِ مقایسه
   عملاً یک شکل دیده می‌شدند و کل تقابل بخش از بین می‌رفت.
   خط‌چین عمدی است: مرزِ چیزی که «سیستم» نیست. */
.ast-vs__c--bad{
  border-style:dashed;
  border-color:var(--dzf-muted-3);
  background:var(--bg);
}
.ast-vs__c--bad h3{ color:var(--dzf-muted); }

/* این دو فقط چون فرزند مستقیم گرید بودند سر جایشان می‌ماندند.
   با اولین تغییر چیدمان می‌شکستند. */
.ast-hero__txt{ min-width:0; }
.ast-health-sec .ast-sec__inner{ min-width:0; }

/* لنگر داخل صفحه — هدر چسبان است و بدون این، تیتر زیرش پنهان می‌شود */
.ast-sec[id], .ast-hero[id]{ scroll-margin-top:96px; }

/* انیمیشن ورود — همان قرارداد بقیه‌ی صفحات (home.js) */
.dzf-reveal-on [data-reveal]{ opacity:0; transform:translateY(18px); }
.dzf-reveal-on [data-reveal].is-in{
  opacity:1; transform:translateY(0);
  transition:opacity .55s cubic-bezier(.22,.61,.36,1) var(--d, 0ms),
             transform .55s cubic-bezier(.22,.61,.36,1) var(--d, 0ms);
}
@media (prefers-reduced-motion: reduce){
  .dzf-reveal-on [data-reveal]{ opacity:1 !important; transform:none !important; }
}
