/* ============================================================
   page.css — پوسته‌ی مشترک صفحه‌های مستقل
   (شرایط و ضوابط، سوالات متداول، پنل ادمین، قرارداد نمونه)
   ============================================================ */
:root{
  --bg:#ffffff; --surface:#ffffff; --surface-2:#f0f7f2;
  --ink:#10231a; --muted:#5f7568; --border:#d7e6dc;
  --accent:#12784a; --accent-dark:#0c5c39; --accent-soft:#e8f5ed;
  --danger:#a3382c; --danger-soft:#fdecea;
  --warn:#87641f;  --warn-soft:#f7efdb;
  --r-sm:10px; --r-md:14px; --r-lg:20px;
  --lift:0 1px 2px rgba(16,35,26,.05), 0 6px 18px rgba(16,35,26,.06);
  --ease:cubic-bezier(.22,.7,.28,1);
  color-scheme:light;
}
*{box-sizing:border-box}
html{color-scheme:light}
body{
  margin:0; direction:rtl;
  background:var(--bg); color:var(--ink);
  font-family:"Vazirmatn","Tahoma",system-ui,sans-serif;
  font-variant-numeric:tabular-nums;
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent)}

/* ---------- سربرگ ---------- */
.top{
  position:sticky; top:0; z-index:20;
  background:color-mix(in srgb, var(--surface) 88%, transparent);
  backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--border);
}
.top-in{
  max-width:940px; margin:0 auto; padding:13px 20px;
  display:flex; align-items:center; gap:12px;
}
.logo{
  width:32px; height:32px; border-radius:50%; flex:0 0 32px;
  background:var(--accent); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:14px;
}
.top h1{ margin:0; font-size:16px; font-weight:800; letter-spacing:-.01em; }
.top .sp{ flex:1 }
.back{
  border:1px solid var(--border); background:var(--surface); color:var(--ink);
  border-radius:999px; padding:7px 16px; font:700 12.5px "Vazirmatn",sans-serif;
  text-decoration:none; transition:all .18s var(--ease);
}
.back:hover{ border-color:var(--accent); background:var(--accent-soft); }

/* ---------- بدنه ---------- */
.wrap{ max-width:940px; margin:0 auto; padding:26px 20px 70px; }
.lede{
  font-size:14.5px; color:var(--muted); line-height:2.05;
  padding:16px 18px; border-radius:var(--r-md);
  background:var(--surface-2); border:1px solid var(--border);
  margin-bottom:26px;
}
.lede b{ color:var(--ink) }

section.blk{ margin-bottom:30px; }
section.blk > h2{
  font-size:16.5px; font-weight:800; margin:0 0 4px;
  display:flex; align-items:center; gap:10px; letter-spacing:-.01em;
}
section.blk > h2 .num{
  width:26px; height:26px; flex:0 0 26px; border-radius:8px;
  background:var(--accent-soft); color:var(--accent);
  display:flex; align-items:center; justify-content:center;
  font-size:12.5px; font-weight:800;
}
section.blk > .hint{ font-size:12.5px; color:var(--muted); margin:0 0 12px 0; padding-right:36px; }

.card{
  border:1px solid var(--border); border-radius:var(--r-md);
  background:var(--surface); padding:16px 18px; box-shadow:var(--lift);
}
.card + .card{ margin-top:12px }

ul.clean{ list-style:none; margin:0; padding:0 }
ul.clean li{
  position:relative; padding:9px 26px 9px 0; font-size:13.5px; line-height:2;
  border-bottom:1px dashed var(--border);
}
ul.clean li:last-child{ border-bottom:0 }
ul.clean li::before{
  content:""; position:absolute; right:7px; top:calc(1em + 4px);
  width:6px; height:6px; border-radius:50%; background:var(--accent);
}
ul.clean li b{ font-weight:700 }

.kv{ display:grid; grid-template-columns:1fr auto; gap:8px 14px; font-size:13.5px; }
.kv .k{ color:var(--muted) }
.kv .v{ font-weight:700; font-variant-numeric:tabular-nums }

.note{
  margin-top:12px; padding:12px 15px; border-radius:var(--r-sm);
  font-size:12.5px; line-height:1.95;
}
.note.warn{ background:var(--warn-soft); color:var(--warn) }
.note.bad{ background:var(--danger-soft); color:var(--danger) }
.note.ok{ background:var(--accent-soft); color:var(--accent) }

details.faq{
  border:1px solid var(--border); border-radius:var(--r-md);
  background:var(--surface); margin-bottom:10px; overflow:hidden;
}
details.faq summary{
  cursor:pointer; list-style:none; padding:15px 18px;
  font-weight:700; font-size:14px; display:flex; align-items:center; gap:10px;
}
details.faq summary::-webkit-details-marker{ display:none }
details.faq summary::after{
  content:"+"; margin-inline-start:auto; color:var(--accent);
  font-size:19px; font-weight:400; line-height:1; transition:transform .2s var(--ease);
}
details.faq[open] summary::after{ transform:rotate(45deg) }
details.faq[open] summary{ background:var(--accent-soft); color:var(--accent) }
details.faq p{ margin:0; padding:14px 18px 17px; font-size:13.5px; color:var(--muted); line-height:2.05; }
details.faq p b{ color:var(--ink) }

footer.legal{
  margin-top:40px; padding:18px 20px; border-radius:var(--r-md);
  border:1px solid var(--border); background:var(--surface-2);
  font-size:12px; line-height:2; color:var(--muted); text-align:center;
}
footer.legal b{ color:var(--ink) }

@media (max-width:640px){
  .wrap{ padding:20px 15px 60px }
  .top-in{ padding:11px 15px }
  .kv{ grid-template-columns:1fr }
  .kv .v{ padding-bottom:6px }
}
